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
.REG
[0] = NIT_NULL
;
21 fra
.me
.REG
[1] = NIT_NULL
;
22 fra
.me
.REG
[2] = NIT_NULL
;
23 fra
.me
.REG
[3] = NIT_NULL
;
24 fra
.me
.REG
[4] = NIT_NULL
;
25 fra
.me
.REG
[5] = NIT_NULL
;
26 fra
.me
.REG
[6] = NIT_NULL
;
27 fra
.me
.REG
[7] = NIT_NULL
;
31 /* ./syntax//mmbuilder.nit:28 */
32 fra
.me
.REG
[3] = NIT_NULL
;
33 /* ./syntax//mmbuilder.nit:29 */
34 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_syntax___syntax_base___MMSrcLocalClass
, ID_syntax___syntax_base___MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
35 if (UNTAG_Bool(REGB0
)) {
36 /* ./syntax//mmbuilder.nit:30 */
37 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
38 /* ./syntax//mmbuilder.nit:31 */
39 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
40 if (UNTAG_Bool(REGB0
)) {
42 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
43 if (UNTAG_Bool(REGB1
)) {
44 REGB1
= TAG_Bool(false);
47 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
51 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
52 if (UNTAG_Bool(REGB0
)) {
53 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
54 if (UNTAG_Bool(REGB0
)) {
55 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 31);
57 CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
60 /* ./syntax//mmbuilder.nit:34 */
61 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
62 /* ./../lib/standard//collection//array.nit:266 */
63 fra
.me
.REG
[5] = fra
.me
.REG
[2];
64 /* ./../lib/standard//collection//array.nit:269 */
66 /* ./../lib/standard//collection//array.nit:270 */
67 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
68 if (UNTAG_Bool(REGB1
)) {
70 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
72 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
73 /* ./../lib/standard//collection//array.nit:271 */
74 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
75 /* ./../lib/standard//collection//array.nit:272 */
77 /* ./../lib/standard//collection//array.nit:24 */
78 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
79 if (UNTAG_Bool(REGB1
)) {
81 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
83 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
84 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
85 if (UNTAG_Bool(REGB2
)) {
87 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
89 /* ./../lib/standard//kernel.nit:232 */
90 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
91 /* ./../lib/standard//collection//array.nit:272 */
92 if (UNTAG_Bool(REGB1
)) {
93 /* ./../lib/standard//collection//array.nit:273 */
94 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
95 if (UNTAG_Bool(REGB1
)) {
96 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
98 /* ./../lib/standard//collection//array.nit:718 */
99 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
100 /* ./syntax//mmbuilder.nit:36 */
101 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
102 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
103 /* ./../lib/standard//collection//array.nit:274 */
105 /* ./../lib/standard//kernel.nit:235 */
106 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
107 /* ./../lib/standard//collection//array.nit:274 */
110 /* ./../lib/standard//collection//array.nit:272 */
115 /* ./syntax//mmbuilder.nit:38 */
117 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
119 fra
.me
.REG
[5] = BOX_NativeString("Property inheritance conflict in class ");
121 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
122 once_value_2
= fra
.me
.REG
[5];
123 register_static_object(&once_value_2
);
124 } else fra
.me
.REG
[5] = once_value_2
;
125 fra
.me
.REG
[5] = fra
.me
.REG
[5];
126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
127 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
128 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
130 fra
.me
.REG
[1] = BOX_NativeString(" for `");
132 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
133 once_value_3
= fra
.me
.REG
[1];
134 register_static_object(&once_value_3
);
135 } else fra
.me
.REG
[1] = once_value_3
;
136 fra
.me
.REG
[1] = fra
.me
.REG
[1];
137 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
138 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
139 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
140 if (UNTAG_Bool(REGB0
)) {
141 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 38);
143 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
144 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
145 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
147 fra
.me
.REG
[2] = BOX_NativeString("': conflicting properties are defined in ");
149 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
150 once_value_4
= fra
.me
.REG
[2];
151 register_static_object(&once_value_4
);
152 } else fra
.me
.REG
[2] = once_value_4
;
153 fra
.me
.REG
[2] = fra
.me
.REG
[2];
154 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
156 fra
.me
.REG
[2] = BOX_NativeString(", ");
158 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
159 once_value_5
= fra
.me
.REG
[2];
160 register_static_object(&once_value_5
);
161 } else fra
.me
.REG
[2] = once_value_5
;
162 fra
.me
.REG
[2] = fra
.me
.REG
[2];
163 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
166 fra
.me
.REG
[2] = BOX_NativeString("");
168 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
169 once_value_6
= fra
.me
.REG
[2];
170 register_static_object(&once_value_6
);
171 } else fra
.me
.REG
[2] = once_value_6
;
172 fra
.me
.REG
[2] = fra
.me
.REG
[2];
173 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
174 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
175 CALL_mmloader___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[6]);
176 stack_frame_head
= fra
.me
.prev
;
179 val_t
syntax___mmbuilder___CSHSorter___compare(val_t p0
, val_t p1
, val_t p2
){
180 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
184 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
185 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
187 fra
.me
.meth
= LOCATE_syntax___mmbuilder___CSHSorter___compare
;
188 fra
.me
.has_broke
= 0;
190 fra
.me
.REG
[0] = NIT_NULL
;
191 fra
.me
.REG
[1] = NIT_NULL
;
192 fra
.me
.REG
[2] = NIT_NULL
;
196 /* ./syntax//mmbuilder.nit:47 */
197 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
198 REGB0
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
199 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
200 REGB1
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
201 REGB1
= CALL_standard___kernel___Comparable_____leqg(REGB0
)(REGB0
, REGB1
);
204 stack_frame_head
= fra
.me
.prev
;
207 void syntax___mmbuilder___CSHSorter___init(val_t p0
, int* init_table
){
208 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___CSHSorter
].i
;
209 struct {struct stack_frame_t me
;} fra
;
211 if (init_table
[itpos0
]) return;
212 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
213 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
215 fra
.me
.meth
= LOCATE_syntax___mmbuilder___CSHSorter___init
;
216 fra
.me
.has_broke
= 0;
218 fra
.me
.REG
[0] = NIT_NULL
;
220 /* ./syntax//mmbuilder.nit:50 */
221 CALL_standard___collection___sorter___AbstractSorter___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
222 stack_frame_head
= fra
.me
.prev
;
223 init_table
[itpos0
] = 1;
226 void syntax___mmbuilder___MMSrcModule___do_mmbuilder(val_t p0
, val_t p1
){
227 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
232 static val_t once_value_3
; /* Once value */
233 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
234 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
236 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
;
237 fra
.me
.has_broke
= 0;
239 fra
.me
.REG
[0] = NIT_NULL
;
240 fra
.me
.REG
[1] = NIT_NULL
;
241 fra
.me
.REG
[2] = NIT_NULL
;
242 fra
.me
.REG
[3] = NIT_NULL
;
243 fra
.me
.REG
[4] = NIT_NULL
;
244 fra
.me
.REG
[5] = NIT_NULL
;
245 fra
.me
.REG
[6] = NIT_NULL
;
246 fra
.me
.REG
[7] = NIT_NULL
;
249 /* ./syntax//mmbuilder.nit:59 */
250 CALL_metamodel___inheritance___MMModule___import_global_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
251 /* ./syntax//mmbuilder.nit:62 */
252 fra
.me
.REG
[2] = NEW_ClassBuilderVisitor_syntax___mmbuilder___ClassBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
253 /* ./syntax//mmbuilder.nit:63 */
254 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
255 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
256 /* ./syntax//mmbuilder.nit:64 */
257 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
258 /* ./syntax//mmbuilder.nit:66 */
259 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
260 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
261 if (UNTAG_Bool(REGB0
)) {
262 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 66);
264 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
265 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
266 if (UNTAG_Bool(REGB0
)) {
267 /* ./syntax//mmbuilder.nit:67 */
268 CALL_syntax___mmbuilder___MMSrcModule___process_default_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
270 /* ./syntax//mmbuilder.nit:71 */
271 CALL_metamodel___inheritance___MMModule___import_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
272 /* ./syntax//mmbuilder.nit:74 */
273 fra
.me
.REG
[3] = NEW_ClassSpecializationBuilderVisitor_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
274 /* ./syntax//mmbuilder.nit:75 */
275 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
276 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
277 /* ./syntax//mmbuilder.nit:76 */
278 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
279 /* ./syntax//mmbuilder.nit:79 */
280 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
281 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
));
282 /* ./syntax//mmbuilder.nit:85 */
283 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
284 /* ./syntax//mmbuilder.nit:90 */
285 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
286 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
287 /* ./syntax//mmbuilder.nit:93 */
289 fra
.me
.REG
[3] = NEW_CSHSorter_syntax___mmbuilder___CSHSorter___init();
290 once_value_3
= fra
.me
.REG
[3];
291 register_static_object(&once_value_3
);
292 } else fra
.me
.REG
[3] = once_value_3
;
293 fra
.me
.REG
[3] = fra
.me
.REG
[3];
294 /* ./syntax//mmbuilder.nit:94 */
295 CALL_standard___collection___sorter___AbstractSorter___sort(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
296 /* ./syntax//mmbuilder.nit:97 */
297 fra
.me
.REG
[3] = NEW_ClassAncestorBuilder_syntax___mmbuilder___ClassAncestorBuilder___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
298 /* ./../lib/standard//collection//array.nit:266 */
299 fra
.me
.REG
[4] = fra
.me
.REG
[2];
300 /* ./../lib/standard//collection//array.nit:269 */
302 /* ./../lib/standard//collection//array.nit:270 */
303 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
304 if (UNTAG_Bool(REGB1
)) {
306 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
308 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
309 /* ./../lib/standard//collection//array.nit:271 */
310 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
311 /* ./../lib/standard//collection//array.nit:272 */
313 /* ./../lib/standard//collection//array.nit:24 */
314 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
315 if (UNTAG_Bool(REGB1
)) {
317 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
319 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
320 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
321 if (UNTAG_Bool(REGB2
)) {
323 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
325 /* ./../lib/standard//kernel.nit:232 */
326 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
327 /* ./../lib/standard//collection//array.nit:272 */
328 if (UNTAG_Bool(REGB1
)) {
329 /* ./../lib/standard//collection//array.nit:273 */
330 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
331 if (UNTAG_Bool(REGB1
)) {
332 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
334 /* ./../lib/standard//collection//array.nit:718 */
335 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
336 /* ./syntax//mmbuilder.nit:99 */
337 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
338 /* ./syntax//mmbuilder.nit:100 */
339 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
340 /* ./syntax//mmbuilder.nit:101 */
341 CALL_metamodel___inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
342 /* ./../lib/standard//collection//array.nit:274 */
344 /* ./../lib/standard//kernel.nit:235 */
345 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
346 /* ./../lib/standard//collection//array.nit:274 */
349 /* ./../lib/standard//collection//array.nit:272 */
354 /* ./syntax//mmbuilder.nit:105 */
355 fra
.me
.REG
[3] = NEW_ClassVerifierVisitor_syntax___mmbuilder___ClassVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
356 /* ./../lib/standard//collection//array.nit:266 */
357 fra
.me
.REG
[5] = fra
.me
.REG
[2];
358 /* ./../lib/standard//collection//array.nit:269 */
360 /* ./../lib/standard//collection//array.nit:270 */
361 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
362 if (UNTAG_Bool(REGB1
)) {
364 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
366 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
367 /* ./../lib/standard//collection//array.nit:271 */
368 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
369 /* ./../lib/standard//collection//array.nit:272 */
371 /* ./../lib/standard//collection//array.nit:24 */
372 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
373 if (UNTAG_Bool(REGB1
)) {
375 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
377 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
378 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
379 if (UNTAG_Bool(REGB2
)) {
381 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
383 /* ./../lib/standard//kernel.nit:232 */
384 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
385 /* ./../lib/standard//collection//array.nit:272 */
386 if (UNTAG_Bool(REGB1
)) {
387 /* ./../lib/standard//collection//array.nit:273 */
388 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
389 if (UNTAG_Bool(REGB1
)) {
390 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
392 /* ./../lib/standard//collection//array.nit:718 */
393 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
394 /* ./syntax//mmbuilder.nit:107 */
395 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
396 /* ./../lib/standard//collection//array.nit:274 */
398 /* ./../lib/standard//kernel.nit:235 */
399 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
400 /* ./../lib/standard//collection//array.nit:274 */
403 /* ./../lib/standard//collection//array.nit:272 */
408 /* ./syntax//mmbuilder.nit:109 */
409 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
410 /* ./syntax//mmbuilder.nit:112 */
411 fra
.me
.REG
[3] = NEW_PropertyBuilderVisitor_syntax___mmbuilder___PropertyBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
412 /* ./../lib/standard//collection//array.nit:266 */
413 fra
.me
.REG
[4] = fra
.me
.REG
[2];
414 /* ./../lib/standard//collection//array.nit:269 */
416 /* ./../lib/standard//collection//array.nit:270 */
417 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
418 if (UNTAG_Bool(REGB1
)) {
420 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
422 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
423 /* ./../lib/standard//collection//array.nit:271 */
424 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
425 /* ./../lib/standard//collection//array.nit:272 */
427 /* ./../lib/standard//collection//array.nit:24 */
428 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
429 if (UNTAG_Bool(REGB1
)) {
431 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
433 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
434 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
435 if (UNTAG_Bool(REGB2
)) {
437 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
439 /* ./../lib/standard//kernel.nit:232 */
440 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
441 /* ./../lib/standard//collection//array.nit:272 */
442 if (UNTAG_Bool(REGB1
)) {
443 /* ./../lib/standard//collection//array.nit:273 */
444 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
445 if (UNTAG_Bool(REGB1
)) {
446 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
448 /* ./../lib/standard//collection//array.nit:718 */
449 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
450 /* ./syntax//mmbuilder.nit:115 */
451 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
452 /* ./syntax//mmbuilder.nit:118 */
453 REGB1
= TAG_Bool(VAL_ISA(fra
.me
.REG
[6], COLOR_syntax___syntax_base___MMSrcLocalClass
, ID_syntax___syntax_base___MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
454 if (UNTAG_Bool(REGB1
)) {
455 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
456 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
457 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[7],fra
.me
.REG
[6]));
458 if (UNTAG_Bool(REGB1
)) {
460 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
464 REGB2
= TAG_Bool(false);
467 if (UNTAG_Bool(REGB1
)) {
468 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
469 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
470 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
472 REGB2
= TAG_Bool(false);
475 if (UNTAG_Bool(REGB1
)) {
476 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
477 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
478 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
480 REGB2
= TAG_Bool(false);
483 if (UNTAG_Bool(REGB1
)) {
484 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
485 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
486 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
488 REGB2
= TAG_Bool(false);
491 if (UNTAG_Bool(REGB1
)) {
492 /* ./syntax//mmbuilder.nit:119 */
493 CALL_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
495 /* ./../lib/standard//collection//array.nit:274 */
497 /* ./../lib/standard//kernel.nit:235 */
498 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
499 /* ./../lib/standard//collection//array.nit:274 */
502 /* ./../lib/standard//collection//array.nit:272 */
507 /* ./syntax//mmbuilder.nit:124 */
508 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
509 /* ./syntax//mmbuilder.nit:127 */
510 fra
.me
.REG
[0] = NEW_PropertyVerifierVisitor_syntax___mmbuilder___PropertyVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
511 /* ./../lib/standard//collection//array.nit:269 */
513 /* ./../lib/standard//collection//array.nit:270 */
514 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
515 if (UNTAG_Bool(REGB1
)) {
517 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
519 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
520 /* ./../lib/standard//collection//array.nit:271 */
521 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
522 /* ./../lib/standard//collection//array.nit:272 */
524 /* ./../lib/standard//collection//array.nit:24 */
525 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
526 if (UNTAG_Bool(REGB1
)) {
528 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
530 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
531 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
532 if (UNTAG_Bool(REGB2
)) {
534 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
536 /* ./../lib/standard//kernel.nit:232 */
537 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
538 /* ./../lib/standard//collection//array.nit:272 */
539 if (UNTAG_Bool(REGB1
)) {
540 /* ./../lib/standard//collection//array.nit:273 */
541 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
542 if (UNTAG_Bool(REGB1
)) {
543 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
545 /* ./../lib/standard//collection//array.nit:718 */
546 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
547 /* ./syntax//mmbuilder.nit:129 */
548 CALL_syntax___mmbuilder___MMLocalClass___accept_properties_visitor(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
549 /* ./../lib/standard//collection//array.nit:274 */
551 /* ./../lib/standard//kernel.nit:235 */
552 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
553 /* ./../lib/standard//collection//array.nit:274 */
556 /* ./../lib/standard//collection//array.nit:272 */
561 /* ./syntax//mmbuilder.nit:132 */
562 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
563 stack_frame_head
= fra
.me
.prev
;
566 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
){
567 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
573 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
574 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
576 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
;
577 fra
.me
.has_broke
= 0;
579 fra
.me
.REG
[0] = NIT_NULL
;
580 fra
.me
.REG
[1] = NIT_NULL
;
581 fra
.me
.closure_ctx
= closctx_param
;
582 fra
.me
.closure_funs
= CREG
;
585 /* ./syntax//mmbuilder.nit:80 */
586 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
587 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
588 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
589 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___visibility_for(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
590 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
591 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
592 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
593 if (UNTAG_Bool(REGB2
)) {
595 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
597 /* ./../lib/standard//kernel.nit:232 */
598 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
599 /* ./syntax//mmbuilder.nit:80 */
600 if (UNTAG_Bool(REGB1
)) {
601 /* ./syntax//mmbuilder.nit:81 */
604 /* ./syntax//mmbuilder.nit:83 */
605 CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
607 stack_frame_head
= fra
.me
.prev
;
610 void syntax___mmbuilder___MMSrcModule___process_default_classes(val_t p0
, val_t p1
){
611 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
614 static val_t once_value_1
; /* Once value */
615 static val_t once_value_2
; /* Once value */
616 static val_t once_value_3
; /* Once value */
617 static val_t once_value_4
; /* Once value */
618 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
619 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
621 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___process_default_classes
;
622 fra
.me
.has_broke
= 0;
624 fra
.me
.REG
[0] = NIT_NULL
;
625 fra
.me
.REG
[1] = NIT_NULL
;
626 fra
.me
.REG
[2] = NIT_NULL
;
627 fra
.me
.REG
[3] = NIT_NULL
;
630 /* ./syntax//mmbuilder.nit:138 */
633 fra
.me
.REG
[1] = BOX_NativeString("Object");
635 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
636 once_value_2
= fra
.me
.REG
[1];
637 register_static_object(&once_value_2
);
638 } else fra
.me
.REG
[1] = once_value_2
;
639 fra
.me
.REG
[1] = fra
.me
.REG
[1];
640 fra
.me
.REG
[1] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
641 once_value_1
= fra
.me
.REG
[1];
642 register_static_object(&once_value_1
);
643 } else fra
.me
.REG
[1] = once_value_1
;
644 fra
.me
.REG
[1] = fra
.me
.REG
[1];
645 /* ./syntax//mmbuilder.nit:139 */
646 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
647 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
648 if (UNTAG_Bool(REGB0
)) {
649 /* ./syntax//mmbuilder.nit:140 */
651 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
652 /* ./syntax//mmbuilder.nit:141 */
653 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
654 /* ./syntax//mmbuilder.nit:142 */
655 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
656 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[2]);
658 /* ./syntax//mmbuilder.nit:144 */
661 fra
.me
.REG
[2] = BOX_NativeString("Bool");
663 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
664 once_value_4
= fra
.me
.REG
[2];
665 register_static_object(&once_value_4
);
666 } else fra
.me
.REG
[2] = once_value_4
;
667 fra
.me
.REG
[2] = fra
.me
.REG
[2];
668 fra
.me
.REG
[2] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
669 once_value_3
= fra
.me
.REG
[2];
670 register_static_object(&once_value_3
);
671 } else fra
.me
.REG
[2] = once_value_3
;
672 fra
.me
.REG
[2] = fra
.me
.REG
[2];
673 fra
.me
.REG
[1] = fra
.me
.REG
[2];
674 /* ./syntax//mmbuilder.nit:145 */
675 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
676 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
677 if (UNTAG_Bool(REGB0
)) {
678 /* ./syntax//mmbuilder.nit:146 */
680 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
681 /* ./syntax//mmbuilder.nit:147 */
682 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
683 /* ./syntax//mmbuilder.nit:148 */
684 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
685 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
687 stack_frame_head
= fra
.me
.prev
;
690 void syntax___mmbuilder___MMLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
691 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
693 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
694 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
696 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalClass___accept_class_visitor
;
697 fra
.me
.has_broke
= 0;
699 fra
.me
.REG
[0] = NIT_NULL
;
700 fra
.me
.REG
[1] = NIT_NULL
;
703 stack_frame_head
= fra
.me
.prev
;
706 void syntax___mmbuilder___MMLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
707 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
709 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
710 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
712 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalClass___accept_properties_visitor
;
713 fra
.me
.has_broke
= 0;
715 fra
.me
.REG
[0] = NIT_NULL
;
716 fra
.me
.REG
[1] = NIT_NULL
;
719 stack_frame_head
= fra
.me
.prev
;
722 void syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
723 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
727 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
728 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
730 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor
;
731 fra
.me
.has_broke
= 0;
733 fra
.me
.REG
[0] = NIT_NULL
;
734 fra
.me
.REG
[1] = NIT_NULL
;
735 fra
.me
.REG
[2] = NIT_NULL
;
738 /* ./syntax//mmbuilder.nit:168 */
739 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
740 /* ./syntax//mmbuilder.nit:169 */
742 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
743 if (UNTAG_Bool(REGB0
)) {
745 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
746 if (UNTAG_Bool(REGB1
)) {
747 REGB1
= TAG_Bool(false);
750 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
754 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
755 if (UNTAG_Bool(REGB0
)) {
756 /* ./syntax//mmbuilder.nit:170 */
757 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
758 /* ./syntax//mmbuilder.nit:171 */
759 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
760 if (UNTAG_Bool(REGB0
)) {
761 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 171);
763 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
764 fra
.me
.REG
[0] = fra
.me
.REG
[2];
766 /* ./syntax//mmbuilder.nit:169 */
771 stack_frame_head
= fra
.me
.prev
;
774 void syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
775 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
779 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
780 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
782 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
783 fra
.me
.has_broke
= 0;
785 fra
.me
.REG
[0] = NIT_NULL
;
786 fra
.me
.REG
[1] = NIT_NULL
;
787 fra
.me
.REG
[2] = NIT_NULL
;
788 fra
.me
.REG
[3] = NIT_NULL
;
791 /* ./syntax//mmbuilder.nit:178 */
792 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
793 /* ./syntax//mmbuilder.nit:179 */
795 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
796 if (UNTAG_Bool(REGB0
)) {
798 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
799 if (UNTAG_Bool(REGB1
)) {
800 REGB1
= TAG_Bool(false);
803 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
807 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
808 if (UNTAG_Bool(REGB0
)) {
809 /* ./syntax//mmbuilder.nit:180 */
810 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
811 /* ./syntax//mmbuilder.nit:181 */
812 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
813 if (UNTAG_Bool(REGB0
)) {
814 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 181);
816 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
817 fra
.me
.REG
[2] = fra
.me
.REG
[3];
819 /* ./syntax//mmbuilder.nit:179 */
824 /* ./syntax//mmbuilder.nit:184 */
825 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
826 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
827 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
));
828 stack_frame_head
= fra
.me
.prev
;
831 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
){
832 struct {struct stack_frame_t me
;} fra
;
835 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
836 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
838 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
839 fra
.me
.has_broke
= 0;
841 fra
.me
.REG
[0] = NIT_NULL
;
842 fra
.me
.closure_ctx
= closctx_param
;
843 fra
.me
.closure_funs
= CREG
;
846 /* ./syntax//mmbuilder.nit:185 */
847 CALL_syntax___mmbuilder___MMLocalProperty___accept_property_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
848 stack_frame_head
= fra
.me
.prev
;
851 void syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(val_t p0
, val_t p1
){
852 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
857 static val_t once_value_7
; /* Once value */
858 static val_t once_value_8
; /* Once value */
859 static val_t once_value_13
; /* Once value */
860 static val_t once_value_14
; /* Once value */
861 static val_t once_value_15
; /* Once value */
862 static val_t once_value_16
; /* Once value */
863 static val_t once_value_17
; /* Once value */
864 static val_t once_value_18
; /* Once value */
865 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
866 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
868 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
869 fra
.me
.has_broke
= 0;
870 fra
.me
.REG_size
= 11;
871 fra
.me
.REG
[0] = NIT_NULL
;
872 fra
.me
.REG
[1] = NIT_NULL
;
873 fra
.me
.REG
[2] = NIT_NULL
;
874 fra
.me
.REG
[3] = NIT_NULL
;
875 fra
.me
.REG
[4] = NIT_NULL
;
876 fra
.me
.REG
[5] = NIT_NULL
;
877 fra
.me
.REG
[6] = NIT_NULL
;
878 fra
.me
.REG
[7] = NIT_NULL
;
879 fra
.me
.REG
[8] = NIT_NULL
;
880 fra
.me
.REG
[9] = NIT_NULL
;
881 fra
.me
.REG
[10] = NIT_NULL
;
884 /* ./syntax//mmbuilder.nit:189 */
885 fra
.me
.REG
[2] = fra
.me
.REG
[0];
886 /* ./syntax//mmbuilder.nit:193 */
887 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
888 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
));
889 switch ((&(fra
.me
))->has_broke
) {
891 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
893 /* ./syntax//mmbuilder.nit:201 */
894 fra
.me
.REG
[3] = NEW_ArraySet_standard___collection___array___ArraySet___init();
895 /* ./syntax//mmbuilder.nit:202 */
896 fra
.me
.REG
[4] = NEW_ArraySet_standard___collection___array___ArraySet___init();
897 /* ./syntax//mmbuilder.nit:203 */
898 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
899 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
900 /* ./../lib/standard//collection//array.nit:269 */
902 /* ./../lib/standard//collection//array.nit:270 */
903 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
904 if (UNTAG_Bool(REGB1
)) {
906 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
908 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
909 /* ./../lib/standard//collection//array.nit:271 */
910 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
911 /* ./../lib/standard//collection//array.nit:272 */
913 /* ./../lib/standard//collection//array.nit:24 */
914 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
915 if (UNTAG_Bool(REGB1
)) {
917 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
919 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
920 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
921 if (UNTAG_Bool(REGB2
)) {
923 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
925 /* ./../lib/standard//kernel.nit:232 */
926 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
927 /* ./../lib/standard//collection//array.nit:272 */
928 if (UNTAG_Bool(REGB1
)) {
929 /* ./../lib/standard//collection//array.nit:273 */
930 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
931 if (UNTAG_Bool(REGB1
)) {
932 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
934 /* ./../lib/standard//collection//array.nit:718 */
935 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
936 /* ./syntax//mmbuilder.nit:204 */
937 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
938 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
939 if (UNTAG_Bool(REGB1
)) {
940 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
941 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
942 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
944 REGB2
= TAG_Bool(false);
947 if (UNTAG_Bool(REGB1
)) {
948 REGB1
= TAG_Bool(true);
950 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
951 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
954 if (UNTAG_Bool(REGB1
)) {
957 /* ./syntax//mmbuilder.nit:205 */
958 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
959 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
));
960 /* ./syntax//mmbuilder.nit:209 */
963 fra
.me
.REG
[8] = BOX_NativeString("init");
965 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
966 once_value_8
= fra
.me
.REG
[8];
967 register_static_object(&once_value_8
);
968 } else fra
.me
.REG
[8] = once_value_8
;
969 fra
.me
.REG
[8] = fra
.me
.REG
[8];
970 fra
.me
.REG
[8] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
971 once_value_7
= fra
.me
.REG
[8];
972 register_static_object(&once_value_7
);
973 } else fra
.me
.REG
[8] = once_value_7
;
974 fra
.me
.REG
[8] = fra
.me
.REG
[8];
975 /* ./syntax//mmbuilder.nit:210 */
976 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
977 if (UNTAG_Bool(REGB1
)) {
978 /* ./syntax//mmbuilder.nit:211 */
979 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
980 /* ./syntax//mmbuilder.nit:212 */
981 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
982 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
985 /* ./../lib/standard//collection//array.nit:274 */
987 /* ./../lib/standard//kernel.nit:235 */
988 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
989 /* ./../lib/standard//collection//array.nit:274 */
992 /* ./../lib/standard//collection//array.nit:272 */
997 /* ./syntax//mmbuilder.nit:217 */
998 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___init();
999 /* ./syntax//mmbuilder.nit:218 */
1000 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1001 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1002 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
));
1003 /* ./syntax//mmbuilder.nit:225 */
1004 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1005 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1006 if (UNTAG_Bool(REGB0
)) {
1007 /* ./syntax//mmbuilder.nit:228 */
1008 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
1009 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
));
1010 /* ./syntax//mmbuilder.nit:236 */
1011 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1012 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1013 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1014 fra
.me
.REG
[5] = fra
.me
.REG
[8];
1015 /* ./syntax//mmbuilder.nit:239 */
1016 fra
.me
.REG
[8] = NIT_NULL
;
1017 /* ./../lib/standard//collection//array.nit:24 */
1018 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1019 if (UNTAG_Bool(REGB0
)) {
1021 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1023 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1024 /* ./syntax//mmbuilder.nit:241 */
1026 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1027 if (UNTAG_Bool(REGB2
)) {
1029 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1031 /* ./../lib/standard//kernel.nit:234 */
1032 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1033 /* ./syntax//mmbuilder.nit:241 */
1034 if (UNTAG_Bool(REGB1
)) {
1035 /* ./syntax//mmbuilder.nit:242 */
1036 fra
.me
.REG
[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1038 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1039 if (!once_value_13
) {
1040 fra
.me
.REG
[10] = BOX_NativeString("Error: Explicit constructor required in ");
1041 REGB1
= TAG_Int(40);
1042 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1043 once_value_13
= fra
.me
.REG
[10];
1044 register_static_object(&once_value_13
);
1045 } else fra
.me
.REG
[10] = once_value_13
;
1046 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1047 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1048 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1049 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1050 if (!once_value_14
) {
1051 fra
.me
.REG
[10] = BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are ");
1052 REGB1
= TAG_Int(80);
1053 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1054 once_value_14
= fra
.me
.REG
[10];
1055 register_static_object(&once_value_14
);
1056 } else fra
.me
.REG
[10] = once_value_14
;
1057 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1058 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1059 if (!once_value_15
) {
1060 fra
.me
.REG
[10] = BOX_NativeString(", ");
1062 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1063 once_value_15
= fra
.me
.REG
[10];
1064 register_static_object(&once_value_15
);
1065 } else fra
.me
.REG
[10] = once_value_15
;
1066 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1067 fra
.me
.REG
[10] = CALL_standard___string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], 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_16
) {
1070 fra
.me
.REG
[10] = BOX_NativeString(". Costructors are ");
1071 REGB1
= TAG_Int(18);
1072 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1073 once_value_16
= fra
.me
.REG
[10];
1074 register_static_object(&once_value_16
);
1075 } else fra
.me
.REG
[10] = once_value_16
;
1076 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1077 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1078 if (!once_value_17
) {
1079 fra
.me
.REG
[10] = BOX_NativeString(", ");
1081 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
1082 once_value_17
= fra
.me
.REG
[10];
1083 register_static_object(&once_value_17
);
1084 } else fra
.me
.REG
[10] = once_value_17
;
1085 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1086 fra
.me
.REG
[10] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], 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_18
) {
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_18
= fra
.me
.REG
[10];
1093 register_static_object(&once_value_18
);
1094 } else fra
.me
.REG
[10] = once_value_18
;
1095 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1097 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1098 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7], fra
.me
.REG
[9]);
1099 /* ./syntax//mmbuilder.nit:243 */
1102 /* ./../lib/standard//collection//array.nit:24 */
1103 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1104 if (UNTAG_Bool(REGB1
)) {
1106 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1108 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1109 /* ./syntax//mmbuilder.nit:244 */
1111 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
1112 if (UNTAG_Bool(REGB2
)) {
1114 /* ./../lib/standard//kernel.nit:227 */
1115 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
1116 /* ./syntax//mmbuilder.nit:244 */
1119 if (UNTAG_Bool(REGB2
)) {
1120 /* ./syntax//mmbuilder.nit:245 */
1121 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1122 fra
.me
.REG
[8] = fra
.me
.REG
[5];
1125 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
));
1126 /* ./syntax//mmbuilder.nit:254 */
1127 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1128 REGB2
= TAG_Bool(fra
.me
.REG
[8]!=NIT_NULL
);
1129 if (UNTAG_Bool(REGB2
)) {
1131 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 254);
1133 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1134 if (UNTAG_Bool(REGB2
)) {
1135 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 254);
1137 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1138 CALL_metamodel___abstractmetamodel___MMGlobalClass___mixin_of__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1140 /* ./syntax//mmbuilder.nit:259 */
1141 fra
.me
.REG
[3] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1142 fra
.me
.REG
[3] = NEW_MMImplicitInit_syntax___syntax_base___MMImplicitInit___init(fra
.me
.REG
[2], fra
.me
.REG
[6], fra
.me
.REG
[3]);
1143 /* ./syntax//mmbuilder.nit:260 */
1144 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[3]);
1147 stack_frame_head
= fra
.me
.prev
;
1150 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
){
1151 struct {struct stack_frame_t me
;} fra
;
1156 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1157 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1159 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1160 fra
.me
.has_broke
= 0;
1161 fra
.me
.REG_size
= 1;
1162 fra
.me
.REG
[0] = NIT_NULL
;
1163 fra
.me
.closure_ctx
= closctx_param
;
1164 fra
.me
.closure_funs
= CREG
;
1166 CREG
[0] = clos_fun0
;
1167 /* ./syntax//mmbuilder.nit:194 */
1168 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1169 if (UNTAG_Bool(REGB0
)) {
1170 /* ./syntax//mmbuilder.nit:196 */
1171 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1172 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1173 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],closctx
->REG
[2]));
1174 if (UNTAG_Bool(REGB0
)) {
1176 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[2]);
1179 if (UNTAG_Bool(REGB0
)) {
1180 closctx
->has_broke
= 1;
1185 stack_frame_head
= fra
.me
.prev
;
1188 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_5(struct stack_frame_t
*closctx
, val_t p0
){
1189 struct {struct stack_frame_t me
;} fra
;
1192 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1193 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1195 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1196 fra
.me
.has_broke
= 0;
1197 fra
.me
.REG_size
= 1;
1198 fra
.me
.REG
[0] = NIT_NULL
;
1200 /* ./syntax//mmbuilder.nit:206 */
1201 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1202 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1203 if (UNTAG_Bool(REGB0
)) {
1206 /* ./syntax//mmbuilder.nit:207 */
1207 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1209 stack_frame_head
= fra
.me
.prev
;
1212 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
){
1213 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1218 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1219 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1221 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1222 fra
.me
.has_broke
= 0;
1223 fra
.me
.REG_size
= 2;
1224 fra
.me
.REG
[0] = NIT_NULL
;
1225 fra
.me
.REG
[1] = NIT_NULL
;
1226 fra
.me
.closure_ctx
= closctx_param
;
1227 fra
.me
.closure_funs
= CREG
;
1229 CREG
[0] = clos_fun0
;
1230 /* ./syntax//mmbuilder.nit:219 */
1231 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_syntax___syntax_base___MMSrcAttribute
, ID_syntax___syntax_base___MMSrcAttribute
)) /*cast MMSrcAttribute*/;
1232 if (UNTAG_Bool(REGB0
)) {
1233 /* ./syntax//mmbuilder.nit:220 */
1234 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1235 /* ./syntax//mmbuilder.nit:221 */
1236 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1237 if (UNTAG_Bool(REGB0
)) {
1238 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 221);
1240 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1241 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1242 if (UNTAG_Bool(REGB0
)) {
1244 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1245 if (UNTAG_Bool(REGB1
)) {
1246 REGB1
= TAG_Bool(false);
1249 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1253 if (UNTAG_Bool(REGB0
)) {
1254 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[6])(closctx
->REG
[6], fra
.me
.REG
[0]);
1257 stack_frame_head
= fra
.me
.prev
;
1260 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
){
1261 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1265 /* ./syntax//mmbuilder.nit:229 */
1266 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1267 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1269 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1270 fra
.me
.has_broke
= 0;
1271 fra
.me
.REG_size
= 2;
1272 fra
.me
.REG
[0] = NIT_NULL
;
1273 fra
.me
.REG
[1] = NIT_NULL
;
1274 fra
.me
.closure_ctx
= closctx_param
;
1275 fra
.me
.closure_funs
= CREG
;
1277 CREG
[0] = clos_fun0
;
1278 /* ./syntax//mmbuilder.nit:230 */
1279 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1280 /* ./syntax//mmbuilder.nit:231 */
1281 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1282 if (UNTAG_Bool(REGB0
)) {
1285 /* ./syntax//mmbuilder.nit:232 */
1286 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1287 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_mixin(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1288 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1289 if (UNTAG_Bool(REGB0
)) {
1290 /* ./syntax//mmbuilder.nit:233 */
1291 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1294 stack_frame_head
= fra
.me
.prev
;
1297 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
){
1298 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1304 /* ./syntax//mmbuilder.nit:248 */
1305 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1306 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1308 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1309 fra
.me
.has_broke
= 0;
1310 fra
.me
.REG_size
= 2;
1311 fra
.me
.REG
[0] = NIT_NULL
;
1312 fra
.me
.REG
[1] = NIT_NULL
;
1313 fra
.me
.closure_ctx
= closctx_param
;
1314 fra
.me
.closure_funs
= CREG
;
1316 CREG
[0] = clos_fun0
;
1317 /* ./syntax//mmbuilder.nit:250 */
1318 REGB0
= TAG_Bool(closctx
->REG
[8]==NIT_NULL
);
1319 if (UNTAG_Bool(REGB0
)) {
1321 REGB1
= TAG_Bool(closctx
->REG
[8]==NIT_NULL
);
1322 if (UNTAG_Bool(REGB1
)) {
1323 REGB1
= TAG_Bool(false);
1326 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[8])(closctx
->REG
[8], NIT_NULL
);
1330 if (UNTAG_Bool(REGB0
)) {
1331 REGB0
= TAG_Bool(true);
1333 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1334 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],closctx
->REG
[8]));
1335 if (UNTAG_Bool(REGB1
)) {
1337 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[8]);
1342 if (UNTAG_Bool(REGB0
)) {
1343 /* ./syntax//mmbuilder.nit:251 */
1344 CALL_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
1346 stack_frame_head
= fra
.me
.prev
;
1349 void syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(val_t p0
, val_t p1
, val_t p2
){
1350 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1353 static val_t once_value_1
; /* Once value */
1354 static val_t once_value_2
; /* Once value */
1355 static val_t once_value_3
; /* Once value */
1356 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1357 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1359 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property
;
1360 fra
.me
.has_broke
= 0;
1361 fra
.me
.REG_size
= 7;
1362 fra
.me
.REG
[0] = NIT_NULL
;
1363 fra
.me
.REG
[1] = NIT_NULL
;
1364 fra
.me
.REG
[2] = NIT_NULL
;
1365 fra
.me
.REG
[3] = NIT_NULL
;
1366 fra
.me
.REG
[4] = NIT_NULL
;
1367 fra
.me
.REG
[5] = NIT_NULL
;
1368 fra
.me
.REG
[6] = NIT_NULL
;
1372 /* ./syntax//mmbuilder.nit:269 */
1373 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1374 /* ./syntax//mmbuilder.nit:271 */
1375 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1376 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1377 if (UNTAG_Bool(REGB0
)) {
1378 /* ./syntax//mmbuilder.nit:272 */
1379 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1381 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1382 if (!once_value_1
) {
1383 fra
.me
.REG
[6] = BOX_NativeString("Error: A property ");
1384 REGB0
= TAG_Int(18);
1385 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1386 once_value_1
= fra
.me
.REG
[6];
1387 register_static_object(&once_value_1
);
1388 } else fra
.me
.REG
[6] = once_value_1
;
1389 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1391 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1393 if (!once_value_2
) {
1394 fra
.me
.REG
[6] = BOX_NativeString(" is already defined in class ");
1395 REGB0
= TAG_Int(29);
1396 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1397 once_value_2
= fra
.me
.REG
[6];
1398 register_static_object(&once_value_2
);
1399 } else fra
.me
.REG
[6] = once_value_2
;
1400 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1402 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1403 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1405 if (!once_value_3
) {
1406 fra
.me
.REG
[6] = BOX_NativeString(".");
1408 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1409 once_value_3
= fra
.me
.REG
[6];
1410 register_static_object(&once_value_3
);
1411 } else fra
.me
.REG
[6] = once_value_3
;
1412 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1413 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1414 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1415 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[5]);
1416 /* ./syntax//mmbuilder.nit:273 */
1419 /* ./syntax//mmbuilder.nit:275 */
1420 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1421 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[2]);
1422 /* ./syntax//mmbuilder.nit:278 */
1423 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1424 if (UNTAG_Bool(REGB0
)) {
1425 /* ./syntax//mmbuilder.nit:279 */
1426 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1427 /* ./syntax//mmbuilder.nit:280 */
1428 CALL_metamodel___inheritance___MMLocalProperty___inherit_global(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1430 /* ./syntax//mmbuilder.nit:283 */
1431 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalProperty___is_global_set(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1432 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1433 if (UNTAG_Bool(REGB0
)) {
1434 /* ./syntax//mmbuilder.nit:284 */
1435 CALL_metamodel___abstractmetamodel___MMLocalProperty___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1436 /* ./syntax//mmbuilder.nit:285 */
1437 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1438 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1439 CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1442 stack_frame_head
= fra
.me
.prev
;
1445 void syntax___mmbuilder___MMLocalProperty___accept_property_visitor(val_t p0
, val_t p1
){
1446 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1448 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1449 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1451 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalProperty___accept_property_visitor
;
1452 fra
.me
.has_broke
= 0;
1453 fra
.me
.REG_size
= 2;
1454 fra
.me
.REG
[0] = NIT_NULL
;
1455 fra
.me
.REG
[1] = NIT_NULL
;
1458 stack_frame_head
= fra
.me
.prev
;
1461 val_t
syntax___mmbuilder___MMImplicitInit___super_init(val_t p0
){
1462 struct {struct stack_frame_t me
;} 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___MMImplicitInit___super_init
;
1468 fra
.me
.has_broke
= 0;
1469 fra
.me
.REG_size
= 1;
1470 fra
.me
.REG
[0] = NIT_NULL
;
1472 /* ./syntax//mmbuilder.nit:297 */
1473 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[0]);
1474 stack_frame_head
= fra
.me
.prev
;
1475 return fra
.me
.REG
[0];
1477 void syntax___mmbuilder___MMImplicitInit___accept_property_visitor(val_t p0
, val_t p1
){
1478 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
1485 static val_t once_value_1
; /* Once value */
1486 static val_t once_value_2
; /* Once value */
1487 static val_t once_value_3
; /* Once value */
1488 static val_t once_value_4
; /* Once value */
1489 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1490 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1492 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMImplicitInit___accept_property_visitor
;
1493 fra
.me
.has_broke
= 0;
1494 fra
.me
.REG_size
= 9;
1495 fra
.me
.REG
[0] = NIT_NULL
;
1496 fra
.me
.REG
[1] = NIT_NULL
;
1497 fra
.me
.REG
[2] = NIT_NULL
;
1498 fra
.me
.REG
[3] = NIT_NULL
;
1499 fra
.me
.REG
[4] = NIT_NULL
;
1500 fra
.me
.REG
[5] = NIT_NULL
;
1501 fra
.me
.REG
[6] = NIT_NULL
;
1502 fra
.me
.REG
[7] = NIT_NULL
;
1503 fra
.me
.REG
[8] = NIT_NULL
;
1506 /* ./syntax//mmbuilder.nit:298 */
1507 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1508 /* ./syntax//mmbuilder.nit:300 */
1509 fra
.me
.REG
[3] = NIT_NULL
;
1510 /* ./syntax//mmbuilder.nit:301 */
1511 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMImplicitInit___super_inits(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1512 /* ./../lib/standard//collection//array.nit:269 */
1514 /* ./../lib/standard//collection//array.nit:270 */
1515 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1516 if (UNTAG_Bool(REGB1
)) {
1518 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1520 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1521 /* ./../lib/standard//collection//array.nit:271 */
1522 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1523 /* ./../lib/standard//collection//array.nit:272 */
1525 /* ./../lib/standard//collection//array.nit:24 */
1526 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1527 if (UNTAG_Bool(REGB1
)) {
1529 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1531 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1532 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1533 if (UNTAG_Bool(REGB2
)) {
1535 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1537 /* ./../lib/standard//kernel.nit:232 */
1538 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1539 /* ./../lib/standard//collection//array.nit:272 */
1540 if (UNTAG_Bool(REGB1
)) {
1541 /* ./../lib/standard//collection//array.nit:273 */
1542 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1543 if (UNTAG_Bool(REGB1
)) {
1544 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1546 /* ./../lib/standard//collection//array.nit:718 */
1547 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1548 /* ./syntax//mmbuilder.nit:302 */
1549 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1550 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1551 if (UNTAG_Bool(REGB1
)) {
1552 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 302);
1554 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1556 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1557 if (UNTAG_Bool(REGB3
)) {
1559 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1561 /* ./../lib/standard//kernel.nit:234 */
1562 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
1563 /* ./syntax//mmbuilder.nit:302 */
1564 if (UNTAG_Bool(REGB2
)) {
1565 /* ./syntax//mmbuilder.nit:303 */
1566 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1567 if (UNTAG_Bool(REGB2
)) {
1569 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1570 if (UNTAG_Bool(REGB1
)) {
1571 REGB1
= TAG_Bool(false);
1574 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1578 if (UNTAG_Bool(REGB2
)) {
1579 /* ./syntax//mmbuilder.nit:304 */
1580 fra
.me
.REG
[3] = fra
.me
.REG
[6];
1582 /* ./syntax//mmbuilder.nit:306 */
1584 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1585 if (!once_value_1
) {
1586 fra
.me
.REG
[8] = BOX_NativeString("Error: explicit constructor needed in ");
1587 REGB2
= TAG_Int(38);
1588 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1589 once_value_1
= fra
.me
.REG
[8];
1590 register_static_object(&once_value_1
);
1591 } else fra
.me
.REG
[8] = once_value_1
;
1592 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1594 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1595 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1597 if (!once_value_2
) {
1598 fra
.me
.REG
[8] = BOX_NativeString(" since both super-constructor ");
1599 REGB2
= TAG_Int(30);
1600 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1601 once_value_2
= fra
.me
.REG
[8];
1602 register_static_object(&once_value_2
);
1603 } else fra
.me
.REG
[8] = once_value_2
;
1604 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1605 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1606 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1607 if (UNTAG_Bool(REGB2
)) {
1608 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 306);
1610 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1612 if (!once_value_3
) {
1613 fra
.me
.REG
[8] = BOX_NativeString(" and ");
1615 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB2
);
1616 once_value_3
= fra
.me
.REG
[8];
1617 register_static_object(&once_value_3
);
1618 } else fra
.me
.REG
[8] = once_value_3
;
1619 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1620 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1621 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1623 if (!once_value_4
) {
1624 fra
.me
.REG
[6] = BOX_NativeString(" have paramters");
1625 REGB2
= TAG_Int(15);
1626 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
1627 once_value_4
= fra
.me
.REG
[6];
1628 register_static_object(&once_value_4
);
1629 } else fra
.me
.REG
[6] = once_value_4
;
1630 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1631 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1632 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1633 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[7]);
1634 /* ./syntax//mmbuilder.nit:307 */
1638 /* ./../lib/standard//collection//array.nit:274 */
1640 /* ./../lib/standard//kernel.nit:235 */
1641 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1642 /* ./../lib/standard//collection//array.nit:274 */
1645 /* ./../lib/standard//collection//array.nit:272 */
1650 /* ./syntax//mmbuilder.nit:311 */
1651 ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
1652 /* ./syntax//mmbuilder.nit:313 */
1653 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1654 /* ./syntax//mmbuilder.nit:314 */
1655 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1656 if (UNTAG_Bool(REGB0
)) {
1658 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1659 if (UNTAG_Bool(REGB2
)) {
1660 REGB2
= TAG_Bool(false);
1663 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1667 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1668 if (UNTAG_Bool(REGB0
)) {
1669 /* ./syntax//mmbuilder.nit:315 */
1670 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1671 if (UNTAG_Bool(REGB0
)) {
1672 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 315);
1674 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1675 /* ./syntax//mmbuilder.nit:316 */
1677 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1678 if (UNTAG_Bool(REGB2
)) {
1679 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 316);
1681 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1682 /* ./../lib/standard//kernel.nit:352 */
1684 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1685 if (UNTAG_Bool(REGB1
)) {
1687 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1689 /* ./../lib/standard//kernel.nit:232 */
1690 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1691 /* ./../lib/standard//kernel.nit:352 */
1692 if (UNTAG_Bool(REGB1
)) {
1693 /* ./syntax//mmbuilder.nit:316 */
1695 /* ./syntax//mmbuilder.nit:317 */
1696 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1697 if (UNTAG_Bool(REGB3
)) {
1698 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 317);
1700 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1701 /* ./../lib/standard//collection//array.nit:280 */
1703 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1704 if (UNTAG_Bool(REGB4
)) {
1706 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1708 /* ./../lib/standard//kernel.nit:233 */
1709 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
1710 /* ./../lib/standard//collection//array.nit:280 */
1711 if (UNTAG_Bool(REGB3
)) {
1712 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1713 if (UNTAG_Bool(REGB3
)) {
1715 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1717 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1718 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1719 if (UNTAG_Bool(REGB4
)) {
1721 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1723 /* ./../lib/standard//kernel.nit:232 */
1724 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
1726 /* ./../lib/standard//collection//array.nit:280 */
1727 REGB4
= TAG_Bool(false);
1730 if (UNTAG_Bool(REGB3
)) {
1732 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
1734 /* ./../lib/standard//collection//array.nit:281 */
1735 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
1736 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1737 if (UNTAG_Bool(REGB3
)) {
1738 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1740 /* ./../lib/standard//collection//array.nit:718 */
1741 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1742 /* ./../lib/standard//collection//array.nit:281 */
1745 /* ./syntax//mmbuilder.nit:317 */
1746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1747 /* ./../lib/standard//kernel.nit:354 */
1749 /* ./../lib/standard//kernel.nit:235 */
1750 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1751 /* ./../lib/standard//kernel.nit:354 */
1754 /* ./../lib/standard//kernel.nit:352 */
1760 /* ./syntax//mmbuilder.nit:320 */
1761 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMImplicitInit___unassigned_attributes(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1762 /* ./../lib/standard//collection//array.nit:269 */
1764 /* ./../lib/standard//collection//array.nit:270 */
1765 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1766 if (UNTAG_Bool(REGB2
)) {
1768 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1770 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1771 /* ./../lib/standard//collection//array.nit:271 */
1772 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1773 /* ./../lib/standard//collection//array.nit:272 */
1775 /* ./../lib/standard//collection//array.nit:24 */
1776 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1777 if (UNTAG_Bool(REGB2
)) {
1779 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1781 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1782 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1783 if (UNTAG_Bool(REGB1
)) {
1785 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1787 /* ./../lib/standard//kernel.nit:232 */
1788 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1789 /* ./../lib/standard//collection//array.nit:272 */
1790 if (UNTAG_Bool(REGB2
)) {
1791 /* ./../lib/standard//collection//array.nit:273 */
1792 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1793 if (UNTAG_Bool(REGB2
)) {
1794 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1796 /* ./../lib/standard//collection//array.nit:718 */
1797 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1798 /* ./syntax//mmbuilder.nit:321 */
1799 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1800 /* ./syntax//mmbuilder.nit:322 */
1801 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1802 if (UNTAG_Bool(REGB2
)) {
1804 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1805 if (UNTAG_Bool(REGB1
)) {
1806 REGB1
= TAG_Bool(false);
1809 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
1813 if (UNTAG_Bool(REGB2
)) {
1816 /* ./syntax//mmbuilder.nit:323 */
1817 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1818 /* ./syntax//mmbuilder.nit:324 */
1819 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1820 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1821 REGB2
= TAG_Char('_');
1822 REGB1
= TAG_Bool(IS_EQUAL_ON(REGB2
,fra
.me
.REG
[8]));
1823 if (UNTAG_Bool(REGB1
)) {
1825 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1826 if (UNTAG_Bool(REGB3
)) {
1827 REGB3
= TAG_Bool(false);
1830 /* ./../lib/standard//kernel.nit:378 */
1831 REGB2
= TAG_Bool((fra
.me
.REG
[8])==(REGB2
));
1832 /* ./syntax//mmbuilder.nit:324 */
1836 if (UNTAG_Bool(REGB1
)) {
1837 REGB1
= TAG_Bool(true);
1839 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1840 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1841 REGB2
= TAG_Char('@');
1842 REGB3
= TAG_Bool(IS_EQUAL_ON(REGB2
,fra
.me
.REG
[8]));
1843 if (UNTAG_Bool(REGB3
)) {
1845 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1846 if (UNTAG_Bool(REGB4
)) {
1847 REGB4
= TAG_Bool(false);
1850 /* ./../lib/standard//kernel.nit:378 */
1851 REGB2
= TAG_Bool((fra
.me
.REG
[8])==(REGB2
));
1852 /* ./syntax//mmbuilder.nit:324 */
1858 if (UNTAG_Bool(REGB1
)) {
1859 /* ./syntax//mmbuilder.nit:325 */
1860 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1862 fra
.me
.REG
[4] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1863 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1864 fra
.me
.REG
[6] = fra
.me
.REG
[4];
1866 /* ./syntax//mmbuilder.nit:327 */
1867 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1868 if (UNTAG_Bool(REGB1
)) {
1869 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 327);
1871 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1872 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*/;
1873 if (UNTAG_Bool(REGB1
)) {
1875 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 327);
1877 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1878 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1879 /* ./../lib/standard//collection//array.nit:274 */
1881 /* ./../lib/standard//kernel.nit:235 */
1882 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1883 /* ./../lib/standard//collection//array.nit:274 */
1886 /* ./../lib/standard//collection//array.nit:272 */
1891 /* ./syntax//mmbuilder.nit:329 */
1892 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1893 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1894 fra
.me
.REG
[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[0]);
1895 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1897 stack_frame_head
= fra
.me
.prev
;
1900 val_t
syntax___mmbuilder___MMSrcAncestor___local_class(val_t p0
){
1901 struct {struct stack_frame_t me
;} fra
;
1904 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1905 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1907 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcAncestor___local_class
;
1908 fra
.me
.has_broke
= 0;
1909 fra
.me
.REG_size
= 1;
1910 fra
.me
.REG
[0] = NIT_NULL
;
1912 /* ./syntax//mmbuilder.nit:337 */
1913 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
1914 if (UNTAG_Bool(REGB0
)) {
1916 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_syntax___mmbuilder
, 337);
1918 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0]);
1919 stack_frame_head
= fra
.me
.prev
;
1920 return fra
.me
.REG
[0];
1922 void syntax___mmbuilder___MMSrcAncestor___init(val_t p0
, val_t p1
, int* init_table
){
1923 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___MMSrcAncestor
].i
;
1924 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1926 if (init_table
[itpos1
]) return;
1927 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1928 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1930 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcAncestor___init
;
1931 fra
.me
.has_broke
= 0;
1932 fra
.me
.REG_size
= 3;
1933 fra
.me
.REG
[0] = NIT_NULL
;
1934 fra
.me
.REG
[1] = NIT_NULL
;
1935 fra
.me
.REG
[2] = NIT_NULL
;
1938 /* ./syntax//mmbuilder.nit:339 */
1939 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1940 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1941 /* ./syntax//mmbuilder.nit:341 */
1942 ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
1943 stack_frame_head
= fra
.me
.prev
;
1944 init_table
[itpos1
] = 1;
1947 val_t
syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(val_t p0
){
1948 struct {struct stack_frame_t me
;} fra
;
1951 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1952 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1954 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity
;
1955 fra
.me
.has_broke
= 0;
1956 fra
.me
.REG_size
= 1;
1957 fra
.me
.REG
[0] = NIT_NULL
;
1959 /* ./syntax//mmbuilder.nit:352 */
1960 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0])!=NIT_NULL
);
1961 if (UNTAG_Bool(REGB0
)) {
1963 nit_abort("Uninitialized attribute %s", "_local_class_arity", LOCATE_syntax___mmbuilder
, 352);
1965 REGB0
= ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]);
1966 stack_frame_head
= fra
.me
.prev
;
1969 void syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t p0
, val_t p1
){
1970 struct {struct stack_frame_t me
;} fra
;
1973 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1974 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1976 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq
;
1977 fra
.me
.has_broke
= 0;
1978 fra
.me
.REG_size
= 1;
1979 fra
.me
.REG
[0] = NIT_NULL
;
1982 /* ./syntax//mmbuilder.nit:352 */
1983 ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]) = REGB0
;
1984 stack_frame_head
= fra
.me
.prev
;
1987 val_t
syntax___mmbuilder___ClassBuilderVisitor___formals(val_t p0
){
1988 struct {struct stack_frame_t me
;} fra
;
1990 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1991 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1993 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals
;
1994 fra
.me
.has_broke
= 0;
1995 fra
.me
.REG_size
= 1;
1996 fra
.me
.REG
[0] = NIT_NULL
;
1998 /* ./syntax//mmbuilder.nit:355 */
1999 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]);
2000 stack_frame_head
= fra
.me
.prev
;
2001 return fra
.me
.REG
[0];
2003 void syntax___mmbuilder___ClassBuilderVisitor___formals__eq(val_t p0
, val_t p1
){
2004 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2006 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2007 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2009 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals__eq
;
2010 fra
.me
.has_broke
= 0;
2011 fra
.me
.REG_size
= 2;
2012 fra
.me
.REG
[0] = NIT_NULL
;
2013 fra
.me
.REG
[1] = NIT_NULL
;
2016 /* ./syntax//mmbuilder.nit:355 */
2017 ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2018 stack_frame_head
= fra
.me
.prev
;
2021 void syntax___mmbuilder___ClassBuilderVisitor___visit(val_t p0
, val_t p1
){
2022 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2025 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2026 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2028 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___visit
;
2029 fra
.me
.has_broke
= 0;
2030 fra
.me
.REG_size
= 2;
2031 fra
.me
.REG
[0] = NIT_NULL
;
2032 fra
.me
.REG
[1] = NIT_NULL
;
2035 /* ./syntax//mmbuilder.nit:358 */
2036 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2037 if (UNTAG_Bool(REGB0
)) {
2038 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 358);
2040 CALL_syntax___mmbuilder___ANode___accept_class_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2041 stack_frame_head
= fra
.me
.prev
;
2044 void syntax___mmbuilder___ClassBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2045 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassBuilderVisitor
].i
;
2046 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2048 if (init_table
[itpos2
]) return;
2049 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2050 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2052 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___init
;
2053 fra
.me
.has_broke
= 0;
2054 fra
.me
.REG_size
= 3;
2055 fra
.me
.REG
[0] = NIT_NULL
;
2056 fra
.me
.REG
[1] = NIT_NULL
;
2057 fra
.me
.REG
[2] = NIT_NULL
;
2061 /* ./syntax//mmbuilder.nit:359 */
2062 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2063 stack_frame_head
= fra
.me
.prev
;
2064 init_table
[itpos2
] = 1;
2067 void syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t p0
, val_t p1
){
2068 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2071 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2072 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2074 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit
;
2075 fra
.me
.has_broke
= 0;
2076 fra
.me
.REG_size
= 2;
2077 fra
.me
.REG
[0] = NIT_NULL
;
2078 fra
.me
.REG
[1] = NIT_NULL
;
2081 /* ./syntax//mmbuilder.nit:366 */
2082 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2083 if (UNTAG_Bool(REGB0
)) {
2084 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 366);
2086 CALL_syntax___mmbuilder___ANode___accept_class_specialization_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2087 stack_frame_head
= fra
.me
.prev
;
2090 void syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2091 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassSpecializationBuilderVisitor
].i
;
2092 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2094 if (init_table
[itpos3
]) return;
2095 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2096 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2098 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init
;
2099 fra
.me
.has_broke
= 0;
2100 fra
.me
.REG_size
= 3;
2101 fra
.me
.REG
[0] = NIT_NULL
;
2102 fra
.me
.REG
[1] = NIT_NULL
;
2103 fra
.me
.REG
[2] = NIT_NULL
;
2107 /* ./syntax//mmbuilder.nit:367 */
2108 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2109 stack_frame_head
= fra
.me
.prev
;
2110 init_table
[itpos3
] = 1;
2113 void syntax___mmbuilder___ClassAncestorBuilder___visit(val_t p0
, val_t p1
){
2114 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2117 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2118 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2120 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassAncestorBuilder___visit
;
2121 fra
.me
.has_broke
= 0;
2122 fra
.me
.REG_size
= 2;
2123 fra
.me
.REG
[0] = NIT_NULL
;
2124 fra
.me
.REG
[1] = NIT_NULL
;
2127 /* ./syntax//mmbuilder.nit:374 */
2128 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2129 if (UNTAG_Bool(REGB0
)) {
2130 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 374);
2132 CALL_syntax___mmbuilder___ANode___accept_class_ancestor_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2133 stack_frame_head
= fra
.me
.prev
;
2136 void syntax___mmbuilder___ClassAncestorBuilder___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2137 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassAncestorBuilder
].i
;
2138 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2140 if (init_table
[itpos4
]) return;
2141 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2142 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2144 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassAncestorBuilder___init
;
2145 fra
.me
.has_broke
= 0;
2146 fra
.me
.REG_size
= 3;
2147 fra
.me
.REG
[0] = NIT_NULL
;
2148 fra
.me
.REG
[1] = NIT_NULL
;
2149 fra
.me
.REG
[2] = NIT_NULL
;
2153 /* ./syntax//mmbuilder.nit:375 */
2154 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2155 stack_frame_head
= fra
.me
.prev
;
2156 init_table
[itpos4
] = 1;
2159 void syntax___mmbuilder___ClassVerifierVisitor___visit(val_t p0
, val_t p1
){
2160 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2163 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2164 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2166 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassVerifierVisitor___visit
;
2167 fra
.me
.has_broke
= 0;
2168 fra
.me
.REG_size
= 2;
2169 fra
.me
.REG
[0] = NIT_NULL
;
2170 fra
.me
.REG
[1] = NIT_NULL
;
2173 /* ./syntax//mmbuilder.nit:382 */
2174 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2175 if (UNTAG_Bool(REGB0
)) {
2176 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 382);
2178 CALL_syntax___mmbuilder___ANode___accept_class_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2179 stack_frame_head
= fra
.me
.prev
;
2182 void syntax___mmbuilder___ClassVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2183 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassVerifierVisitor
].i
;
2184 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2186 if (init_table
[itpos5
]) return;
2187 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2188 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2190 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassVerifierVisitor___init
;
2191 fra
.me
.has_broke
= 0;
2192 fra
.me
.REG_size
= 3;
2193 fra
.me
.REG
[0] = NIT_NULL
;
2194 fra
.me
.REG
[1] = NIT_NULL
;
2195 fra
.me
.REG
[2] = NIT_NULL
;
2199 /* ./syntax//mmbuilder.nit:383 */
2200 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2201 stack_frame_head
= fra
.me
.prev
;
2202 init_table
[itpos5
] = 1;
2205 void syntax___mmbuilder___PropertyBuilderVisitor___visit(val_t p0
, val_t p1
){
2206 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2209 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2210 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2212 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___visit
;
2213 fra
.me
.has_broke
= 0;
2214 fra
.me
.REG_size
= 2;
2215 fra
.me
.REG
[0] = NIT_NULL
;
2216 fra
.me
.REG
[1] = NIT_NULL
;
2219 /* ./syntax//mmbuilder.nit:393 */
2220 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2221 if (UNTAG_Bool(REGB0
)) {
2222 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 393);
2224 CALL_syntax___mmbuilder___ANode___accept_property_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2225 stack_frame_head
= fra
.me
.prev
;
2228 void syntax___mmbuilder___PropertyBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2229 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___PropertyBuilderVisitor
].i
;
2230 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2232 if (init_table
[itpos6
]) return;
2233 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2234 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2236 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___init
;
2237 fra
.me
.has_broke
= 0;
2238 fra
.me
.REG_size
= 3;
2239 fra
.me
.REG
[0] = NIT_NULL
;
2240 fra
.me
.REG
[1] = NIT_NULL
;
2241 fra
.me
.REG
[2] = NIT_NULL
;
2245 /* ./syntax//mmbuilder.nit:394 */
2246 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2247 stack_frame_head
= fra
.me
.prev
;
2248 init_table
[itpos6
] = 1;
2251 val_t
syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(val_t p0
){
2252 struct {struct stack_frame_t me
;} fra
;
2255 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2256 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2258 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder
;
2259 fra
.me
.has_broke
= 0;
2260 fra
.me
.REG_size
= 1;
2261 fra
.me
.REG
[0] = NIT_NULL
;
2263 /* ./syntax//mmbuilder.nit:402 */
2264 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0])!=NIT_NULL
);
2265 if (UNTAG_Bool(REGB0
)) {
2267 nit_abort("Uninitialized attribute %s", "_signature_builder", LOCATE_syntax___mmbuilder
, 402);
2269 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]);
2270 stack_frame_head
= fra
.me
.prev
;
2271 return fra
.me
.REG
[0];
2273 void syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t p0
, val_t p1
){
2274 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2276 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2277 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2279 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq
;
2280 fra
.me
.has_broke
= 0;
2281 fra
.me
.REG_size
= 2;
2282 fra
.me
.REG
[0] = NIT_NULL
;
2283 fra
.me
.REG
[1] = NIT_NULL
;
2286 /* ./syntax//mmbuilder.nit:402 */
2287 ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2288 stack_frame_head
= fra
.me
.prev
;
2291 void syntax___mmbuilder___PropertyVerifierVisitor___visit(val_t p0
, val_t p1
){
2292 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2295 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2296 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2298 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___visit
;
2299 fra
.me
.has_broke
= 0;
2300 fra
.me
.REG_size
= 2;
2301 fra
.me
.REG
[0] = NIT_NULL
;
2302 fra
.me
.REG
[1] = NIT_NULL
;
2305 /* ./syntax//mmbuilder.nit:405 */
2306 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2307 if (UNTAG_Bool(REGB0
)) {
2308 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 405);
2310 CALL_syntax___mmbuilder___ANode___accept_property_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2311 stack_frame_head
= fra
.me
.prev
;
2314 void syntax___mmbuilder___PropertyVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2315 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___PropertyVerifierVisitor
].i
;
2316 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2318 if (init_table
[itpos7
]) return;
2319 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2320 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2322 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___init
;
2323 fra
.me
.has_broke
= 0;
2324 fra
.me
.REG_size
= 4;
2325 fra
.me
.REG
[0] = NIT_NULL
;
2326 fra
.me
.REG
[1] = NIT_NULL
;
2327 fra
.me
.REG
[2] = NIT_NULL
;
2328 fra
.me
.REG
[3] = NIT_NULL
;
2332 /* ./syntax//mmbuilder.nit:407 */
2333 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2334 /* ./syntax//mmbuilder.nit:409 */
2335 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2336 /* ./syntax//mmbuilder.nit:410 */
2337 fra
.me
.REG
[2] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
2338 ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
2339 stack_frame_head
= fra
.me
.prev
;
2340 init_table
[itpos7
] = 1;
2343 val_t
syntax___mmbuilder___SignatureBuilder___params(val_t p0
){
2344 struct {struct stack_frame_t me
;} fra
;
2347 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2348 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2350 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___params
;
2351 fra
.me
.has_broke
= 0;
2352 fra
.me
.REG_size
= 1;
2353 fra
.me
.REG
[0] = NIT_NULL
;
2355 /* ./syntax//mmbuilder.nit:416 */
2356 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0])!=NIT_NULL
);
2357 if (UNTAG_Bool(REGB0
)) {
2359 nit_abort("Uninitialized attribute %s", "_params", LOCATE_syntax___mmbuilder
, 416);
2361 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]);
2362 stack_frame_head
= fra
.me
.prev
;
2363 return fra
.me
.REG
[0];
2365 void syntax___mmbuilder___SignatureBuilder___params__eq(val_t p0
, val_t p1
){
2366 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2368 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2369 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2371 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___params__eq
;
2372 fra
.me
.has_broke
= 0;
2373 fra
.me
.REG_size
= 2;
2374 fra
.me
.REG
[0] = NIT_NULL
;
2375 fra
.me
.REG
[1] = NIT_NULL
;
2378 /* ./syntax//mmbuilder.nit:416 */
2379 ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2380 stack_frame_head
= fra
.me
.prev
;
2383 val_t
syntax___mmbuilder___SignatureBuilder___untyped_params(val_t p0
){
2384 struct {struct stack_frame_t me
;} fra
;
2387 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2388 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2390 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params
;
2391 fra
.me
.has_broke
= 0;
2392 fra
.me
.REG_size
= 1;
2393 fra
.me
.REG
[0] = NIT_NULL
;
2395 /* ./syntax//mmbuilder.nit:419 */
2396 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0])!=NIT_NULL
);
2397 if (UNTAG_Bool(REGB0
)) {
2399 nit_abort("Uninitialized attribute %s", "_untyped_params", LOCATE_syntax___mmbuilder
, 419);
2401 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]);
2402 stack_frame_head
= fra
.me
.prev
;
2403 return fra
.me
.REG
[0];
2405 void syntax___mmbuilder___SignatureBuilder___untyped_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___untyped_params__eq
;
2412 fra
.me
.has_broke
= 0;
2413 fra
.me
.REG_size
= 2;
2414 fra
.me
.REG
[0] = NIT_NULL
;
2415 fra
.me
.REG
[1] = NIT_NULL
;
2418 /* ./syntax//mmbuilder.nit:419 */
2419 ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2420 stack_frame_head
= fra
.me
.prev
;
2423 val_t
syntax___mmbuilder___SignatureBuilder___vararg_rank(val_t p0
){
2424 struct {struct stack_frame_t me
;} fra
;
2427 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2428 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2430 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank
;
2431 fra
.me
.has_broke
= 0;
2432 fra
.me
.REG_size
= 1;
2433 fra
.me
.REG
[0] = NIT_NULL
;
2435 /* ./syntax//mmbuilder.nit:422 */
2436 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
2437 if (UNTAG_Bool(REGB0
)) {
2439 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_syntax___mmbuilder
, 422);
2441 REGB0
= ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]);
2442 stack_frame_head
= fra
.me
.prev
;
2445 void syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(val_t p0
, val_t p1
){
2446 struct {struct stack_frame_t me
;} fra
;
2449 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2450 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2452 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq
;
2453 fra
.me
.has_broke
= 0;
2454 fra
.me
.REG_size
= 1;
2455 fra
.me
.REG
[0] = NIT_NULL
;
2458 /* ./syntax//mmbuilder.nit:422 */
2459 ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
2460 stack_frame_head
= fra
.me
.prev
;
2463 val_t
syntax___mmbuilder___SignatureBuilder___closure_decls(val_t p0
){
2464 struct {struct stack_frame_t me
;} fra
;
2467 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2468 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2470 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls
;
2471 fra
.me
.has_broke
= 0;
2472 fra
.me
.REG_size
= 1;
2473 fra
.me
.REG
[0] = NIT_NULL
;
2475 /* ./syntax//mmbuilder.nit:425 */
2476 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0])!=NIT_NULL
);
2477 if (UNTAG_Bool(REGB0
)) {
2479 nit_abort("Uninitialized attribute %s", "_closure_decls", LOCATE_syntax___mmbuilder
, 425);
2481 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]);
2482 stack_frame_head
= fra
.me
.prev
;
2483 return fra
.me
.REG
[0];
2485 void syntax___mmbuilder___SignatureBuilder___closure_decls__eq(val_t p0
, val_t p1
){
2486 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2488 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2489 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2491 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls__eq
;
2492 fra
.me
.has_broke
= 0;
2493 fra
.me
.REG_size
= 2;
2494 fra
.me
.REG
[0] = NIT_NULL
;
2495 fra
.me
.REG
[1] = NIT_NULL
;
2498 /* ./syntax//mmbuilder.nit:425 */
2499 ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2500 stack_frame_head
= fra
.me
.prev
;
2503 val_t
syntax___mmbuilder___SignatureBuilder___has_error_occured(val_t p0
){
2504 struct {struct stack_frame_t me
;} fra
;
2507 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2508 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2510 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured
;
2511 fra
.me
.has_broke
= 0;
2512 fra
.me
.REG_size
= 1;
2513 fra
.me
.REG
[0] = NIT_NULL
;
2515 /* ./syntax//mmbuilder.nit:428 */
2516 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0])!=NIT_NULL
);
2517 if (UNTAG_Bool(REGB0
)) {
2519 nit_abort("Uninitialized attribute %s", "_has_error_occured", LOCATE_syntax___mmbuilder
, 428);
2521 REGB0
= ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]);
2522 stack_frame_head
= fra
.me
.prev
;
2525 void syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(val_t p0
, val_t p1
){
2526 struct {struct stack_frame_t me
;} fra
;
2529 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2530 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2532 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq
;
2533 fra
.me
.has_broke
= 0;
2534 fra
.me
.REG_size
= 1;
2535 fra
.me
.REG
[0] = NIT_NULL
;
2538 /* ./syntax//mmbuilder.nit:428 */
2539 ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]) = REGB0
;
2540 stack_frame_head
= fra
.me
.prev
;
2543 val_t
syntax___mmbuilder___SignatureBuilder___signature(val_t p0
){
2544 struct {struct stack_frame_t me
;} fra
;
2546 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2547 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2549 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___signature
;
2550 fra
.me
.has_broke
= 0;
2551 fra
.me
.REG_size
= 1;
2552 fra
.me
.REG
[0] = NIT_NULL
;
2554 /* ./syntax//mmbuilder.nit:431 */
2555 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]);
2556 stack_frame_head
= fra
.me
.prev
;
2557 return fra
.me
.REG
[0];
2559 void syntax___mmbuilder___SignatureBuilder___signature__eq(val_t p0
, val_t p1
){
2560 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2562 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2563 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2565 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___signature__eq
;
2566 fra
.me
.has_broke
= 0;
2567 fra
.me
.REG_size
= 2;
2568 fra
.me
.REG
[0] = NIT_NULL
;
2569 fra
.me
.REG
[1] = NIT_NULL
;
2572 /* ./syntax//mmbuilder.nit:431 */
2573 ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2574 stack_frame_head
= fra
.me
.prev
;
2577 void syntax___mmbuilder___SignatureBuilder___init(val_t p0
, int* init_table
){
2578 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___SignatureBuilder
].i
;
2579 struct {struct stack_frame_t me
;} fra
;
2581 if (init_table
[itpos8
]) return;
2582 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2583 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2585 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___init
;
2586 fra
.me
.has_broke
= 0;
2587 fra
.me
.REG_size
= 0;
2588 stack_frame_head
= fra
.me
.prev
;
2589 init_table
[itpos8
] = 1;
2592 void syntax___mmbuilder___ANode___accept_class_builder(val_t p0
, val_t p1
){
2593 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} 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___ANode___accept_class_builder
;
2599 fra
.me
.has_broke
= 0;
2600 fra
.me
.REG_size
= 2;
2601 fra
.me
.REG
[0] = NIT_NULL
;
2602 fra
.me
.REG
[1] = NIT_NULL
;
2605 /* ./syntax//mmbuilder.nit:438 */
2606 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2607 stack_frame_head
= fra
.me
.prev
;
2610 void syntax___mmbuilder___ANode___accept_class_specialization_builder(val_t p0
, val_t p1
){
2611 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2613 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2614 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2616 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_specialization_builder
;
2617 fra
.me
.has_broke
= 0;
2618 fra
.me
.REG_size
= 2;
2619 fra
.me
.REG
[0] = NIT_NULL
;
2620 fra
.me
.REG
[1] = NIT_NULL
;
2623 /* ./syntax//mmbuilder.nit:439 */
2624 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2625 stack_frame_head
= fra
.me
.prev
;
2628 void syntax___mmbuilder___ANode___accept_class_ancestor_builder(val_t p0
, val_t p1
){
2629 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2631 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2632 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2634 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_ancestor_builder
;
2635 fra
.me
.has_broke
= 0;
2636 fra
.me
.REG_size
= 2;
2637 fra
.me
.REG
[0] = NIT_NULL
;
2638 fra
.me
.REG
[1] = NIT_NULL
;
2641 /* ./syntax//mmbuilder.nit:440 */
2642 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2643 stack_frame_head
= fra
.me
.prev
;
2646 void syntax___mmbuilder___ANode___accept_class_verifier(val_t p0
, val_t p1
){
2647 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2649 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2650 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2652 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_verifier
;
2653 fra
.me
.has_broke
= 0;
2654 fra
.me
.REG_size
= 2;
2655 fra
.me
.REG
[0] = NIT_NULL
;
2656 fra
.me
.REG
[1] = NIT_NULL
;
2659 /* ./syntax//mmbuilder.nit:441 */
2660 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2661 stack_frame_head
= fra
.me
.prev
;
2664 void syntax___mmbuilder___ANode___accept_property_builder(val_t p0
, val_t p1
){
2665 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2667 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2668 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2670 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_property_builder
;
2671 fra
.me
.has_broke
= 0;
2672 fra
.me
.REG_size
= 2;
2673 fra
.me
.REG
[0] = NIT_NULL
;
2674 fra
.me
.REG
[1] = NIT_NULL
;
2677 /* ./syntax//mmbuilder.nit:442 */
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_property_verifier(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_property_verifier
;
2689 fra
.me
.has_broke
= 0;
2690 fra
.me
.REG_size
= 2;
2691 fra
.me
.REG
[0] = NIT_NULL
;
2692 fra
.me
.REG
[1] = NIT_NULL
;
2695 /* ./syntax//mmbuilder.nit:443 */
2696 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2697 stack_frame_head
= fra
.me
.prev
;
2700 void syntax___mmbuilder___AModule___import_super_modules(val_t p0
, val_t p1
, val_t p2
){
2701 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2705 static val_t once_value_2
; /* Once value */
2706 static val_t once_value_3
; /* Once value */
2707 static val_t once_value_4
; /* Once value */
2708 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2709 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2711 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModule___import_super_modules
;
2712 fra
.me
.has_broke
= 0;
2713 fra
.me
.REG_size
= 5;
2714 fra
.me
.REG
[0] = NIT_NULL
;
2715 fra
.me
.REG
[1] = NIT_NULL
;
2716 fra
.me
.REG
[2] = NIT_NULL
;
2717 fra
.me
.REG
[3] = NIT_NULL
;
2718 fra
.me
.REG
[4] = NIT_NULL
;
2722 /* ./syntax//mmbuilder.nit:451 */
2723 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
2724 /* ./syntax//mmbuilder.nit:452 */
2725 fra
.me
.REG
[4] = NIT_NULL
;
2726 /* ./syntax//mmbuilder.nit:453 */
2727 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModule___n_imports(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2728 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
));
2729 /* ./syntax//mmbuilder.nit:463 */
2730 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2731 if (UNTAG_Bool(REGB0
)) {
2733 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2734 if (UNTAG_Bool(REGB1
)) {
2735 REGB1
= TAG_Bool(false);
2738 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
2742 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2743 if (UNTAG_Bool(REGB0
)) {
2744 /* ./syntax//mmbuilder.nit:464 */
2745 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2746 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2747 if (UNTAG_Bool(REGB0
)) {
2748 /* ./syntax//mmbuilder.nit:465 */
2749 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2750 if (UNTAG_Bool(REGB0
)) {
2751 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 465);
2753 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2754 if (!once_value_2
) {
2755 fra
.me
.REG
[0] = BOX_NativeString("Error: Top modules cannot import other modules.");
2756 REGB0
= TAG_Int(47);
2757 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2758 once_value_2
= fra
.me
.REG
[0];
2759 register_static_object(&once_value_2
);
2760 } else fra
.me
.REG
[0] = once_value_2
;
2761 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2762 CALL_mmloader___ToolContext___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
2765 /* ./syntax//mmbuilder.nit:467 */
2766 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2767 if (UNTAG_Bool(REGB0
)) {
2768 /* ./syntax//mmbuilder.nit:468 */
2769 if (!once_value_3
) {
2770 if (!once_value_4
) {
2771 fra
.me
.REG
[0] = BOX_NativeString("standard");
2773 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2774 once_value_4
= fra
.me
.REG
[0];
2775 register_static_object(&once_value_4
);
2776 } else fra
.me
.REG
[0] = once_value_4
;
2777 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2778 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2779 once_value_3
= fra
.me
.REG
[0];
2780 register_static_object(&once_value_3
);
2781 } else fra
.me
.REG
[0] = once_value_3
;
2782 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2783 /* ./syntax//mmbuilder.nit:469 */
2784 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]);
2785 /* ./syntax//mmbuilder.nit:470 */
2786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2787 /* ./syntax//mmbuilder.nit:471 */
2789 CALL_metamodel___abstractmetamodel___MMModule___add_super_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], REGB0
);
2792 /* ./syntax//mmbuilder.nit:474 */
2793 CALL_metamodel___abstractmetamodel___MMContext___add_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
2794 stack_frame_head
= fra
.me
.prev
;
2797 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
){
2798 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2803 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2804 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2806 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModule___import_super_modules
;
2807 fra
.me
.has_broke
= 0;
2808 fra
.me
.REG_size
= 2;
2809 fra
.me
.REG
[0] = NIT_NULL
;
2810 fra
.me
.REG
[1] = NIT_NULL
;
2811 fra
.me
.closure_ctx
= closctx_param
;
2812 fra
.me
.closure_funs
= CREG
;
2814 CREG
[0] = clos_fun0
;
2815 /* ./syntax//mmbuilder.nit:454 */
2816 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___AImport___module_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2817 /* ./syntax//mmbuilder.nit:455 */
2818 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2819 if (UNTAG_Bool(REGB0
)) {
2821 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2822 if (UNTAG_Bool(REGB1
)) {
2823 REGB1
= TAG_Bool(false);
2826 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2830 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2831 if (UNTAG_Bool(REGB0
)) {
2832 /* ./syntax//mmbuilder.nit:456 */
2833 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___get_module(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1], closctx
->REG
[2]);
2834 /* ./syntax//mmbuilder.nit:457 */
2835 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
2836 /* ./syntax//mmbuilder.nit:458 */
2837 REGB0
= CALL_syntax___mmbuilder___AImport___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2838 CALL_metamodel___abstractmetamodel___MMModule___add_super_module(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1], REGB0
);
2840 /* ./syntax//mmbuilder.nit:460 */
2841 closctx
->REG
[4] = fra
.me
.REG
[0];
2843 stack_frame_head
= fra
.me
.prev
;
2846 void syntax___mmbuilder___AModuledecl___accept_class_builder(val_t p0
, val_t p1
){
2847 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2851 static val_t once_value_1
; /* Once value */
2852 static val_t once_value_2
; /* Once value */
2853 static val_t once_value_3
; /* Once value */
2854 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2855 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2857 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModuledecl___accept_class_builder
;
2858 fra
.me
.has_broke
= 0;
2859 fra
.me
.REG_size
= 5;
2860 fra
.me
.REG
[0] = NIT_NULL
;
2861 fra
.me
.REG
[1] = NIT_NULL
;
2862 fra
.me
.REG
[2] = NIT_NULL
;
2863 fra
.me
.REG
[3] = NIT_NULL
;
2864 fra
.me
.REG
[4] = NIT_NULL
;
2867 /* ./syntax//mmbuilder.nit:481 */
2868 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2869 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2870 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2871 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2872 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2873 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
2874 if (UNTAG_Bool(REGB0
)) {
2876 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2879 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2880 if (UNTAG_Bool(REGB0
)) {
2881 /* ./syntax//mmbuilder.nit:482 */
2882 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2883 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2885 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2886 if (!once_value_1
) {
2887 fra
.me
.REG
[4] = BOX_NativeString("Error: Module name mismatch between ");
2888 REGB0
= TAG_Int(36);
2889 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2890 once_value_1
= fra
.me
.REG
[4];
2891 register_static_object(&once_value_1
);
2892 } else fra
.me
.REG
[4] = once_value_1
;
2893 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2895 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2896 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2897 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2898 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2899 if (!once_value_2
) {
2900 fra
.me
.REG
[4] = BOX_NativeString(" and ");
2902 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2903 once_value_2
= fra
.me
.REG
[4];
2904 register_static_object(&once_value_2
);
2905 } else fra
.me
.REG
[4] = once_value_2
;
2906 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2907 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2908 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2909 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2910 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2911 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2913 if (!once_value_3
) {
2914 fra
.me
.REG
[0] = BOX_NativeString("");
2916 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2917 once_value_3
= fra
.me
.REG
[0];
2918 register_static_object(&once_value_3
);
2919 } else fra
.me
.REG
[0] = once_value_3
;
2920 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2922 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2923 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3], fra
.me
.REG
[2]);
2925 stack_frame_head
= fra
.me
.prev
;
2928 val_t
syntax___mmbuilder___AImport___module_name(val_t p0
){
2929 struct {struct stack_frame_t me
;} fra
;
2931 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2932 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2934 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AImport___module_name
;
2935 fra
.me
.has_broke
= 0;
2936 fra
.me
.REG_size
= 0;
2937 /* ./syntax//mmbuilder.nit:488 */
2938 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 488);
2939 stack_frame_head
= fra
.me
.prev
;
2942 val_t
syntax___mmbuilder___AImport___visibility_level(val_t p0
){
2943 struct {struct stack_frame_t me
;} fra
;
2945 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2946 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2948 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AImport___visibility_level
;
2949 fra
.me
.has_broke
= 0;
2950 fra
.me
.REG_size
= 0;
2951 /* ./syntax//mmbuilder.nit:491 */
2952 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 491);
2953 stack_frame_head
= fra
.me
.prev
;
2956 val_t
syntax___mmbuilder___AStdImport___module_name(val_t p0
){
2957 struct {struct stack_frame_t me
;} fra
;
2959 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2960 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2962 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdImport___module_name
;
2963 fra
.me
.has_broke
= 0;
2964 fra
.me
.REG_size
= 1;
2965 fra
.me
.REG
[0] = NIT_NULL
;
2967 /* ./syntax//mmbuilder.nit:497 */
2968 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdImport___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2969 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2970 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2973 stack_frame_head
= fra
.me
.prev
;
2974 return fra
.me
.REG
[0];
2976 val_t
syntax___mmbuilder___AStdImport___visibility_level(val_t p0
){
2977 struct {struct stack_frame_t me
;} fra
;
2980 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2981 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2983 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdImport___visibility_level
;
2984 fra
.me
.has_broke
= 0;
2985 fra
.me
.REG_size
= 1;
2986 fra
.me
.REG
[0] = NIT_NULL
;
2988 /* ./syntax//mmbuilder.nit:501 */
2989 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdImport___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2990 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2993 stack_frame_head
= fra
.me
.prev
;
2996 val_t
syntax___mmbuilder___ANoImport___module_name(val_t p0
){
2997 struct {struct stack_frame_t me
;} fra
;
2999 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3000 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3002 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANoImport___module_name
;
3003 fra
.me
.has_broke
= 0;
3004 fra
.me
.REG_size
= 1;
3005 fra
.me
.REG
[0] = NIT_NULL
;
3007 /* ./syntax//mmbuilder.nit:507 */
3008 fra
.me
.REG
[0] = NIT_NULL
;
3011 stack_frame_head
= fra
.me
.prev
;
3012 return fra
.me
.REG
[0];
3014 val_t
syntax___mmbuilder___AVisibility___level(val_t p0
){
3015 struct {struct stack_frame_t me
;} fra
;
3017 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3018 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3020 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AVisibility___level
;
3021 fra
.me
.has_broke
= 0;
3022 fra
.me
.REG_size
= 0;
3023 /* ./syntax//mmbuilder.nit:512 */
3024 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 512);
3025 stack_frame_head
= fra
.me
.prev
;
3028 val_t
syntax___mmbuilder___APublicVisibility___level(val_t p0
){
3029 struct {struct stack_frame_t me
;} fra
;
3032 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3033 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3035 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APublicVisibility___level
;
3036 fra
.me
.has_broke
= 0;
3037 fra
.me
.REG_size
= 1;
3038 fra
.me
.REG
[0] = NIT_NULL
;
3040 /* ./syntax//mmbuilder.nit:516 */
3044 stack_frame_head
= fra
.me
.prev
;
3047 val_t
syntax___mmbuilder___AProtectedVisibility___level(val_t p0
){
3048 struct {struct stack_frame_t me
;} fra
;
3051 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3052 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3054 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AProtectedVisibility___level
;
3055 fra
.me
.has_broke
= 0;
3056 fra
.me
.REG_size
= 1;
3057 fra
.me
.REG
[0] = NIT_NULL
;
3059 /* ./syntax//mmbuilder.nit:519 */
3063 stack_frame_head
= fra
.me
.prev
;
3066 val_t
syntax___mmbuilder___APrivateVisibility___level(val_t p0
){
3067 struct {struct stack_frame_t me
;} fra
;
3070 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3071 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3073 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APrivateVisibility___level
;
3074 fra
.me
.has_broke
= 0;
3075 fra
.me
.REG_size
= 1;
3076 fra
.me
.REG
[0] = NIT_NULL
;
3078 /* ./syntax//mmbuilder.nit:522 */
3082 stack_frame_head
= fra
.me
.prev
;
3085 val_t
syntax___mmbuilder___AIntrudeVisibility___level(val_t p0
){
3086 struct {struct stack_frame_t me
;} fra
;
3089 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3090 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3092 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AIntrudeVisibility___level
;
3093 fra
.me
.has_broke
= 0;
3094 fra
.me
.REG_size
= 1;
3095 fra
.me
.REG
[0] = NIT_NULL
;
3097 /* ./syntax//mmbuilder.nit:525 */
3101 stack_frame_head
= fra
.me
.prev
;
3104 val_t
syntax___mmbuilder___AClassdef___local_class(val_t p0
){
3105 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3108 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3109 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3111 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___local_class
;
3112 fra
.me
.has_broke
= 0;
3113 fra
.me
.REG_size
= 2;
3114 fra
.me
.REG
[0] = NIT_NULL
;
3115 fra
.me
.REG
[1] = NIT_NULL
;
3117 /* ./syntax//mmbuilder.nit:530 */
3118 fra
.me
.REG
[1] = fra
.me
.REG
[0];
3119 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[1]);
3120 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
3121 if (UNTAG_Bool(REGB0
)) {
3123 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 530);
3127 stack_frame_head
= fra
.me
.prev
;
3128 return fra
.me
.REG
[1];
3130 val_t
syntax___mmbuilder___AClassdef___name(val_t p0
){
3131 struct {struct stack_frame_t me
;} fra
;
3133 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3134 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3136 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___name
;
3137 fra
.me
.has_broke
= 0;
3138 fra
.me
.REG_size
= 0;
3139 /* ./syntax//mmbuilder.nit:533 */
3140 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 533);
3141 stack_frame_head
= fra
.me
.prev
;
3144 val_t
syntax___mmbuilder___AClassdef___arity(val_t p0
){
3145 struct {struct stack_frame_t me
;} fra
;
3148 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3149 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3151 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___arity
;
3152 fra
.me
.has_broke
= 0;
3153 fra
.me
.REG_size
= 1;
3154 fra
.me
.REG
[0] = NIT_NULL
;
3156 /* ./syntax//mmbuilder.nit:537 */
3160 stack_frame_head
= fra
.me
.prev
;
3163 val_t
syntax___mmbuilder___AClassdef___visibility_level(val_t p0
){
3164 struct {struct stack_frame_t me
;} fra
;
3167 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3168 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3170 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___visibility_level
;
3171 fra
.me
.has_broke
= 0;
3172 fra
.me
.REG_size
= 1;
3173 fra
.me
.REG
[0] = NIT_NULL
;
3175 /* ./syntax//mmbuilder.nit:540 */
3179 stack_frame_head
= fra
.me
.prev
;
3182 void syntax___mmbuilder___AClassdef___accept_class_builder(val_t p0
, val_t p1
){
3183 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3187 static val_t once_value_1
; /* Once value */
3188 static val_t once_value_2
; /* Once value */
3189 static val_t once_value_3
; /* Once value */
3190 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3191 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3193 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_class_builder
;
3194 fra
.me
.has_broke
= 0;
3195 fra
.me
.REG_size
= 9;
3196 fra
.me
.REG
[0] = NIT_NULL
;
3197 fra
.me
.REG
[1] = NIT_NULL
;
3198 fra
.me
.REG
[2] = NIT_NULL
;
3199 fra
.me
.REG
[3] = NIT_NULL
;
3200 fra
.me
.REG
[4] = NIT_NULL
;
3201 fra
.me
.REG
[5] = NIT_NULL
;
3202 fra
.me
.REG
[6] = NIT_NULL
;
3203 fra
.me
.REG
[7] = NIT_NULL
;
3204 fra
.me
.REG
[8] = NIT_NULL
;
3207 /* ./syntax//mmbuilder.nit:542 */
3208 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3209 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3210 /* ./syntax//mmbuilder.nit:545 */
3211 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3212 /* ./syntax//mmbuilder.nit:546 */
3213 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3214 /* ./syntax//mmbuilder.nit:547 */
3215 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3216 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3217 if (UNTAG_Bool(REGB0
)) {
3218 /* ./syntax//mmbuilder.nit:548 */
3219 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3220 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3221 /* ./syntax//mmbuilder.nit:549 */
3222 ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3223 /* ./syntax//mmbuilder.nit:550 */
3224 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3225 if (UNTAG_Bool(REGB0
)) {
3226 /* ./syntax//mmbuilder.nit:552 */
3228 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3229 if (!once_value_1
) {
3230 fra
.me
.REG
[8] = BOX_NativeString("Error: A class ");
3231 REGB0
= TAG_Int(15);
3232 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3233 once_value_1
= fra
.me
.REG
[8];
3234 register_static_object(&once_value_1
);
3235 } else fra
.me
.REG
[8] = once_value_1
;
3236 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3237 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3238 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3239 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3240 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3241 if (!once_value_2
) {
3242 fra
.me
.REG
[8] = BOX_NativeString(" is already defined at line ");
3243 REGB0
= TAG_Int(28);
3244 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3245 once_value_2
= fra
.me
.REG
[8];
3246 register_static_object(&once_value_2
);
3247 } else fra
.me
.REG
[8] = once_value_2
;
3248 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3249 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3250 fra
.me
.REG
[8] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3251 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3252 if (UNTAG_Bool(REGB0
)) {
3253 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 552);
3255 fra
.me
.REG
[8] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3256 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3257 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3258 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3259 if (!once_value_3
) {
3260 fra
.me
.REG
[8] = BOX_NativeString(".");
3262 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3263 once_value_3
= fra
.me
.REG
[8];
3264 register_static_object(&once_value_3
);
3265 } else fra
.me
.REG
[8] = once_value_3
;
3266 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3268 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3269 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3270 /* ./syntax//mmbuilder.nit:553 */
3273 /* ./syntax//mmbuilder.nit:556 */
3274 fra
.me
.REG
[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3275 /* ./syntax//mmbuilder.nit:557 */
3277 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3278 if (UNTAG_Bool(REGB0
)) {
3279 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 557);
3281 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3282 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3283 if (UNTAG_Bool(REGB0
)) {
3285 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3286 if (UNTAG_Bool(REGB1
)) {
3287 REGB1
= TAG_Bool(false);
3290 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
3294 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3295 if (UNTAG_Bool(REGB0
)) {
3296 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3297 if (UNTAG_Bool(REGB0
)) {
3298 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 557);
3300 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3301 fra
.me
.REG
[7] = fra
.me
.REG
[8];
3307 /* ./syntax//mmbuilder.nit:558 */
3308 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3309 if (UNTAG_Bool(REGB0
)) {
3310 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 558);
3312 CALL_syntax___syntax_base___AClassdef___next_node__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3314 /* ./syntax//mmbuilder.nit:560 */
3315 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3316 REGB0
= CALL_syntax___mmbuilder___AClassdef___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3317 fra
.me
.REG
[7] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[4], fra
.me
.REG
[7], fra
.me
.REG
[2], REGB0
);
3318 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3319 /* ./syntax//mmbuilder.nit:561 */
3320 ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3321 /* ./syntax//mmbuilder.nit:562 */
3322 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3323 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7], fra
.me
.REG
[6]);
3324 /* ./syntax//mmbuilder.nit:563 */
3325 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3326 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3327 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3328 if (UNTAG_Bool(REGB0
)) {
3329 /* ./syntax//mmbuilder.nit:564 */
3330 CALL_syntax___mmbuilder___AClassdef___build_class_introduction(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3332 /* ./syntax//mmbuilder.nit:566 */
3333 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3334 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMModule___global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3335 /* ./syntax//mmbuilder.nit:567 */
3336 CALL_syntax___mmbuilder___AClassdef___build_class_refinement(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[7]);
3339 /* ./syntax//mmbuilder.nit:571 */
3341 CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
3342 /* ./syntax//mmbuilder.nit:572 */
3343 fra
.me
.REG
[6] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3344 CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3345 /* ./syntax//mmbuilder.nit:575 */
3346 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3347 /* ./syntax//mmbuilder.nit:578 */
3348 CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3350 stack_frame_head
= fra
.me
.prev
;
3353 void syntax___mmbuilder___AClassdef___build_class_introduction(val_t p0
, val_t p1
){
3354 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3358 static val_t once_value_1
; /* Once value */
3359 static val_t once_value_2
; /* Once value */
3360 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3361 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3363 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___build_class_introduction
;
3364 fra
.me
.has_broke
= 0;
3365 fra
.me
.REG_size
= 5;
3366 fra
.me
.REG
[0] = NIT_NULL
;
3367 fra
.me
.REG
[1] = NIT_NULL
;
3368 fra
.me
.REG
[2] = NIT_NULL
;
3369 fra
.me
.REG
[3] = NIT_NULL
;
3370 fra
.me
.REG
[4] = NIT_NULL
;
3373 /* ./syntax//mmbuilder.nit:583 */
3374 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3375 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3376 /* ./syntax//mmbuilder.nit:584 */
3377 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3378 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3379 /* ./syntax//mmbuilder.nit:586 */
3380 REGB0
= CALL_syntax___mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3381 CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3382 /* ./syntax//mmbuilder.nit:587 */
3383 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3384 if (UNTAG_Bool(REGB0
)) {
3385 /* ./syntax//mmbuilder.nit:588 */
3386 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3387 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3388 if (UNTAG_Bool(REGB0
)) {
3390 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3391 if (UNTAG_Bool(REGB1
)) {
3392 REGB1
= TAG_Bool(false);
3395 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3399 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3400 if (UNTAG_Bool(REGB0
)) {
3401 /* ./syntax//mmbuilder.nit:589 */
3403 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3404 if (!once_value_1
) {
3405 fra
.me
.REG
[4] = BOX_NativeString("Redef error: No class ");
3406 REGB0
= TAG_Int(22);
3407 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3408 once_value_1
= fra
.me
.REG
[4];
3409 register_static_object(&once_value_1
);
3410 } else fra
.me
.REG
[4] = once_value_1
;
3411 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3413 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3414 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3415 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3416 if (!once_value_2
) {
3417 fra
.me
.REG
[4] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
3418 REGB0
= TAG_Int(61);
3419 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3420 once_value_2
= fra
.me
.REG
[4];
3421 register_static_object(&once_value_2
);
3422 } else fra
.me
.REG
[4] = once_value_2
;
3423 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3425 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3426 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3427 /* ./syntax//mmbuilder.nit:590 */
3430 /* ./syntax//mmbuilder.nit:592 */
3431 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3432 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3433 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3434 /* ./syntax//mmbuilder.nit:593 */
3435 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3436 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3437 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3438 /* ./syntax//mmbuilder.nit:594 */
3439 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3440 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3441 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3444 stack_frame_head
= fra
.me
.prev
;
3447 void syntax___mmbuilder___AClassdef___build_class_refinement(val_t p0
, val_t p1
, val_t p2
){
3448 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3453 static val_t once_value_1
; /* Once value */
3454 static val_t once_value_2
; /* Once value */
3455 static val_t once_value_4
; /* Once value */
3456 static val_t once_value_5
; /* Once value */
3457 static val_t once_value_6
; /* Once value */
3458 static val_t once_value_7
; /* Once value */
3459 static val_t once_value_8
; /* Once value */
3460 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3461 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3463 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___build_class_refinement
;
3464 fra
.me
.has_broke
= 0;
3465 fra
.me
.REG_size
= 5;
3466 fra
.me
.REG
[0] = NIT_NULL
;
3467 fra
.me
.REG
[1] = NIT_NULL
;
3468 fra
.me
.REG
[2] = NIT_NULL
;
3469 fra
.me
.REG
[3] = NIT_NULL
;
3470 fra
.me
.REG
[4] = NIT_NULL
;
3474 /* ./syntax//mmbuilder.nit:600 */
3475 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3476 CALL_metamodel___abstractmetamodel___MMLocalClass___set_global(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3477 /* ./syntax//mmbuilder.nit:602 */
3478 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3479 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]);
3480 /* ./syntax//mmbuilder.nit:603 */
3481 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3482 if (UNTAG_Bool(REGB0
)) {
3483 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3484 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3485 if (UNTAG_Bool(REGB0
)) {
3487 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3488 if (UNTAG_Bool(REGB1
)) {
3489 REGB1
= TAG_Bool(false);
3492 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3497 REGB1
= TAG_Bool(false);
3500 if (UNTAG_Bool(REGB0
)) {
3501 /* ./syntax//mmbuilder.nit:604 */
3503 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3504 if (!once_value_1
) {
3505 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
3506 REGB0
= TAG_Int(13);
3507 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3508 once_value_1
= fra
.me
.REG
[4];
3509 register_static_object(&once_value_1
);
3510 } else fra
.me
.REG
[4] = once_value_1
;
3511 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3512 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3513 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3514 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3516 if (!once_value_2
) {
3517 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
3518 REGB0
= TAG_Int(58);
3519 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3520 once_value_2
= fra
.me
.REG
[4];
3521 register_static_object(&once_value_2
);
3522 } else fra
.me
.REG
[4] = once_value_2
;
3523 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3524 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3525 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3526 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3527 /* ./syntax//mmbuilder.nit:605 */
3530 /* ./syntax//mmbuilder.nit:608 */
3531 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3532 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3533 fra
.me
.REG
[3] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
3534 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3535 if (UNTAG_Bool(REGB1
)) {
3536 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 608);
3538 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3539 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
3540 if (UNTAG_Bool(REGB2
)) {
3542 /* ./../lib/standard//kernel.nit:227 */
3543 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
3544 /* ./syntax//mmbuilder.nit:608 */
3547 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3548 if (UNTAG_Bool(REGB2
)) {
3549 /* ./syntax//mmbuilder.nit:609 */
3551 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3552 if (!once_value_4
) {
3553 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity missmatch; got ");
3554 REGB2
= TAG_Int(51);
3555 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3556 once_value_4
= fra
.me
.REG
[4];
3557 register_static_object(&once_value_4
);
3558 } else fra
.me
.REG
[4] = once_value_4
;
3559 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3560 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3561 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
3562 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3563 if (UNTAG_Bool(REGB2
)) {
3564 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 609);
3566 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3567 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
3568 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3569 if (!once_value_5
) {
3570 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
3571 REGB2
= TAG_Int(11);
3572 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3573 once_value_5
= fra
.me
.REG
[4];
3574 register_static_object(&once_value_5
);
3575 } else fra
.me
.REG
[4] = once_value_5
;
3576 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3578 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3579 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3580 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
3581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3582 if (!once_value_6
) {
3583 fra
.me
.REG
[4] = BOX_NativeString(".");
3585 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3586 once_value_6
= fra
.me
.REG
[4];
3587 register_static_object(&once_value_6
);
3588 } else fra
.me
.REG
[4] = once_value_6
;
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
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3592 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3594 /* ./syntax//mmbuilder.nit:612 */
3595 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3596 if (UNTAG_Bool(REGB2
)) {
3597 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3598 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3599 if (UNTAG_Bool(REGB2
)) {
3600 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3601 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3603 REGB1
= TAG_Bool(false);
3606 if (UNTAG_Bool(REGB2
)) {
3607 REGB2
= TAG_Bool(true);
3609 /* ./syntax//mmbuilder.nit:613 */
3610 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3611 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3612 /* ./syntax//mmbuilder.nit:612 */
3615 if (UNTAG_Bool(REGB2
)) {
3616 /* ./syntax//mmbuilder.nit:613 */
3617 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3618 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3620 /* ./syntax//mmbuilder.nit:612 */
3621 REGB1
= TAG_Bool(false);
3624 if (UNTAG_Bool(REGB2
)) {
3625 REGB2
= TAG_Bool(true);
3627 /* ./syntax//mmbuilder.nit:614 */
3628 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3629 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3630 /* ./syntax//mmbuilder.nit:612 */
3633 if (UNTAG_Bool(REGB2
)) {
3634 /* ./syntax//mmbuilder.nit:614 */
3635 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3636 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3638 /* ./syntax//mmbuilder.nit:612 */
3639 REGB1
= TAG_Bool(false);
3643 REGB1
= TAG_Bool(false);
3646 if (UNTAG_Bool(REGB2
)) {
3647 /* ./syntax//mmbuilder.nit:616 */
3649 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3650 if (!once_value_7
) {
3651 fra
.me
.REG
[3] = BOX_NativeString("Redef error: cannot change kind of class ");
3652 REGB2
= TAG_Int(41);
3653 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
3654 once_value_7
= fra
.me
.REG
[3];
3655 register_static_object(&once_value_7
);
3656 } else fra
.me
.REG
[3] = once_value_7
;
3657 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3658 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3659 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3660 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3662 if (!once_value_8
) {
3663 fra
.me
.REG
[3] = BOX_NativeString(".");
3665 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
3666 once_value_8
= fra
.me
.REG
[3];
3667 register_static_object(&once_value_8
);
3668 } else fra
.me
.REG
[3] = once_value_8
;
3669 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3670 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3671 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3672 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
3675 stack_frame_head
= fra
.me
.prev
;
3678 void syntax___mmbuilder___AClassdef___accept_class_verifier(val_t p0
, val_t p1
){
3679 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3684 static val_t once_value_1
; /* Once value */
3685 static val_t once_value_2
; /* Once value */
3686 static val_t once_value_3
; /* Once value */
3687 static val_t once_value_4
; /* Once value */
3688 static val_t once_value_5
; /* Once value */
3689 static val_t once_value_6
; /* Once value */
3690 static val_t once_value_7
; /* Once value */
3691 static val_t once_value_8
; /* Once value */
3692 static val_t once_value_9
; /* Once value */
3693 static val_t once_value_10
; /* Once value */
3694 static val_t once_value_11
; /* Once value */
3695 static val_t once_value_12
; /* Once value */
3696 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3697 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3699 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_class_verifier
;
3700 fra
.me
.has_broke
= 0;
3701 fra
.me
.REG_size
= 9;
3702 fra
.me
.REG
[0] = NIT_NULL
;
3703 fra
.me
.REG
[1] = NIT_NULL
;
3704 fra
.me
.REG
[2] = NIT_NULL
;
3705 fra
.me
.REG
[3] = NIT_NULL
;
3706 fra
.me
.REG
[4] = NIT_NULL
;
3707 fra
.me
.REG
[5] = NIT_NULL
;
3708 fra
.me
.REG
[6] = NIT_NULL
;
3709 fra
.me
.REG
[7] = NIT_NULL
;
3710 fra
.me
.REG
[8] = NIT_NULL
;
3713 /* ./syntax//mmbuilder.nit:620 */
3714 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3715 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3716 /* ./syntax//mmbuilder.nit:622 */
3717 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3718 /* ./syntax//mmbuilder.nit:623 */
3719 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3720 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3721 if (UNTAG_Bool(REGB0
)) {
3722 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 623);
3724 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3725 /* ./syntax//mmbuilder.nit:624 */
3726 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3727 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3728 if (UNTAG_Bool(REGB0
)) {
3729 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 624);
3731 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3732 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3733 /* ./../lib/standard//collection//array.nit:269 */
3735 /* ./../lib/standard//collection//array.nit:270 */
3736 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3737 if (UNTAG_Bool(REGB1
)) {
3739 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
3741 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3742 /* ./../lib/standard//collection//array.nit:271 */
3743 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
3744 /* ./../lib/standard//collection//array.nit:272 */
3746 /* ./../lib/standard//collection//array.nit:24 */
3747 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3748 if (UNTAG_Bool(REGB1
)) {
3750 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3752 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3753 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3754 if (UNTAG_Bool(REGB2
)) {
3756 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3758 /* ./../lib/standard//kernel.nit:232 */
3759 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3760 /* ./../lib/standard//collection//array.nit:272 */
3761 if (UNTAG_Bool(REGB1
)) {
3762 /* ./../lib/standard//collection//array.nit:273 */
3763 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3764 if (UNTAG_Bool(REGB1
)) {
3765 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
3767 /* ./../lib/standard//collection//array.nit:718 */
3768 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
3769 /* ./syntax//mmbuilder.nit:625 */
3770 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3771 /* ./syntax//mmbuilder.nit:626 */
3772 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3773 if (UNTAG_Bool(REGB1
)) {
3774 /* ./syntax//mmbuilder.nit:627 */
3775 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3776 if (UNTAG_Bool(REGB1
)) {
3777 /* ./syntax//mmbuilder.nit:628 */
3779 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3780 if (!once_value_1
) {
3781 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3782 REGB1
= TAG_Int(25);
3783 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3784 once_value_1
= fra
.me
.REG
[8];
3785 register_static_object(&once_value_1
);
3786 } else fra
.me
.REG
[8] = once_value_1
;
3787 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3789 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3790 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3792 if (!once_value_2
) {
3793 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
3794 REGB1
= TAG_Int(30);
3795 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3796 once_value_2
= fra
.me
.REG
[8];
3797 register_static_object(&once_value_2
);
3798 } else fra
.me
.REG
[8] = once_value_2
;
3799 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3800 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3801 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3802 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3803 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3804 if (!once_value_3
) {
3805 fra
.me
.REG
[8] = BOX_NativeString(".");
3807 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3808 once_value_3
= fra
.me
.REG
[8];
3809 register_static_object(&once_value_3
);
3810 } else fra
.me
.REG
[8] = once_value_3
;
3811 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3813 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3814 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3816 /* ./syntax//mmbuilder.nit:629 */
3817 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3818 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3819 if (UNTAG_Bool(REGB1
)) {
3820 /* ./syntax//mmbuilder.nit:630 */
3822 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3823 if (!once_value_4
) {
3824 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3825 REGB1
= TAG_Int(25);
3826 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3827 once_value_4
= fra
.me
.REG
[8];
3828 register_static_object(&once_value_4
);
3829 } else fra
.me
.REG
[8] = once_value_4
;
3830 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3832 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3833 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3834 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3835 if (!once_value_5
) {
3836 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3837 REGB1
= TAG_Int(25);
3838 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3839 once_value_5
= fra
.me
.REG
[8];
3840 register_static_object(&once_value_5
);
3841 } else fra
.me
.REG
[8] = once_value_5
;
3842 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3843 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3844 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3845 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3847 if (!once_value_6
) {
3848 fra
.me
.REG
[8] = BOX_NativeString(".");
3850 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3851 once_value_6
= fra
.me
.REG
[8];
3852 register_static_object(&once_value_6
);
3853 } else fra
.me
.REG
[8] = once_value_6
;
3854 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3855 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3856 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3857 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3861 /* ./syntax//mmbuilder.nit:632 */
3862 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3863 if (UNTAG_Bool(REGB1
)) {
3864 /* ./syntax//mmbuilder.nit:633 */
3865 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3866 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3867 if (UNTAG_Bool(REGB1
)) {
3868 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3869 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3871 REGB2
= TAG_Bool(false);
3874 if (UNTAG_Bool(REGB1
)) {
3875 /* ./syntax//mmbuilder.nit:634 */
3877 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3878 if (!once_value_7
) {
3879 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
3880 REGB1
= TAG_Int(26);
3881 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3882 once_value_7
= fra
.me
.REG
[8];
3883 register_static_object(&once_value_7
);
3884 } else fra
.me
.REG
[8] = once_value_7
;
3885 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3887 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3888 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3889 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3890 if (!once_value_8
) {
3891 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3892 REGB1
= TAG_Int(25);
3893 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3894 once_value_8
= fra
.me
.REG
[8];
3895 register_static_object(&once_value_8
);
3896 } else fra
.me
.REG
[8] = once_value_8
;
3897 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3898 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3899 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3900 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3901 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3902 if (!once_value_9
) {
3903 fra
.me
.REG
[8] = BOX_NativeString(".");
3905 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3906 once_value_9
= fra
.me
.REG
[8];
3907 register_static_object(&once_value_9
);
3908 } else fra
.me
.REG
[8] = once_value_9
;
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
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3912 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3915 /* ./syntax//mmbuilder.nit:637 */
3916 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3917 if (UNTAG_Bool(REGB1
)) {
3918 /* ./syntax//mmbuilder.nit:638 */
3920 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3921 if (!once_value_10
) {
3922 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
3923 REGB1
= TAG_Int(21);
3924 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
3925 once_value_10
= fra
.me
.REG
[7];
3926 register_static_object(&once_value_10
);
3927 } else fra
.me
.REG
[7] = once_value_10
;
3928 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3930 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3931 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3932 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3933 if (!once_value_11
) {
3934 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise enum class ");
3935 REGB1
= TAG_Int(30);
3936 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
3937 once_value_11
= fra
.me
.REG
[7];
3938 register_static_object(&once_value_11
);
3939 } else fra
.me
.REG
[7] = once_value_11
;
3940 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3942 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3943 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3944 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3945 if (!once_value_12
) {
3946 fra
.me
.REG
[5] = BOX_NativeString(".");
3948 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
3949 once_value_12
= fra
.me
.REG
[5];
3950 register_static_object(&once_value_12
);
3951 } else fra
.me
.REG
[5] = once_value_12
;
3952 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3953 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3954 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3955 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
3959 /* ./../lib/standard//collection//array.nit:274 */
3961 /* ./../lib/standard//kernel.nit:235 */
3962 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3963 /* ./../lib/standard//collection//array.nit:274 */
3966 /* ./../lib/standard//collection//array.nit:272 */
3971 stack_frame_head
= fra
.me
.prev
;
3974 void syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
3975 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3977 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3978 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3980 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor
;
3981 fra
.me
.has_broke
= 0;
3982 fra
.me
.REG_size
= 4;
3983 fra
.me
.REG
[0] = NIT_NULL
;
3984 fra
.me
.REG
[1] = NIT_NULL
;
3985 fra
.me
.REG
[2] = NIT_NULL
;
3986 fra
.me
.REG
[3] = NIT_NULL
;
3989 /* ./syntax//mmbuilder.nit:645 */
3990 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3991 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3992 /* ./syntax//mmbuilder.nit:647 */
3993 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3994 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3995 /* ./syntax//mmbuilder.nit:648 */
3996 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3997 /* ./syntax//mmbuilder.nit:649 */
3998 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3999 stack_frame_head
= fra
.me
.prev
;
4002 val_t
syntax___mmbuilder___AClasskind___is_interface(val_t p0
){
4003 struct {struct stack_frame_t me
;} fra
;
4006 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4007 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4009 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_interface
;
4010 fra
.me
.has_broke
= 0;
4011 fra
.me
.REG_size
= 1;
4012 fra
.me
.REG
[0] = NIT_NULL
;
4014 /* ./syntax//mmbuilder.nit:654 */
4015 REGB0
= TAG_Bool(false);
4018 stack_frame_head
= fra
.me
.prev
;
4021 val_t
syntax___mmbuilder___AClasskind___is_enum(val_t p0
){
4022 struct {struct stack_frame_t me
;} fra
;
4025 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4026 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4028 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_enum
;
4029 fra
.me
.has_broke
= 0;
4030 fra
.me
.REG_size
= 1;
4031 fra
.me
.REG
[0] = NIT_NULL
;
4033 /* ./syntax//mmbuilder.nit:655 */
4034 REGB0
= TAG_Bool(false);
4037 stack_frame_head
= fra
.me
.prev
;
4040 val_t
syntax___mmbuilder___AClasskind___is_abstract(val_t p0
){
4041 struct {struct stack_frame_t me
;} fra
;
4044 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4045 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4047 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_abstract
;
4048 fra
.me
.has_broke
= 0;
4049 fra
.me
.REG_size
= 1;
4050 fra
.me
.REG
[0] = NIT_NULL
;
4052 /* ./syntax//mmbuilder.nit:656 */
4053 REGB0
= TAG_Bool(false);
4056 stack_frame_head
= fra
.me
.prev
;
4059 val_t
syntax___mmbuilder___AClasskind___is_extern(val_t p0
){
4060 struct {struct stack_frame_t me
;} fra
;
4063 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4064 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4066 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_extern
;
4067 fra
.me
.has_broke
= 0;
4068 fra
.me
.REG_size
= 1;
4069 fra
.me
.REG
[0] = NIT_NULL
;
4071 /* ./syntax//mmbuilder.nit:657 */
4072 REGB0
= TAG_Bool(false);
4075 stack_frame_head
= fra
.me
.prev
;
4078 val_t
syntax___mmbuilder___AInterfaceClasskind___is_interface(val_t p0
){
4079 struct {struct stack_frame_t me
;} fra
;
4082 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4083 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4085 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AInterfaceClasskind___is_interface
;
4086 fra
.me
.has_broke
= 0;
4087 fra
.me
.REG_size
= 1;
4088 fra
.me
.REG
[0] = NIT_NULL
;
4090 /* ./syntax//mmbuilder.nit:661 */
4091 REGB0
= TAG_Bool(true);
4094 stack_frame_head
= fra
.me
.prev
;
4097 val_t
syntax___mmbuilder___AEnumClasskind___is_enum(val_t p0
){
4098 struct {struct stack_frame_t me
;} fra
;
4101 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4102 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4104 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AEnumClasskind___is_enum
;
4105 fra
.me
.has_broke
= 0;
4106 fra
.me
.REG_size
= 1;
4107 fra
.me
.REG
[0] = NIT_NULL
;
4109 /* ./syntax//mmbuilder.nit:664 */
4110 REGB0
= TAG_Bool(true);
4113 stack_frame_head
= fra
.me
.prev
;
4116 val_t
syntax___mmbuilder___AExternClasskind___is_extern(val_t p0
){
4117 struct {struct stack_frame_t me
;} fra
;
4120 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4121 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4123 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExternClasskind___is_extern
;
4124 fra
.me
.has_broke
= 0;
4125 fra
.me
.REG_size
= 1;
4126 fra
.me
.REG
[0] = NIT_NULL
;
4128 /* ./syntax//mmbuilder.nit:667 */
4129 REGB0
= TAG_Bool(true);
4132 stack_frame_head
= fra
.me
.prev
;
4135 val_t
syntax___mmbuilder___AAbstractClasskind___is_abstract(val_t p0
){
4136 struct {struct stack_frame_t me
;} fra
;
4139 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4140 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4142 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAbstractClasskind___is_abstract
;
4143 fra
.me
.has_broke
= 0;
4144 fra
.me
.REG_size
= 1;
4145 fra
.me
.REG
[0] = NIT_NULL
;
4147 /* ./syntax//mmbuilder.nit:670 */
4148 REGB0
= TAG_Bool(true);
4151 stack_frame_head
= fra
.me
.prev
;
4154 val_t
syntax___mmbuilder___AStdClassdef___name(val_t p0
){
4155 struct {struct stack_frame_t me
;} fra
;
4158 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4159 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4161 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___name
;
4162 fra
.me
.has_broke
= 0;
4163 fra
.me
.REG_size
= 1;
4164 fra
.me
.REG
[0] = NIT_NULL
;
4166 /* ./syntax//mmbuilder.nit:676 */
4167 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4168 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4169 if (UNTAG_Bool(REGB0
)) {
4170 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 676);
4172 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4175 stack_frame_head
= fra
.me
.prev
;
4176 return fra
.me
.REG
[0];
4178 val_t
syntax___mmbuilder___AStdClassdef___arity(val_t p0
){
4179 struct {struct stack_frame_t me
;} fra
;
4182 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4183 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4185 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___arity
;
4186 fra
.me
.has_broke
= 0;
4187 fra
.me
.REG_size
= 1;
4188 fra
.me
.REG
[0] = NIT_NULL
;
4190 /* ./syntax//mmbuilder.nit:680 */
4191 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_formaldefs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4192 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4195 stack_frame_head
= fra
.me
.prev
;
4198 void syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(val_t p0
, val_t p1
){
4199 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4203 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4204 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4206 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder
;
4207 fra
.me
.has_broke
= 0;
4208 fra
.me
.REG_size
= 4;
4209 fra
.me
.REG
[0] = NIT_NULL
;
4210 fra
.me
.REG
[1] = NIT_NULL
;
4211 fra
.me
.REG
[2] = NIT_NULL
;
4212 fra
.me
.REG
[3] = NIT_NULL
;
4215 /* ./syntax//mmbuilder.nit:682 */
4216 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4217 /* ./syntax//mmbuilder.nit:684 */
4218 CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4219 /* ./syntax//mmbuilder.nit:686 */
4220 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4221 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4222 /* ./syntax//mmbuilder.nit:687 */
4223 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4224 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4225 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[3]));
4226 if (UNTAG_Bool(REGB0
)) {
4228 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4231 if (UNTAG_Bool(REGB0
)) {
4232 /* ./syntax//mmbuilder.nit:688 */
4233 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4234 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4235 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4236 /* ./syntax//mmbuilder.nit:689 */
4237 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4238 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4239 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4240 /* ./syntax//mmbuilder.nit:690 */
4241 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4242 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4243 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4244 /* ./syntax//mmbuilder.nit:691 */
4245 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4246 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_extern(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4247 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4248 /* ./syntax//mmbuilder.nit:692 */
4249 REGB0
= CALL_syntax___mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4250 CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4252 stack_frame_head
= fra
.me
.prev
;
4255 void syntax___mmbuilder___AStdClassdef___accept_class_verifier(val_t p0
, val_t p1
){
4256 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
4261 static val_t once_value_1
; /* Once value */
4262 static val_t once_value_2
; /* Once value */
4263 static val_t once_value_3
; /* Once value */
4264 static val_t once_value_4
; /* Once value */
4265 static val_t once_value_5
; /* Once value */
4266 static val_t once_value_6
; /* Once value */
4267 static val_t once_value_7
; /* Once value */
4268 static val_t once_value_8
; /* Once value */
4269 static val_t once_value_9
; /* Once value */
4270 static val_t once_value_10
; /* Once value */
4271 static val_t once_value_11
; /* Once value */
4272 static val_t once_value_12
; /* Once value */
4273 static val_t once_value_13
; /* Once value */
4274 static val_t once_value_14
; /* Once value */
4275 static val_t once_value_15
; /* Once value */
4276 static val_t once_value_16
; /* Once value */
4277 static val_t once_value_17
; /* Once value */
4278 static val_t once_value_18
; /* Once value */
4279 static val_t once_value_19
; /* Once value */
4280 static val_t once_value_20
; /* Once value */
4281 static val_t once_value_23
; /* Once value */
4282 static val_t once_value_24
; /* Once value */
4283 static val_t once_value_25
; /* Once value */
4284 static val_t once_value_26
; /* Once value */
4285 static val_t once_value_27
; /* Once value */
4286 static val_t once_value_28
; /* Once value */
4287 static val_t once_value_29
; /* Once value */
4288 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4289 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4291 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_verifier
;
4292 fra
.me
.has_broke
= 0;
4293 fra
.me
.REG_size
= 9;
4294 fra
.me
.REG
[0] = NIT_NULL
;
4295 fra
.me
.REG
[1] = NIT_NULL
;
4296 fra
.me
.REG
[2] = NIT_NULL
;
4297 fra
.me
.REG
[3] = NIT_NULL
;
4298 fra
.me
.REG
[4] = NIT_NULL
;
4299 fra
.me
.REG
[5] = NIT_NULL
;
4300 fra
.me
.REG
[6] = NIT_NULL
;
4301 fra
.me
.REG
[7] = NIT_NULL
;
4302 fra
.me
.REG
[8] = NIT_NULL
;
4305 /* ./syntax//mmbuilder.nit:695 */
4306 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4307 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4308 /* ./syntax//mmbuilder.nit:697 */
4309 CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4310 /* ./syntax//mmbuilder.nit:698 */
4311 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4312 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4313 if (UNTAG_Bool(REGB0
)) {
4314 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 698);
4316 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4317 /* ./syntax//mmbuilder.nit:699 */
4318 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4319 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4320 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
4321 if (UNTAG_Bool(REGB0
)) {
4323 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4326 if (UNTAG_Bool(REGB0
)) {
4327 /* ./syntax//mmbuilder.nit:701 */
4328 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4329 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4330 if (UNTAG_Bool(REGB0
)) {
4332 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4333 if (UNTAG_Bool(REGB1
)) {
4334 REGB1
= TAG_Bool(false);
4337 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4341 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4342 if (UNTAG_Bool(REGB0
)) {
4343 /* ./syntax//mmbuilder.nit:702 */
4345 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4346 if (!once_value_1
) {
4347 fra
.me
.REG
[0] = BOX_NativeString("Redef error: No class ");
4348 REGB0
= TAG_Int(22);
4349 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4350 once_value_1
= fra
.me
.REG
[0];
4351 register_static_object(&once_value_1
);
4352 } else fra
.me
.REG
[0] = once_value_1
;
4353 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4355 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4356 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4358 if (!once_value_2
) {
4359 fra
.me
.REG
[0] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
4360 REGB0
= TAG_Int(61);
4361 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4362 once_value_2
= fra
.me
.REG
[0];
4363 register_static_object(&once_value_2
);
4364 } else fra
.me
.REG
[0] = once_value_2
;
4365 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4367 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4368 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
4370 /* ./syntax//mmbuilder.nit:704 */
4371 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4372 if (UNTAG_Bool(REGB0
)) {
4373 /* ./syntax//mmbuilder.nit:705 */
4374 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4375 REGB0
= TAG_Bool(true);
4376 CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
4378 /* ./syntax//mmbuilder.nit:708 */
4379 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4380 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4381 if (UNTAG_Bool(REGB0
)) {
4382 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 708);
4384 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4385 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4386 /* ./../lib/standard//collection//array.nit:269 */
4388 /* ./../lib/standard//collection//array.nit:270 */
4389 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4390 if (UNTAG_Bool(REGB1
)) {
4392 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
4394 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4395 /* ./../lib/standard//collection//array.nit:271 */
4396 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
4397 /* ./../lib/standard//collection//array.nit:272 */
4399 /* ./../lib/standard//collection//array.nit:24 */
4400 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4401 if (UNTAG_Bool(REGB1
)) {
4403 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4405 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4406 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4407 if (UNTAG_Bool(REGB2
)) {
4409 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4411 /* ./../lib/standard//kernel.nit:232 */
4412 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4413 /* ./../lib/standard//collection//array.nit:272 */
4414 if (UNTAG_Bool(REGB1
)) {
4415 /* ./../lib/standard//collection//array.nit:273 */
4416 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4417 if (UNTAG_Bool(REGB1
)) {
4418 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
4420 /* ./../lib/standard//collection//array.nit:718 */
4421 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
4422 /* ./syntax//mmbuilder.nit:709 */
4423 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4424 /* ./syntax//mmbuilder.nit:710 */
4425 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4426 if (UNTAG_Bool(REGB1
)) {
4427 /* ./syntax//mmbuilder.nit:711 */
4428 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4429 if (UNTAG_Bool(REGB1
)) {
4430 /* ./syntax//mmbuilder.nit:712 */
4432 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4433 if (!once_value_3
) {
4434 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
4435 REGB1
= TAG_Int(25);
4436 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4437 once_value_3
= fra
.me
.REG
[8];
4438 register_static_object(&once_value_3
);
4439 } else fra
.me
.REG
[8] = once_value_3
;
4440 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4442 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4443 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4444 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4445 if (!once_value_4
) {
4446 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
4447 REGB1
= TAG_Int(30);
4448 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4449 once_value_4
= fra
.me
.REG
[8];
4450 register_static_object(&once_value_4
);
4451 } else fra
.me
.REG
[8] = once_value_4
;
4452 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4453 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4454 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4455 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4457 if (!once_value_5
) {
4458 fra
.me
.REG
[8] = BOX_NativeString(".");
4460 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4461 once_value_5
= fra
.me
.REG
[8];
4462 register_static_object(&once_value_5
);
4463 } else fra
.me
.REG
[8] = once_value_5
;
4464 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4465 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4466 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4467 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4469 /* ./syntax//mmbuilder.nit:713 */
4470 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4471 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4472 if (UNTAG_Bool(REGB1
)) {
4473 /* ./syntax//mmbuilder.nit:714 */
4475 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4476 if (!once_value_6
) {
4477 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
4478 REGB1
= TAG_Int(25);
4479 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4480 once_value_6
= fra
.me
.REG
[8];
4481 register_static_object(&once_value_6
);
4482 } else fra
.me
.REG
[8] = once_value_6
;
4483 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4485 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4486 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4487 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4488 if (!once_value_7
) {
4489 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4490 REGB1
= TAG_Int(25);
4491 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4492 once_value_7
= fra
.me
.REG
[8];
4493 register_static_object(&once_value_7
);
4494 } else fra
.me
.REG
[8] = once_value_7
;
4495 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4497 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4498 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4499 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4500 if (!once_value_8
) {
4501 fra
.me
.REG
[8] = BOX_NativeString(".");
4503 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4504 once_value_8
= fra
.me
.REG
[8];
4505 register_static_object(&once_value_8
);
4506 } else fra
.me
.REG
[8] = once_value_8
;
4507 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4508 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4509 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4510 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4514 /* ./syntax//mmbuilder.nit:716 */
4515 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4516 if (UNTAG_Bool(REGB1
)) {
4517 /* ./syntax//mmbuilder.nit:717 */
4518 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4519 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4520 if (UNTAG_Bool(REGB1
)) {
4521 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4522 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4524 REGB2
= TAG_Bool(false);
4527 if (UNTAG_Bool(REGB1
)) {
4528 /* ./syntax//mmbuilder.nit:718 */
4530 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4531 if (!once_value_9
) {
4532 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
4533 REGB1
= TAG_Int(26);
4534 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4535 once_value_9
= fra
.me
.REG
[8];
4536 register_static_object(&once_value_9
);
4537 } else fra
.me
.REG
[8] = once_value_9
;
4538 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4539 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4540 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4541 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4543 if (!once_value_10
) {
4544 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4545 REGB1
= TAG_Int(25);
4546 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4547 once_value_10
= fra
.me
.REG
[8];
4548 register_static_object(&once_value_10
);
4549 } else fra
.me
.REG
[8] = once_value_10
;
4550 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4552 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4553 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4554 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4555 if (!once_value_11
) {
4556 fra
.me
.REG
[8] = BOX_NativeString(".");
4558 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4559 once_value_11
= fra
.me
.REG
[8];
4560 register_static_object(&once_value_11
);
4561 } else fra
.me
.REG
[8] = once_value_11
;
4562 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4563 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4564 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4565 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4568 /* ./syntax//mmbuilder.nit:720 */
4569 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4570 if (UNTAG_Bool(REGB1
)) {
4571 /* ./syntax//mmbuilder.nit:721 */
4572 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4573 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4574 if (UNTAG_Bool(REGB1
)) {
4575 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4576 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4578 REGB2
= TAG_Bool(false);
4581 if (UNTAG_Bool(REGB1
)) {
4582 /* ./syntax//mmbuilder.nit:722 */
4584 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4585 if (!once_value_12
) {
4586 fra
.me
.REG
[8] = BOX_NativeString("Special error: Extern class ");
4587 REGB1
= TAG_Int(28);
4588 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4589 once_value_12
= fra
.me
.REG
[8];
4590 register_static_object(&once_value_12
);
4591 } else fra
.me
.REG
[8] = once_value_12
;
4592 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4594 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4595 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4597 if (!once_value_13
) {
4598 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4599 REGB1
= TAG_Int(25);
4600 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4601 once_value_13
= fra
.me
.REG
[8];
4602 register_static_object(&once_value_13
);
4603 } else fra
.me
.REG
[8] = once_value_13
;
4604 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4605 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4606 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4607 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4608 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4609 if (!once_value_14
) {
4610 fra
.me
.REG
[8] = BOX_NativeString(".");
4612 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4613 once_value_14
= fra
.me
.REG
[8];
4614 register_static_object(&once_value_14
);
4615 } else fra
.me
.REG
[8] = once_value_14
;
4616 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4617 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4618 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4619 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4622 /* ./syntax//mmbuilder.nit:725 */
4623 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4624 if (UNTAG_Bool(REGB1
)) {
4625 /* ./syntax//mmbuilder.nit:726 */
4627 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4628 if (!once_value_15
) {
4629 fra
.me
.REG
[8] = BOX_NativeString("Special error: Class ");
4630 REGB1
= TAG_Int(21);
4631 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4632 once_value_15
= fra
.me
.REG
[8];
4633 register_static_object(&once_value_15
);
4634 } else fra
.me
.REG
[8] = once_value_15
;
4635 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4636 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4637 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4638 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4640 if (!once_value_16
) {
4641 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
4642 REGB1
= TAG_Int(30);
4643 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4644 once_value_16
= fra
.me
.REG
[8];
4645 register_static_object(&once_value_16
);
4646 } else fra
.me
.REG
[8] = once_value_16
;
4647 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4648 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4649 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4650 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4652 if (!once_value_17
) {
4653 fra
.me
.REG
[8] = BOX_NativeString(".");
4655 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4656 once_value_17
= fra
.me
.REG
[8];
4657 register_static_object(&once_value_17
);
4658 } else fra
.me
.REG
[8] = once_value_17
;
4659 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4660 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4661 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4662 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4664 /* ./syntax//mmbuilder.nit:727 */
4665 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4666 if (UNTAG_Bool(REGB1
)) {
4667 /* ./syntax//mmbuilder.nit:728 */
4669 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4670 if (!once_value_18
) {
4671 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
4672 REGB1
= TAG_Int(21);
4673 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4674 once_value_18
= fra
.me
.REG
[7];
4675 register_static_object(&once_value_18
);
4676 } else fra
.me
.REG
[7] = once_value_18
;
4677 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4678 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4679 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4680 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4682 if (!once_value_19
) {
4683 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise extern class ");
4684 REGB1
= TAG_Int(32);
4685 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4686 once_value_19
= fra
.me
.REG
[7];
4687 register_static_object(&once_value_19
);
4688 } else fra
.me
.REG
[7] = once_value_19
;
4689 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4690 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4691 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4692 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4693 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4694 if (!once_value_20
) {
4695 fra
.me
.REG
[5] = BOX_NativeString(".");
4697 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
4698 once_value_20
= fra
.me
.REG
[5];
4699 register_static_object(&once_value_20
);
4700 } else fra
.me
.REG
[5] = once_value_20
;
4701 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4702 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4703 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4704 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
4710 /* ./../lib/standard//collection//array.nit:274 */
4712 /* ./../lib/standard//kernel.nit:235 */
4713 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4714 /* ./../lib/standard//collection//array.nit:274 */
4717 /* ./../lib/standard//collection//array.nit:272 */
4722 /* ./syntax//mmbuilder.nit:733 */
4725 /* ./syntax//mmbuilder.nit:738 */
4726 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4727 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]);
4728 /* ./syntax//mmbuilder.nit:739 */
4729 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4730 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4731 if (UNTAG_Bool(REGB0
)) {
4733 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4734 if (UNTAG_Bool(REGB1
)) {
4735 REGB1
= TAG_Bool(false);
4738 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4742 if (UNTAG_Bool(REGB0
)) {
4743 /* ./syntax//mmbuilder.nit:740 */
4745 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4746 if (!once_value_23
) {
4747 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
4748 REGB0
= TAG_Int(13);
4749 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4750 once_value_23
= fra
.me
.REG
[4];
4751 register_static_object(&once_value_23
);
4752 } else fra
.me
.REG
[4] = once_value_23
;
4753 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4754 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4755 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4756 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4757 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4758 if (!once_value_24
) {
4759 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
4760 REGB0
= TAG_Int(58);
4761 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4762 once_value_24
= fra
.me
.REG
[4];
4763 register_static_object(&once_value_24
);
4764 } else fra
.me
.REG
[4] = once_value_24
;
4765 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4766 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4767 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4768 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4769 /* ./syntax//mmbuilder.nit:741 */
4772 /* ./syntax//mmbuilder.nit:744 */
4773 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4774 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4775 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4776 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4777 if (UNTAG_Bool(REGB1
)) {
4778 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 744);
4780 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4781 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
4782 if (UNTAG_Bool(REGB2
)) {
4784 /* ./../lib/standard//kernel.nit:227 */
4785 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
4786 /* ./syntax//mmbuilder.nit:744 */
4789 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4790 if (UNTAG_Bool(REGB2
)) {
4791 /* ./syntax//mmbuilder.nit:745 */
4793 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4794 if (!once_value_25
) {
4795 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity mismatch; got ");
4796 REGB2
= TAG_Int(50);
4797 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4798 once_value_25
= fra
.me
.REG
[4];
4799 register_static_object(&once_value_25
);
4800 } else fra
.me
.REG
[4] = once_value_25
;
4801 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4802 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4803 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4804 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4805 if (UNTAG_Bool(REGB2
)) {
4806 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 745);
4808 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4809 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4810 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4811 if (!once_value_26
) {
4812 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
4813 REGB2
= TAG_Int(11);
4814 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4815 once_value_26
= fra
.me
.REG
[4];
4816 register_static_object(&once_value_26
);
4817 } else fra
.me
.REG
[4] = once_value_26
;
4818 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4819 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4820 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4821 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4822 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4823 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4824 if (!once_value_27
) {
4825 fra
.me
.REG
[4] = BOX_NativeString(".");
4827 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4828 once_value_27
= fra
.me
.REG
[4];
4829 register_static_object(&once_value_27
);
4830 } else fra
.me
.REG
[4] = once_value_27
;
4831 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4832 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4833 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4834 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4836 /* ./syntax//mmbuilder.nit:749 */
4837 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4838 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4839 if (UNTAG_Bool(REGB2
)) {
4840 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4841 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4843 REGB1
= TAG_Bool(false);
4846 if (UNTAG_Bool(REGB2
)) {
4847 REGB2
= TAG_Bool(true);
4849 /* ./syntax//mmbuilder.nit:750 */
4850 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4851 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4852 /* ./syntax//mmbuilder.nit:749 */
4855 if (UNTAG_Bool(REGB2
)) {
4856 /* ./syntax//mmbuilder.nit:750 */
4857 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4858 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4860 /* ./syntax//mmbuilder.nit:749 */
4861 REGB1
= TAG_Bool(false);
4864 if (UNTAG_Bool(REGB2
)) {
4865 REGB2
= TAG_Bool(true);
4867 /* ./syntax//mmbuilder.nit:751 */
4868 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4869 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4870 /* ./syntax//mmbuilder.nit:749 */
4873 if (UNTAG_Bool(REGB2
)) {
4874 /* ./syntax//mmbuilder.nit:751 */
4875 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4876 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4878 /* ./syntax//mmbuilder.nit:749 */
4879 REGB1
= TAG_Bool(false);
4882 if (UNTAG_Bool(REGB2
)) {
4883 REGB2
= TAG_Bool(true);
4885 /* ./syntax//mmbuilder.nit:752 */
4886 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4887 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4888 /* ./syntax//mmbuilder.nit:749 */
4891 if (UNTAG_Bool(REGB2
)) {
4892 /* ./syntax//mmbuilder.nit:752 */
4893 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4894 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4896 /* ./syntax//mmbuilder.nit:749 */
4897 REGB1
= TAG_Bool(false);
4900 /* ./syntax//mmbuilder.nit:748 */
4901 if (UNTAG_Bool(REGB2
)) {
4902 /* ./syntax//mmbuilder.nit:754 */
4904 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4905 if (!once_value_28
) {
4906 fra
.me
.REG
[0] = BOX_NativeString("Redef error: cannot change kind of class ");
4907 REGB2
= TAG_Int(41);
4908 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
4909 once_value_28
= fra
.me
.REG
[0];
4910 register_static_object(&once_value_28
);
4911 } else fra
.me
.REG
[0] = once_value_28
;
4912 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4913 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4914 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4915 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4917 if (!once_value_29
) {
4918 fra
.me
.REG
[0] = BOX_NativeString(".");
4920 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
4921 once_value_29
= fra
.me
.REG
[0];
4922 register_static_object(&once_value_29
);
4923 } else fra
.me
.REG
[0] = once_value_29
;
4924 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4925 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4926 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4927 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[1]);
4930 stack_frame_head
= fra
.me
.prev
;
4933 val_t
syntax___mmbuilder___AStdClassdef___visibility_level(val_t p0
){
4934 struct {struct stack_frame_t me
;} fra
;
4937 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4938 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4940 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___visibility_level
;
4941 fra
.me
.has_broke
= 0;
4942 fra
.me
.REG_size
= 1;
4943 fra
.me
.REG
[0] = NIT_NULL
;
4945 /* ./syntax//mmbuilder.nit:760 */
4946 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4947 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4950 stack_frame_head
= fra
.me
.prev
;
4953 val_t
syntax___mmbuilder___AMainClassdef___name(val_t p0
){
4954 struct {struct stack_frame_t me
;} fra
;
4957 static val_t once_value_1
; /* Once value */
4958 static val_t once_value_2
; /* Once value */
4959 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4960 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4962 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMainClassdef___name
;
4963 fra
.me
.has_broke
= 0;
4964 fra
.me
.REG_size
= 1;
4965 fra
.me
.REG
[0] = NIT_NULL
;
4967 /* ./syntax//mmbuilder.nit:767 */
4968 if (!once_value_1
) {
4969 if (!once_value_2
) {
4970 fra
.me
.REG
[0] = BOX_NativeString("Sys");
4972 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4973 once_value_2
= fra
.me
.REG
[0];
4974 register_static_object(&once_value_2
);
4975 } else fra
.me
.REG
[0] = once_value_2
;
4976 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4977 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4978 once_value_1
= fra
.me
.REG
[0];
4979 register_static_object(&once_value_1
);
4980 } else fra
.me
.REG
[0] = once_value_1
;
4981 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4984 stack_frame_head
= fra
.me
.prev
;
4985 return fra
.me
.REG
[0];
4987 val_t
syntax___mmbuilder___ATopClassdef___name(val_t p0
){
4988 struct {struct stack_frame_t me
;} fra
;
4991 static val_t once_value_1
; /* Once value */
4992 static val_t once_value_2
; /* Once value */
4993 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4994 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4996 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATopClassdef___name
;
4997 fra
.me
.has_broke
= 0;
4998 fra
.me
.REG_size
= 1;
4999 fra
.me
.REG
[0] = NIT_NULL
;
5001 /* ./syntax//mmbuilder.nit:774 */
5002 if (!once_value_1
) {
5003 if (!once_value_2
) {
5004 fra
.me
.REG
[0] = BOX_NativeString("Object");
5006 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5007 once_value_2
= fra
.me
.REG
[0];
5008 register_static_object(&once_value_2
);
5009 } else fra
.me
.REG
[0] = once_value_2
;
5010 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5011 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5012 once_value_1
= fra
.me
.REG
[0];
5013 register_static_object(&once_value_1
);
5014 } else fra
.me
.REG
[0] = once_value_1
;
5015 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5018 stack_frame_head
= fra
.me
.prev
;
5019 return fra
.me
.REG
[0];
5021 void syntax___mmbuilder___AFormaldef___accept_class_builder(val_t p0
, val_t p1
){
5022 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
5026 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5027 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5029 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFormaldef___accept_class_builder
;
5030 fra
.me
.has_broke
= 0;
5031 fra
.me
.REG_size
= 6;
5032 fra
.me
.REG
[0] = NIT_NULL
;
5033 fra
.me
.REG
[1] = NIT_NULL
;
5034 fra
.me
.REG
[2] = NIT_NULL
;
5035 fra
.me
.REG
[3] = NIT_NULL
;
5036 fra
.me
.REG
[4] = NIT_NULL
;
5037 fra
.me
.REG
[5] = NIT_NULL
;
5040 /* ./syntax//mmbuilder.nit:782 */
5041 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5042 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5043 /* ./syntax//mmbuilder.nit:784 */
5044 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AFormaldef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5045 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5046 /* ./syntax//mmbuilder.nit:785 */
5047 REGB0
= CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5048 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5049 fra
.me
.REG
[5] = NEW_MMTypeFormalParameter_metamodel___genericity___MMTypeFormalParameter___init(fra
.me
.REG
[4], REGB0
, fra
.me
.REG
[5]);
5050 /* ./syntax//mmbuilder.nit:786 */
5051 ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]) = fra
.me
.REG
[5];
5052 /* ./syntax//mmbuilder.nit:787 */
5053 REGB0
= CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5055 /* ./../lib/standard//kernel.nit:235 */
5056 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5057 /* ./syntax//mmbuilder.nit:787 */
5058 CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
5059 /* ./syntax//mmbuilder.nit:788 */
5060 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5061 CALL_metamodel___genericity___MMLocalClass___register_formal(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
5062 /* ./syntax//mmbuilder.nit:789 */
5063 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___ClassBuilderVisitor___formals(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5064 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5065 if (UNTAG_Bool(REGB1
)) {
5066 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 789);
5068 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
5069 /* ./syntax//mmbuilder.nit:790 */
5070 CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5071 stack_frame_head
= fra
.me
.prev
;
5074 void syntax___mmbuilder___AFormaldef___accept_class_verifier(val_t p0
, val_t p1
){
5075 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
5079 static val_t once_value_2
; /* Once value */
5080 static val_t once_value_3
; /* Once value */
5081 static val_t once_value_4
; /* Once value */
5082 static val_t once_value_5
; /* Once value */
5083 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5084 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5086 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFormaldef___accept_class_verifier
;
5087 fra
.me
.has_broke
= 0;
5088 fra
.me
.REG_size
= 6;
5089 fra
.me
.REG
[0] = NIT_NULL
;
5090 fra
.me
.REG
[1] = NIT_NULL
;
5091 fra
.me
.REG
[2] = NIT_NULL
;
5092 fra
.me
.REG
[3] = NIT_NULL
;
5093 fra
.me
.REG
[4] = NIT_NULL
;
5094 fra
.me
.REG
[5] = NIT_NULL
;
5097 /* ./syntax//mmbuilder.nit:793 */
5098 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5099 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5100 /* ./syntax//mmbuilder.nit:795 */
5101 CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5102 /* ./syntax//mmbuilder.nit:796 */
5103 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5104 /* ./syntax//mmbuilder.nit:797 */
5105 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5106 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5107 /* ./syntax//mmbuilder.nit:798 */
5108 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
5109 if (UNTAG_Bool(REGB0
)) {
5111 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5114 if (UNTAG_Bool(REGB0
)) {
5115 /* ./syntax//mmbuilder.nit:799 */
5116 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5117 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5118 if (UNTAG_Bool(REGB0
)) {
5120 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5121 if (UNTAG_Bool(REGB1
)) {
5122 REGB1
= TAG_Bool(false);
5125 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5129 if (UNTAG_Bool(REGB0
)) {
5130 /* ./syntax//mmbuilder.nit:800 */
5131 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5132 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5133 fra
.me
.REG
[5] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5134 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5135 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5136 if (UNTAG_Bool(REGB0
)) {
5137 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 800);
5139 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5141 /* ./syntax//mmbuilder.nit:802 */
5142 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5143 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5144 if (UNTAG_Bool(REGB0
)) {
5145 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 802);
5147 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
5148 /* ./syntax//mmbuilder.nit:803 */
5149 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5150 if (UNTAG_Bool(REGB0
)) {
5152 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5153 if (UNTAG_Bool(REGB1
)) {
5154 REGB1
= TAG_Bool(false);
5157 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
5161 if (UNTAG_Bool(REGB0
)) {
5164 /* ./syntax//mmbuilder.nit:804 */
5165 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5166 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5167 if (UNTAG_Bool(REGB0
)) {
5168 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 804);
5170 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5173 /* ./syntax//mmbuilder.nit:807 */
5174 fra
.me
.REG
[5] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5175 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5176 if (UNTAG_Bool(REGB0
)) {
5177 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 807);
5179 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5180 fra
.me
.REG
[0] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
5181 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5182 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5183 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5184 /* ./syntax//mmbuilder.nit:808 */
5185 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5186 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5187 if (UNTAG_Bool(REGB0
)) {
5189 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5190 if (UNTAG_Bool(REGB1
)) {
5191 REGB1
= TAG_Bool(false);
5194 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
5198 if (UNTAG_Bool(REGB0
)) {
5199 /* ./syntax//mmbuilder.nit:809 */
5200 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5201 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5202 if (UNTAG_Bool(REGB0
)) {
5203 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 809);
5205 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5207 /* ./syntax//mmbuilder.nit:811 */
5208 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5209 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5210 if (UNTAG_Bool(REGB0
)) {
5211 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 811);
5213 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5214 /* ./syntax//mmbuilder.nit:812 */
5215 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5216 if (UNTAG_Bool(REGB0
)) {
5218 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5219 if (UNTAG_Bool(REGB1
)) {
5220 REGB1
= TAG_Bool(false);
5223 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
5227 if (UNTAG_Bool(REGB0
)) {
5230 /* ./syntax//mmbuilder.nit:813 */
5231 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
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
, 813);
5236 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
5237 /* ./syntax//mmbuilder.nit:814 */
5238 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5239 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5240 if (UNTAG_Bool(REGB0
)) {
5241 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 814);
5243 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5244 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[5]));
5245 if (UNTAG_Bool(REGB0
)) {
5247 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5250 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5251 if (UNTAG_Bool(REGB0
)) {
5252 /* ./syntax//mmbuilder.nit:815 */
5254 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5255 if (!once_value_2
) {
5256 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Cannot change formal parameter type of class ");
5257 REGB0
= TAG_Int(58);
5258 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
5259 once_value_2
= fra
.me
.REG
[4];
5260 register_static_object(&once_value_2
);
5261 } else fra
.me
.REG
[4] = once_value_2
;
5262 fra
.me
.REG
[4] = fra
.me
.REG
[4];
5263 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
5264 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5265 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5266 if (!once_value_3
) {
5267 fra
.me
.REG
[1] = BOX_NativeString("; got ");
5269 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
5270 once_value_3
= fra
.me
.REG
[1];
5271 register_static_object(&once_value_3
);
5272 } else fra
.me
.REG
[1] = once_value_3
;
5273 fra
.me
.REG
[1] = fra
.me
.REG
[1];
5274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5275 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5276 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5277 if (UNTAG_Bool(REGB0
)) {
5278 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 815);
5280 fra
.me
.REG
[1] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5281 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5283 if (!once_value_4
) {
5284 fra
.me
.REG
[1] = BOX_NativeString(", expected ");
5285 REGB0
= TAG_Int(11);
5286 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
5287 once_value_4
= fra
.me
.REG
[1];
5288 register_static_object(&once_value_4
);
5289 } else fra
.me
.REG
[1] = once_value_4
;
5290 fra
.me
.REG
[1] = fra
.me
.REG
[1];
5291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5292 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5293 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5294 if (!once_value_5
) {
5295 fra
.me
.REG
[5] = BOX_NativeString(".");
5297 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5298 once_value_5
= fra
.me
.REG
[5];
5299 register_static_object(&once_value_5
);
5300 } else fra
.me
.REG
[5] = once_value_5
;
5301 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5302 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5303 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5304 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
5309 stack_frame_head
= fra
.me
.prev
;
5312 val_t
syntax___mmbuilder___ASuperclass___ancestor(val_t p0
){
5313 struct {struct stack_frame_t me
;} fra
;
5315 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5316 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5318 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___ancestor
;
5319 fra
.me
.has_broke
= 0;
5320 fra
.me
.REG_size
= 1;
5321 fra
.me
.REG
[0] = NIT_NULL
;
5323 /* ./syntax//mmbuilder.nit:823 */
5324 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[0]);
5325 stack_frame_head
= fra
.me
.prev
;
5326 return fra
.me
.REG
[0];
5328 void syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(val_t p0
, val_t p1
){
5329 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5333 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5334 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5336 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder
;
5337 fra
.me
.has_broke
= 0;
5338 fra
.me
.REG_size
= 4;
5339 fra
.me
.REG
[0] = NIT_NULL
;
5340 fra
.me
.REG
[1] = NIT_NULL
;
5341 fra
.me
.REG
[2] = NIT_NULL
;
5342 fra
.me
.REG
[3] = NIT_NULL
;
5345 /* ./syntax//mmbuilder.nit:825 */
5346 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5347 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5348 /* ./syntax//mmbuilder.nit:827 */
5349 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5350 /* ./syntax//mmbuilder.nit:828 */
5351 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5352 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AType___get_local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
5353 /* ./syntax//mmbuilder.nit:829 */
5354 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5355 if (UNTAG_Bool(REGB0
)) {
5357 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5358 if (UNTAG_Bool(REGB1
)) {
5359 REGB1
= TAG_Bool(false);
5362 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
5366 if (UNTAG_Bool(REGB0
)) {
5369 /* ./syntax//mmbuilder.nit:830 */
5370 fra
.me
.REG
[1] = NEW_MMSrcAncestor_syntax___mmbuilder___MMSrcAncestor___init(fra
.me
.REG
[1]);
5371 /* ./syntax//mmbuilder.nit:831 */
5372 ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
5373 /* ./syntax//mmbuilder.nit:832 */
5374 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5375 CALL_metamodel___inheritance___MMLocalClass___add_direct_parent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
5377 stack_frame_head
= fra
.me
.prev
;
5380 void syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t p0
, val_t p1
){
5381 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5384 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5385 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5387 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder
;
5388 fra
.me
.has_broke
= 0;
5389 fra
.me
.REG_size
= 4;
5390 fra
.me
.REG
[0] = NIT_NULL
;
5391 fra
.me
.REG
[1] = NIT_NULL
;
5392 fra
.me
.REG
[2] = NIT_NULL
;
5393 fra
.me
.REG
[3] = NIT_NULL
;
5396 /* ./syntax//mmbuilder.nit:835 */
5397 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5398 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5399 /* ./syntax//mmbuilder.nit:837 */
5400 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5401 /* ./syntax//mmbuilder.nit:838 */
5402 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
5403 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5404 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5405 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5406 if (UNTAG_Bool(REGB0
)) {
5407 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 838);
5409 CALL_metamodel___static_type___MMAncestor___stype__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5410 /* ./syntax//mmbuilder.nit:839 */
5411 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
5412 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5413 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5414 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5415 if (UNTAG_Bool(REGB0
)) {
5416 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 839);
5418 CALL_metamodel___static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5419 stack_frame_head
= fra
.me
.prev
;
5422 void syntax___mmbuilder___ASuperclass___accept_class_verifier(val_t p0
, val_t p1
){
5423 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5425 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5426 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5428 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_verifier
;
5429 fra
.me
.has_broke
= 0;
5430 fra
.me
.REG_size
= 4;
5431 fra
.me
.REG
[0] = NIT_NULL
;
5432 fra
.me
.REG
[1] = NIT_NULL
;
5433 fra
.me
.REG
[2] = NIT_NULL
;
5434 fra
.me
.REG
[3] = NIT_NULL
;
5437 /* ./syntax//mmbuilder.nit:842 */
5438 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5439 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5440 /* ./syntax//mmbuilder.nit:844 */
5441 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5442 /* ./syntax//mmbuilder.nit:845 */
5443 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5444 CALL_syntax___syntax_base___AType___check_conform(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5445 stack_frame_head
= fra
.me
.prev
;
5448 void syntax___mmbuilder___APropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5449 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5455 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5456 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5458 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___process_and_check
;
5459 fra
.me
.has_broke
= 0;
5460 fra
.me
.REG_size
= 4;
5461 fra
.me
.REG
[0] = NIT_NULL
;
5462 fra
.me
.REG
[1] = NIT_NULL
;
5463 fra
.me
.REG
[2] = NIT_NULL
;
5464 fra
.me
.REG
[3] = NIT_NULL
;
5470 /* ./syntax//mmbuilder.nit:858 */
5471 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5472 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5473 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[2]));
5474 if (UNTAG_Bool(REGB2
)) {
5476 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
5479 if (UNTAG_Bool(REGB2
)) {
5480 /* ./syntax//mmbuilder.nit:859 */
5481 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
);
5483 /* ./syntax//mmbuilder.nit:861 */
5484 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
);
5486 stack_frame_head
= fra
.me
.prev
;
5489 void syntax___mmbuilder___APropdef___do_and_check_intro(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5490 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
5497 static val_t once_value_1
; /* Once value */
5498 static val_t once_value_2
; /* Once value */
5499 static val_t once_value_3
; /* Once value */
5500 static val_t once_value_4
; /* Once value */
5501 static val_t once_value_5
; /* Once value */
5502 static val_t once_value_6
; /* Once value */
5503 static val_t once_value_7
; /* Once value */
5504 static val_t once_value_8
; /* Once value */
5505 static val_t once_value_9
; /* Once value */
5506 static val_t once_value_10
; /* Once value */
5507 static val_t once_value_11
; /* Once value */
5508 static val_t once_value_12
; /* Once value */
5509 static val_t once_value_13
; /* Once value */
5510 static val_t once_value_14
; /* Once value */
5511 static val_t once_value_15
; /* Once value */
5512 static val_t once_value_16
; /* Once value */
5513 static val_t once_value_17
; /* Once value */
5514 static val_t once_value_18
; /* Once value */
5515 static val_t once_value_19
; /* Once value */
5516 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5517 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5519 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___do_and_check_intro
;
5520 fra
.me
.has_broke
= 0;
5521 fra
.me
.REG_size
= 7;
5522 fra
.me
.REG
[0] = NIT_NULL
;
5523 fra
.me
.REG
[1] = NIT_NULL
;
5524 fra
.me
.REG
[2] = NIT_NULL
;
5525 fra
.me
.REG
[3] = NIT_NULL
;
5526 fra
.me
.REG
[4] = NIT_NULL
;
5527 fra
.me
.REG
[5] = NIT_NULL
;
5528 fra
.me
.REG
[6] = NIT_NULL
;
5534 /* ./syntax//mmbuilder.nit:868 */
5535 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5536 /* ./syntax//mmbuilder.nit:869 */
5537 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5538 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5539 /* ./syntax//mmbuilder.nit:870 */
5540 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5541 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5542 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5544 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
5545 if (UNTAG_Bool(REGB4
)) {
5547 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5549 /* ./../lib/standard//kernel.nit:233 */
5550 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
5551 /* ./syntax//mmbuilder.nit:870 */
5552 if (UNTAG_Bool(REGB3
)) {
5553 /* ./syntax//mmbuilder.nit:872 */
5557 /* ./syntax//mmbuilder.nit:874 */
5558 CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
5559 /* ./syntax//mmbuilder.nit:875 */
5560 if (UNTAG_Bool(REGB0
)) {
5561 /* ./syntax//mmbuilder.nit:876 */
5563 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5564 if (!once_value_1
) {
5565 fra
.me
.REG
[6] = BOX_NativeString("Error: No property ");
5566 REGB0
= TAG_Int(19);
5567 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5568 once_value_1
= fra
.me
.REG
[6];
5569 register_static_object(&once_value_1
);
5570 } else fra
.me
.REG
[6] = once_value_1
;
5571 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5573 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5574 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5575 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5576 if (!once_value_2
) {
5577 fra
.me
.REG
[6] = BOX_NativeString("::");
5579 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5580 once_value_2
= fra
.me
.REG
[6];
5581 register_static_object(&once_value_2
);
5582 } else fra
.me
.REG
[6] = once_value_2
;
5583 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5585 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5587 if (!once_value_3
) {
5588 fra
.me
.REG
[6] = BOX_NativeString(" is inherited. Remove the redef keyword to define a new property.");
5589 REGB0
= TAG_Int(65);
5590 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5591 once_value_3
= fra
.me
.REG
[6];
5592 register_static_object(&once_value_3
);
5593 } else fra
.me
.REG
[6] = once_value_3
;
5594 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5595 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5596 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5597 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5599 /* ./syntax//mmbuilder.nit:878 */
5600 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_attribute(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5601 if (UNTAG_Bool(REGB0
)) {
5602 /* ./syntax//mmbuilder.nit:879 */
5603 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5604 if (UNTAG_Bool(REGB0
)) {
5605 /* ./syntax//mmbuilder.nit:880 */
5607 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5608 if (!once_value_4
) {
5609 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5610 REGB0
= TAG_Int(35);
5611 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5612 once_value_4
= fra
.me
.REG
[6];
5613 register_static_object(&once_value_4
);
5614 } else fra
.me
.REG
[6] = once_value_4
;
5615 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5617 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5618 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5619 if (!once_value_5
) {
5620 fra
.me
.REG
[6] = BOX_NativeString(" in the interface ");
5621 REGB0
= TAG_Int(18);
5622 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5623 once_value_5
= fra
.me
.REG
[6];
5624 register_static_object(&once_value_5
);
5625 } else fra
.me
.REG
[6] = once_value_5
;
5626 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5628 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5629 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5630 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5631 if (!once_value_6
) {
5632 fra
.me
.REG
[6] = BOX_NativeString(".");
5634 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5635 once_value_6
= fra
.me
.REG
[6];
5636 register_static_object(&once_value_6
);
5637 } else fra
.me
.REG
[6] = once_value_6
;
5638 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5640 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5641 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5643 /* ./syntax//mmbuilder.nit:881 */
5644 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5645 if (UNTAG_Bool(REGB0
)) {
5646 /* ./syntax//mmbuilder.nit:882 */
5648 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5649 if (!once_value_7
) {
5650 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5651 REGB0
= TAG_Int(35);
5652 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5653 once_value_7
= fra
.me
.REG
[6];
5654 register_static_object(&once_value_7
);
5655 } else fra
.me
.REG
[6] = once_value_7
;
5656 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5657 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5658 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5660 if (!once_value_8
) {
5661 fra
.me
.REG
[6] = BOX_NativeString(" in the enum class ");
5662 REGB0
= TAG_Int(19);
5663 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5664 once_value_8
= fra
.me
.REG
[6];
5665 register_static_object(&once_value_8
);
5666 } else fra
.me
.REG
[6] = once_value_8
;
5667 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5668 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5669 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5670 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5672 if (!once_value_9
) {
5673 fra
.me
.REG
[6] = BOX_NativeString(".");
5675 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5676 once_value_9
= fra
.me
.REG
[6];
5677 register_static_object(&once_value_9
);
5678 } else fra
.me
.REG
[6] = once_value_9
;
5679 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5680 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5681 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5682 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5684 /* ./syntax//mmbuilder.nit:883 */
5685 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5686 if (UNTAG_Bool(REGB0
)) {
5687 /* ./syntax//mmbuilder.nit:884 */
5689 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5690 if (!once_value_10
) {
5691 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5692 REGB0
= TAG_Int(35);
5693 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5694 once_value_10
= fra
.me
.REG
[6];
5695 register_static_object(&once_value_10
);
5696 } else fra
.me
.REG
[6] = once_value_10
;
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
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5700 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5701 if (!once_value_11
) {
5702 fra
.me
.REG
[6] = BOX_NativeString(" in the extern class ");
5703 REGB0
= TAG_Int(21);
5704 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5705 once_value_11
= fra
.me
.REG
[6];
5706 register_static_object(&once_value_11
);
5707 } else fra
.me
.REG
[6] = once_value_11
;
5708 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5709 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5710 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5711 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5712 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5713 if (!once_value_12
) {
5714 fra
.me
.REG
[6] = BOX_NativeString(".");
5716 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5717 once_value_12
= fra
.me
.REG
[6];
5718 register_static_object(&once_value_12
);
5719 } else fra
.me
.REG
[6] = once_value_12
;
5720 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5722 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5723 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5728 /* ./syntax//mmbuilder.nit:886 */
5729 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5730 if (UNTAG_Bool(REGB0
)) {
5731 /* ./syntax//mmbuilder.nit:887 */
5732 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5733 if (UNTAG_Bool(REGB0
)) {
5734 /* ./syntax//mmbuilder.nit:888 */
5736 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5737 if (!once_value_13
) {
5738 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define a constructor ");
5739 REGB0
= TAG_Int(39);
5740 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5741 once_value_13
= fra
.me
.REG
[6];
5742 register_static_object(&once_value_13
);
5743 } else fra
.me
.REG
[6] = once_value_13
;
5744 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5745 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5746 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5747 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5748 if (!once_value_14
) {
5749 fra
.me
.REG
[6] = BOX_NativeString(" in the class ");
5750 REGB0
= TAG_Int(14);
5751 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5752 once_value_14
= fra
.me
.REG
[6];
5753 register_static_object(&once_value_14
);
5754 } else fra
.me
.REG
[6] = once_value_14
;
5755 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5757 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5758 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5759 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5760 if (!once_value_15
) {
5761 fra
.me
.REG
[6] = BOX_NativeString(".");
5763 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5764 once_value_15
= fra
.me
.REG
[6];
5765 register_static_object(&once_value_15
);
5766 } else fra
.me
.REG
[6] = once_value_15
;
5767 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5768 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5769 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5770 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5772 /* ./syntax//mmbuilder.nit:889 */
5773 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5774 if (UNTAG_Bool(REGB0
)) {
5775 /* ./syntax//mmbuilder.nit:890 */
5777 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5778 if (!once_value_16
) {
5779 fra
.me
.REG
[5] = BOX_NativeString("Error: Attempt to define a constructor ");
5780 REGB0
= TAG_Int(39);
5781 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5782 once_value_16
= fra
.me
.REG
[5];
5783 register_static_object(&once_value_16
);
5784 } else fra
.me
.REG
[5] = once_value_16
;
5785 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5787 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5789 if (!once_value_17
) {
5790 fra
.me
.REG
[5] = BOX_NativeString(" in the enum ");
5791 REGB0
= TAG_Int(13);
5792 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5793 once_value_17
= fra
.me
.REG
[5];
5794 register_static_object(&once_value_17
);
5795 } else fra
.me
.REG
[5] = once_value_17
;
5796 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5798 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5799 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5800 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5801 if (!once_value_18
) {
5802 fra
.me
.REG
[5] = BOX_NativeString(".");
5804 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5805 once_value_18
= fra
.me
.REG
[5];
5806 register_static_object(&once_value_18
);
5807 } else fra
.me
.REG
[5] = once_value_18
;
5808 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5810 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5811 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5816 /* ./syntax//mmbuilder.nit:895 */
5817 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5818 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5819 if (UNTAG_Bool(REGB0
)) {
5821 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5822 if (UNTAG_Bool(REGB1
)) {
5823 REGB1
= TAG_Bool(false);
5826 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5830 if (UNTAG_Bool(REGB0
)) {
5831 /* ./syntax//mmbuilder.nit:896 */
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:897 */
5835 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5836 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5837 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___super_methods_named(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
5838 /* ./syntax//mmbuilder.nit:898 */
5839 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]);
5841 /* ./syntax//mmbuilder.nit:900 */
5842 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5843 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5844 if (UNTAG_Bool(REGB0
)) {
5846 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5847 if (UNTAG_Bool(REGB1
)) {
5848 REGB1
= TAG_Bool(false);
5851 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5855 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5856 if (UNTAG_Bool(REGB0
)) {
5857 REGB0
= TAG_Bool(true);
5859 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5860 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5863 if (UNTAG_Bool(REGB0
)) {
5865 /* ./syntax//mmbuilder.nit:902 */
5866 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5867 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5868 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5869 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5870 if (UNTAG_Bool(REGB0
)) {
5871 /* ./syntax//mmbuilder.nit:903 */
5872 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5873 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5874 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5875 if (!once_value_19
) {
5876 fra
.me
.REG
[0] = BOX_NativeString("Error: Untyped parameter.");
5877 REGB0
= TAG_Int(25);
5878 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5879 once_value_19
= fra
.me
.REG
[0];
5880 register_static_object(&once_value_19
);
5881 } else fra
.me
.REG
[0] = once_value_19
;
5882 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5883 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
5885 /* ./syntax//mmbuilder.nit:905 */
5886 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
5887 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5888 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5889 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[4]);
5890 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
5891 /* ./syntax//mmbuilder.nit:906 */
5892 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5893 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5894 /* ./../lib/standard//collection//array.nit:269 */
5896 /* ./../lib/standard//collection//array.nit:270 */
5897 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
5898 if (UNTAG_Bool(REGB1
)) {
5900 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
5902 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
5903 /* ./../lib/standard//collection//array.nit:271 */
5904 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
5905 /* ./../lib/standard//collection//array.nit:272 */
5907 /* ./../lib/standard//collection//array.nit:24 */
5908 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
5909 if (UNTAG_Bool(REGB1
)) {
5911 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
5913 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
5914 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
5915 if (UNTAG_Bool(REGB3
)) {
5917 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5919 /* ./../lib/standard//kernel.nit:232 */
5920 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
5921 /* ./../lib/standard//collection//array.nit:272 */
5922 if (UNTAG_Bool(REGB1
)) {
5923 /* ./../lib/standard//collection//array.nit:273 */
5924 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5925 if (UNTAG_Bool(REGB1
)) {
5926 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
5928 /* ./../lib/standard//collection//array.nit:718 */
5929 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
5930 /* ./syntax//mmbuilder.nit:907 */
5931 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5932 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5933 if (UNTAG_Bool(REGB1
)) {
5934 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 907);
5936 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5937 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5938 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5939 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
5940 /* ./../lib/standard//collection//array.nit:274 */
5942 /* ./../lib/standard//kernel.nit:235 */
5943 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5944 /* ./../lib/standard//collection//array.nit:274 */
5947 /* ./../lib/standard//collection//array.nit:272 */
5955 stack_frame_head
= fra
.me
.prev
;
5958 void syntax___mmbuilder___APropdef___inherit_signature(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
5959 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
5966 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5967 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5969 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___inherit_signature
;
5970 fra
.me
.has_broke
= 0;
5971 fra
.me
.REG_size
= 11;
5972 fra
.me
.REG
[0] = NIT_NULL
;
5973 fra
.me
.REG
[1] = NIT_NULL
;
5974 fra
.me
.REG
[2] = NIT_NULL
;
5975 fra
.me
.REG
[3] = NIT_NULL
;
5976 fra
.me
.REG
[4] = NIT_NULL
;
5977 fra
.me
.REG
[5] = NIT_NULL
;
5978 fra
.me
.REG
[6] = NIT_NULL
;
5979 fra
.me
.REG
[7] = NIT_NULL
;
5980 fra
.me
.REG
[8] = NIT_NULL
;
5981 fra
.me
.REG
[9] = NIT_NULL
;
5982 fra
.me
.REG
[10] = NIT_NULL
;
5987 /* ./syntax//mmbuilder.nit:915 */
5988 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5989 /* ./../lib/standard//collection//array.nit:269 */
5991 /* ./../lib/standard//collection//array.nit:270 */
5992 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
5993 if (UNTAG_Bool(REGB1
)) {
5995 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
5997 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
5998 /* ./../lib/standard//collection//array.nit:271 */
5999 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
6000 /* ./../lib/standard//collection//array.nit:272 */
6002 /* ./../lib/standard//collection//array.nit:24 */
6003 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
6004 if (UNTAG_Bool(REGB1
)) {
6006 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6008 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
6009 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6010 if (UNTAG_Bool(REGB2
)) {
6012 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6014 /* ./../lib/standard//kernel.nit:232 */
6015 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
6016 /* ./../lib/standard//collection//array.nit:272 */
6017 if (UNTAG_Bool(REGB1
)) {
6018 /* ./../lib/standard//collection//array.nit:273 */
6019 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6020 if (UNTAG_Bool(REGB1
)) {
6021 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6023 /* ./../lib/standard//collection//array.nit:718 */
6024 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
6025 /* ./syntax//mmbuilder.nit:917 */
6026 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6027 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6028 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6029 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6030 if (UNTAG_Bool(REGB1
)) {
6031 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 917);
6033 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
6034 /* ./syntax//mmbuilder.nit:919 */
6035 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6036 if (UNTAG_Bool(REGB1
)) {
6038 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6039 if (UNTAG_Bool(REGB2
)) {
6040 REGB2
= TAG_Bool(false);
6043 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6047 if (UNTAG_Bool(REGB1
)) {
6048 /* ./syntax//mmbuilder.nit:920 */
6049 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6050 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6051 /* ./../lib/standard//collection//array.nit:24 */
6052 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6053 if (UNTAG_Bool(REGB1
)) {
6055 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6057 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6058 /* ./syntax//mmbuilder.nit:920 */
6059 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6060 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
6061 if (UNTAG_Bool(REGB3
)) {
6063 /* ./../lib/standard//kernel.nit:227 */
6064 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
6065 /* ./syntax//mmbuilder.nit:920 */
6068 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6069 if (UNTAG_Bool(REGB3
)) {
6070 /* ./syntax//mmbuilder.nit:921 */
6073 /* ./syntax//mmbuilder.nit:923 */
6074 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6075 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6076 /* ./../lib/standard//collection//array.nit:269 */
6078 /* ./../lib/standard//collection//array.nit:270 */
6079 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6080 if (UNTAG_Bool(REGB2
)) {
6082 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6084 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6085 /* ./../lib/standard//collection//array.nit:271 */
6086 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
6087 /* ./../lib/standard//collection//array.nit:272 */
6089 /* ./../lib/standard//collection//array.nit:24 */
6090 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6091 if (UNTAG_Bool(REGB2
)) {
6093 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6095 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6096 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
6097 if (UNTAG_Bool(REGB1
)) {
6099 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6101 /* ./../lib/standard//kernel.nit:232 */
6102 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
6103 /* ./../lib/standard//collection//array.nit:272 */
6104 if (UNTAG_Bool(REGB2
)) {
6105 /* ./../lib/standard//collection//array.nit:273 */
6106 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6107 if (UNTAG_Bool(REGB2
)) {
6108 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6110 /* ./../lib/standard//collection//array.nit:718 */
6111 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB3
)];
6112 /* ./syntax//mmbuilder.nit:924 */
6113 REGB2
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6114 fra
.me
.REG
[9] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
6115 /* ./syntax//mmbuilder.nit:925 */
6116 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6117 /* ./syntax//mmbuilder.nit:926 */
6118 REGB2
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6119 REGB1
= CALL_metamodel___vararg___MMSignature___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6120 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
6121 if (UNTAG_Bool(REGB4
)) {
6123 /* ./../lib/standard//kernel.nit:227 */
6124 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
6125 /* ./syntax//mmbuilder.nit:926 */
6128 if (UNTAG_Bool(REGB4
)) {
6129 /* ./syntax//mmbuilder.nit:927 */
6130 fra
.me
.REG
[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[9]);
6131 fra
.me
.REG
[9] = fra
.me
.REG
[10];
6133 /* ./syntax//mmbuilder.nit:929 */
6134 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6135 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6136 /* ./../lib/standard//collection//array.nit:274 */
6138 /* ./../lib/standard//kernel.nit:235 */
6139 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
6140 /* ./../lib/standard//collection//array.nit:274 */
6143 /* ./../lib/standard//collection//array.nit:272 */
6148 /* ./syntax//mmbuilder.nit:932 */
6149 fra
.me
.REG
[0] = fra
.me
.REG
[6];
6150 /* ./syntax//mmbuilder.nit:933 */
6151 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
6153 /* ./../lib/standard//collection//array.nit:274 */
6155 /* ./../lib/standard//kernel.nit:235 */
6156 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
6157 /* ./../lib/standard//collection//array.nit:274 */
6160 /* ./../lib/standard//collection//array.nit:272 */
6166 stack_frame_head
= fra
.me
.prev
;
6169 void syntax___mmbuilder___APropdef___do_and_check_redef(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
6170 struct {struct stack_frame_t me
; val_t MORE_REG
[13];} fra
;
6180 static val_t once_value_1
; /* Once value */
6181 static val_t once_value_2
; /* Once value */
6182 static val_t once_value_3
; /* Once value */
6183 static val_t once_value_5
; /* Once value */
6184 static val_t once_value_6
; /* Once value */
6185 static val_t once_value_7
; /* Once value */
6186 static val_t once_value_8
; /* Once value */
6187 static val_t once_value_9
; /* Once value */
6188 static val_t once_value_10
; /* Once value */
6189 static val_t once_value_12
; /* Once value */
6190 static val_t once_value_13
; /* Once value */
6191 static val_t once_value_14
; /* Once value */
6192 static val_t once_value_15
; /* Once value */
6193 static val_t once_value_16
; /* Once value */
6194 static val_t once_value_17
; /* Once value */
6195 static val_t once_value_18
; /* Once value */
6196 static val_t once_value_19
; /* Once value */
6197 static val_t once_value_20
; /* Once value */
6198 static val_t once_value_21
; /* Once value */
6199 static val_t once_value_22
; /* Once value */
6200 static val_t once_value_23
; /* Once value */
6201 static val_t once_value_25
; /* Once value */
6202 static val_t once_value_26
; /* Once value */
6203 static val_t once_value_27
; /* Once value */
6204 static val_t once_value_28
; /* Once value */
6205 static val_t once_value_29
; /* Once value */
6206 static val_t once_value_30
; /* Once value */
6207 static val_t once_value_31
; /* Once value */
6208 static val_t once_value_32
; /* Once value */
6209 static val_t once_value_33
; /* Once value */
6210 static val_t once_value_34
; /* Once value */
6211 static val_t once_value_36
; /* Once value */
6212 static val_t once_value_37
; /* Once value */
6213 static val_t once_value_38
; /* Once value */
6214 static val_t once_value_39
; /* Once value */
6215 static val_t once_value_40
; /* Once value */
6216 static val_t once_value_41
; /* Once value */
6217 static val_t once_value_42
; /* Once value */
6218 static val_t once_value_43
; /* Once value */
6219 static val_t once_value_44
; /* Once value */
6220 static val_t once_value_45
; /* Once value */
6221 static val_t once_value_46
; /* Once value */
6222 static val_t once_value_47
; /* Once value */
6223 static val_t once_value_48
; /* Once value */
6224 static val_t once_value_49
; /* Once value */
6225 static val_t once_value_50
; /* Once value */
6226 static val_t once_value_51
; /* Once value */
6227 static val_t once_value_52
; /* Once value */
6228 static val_t once_value_53
; /* Once value */
6229 static val_t once_value_54
; /* Once value */
6230 static val_t once_value_55
; /* Once value */
6231 static val_t once_value_56
; /* Once value */
6232 static val_t once_value_57
; /* Once value */
6233 static val_t once_value_58
; /* Once value */
6234 static val_t once_value_59
; /* Once value */
6235 static val_t once_value_60
; /* Once value */
6236 static val_t once_value_61
; /* Once value */
6237 static val_t once_value_62
; /* Once value */
6238 static val_t once_value_64
; /* Once value */
6239 static val_t once_value_65
; /* Once value */
6240 static val_t once_value_66
; /* Once value */
6241 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6242 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
6244 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___do_and_check_redef
;
6245 fra
.me
.has_broke
= 0;
6246 fra
.me
.REG_size
= 14;
6247 fra
.me
.REG
[0] = NIT_NULL
;
6248 fra
.me
.REG
[1] = NIT_NULL
;
6249 fra
.me
.REG
[2] = NIT_NULL
;
6250 fra
.me
.REG
[3] = NIT_NULL
;
6251 fra
.me
.REG
[4] = NIT_NULL
;
6252 fra
.me
.REG
[5] = NIT_NULL
;
6253 fra
.me
.REG
[6] = NIT_NULL
;
6254 fra
.me
.REG
[7] = NIT_NULL
;
6255 fra
.me
.REG
[8] = NIT_NULL
;
6256 fra
.me
.REG
[9] = NIT_NULL
;
6257 fra
.me
.REG
[10] = NIT_NULL
;
6258 fra
.me
.REG
[11] = NIT_NULL
;
6259 fra
.me
.REG
[12] = NIT_NULL
;
6260 fra
.me
.REG
[13] = NIT_NULL
;
6266 /* ./syntax//mmbuilder.nit:941 */
6267 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AInitPropdef
, ID_parser___parser_nodes___AInitPropdef
)) /*cast AInitPropdef*/;
6268 /* ./syntax//mmbuilder.nit:942 */
6269 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6270 /* ./syntax//mmbuilder.nit:944 */
6271 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6272 if (UNTAG_Bool(REGB0
)) {
6273 /* ./syntax//mmbuilder.nit:945 */
6275 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6276 if (!once_value_1
) {
6277 fra
.me
.REG
[5] = BOX_NativeString("Redef error: ");
6278 REGB0
= TAG_Int(13);
6279 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6280 once_value_1
= fra
.me
.REG
[5];
6281 register_static_object(&once_value_1
);
6282 } else fra
.me
.REG
[5] = once_value_1
;
6283 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6284 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6285 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6286 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6287 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6288 if (!once_value_2
) {
6289 fra
.me
.REG
[5] = BOX_NativeString("::");
6291 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6292 once_value_2
= fra
.me
.REG
[5];
6293 register_static_object(&once_value_2
);
6294 } else fra
.me
.REG
[5] = once_value_2
;
6295 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6297 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6298 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6299 if (!once_value_3
) {
6300 fra
.me
.REG
[5] = BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword.");
6301 REGB0
= TAG_Int(65);
6302 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6303 once_value_3
= fra
.me
.REG
[5];
6304 register_static_object(&once_value_3
);
6305 } else fra
.me
.REG
[5] = once_value_3
;
6306 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6308 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6309 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6310 /* ./syntax//mmbuilder.nit:946 */
6313 /* ./syntax//mmbuilder.nit:948 */
6314 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6315 if (UNTAG_Bool(REGB0
)) {
6316 REGB0
= TAG_Bool(!UNTAG_Bool(REGB2
));
6318 REGB3
= TAG_Bool(false);
6321 if (UNTAG_Bool(REGB0
)) {
6322 /* ./syntax//mmbuilder.nit:949 */
6324 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6325 if (!once_value_5
) {
6326 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A method ");
6327 REGB0
= TAG_Int(22);
6328 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6329 once_value_5
= fra
.me
.REG
[5];
6330 register_static_object(&once_value_5
);
6331 } else fra
.me
.REG
[5] = once_value_5
;
6332 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6334 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6335 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6337 if (!once_value_6
) {
6338 fra
.me
.REG
[5] = BOX_NativeString("::");
6340 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6341 once_value_6
= fra
.me
.REG
[5];
6342 register_static_object(&once_value_6
);
6343 } else fra
.me
.REG
[5] = once_value_6
;
6344 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6345 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6346 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6347 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6348 if (!once_value_7
) {
6349 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a constructor.");
6350 REGB0
= TAG_Int(31);
6351 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6352 once_value_7
= fra
.me
.REG
[5];
6353 register_static_object(&once_value_7
);
6354 } else fra
.me
.REG
[5] = once_value_7
;
6355 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6357 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6358 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6360 /* ./syntax//mmbuilder.nit:950 */
6361 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6362 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6363 if (UNTAG_Bool(REGB0
)) {
6365 REGB0
= TAG_Bool(false);
6368 if (UNTAG_Bool(REGB2
)) {
6369 /* ./syntax//mmbuilder.nit:951 */
6371 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
6372 if (!once_value_8
) {
6373 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A constructor ");
6374 REGB2
= TAG_Int(27);
6375 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6376 once_value_8
= fra
.me
.REG
[5];
6377 register_static_object(&once_value_8
);
6378 } else fra
.me
.REG
[5] = once_value_8
;
6379 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6380 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6381 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6382 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6383 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6384 if (!once_value_9
) {
6385 fra
.me
.REG
[5] = BOX_NativeString("::");
6387 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6388 once_value_9
= fra
.me
.REG
[5];
6389 register_static_object(&once_value_9
);
6390 } else fra
.me
.REG
[5] = once_value_9
;
6391 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 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6395 if (!once_value_10
) {
6396 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a method.");
6397 REGB2
= TAG_Int(26);
6398 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6399 once_value_10
= fra
.me
.REG
[5];
6400 register_static_object(&once_value_10
);
6401 } else fra
.me
.REG
[5] = once_value_10
;
6402 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6403 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6404 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6405 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6408 /* ./syntax//mmbuilder.nit:954 */
6409 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6410 /* ./syntax//mmbuilder.nit:956 */
6411 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___prhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6412 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6413 /* ./../lib/standard//collection//array.nit:269 */
6415 /* ./../lib/standard//collection//array.nit:270 */
6416 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6417 if (UNTAG_Bool(REGB0
)) {
6419 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6421 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6422 /* ./../lib/standard//collection//array.nit:271 */
6423 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
6424 /* ./../lib/standard//collection//array.nit:272 */
6426 /* ./../lib/standard//collection//array.nit:24 */
6427 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6428 if (UNTAG_Bool(REGB0
)) {
6430 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6432 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6433 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
6434 if (UNTAG_Bool(REGB3
)) {
6436 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6438 /* ./../lib/standard//kernel.nit:232 */
6439 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
6440 /* ./../lib/standard//collection//array.nit:272 */
6441 if (UNTAG_Bool(REGB0
)) {
6442 /* ./../lib/standard//collection//array.nit:273 */
6443 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
6444 if (UNTAG_Bool(REGB0
)) {
6445 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6447 /* ./../lib/standard//collection//array.nit:718 */
6448 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
6449 /* ./syntax//mmbuilder.nit:957 */
6450 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6451 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6452 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6453 /* ./syntax//mmbuilder.nit:958 */
6454 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6455 /* ./syntax//mmbuilder.nit:959 */
6456 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6457 if (UNTAG_Bool(REGB0
)) {
6459 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6460 if (UNTAG_Bool(REGB3
)) {
6461 REGB3
= TAG_Bool(false);
6464 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
6468 if (UNTAG_Bool(REGB0
)) {
6471 /* ./syntax//mmbuilder.nit:960 */
6472 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6473 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6474 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6475 if (UNTAG_Bool(REGB0
)) {
6476 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 960);
6478 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
6479 fra
.me
.REG
[7] = fra
.me
.REG
[8];
6480 /* ./syntax//mmbuilder.nit:962 */
6481 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6482 if (UNTAG_Bool(REGB0
)) {
6484 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6485 if (UNTAG_Bool(REGB3
)) {
6486 REGB3
= TAG_Bool(false);
6489 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6493 if (UNTAG_Bool(REGB0
)) {
6494 /* ./syntax//mmbuilder.nit:964 */
6495 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6496 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6497 /* ./../lib/standard//collection//array.nit:24 */
6498 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6499 if (UNTAG_Bool(REGB0
)) {
6501 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6503 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6504 /* ./syntax//mmbuilder.nit:964 */
6505 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6506 if (UNTAG_Bool(REGB3
)) {
6507 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 964);
6509 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6510 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
6511 if (UNTAG_Bool(REGB4
)) {
6513 /* ./../lib/standard//kernel.nit:227 */
6514 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
6515 /* ./syntax//mmbuilder.nit:964 */
6518 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6519 if (UNTAG_Bool(REGB4
)) {
6520 /* ./syntax//mmbuilder.nit:965 */
6521 REGB4
= TAG_Int(11);
6522 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
6523 if (!once_value_12
) {
6524 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
6525 REGB4
= TAG_Int(13);
6526 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6527 once_value_12
= fra
.me
.REG
[10];
6528 register_static_object(&once_value_12
);
6529 } else fra
.me
.REG
[10] = once_value_12
;
6530 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6532 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6533 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6535 if (!once_value_13
) {
6536 fra
.me
.REG
[10] = BOX_NativeString("::");
6538 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6539 once_value_13
= fra
.me
.REG
[10];
6540 register_static_object(&once_value_13
);
6541 } else fra
.me
.REG
[10] = once_value_13
;
6542 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6544 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6545 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6546 if (!once_value_14
) {
6547 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
6548 REGB4
= TAG_Int(11);
6549 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6550 once_value_14
= fra
.me
.REG
[10];
6551 register_static_object(&once_value_14
);
6552 } else fra
.me
.REG
[10] = once_value_14
;
6553 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6554 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6555 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6556 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6558 if (!once_value_15
) {
6559 fra
.me
.REG
[10] = BOX_NativeString("::");
6561 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6562 once_value_15
= fra
.me
.REG
[10];
6563 register_static_object(&once_value_15
);
6564 } else fra
.me
.REG
[10] = once_value_15
;
6565 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6566 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6567 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6568 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6569 if (!once_value_16
) {
6570 fra
.me
.REG
[10] = BOX_NativeString(" with ");
6572 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6573 once_value_16
= fra
.me
.REG
[10];
6574 register_static_object(&once_value_16
);
6575 } else fra
.me
.REG
[10] = once_value_16
;
6576 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6578 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6579 if (UNTAG_Bool(REGB4
)) {
6580 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 965);
6582 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6583 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(REGB4
)(REGB4
);
6584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6585 if (!once_value_17
) {
6586 fra
.me
.REG
[10] = BOX_NativeString(" parameter(s).");
6587 REGB4
= TAG_Int(14);
6588 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6589 once_value_17
= fra
.me
.REG
[10];
6590 register_static_object(&once_value_17
);
6591 } else fra
.me
.REG
[10] = once_value_17
;
6592 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6594 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6595 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6596 /* ./syntax//mmbuilder.nit:966 */
6599 /* ./syntax//mmbuilder.nit:968 */
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___closure_decls(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6602 /* ./../lib/standard//collection//array.nit:24 */
6603 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6604 if (UNTAG_Bool(REGB4
)) {
6606 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6608 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6609 /* ./syntax//mmbuilder.nit:968 */
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
, 968);
6614 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6615 /* ./../lib/standard//collection//array.nit:24 */
6616 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6617 if (UNTAG_Bool(REGB3
)) {
6619 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6621 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6622 /* ./syntax//mmbuilder.nit:968 */
6623 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB3
));
6624 if (UNTAG_Bool(REGB0
)) {
6626 /* ./../lib/standard//kernel.nit:227 */
6627 REGB3
= TAG_Bool((REGB4
)==(REGB3
));
6628 /* ./syntax//mmbuilder.nit:968 */
6631 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6632 if (UNTAG_Bool(REGB0
)) {
6633 /* ./syntax//mmbuilder.nit:969 */
6634 REGB0
= TAG_Int(11);
6635 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6636 if (!once_value_18
) {
6637 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
6638 REGB0
= TAG_Int(13);
6639 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6640 once_value_18
= fra
.me
.REG
[10];
6641 register_static_object(&once_value_18
);
6642 } else fra
.me
.REG
[10] = once_value_18
;
6643 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6645 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6646 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6648 if (!once_value_19
) {
6649 fra
.me
.REG
[10] = BOX_NativeString("::");
6651 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6652 once_value_19
= fra
.me
.REG
[10];
6653 register_static_object(&once_value_19
);
6654 } else fra
.me
.REG
[10] = once_value_19
;
6655 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6657 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6658 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6659 if (!once_value_20
) {
6660 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
6661 REGB0
= TAG_Int(11);
6662 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6663 once_value_20
= fra
.me
.REG
[10];
6664 register_static_object(&once_value_20
);
6665 } else fra
.me
.REG
[10] = once_value_20
;
6666 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6667 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6668 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6669 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6670 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6671 if (!once_value_21
) {
6672 fra
.me
.REG
[10] = BOX_NativeString("::");
6674 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6675 once_value_21
= fra
.me
.REG
[10];
6676 register_static_object(&once_value_21
);
6677 } else fra
.me
.REG
[10] = once_value_21
;
6678 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6679 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6680 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6682 if (!once_value_22
) {
6683 fra
.me
.REG
[10] = BOX_NativeString(" with ");
6685 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6686 once_value_22
= fra
.me
.REG
[10];
6687 register_static_object(&once_value_22
);
6688 } else fra
.me
.REG
[10] = once_value_22
;
6689 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6690 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6691 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6692 if (UNTAG_Bool(REGB0
)) {
6693 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 969);
6695 REGB0
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6696 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
6697 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6698 if (!once_value_23
) {
6699 fra
.me
.REG
[10] = BOX_NativeString(" closure(s).");
6700 REGB0
= TAG_Int(12);
6701 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6702 once_value_23
= fra
.me
.REG
[10];
6703 register_static_object(&once_value_23
);
6704 } else fra
.me
.REG
[10] = once_value_23
;
6705 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6706 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6707 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6708 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6709 /* ./syntax//mmbuilder.nit:970 */
6712 /* ./syntax//mmbuilder.nit:972 */
6713 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6714 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6715 /* ./../lib/standard//collection//array.nit:269 */
6717 /* ./../lib/standard//collection//array.nit:270 */
6718 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6719 if (UNTAG_Bool(REGB3
)) {
6721 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
6723 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6724 /* ./../lib/standard//collection//array.nit:271 */
6725 fra
.me
.REG
[10] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[8]);
6726 /* ./../lib/standard//collection//array.nit:272 */
6728 /* ./../lib/standard//collection//array.nit:24 */
6729 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6730 if (UNTAG_Bool(REGB3
)) {
6732 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6734 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6735 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6736 if (UNTAG_Bool(REGB4
)) {
6738 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6740 /* ./../lib/standard//kernel.nit:232 */
6741 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
6742 /* ./../lib/standard//collection//array.nit:272 */
6743 if (UNTAG_Bool(REGB3
)) {
6744 /* ./../lib/standard//collection//array.nit:273 */
6745 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6746 if (UNTAG_Bool(REGB3
)) {
6747 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
6749 /* ./../lib/standard//collection//array.nit:718 */
6750 fra
.me
.REG
[11] = ((Nit_NativeArray
)fra
.me
.REG
[10])->val
[UNTAG_Int(REGB0
)];
6751 /* ./syntax//mmbuilder.nit:973 */
6752 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6753 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6754 if (UNTAG_Bool(REGB4
)) {
6755 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 973);
6757 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB3
);
6758 /* ./syntax//mmbuilder.nit:974 */
6759 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
6760 /* ./syntax//mmbuilder.nit:975 */
6761 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6762 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6763 if (UNTAG_Bool(REGB4
)) {
6764 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 975);
6766 REGB4
= CALL_metamodel___vararg___MMSignature___vararg_rank(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6767 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB4
));
6768 if (UNTAG_Bool(REGB5
)) {
6770 /* ./../lib/standard//kernel.nit:227 */
6771 REGB4
= TAG_Bool((REGB3
)==(REGB4
));
6772 /* ./syntax//mmbuilder.nit:975 */
6775 if (UNTAG_Bool(REGB5
)) {
6776 /* ./syntax//mmbuilder.nit:976 */
6777 fra
.me
.REG
[13] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[12]);
6778 fra
.me
.REG
[12] = fra
.me
.REG
[13];
6780 /* ./syntax//mmbuilder.nit:978 */
6781 fra
.me
.REG
[11] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6782 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
6783 /* ./../lib/standard//collection//array.nit:274 */
6785 /* ./../lib/standard//kernel.nit:235 */
6786 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
6787 /* ./../lib/standard//collection//array.nit:274 */
6790 /* ./../lib/standard//collection//array.nit:272 */
6795 /* ./syntax//mmbuilder.nit:980 */
6796 fra
.me
.REG
[4] = fra
.me
.REG
[7];
6797 /* ./syntax//mmbuilder.nit:981 */
6798 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
6800 /* ./syntax//mmbuilder.nit:985 */
6801 fra
.me
.REG
[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6802 REGB0
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6803 /* ./syntax//mmbuilder.nit:993 */
6804 REGB5
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6805 if (UNTAG_Bool(REGB5
)) {
6806 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 993);
6808 REGB5
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6809 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6810 if (UNTAG_Bool(REGB4
)) {
6811 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 993);
6813 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6814 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB5
,REGB4
));
6815 if (UNTAG_Bool(REGB3
)) {
6817 /* ./../lib/standard//kernel.nit:227 */
6818 REGB4
= TAG_Bool((REGB5
)==(REGB4
));
6819 /* ./syntax//mmbuilder.nit:993 */
6822 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6823 if (UNTAG_Bool(REGB3
)) {
6824 /* ./syntax//mmbuilder.nit:994 */
6825 REGB3
= TAG_Int(11);
6826 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
6827 if (!once_value_25
) {
6828 fra
.me
.REG
[8] = BOX_NativeString("Redef error: ");
6829 REGB3
= TAG_Int(13);
6830 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6831 once_value_25
= fra
.me
.REG
[8];
6832 register_static_object(&once_value_25
);
6833 } else fra
.me
.REG
[8] = once_value_25
;
6834 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6835 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6836 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6837 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6838 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6839 if (!once_value_26
) {
6840 fra
.me
.REG
[8] = BOX_NativeString("::");
6842 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6843 once_value_26
= fra
.me
.REG
[8];
6844 register_static_object(&once_value_26
);
6845 } else fra
.me
.REG
[8] = once_value_26
;
6846 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6847 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6848 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6850 if (!once_value_27
) {
6851 fra
.me
.REG
[8] = BOX_NativeString(" redefines ");
6852 REGB3
= TAG_Int(11);
6853 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6854 once_value_27
= fra
.me
.REG
[8];
6855 register_static_object(&once_value_27
);
6856 } else fra
.me
.REG
[8] = once_value_27
;
6857 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6858 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6859 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6860 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6862 if (!once_value_28
) {
6863 fra
.me
.REG
[8] = BOX_NativeString("::");
6865 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6866 once_value_28
= fra
.me
.REG
[8];
6867 register_static_object(&once_value_28
);
6868 } else fra
.me
.REG
[8] = once_value_28
;
6869 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6870 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6871 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6872 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6873 if (!once_value_29
) {
6874 fra
.me
.REG
[8] = BOX_NativeString(" with ");
6876 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6877 once_value_29
= fra
.me
.REG
[8];
6878 register_static_object(&once_value_29
);
6879 } else fra
.me
.REG
[8] = once_value_29
;
6880 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6882 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6883 if (UNTAG_Bool(REGB3
)) {
6884 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 994);
6886 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6887 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB3
)(REGB3
);
6888 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6889 if (!once_value_30
) {
6890 fra
.me
.REG
[8] = BOX_NativeString(" parameter(s).");
6891 REGB3
= TAG_Int(14);
6892 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6893 once_value_30
= fra
.me
.REG
[8];
6894 register_static_object(&once_value_30
);
6895 } else fra
.me
.REG
[8] = once_value_30
;
6896 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6898 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6899 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
6901 /* ./syntax//mmbuilder.nit:995 */
6902 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6903 if (UNTAG_Bool(REGB3
)) {
6904 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 995);
6906 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6908 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
6909 if (UNTAG_Bool(REGB5
)) {
6911 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6913 /* ./../lib/standard//kernel.nit:234 */
6914 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB4
));
6915 /* ./syntax//mmbuilder.nit:995 */
6916 if (UNTAG_Bool(REGB4
)) {
6917 /* ./syntax//mmbuilder.nit:996 */
6918 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AMethPropdef
, ID_parser___parser_nodes___AMethPropdef
)) /*cast AMethPropdef*/;
6919 if (UNTAG_Bool(REGB4
)) {
6920 /* ./syntax//mmbuilder.nit:998 */
6922 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6923 if (UNTAG_Bool(REGB3
)) {
6924 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 998);
6926 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6927 /* ./../lib/standard//kernel.nit:352 */
6929 REGB5
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
6930 if (UNTAG_Bool(REGB5
)) {
6932 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6934 /* ./../lib/standard//kernel.nit:232 */
6935 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
6936 /* ./../lib/standard//kernel.nit:352 */
6937 if (UNTAG_Bool(REGB5
)) {
6938 /* ./syntax//mmbuilder.nit:998 */
6940 /* ./syntax//mmbuilder.nit:999 */
6941 REGB6
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6942 if (UNTAG_Bool(REGB6
)) {
6943 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 999);
6945 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB5
);
6946 REGB6
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6947 if (UNTAG_Bool(REGB6
)) {
6948 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 999);
6950 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB5
);
6951 REGB6
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[8]));
6952 if (UNTAG_Bool(REGB6
)) {
6954 REGB7
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6957 REGB6
= TAG_Bool(!UNTAG_Bool(REGB6
));
6958 if (UNTAG_Bool(REGB6
)) {
6959 /* ./syntax//mmbuilder.nit:1000 */
6960 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6961 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
6962 if (UNTAG_Bool(REGB6
)) {
6963 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1000);
6965 fra
.me
.REG
[8] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6966 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB5
);
6968 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB6
);
6969 if (!once_value_31
) {
6970 fra
.me
.REG
[12] = BOX_NativeString("Redef error: Expected ");
6971 REGB6
= TAG_Int(22);
6972 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB6
);
6973 once_value_31
= fra
.me
.REG
[12];
6974 register_static_object(&once_value_31
);
6975 } else fra
.me
.REG
[12] = once_value_31
;
6976 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6978 REGB6
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6979 if (UNTAG_Bool(REGB6
)) {
6980 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1000);
6982 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB5
);
6983 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6985 if (!once_value_32
) {
6986 fra
.me
.REG
[12] = BOX_NativeString(", as in ");
6988 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB5
);
6989 once_value_32
= fra
.me
.REG
[12];
6990 register_static_object(&once_value_32
);
6991 } else fra
.me
.REG
[12] = once_value_32
;
6992 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6993 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6994 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6995 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6996 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6997 if (!once_value_33
) {
6998 fra
.me
.REG
[12] = BOX_NativeString("::");
7000 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB5
);
7001 once_value_33
= fra
.me
.REG
[12];
7002 register_static_object(&once_value_33
);
7003 } else fra
.me
.REG
[12] = once_value_33
;
7004 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7005 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
7006 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
7008 if (!once_value_34
) {
7009 fra
.me
.REG
[12] = BOX_NativeString(".");
7011 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB5
);
7012 once_value_34
= fra
.me
.REG
[12];
7013 register_static_object(&once_value_34
);
7014 } else fra
.me
.REG
[12] = once_value_34
;
7015 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
7017 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7018 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8], fra
.me
.REG
[10]);
7020 /* ./../lib/standard//kernel.nit:354 */
7022 /* ./../lib/standard//kernel.nit:235 */
7023 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB5
));
7024 /* ./../lib/standard//kernel.nit:354 */
7027 /* ./../lib/standard//kernel.nit:352 */
7033 /* ./syntax//mmbuilder.nit:1003 */
7034 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AAttrPropdef
, ID_parser___parser_nodes___AAttrPropdef
)) /*cast AAttrPropdef*/;
7035 if (UNTAG_Bool(REGB4
)) {
7036 /* ./syntax//mmbuilder.nit:1005 */
7038 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7039 if (UNTAG_Bool(REGB3
)) {
7040 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1005);
7042 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB4
);
7044 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7045 if (UNTAG_Bool(REGB3
)) {
7046 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1005);
7048 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
7049 REGB4
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7050 if (UNTAG_Bool(REGB4
)) {
7052 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7055 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7056 if (UNTAG_Bool(REGB4
)) {
7057 /* ./syntax//mmbuilder.nit:1006 */
7058 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7060 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7061 if (!once_value_36
) {
7062 fra
.me
.REG
[12] = BOX_NativeString("Redef error: Expected ");
7063 REGB4
= TAG_Int(22);
7064 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7065 once_value_36
= fra
.me
.REG
[12];
7066 register_static_object(&once_value_36
);
7067 } else fra
.me
.REG
[12] = once_value_36
;
7068 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
7071 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7072 if (UNTAG_Bool(REGB3
)) {
7073 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1006);
7075 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
7076 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7077 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
7078 if (!once_value_37
) {
7079 fra
.me
.REG
[12] = BOX_NativeString(", as in the parameter of ");
7080 REGB4
= TAG_Int(25);
7081 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7082 once_value_37
= fra
.me
.REG
[12];
7083 register_static_object(&once_value_37
);
7084 } else fra
.me
.REG
[12] = once_value_37
;
7085 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
7087 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7088 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
7090 if (!once_value_38
) {
7091 fra
.me
.REG
[12] = BOX_NativeString("::");
7093 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7094 once_value_38
= fra
.me
.REG
[12];
7095 register_static_object(&once_value_38
);
7096 } else fra
.me
.REG
[12] = once_value_38
;
7097 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7098 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
7099 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7100 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
7101 if (!once_value_39
) {
7102 fra
.me
.REG
[12] = BOX_NativeString(".");
7104 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
7105 once_value_39
= fra
.me
.REG
[12];
7106 register_static_object(&once_value_39
);
7107 } else fra
.me
.REG
[12] = once_value_39
;
7108 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7109 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
7110 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7111 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8], fra
.me
.REG
[10]);
7114 /* ./syntax//mmbuilder.nit:1010 */
7115 nit_abort("Aborted", NULL
, LOCATE_syntax___mmbuilder
, 1010);
7120 /* ./syntax//mmbuilder.nit:1014 */
7121 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7122 if (UNTAG_Bool(REGB4
)) {
7123 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1014);
7125 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7126 /* ./syntax//mmbuilder.nit:1015 */
7127 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7128 if (UNTAG_Bool(REGB4
)) {
7129 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1015);
7131 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7132 /* ./syntax//mmbuilder.nit:1016 */
7133 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7134 if (UNTAG_Bool(REGB4
)) {
7136 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7137 if (UNTAG_Bool(REGB3
)) {
7138 REGB3
= TAG_Bool(false);
7141 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7145 if (UNTAG_Bool(REGB4
)) {
7146 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7147 if (UNTAG_Bool(REGB4
)) {
7149 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7150 if (UNTAG_Bool(REGB3
)) {
7151 REGB3
= TAG_Bool(false);
7154 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7158 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7160 REGB3
= TAG_Bool(false);
7163 if (UNTAG_Bool(REGB4
)) {
7164 /* ./syntax//mmbuilder.nit:1017 */
7166 fra
.me
.REG
[12] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7167 if (!once_value_40
) {
7168 fra
.me
.REG
[11] = BOX_NativeString("Redef error: The procedure ");
7169 REGB4
= TAG_Int(27);
7170 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7171 once_value_40
= fra
.me
.REG
[11];
7172 register_static_object(&once_value_40
);
7173 } else fra
.me
.REG
[11] = once_value_40
;
7174 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7175 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7176 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7177 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7178 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7179 if (!once_value_41
) {
7180 fra
.me
.REG
[11] = BOX_NativeString("::");
7182 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7183 once_value_41
= fra
.me
.REG
[11];
7184 register_static_object(&once_value_41
);
7185 } else fra
.me
.REG
[11] = once_value_41
;
7186 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7188 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7190 if (!once_value_42
) {
7191 fra
.me
.REG
[11] = BOX_NativeString(" redefines the function ");
7192 REGB4
= TAG_Int(24);
7193 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7194 once_value_42
= fra
.me
.REG
[11];
7195 register_static_object(&once_value_42
);
7196 } else fra
.me
.REG
[11] = once_value_42
;
7197 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7199 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7200 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7202 if (!once_value_43
) {
7203 fra
.me
.REG
[11] = BOX_NativeString("::");
7205 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7206 once_value_43
= fra
.me
.REG
[11];
7207 register_static_object(&once_value_43
);
7208 } else fra
.me
.REG
[11] = once_value_43
;
7209 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7210 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7211 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7213 if (!once_value_44
) {
7214 fra
.me
.REG
[11] = BOX_NativeString(".");
7216 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7217 once_value_44
= fra
.me
.REG
[11];
7218 register_static_object(&once_value_44
);
7219 } else fra
.me
.REG
[11] = once_value_44
;
7220 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7222 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7223 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[12]);
7225 /* ./syntax//mmbuilder.nit:1018 */
7226 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7227 if (UNTAG_Bool(REGB4
)) {
7229 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7230 if (UNTAG_Bool(REGB3
)) {
7231 REGB3
= TAG_Bool(false);
7234 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7238 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7239 if (UNTAG_Bool(REGB4
)) {
7240 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7241 if (UNTAG_Bool(REGB4
)) {
7243 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7244 if (UNTAG_Bool(REGB3
)) {
7245 REGB3
= TAG_Bool(false);
7248 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7253 REGB3
= TAG_Bool(false);
7256 if (UNTAG_Bool(REGB4
)) {
7257 /* ./syntax//mmbuilder.nit:1019 */
7259 fra
.me
.REG
[12] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7260 if (!once_value_45
) {
7261 fra
.me
.REG
[11] = BOX_NativeString("Redef error: The function ");
7262 REGB4
= TAG_Int(26);
7263 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7264 once_value_45
= fra
.me
.REG
[11];
7265 register_static_object(&once_value_45
);
7266 } else fra
.me
.REG
[11] = once_value_45
;
7267 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7268 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7269 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7270 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7272 if (!once_value_46
) {
7273 fra
.me
.REG
[11] = BOX_NativeString("::");
7275 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7276 once_value_46
= fra
.me
.REG
[11];
7277 register_static_object(&once_value_46
);
7278 } else fra
.me
.REG
[11] = once_value_46
;
7279 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7280 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7281 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7283 if (!once_value_47
) {
7284 fra
.me
.REG
[11] = BOX_NativeString(" redefines the procedure ");
7285 REGB4
= TAG_Int(25);
7286 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7287 once_value_47
= fra
.me
.REG
[11];
7288 register_static_object(&once_value_47
);
7289 } else fra
.me
.REG
[11] = once_value_47
;
7290 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7292 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7293 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7294 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7295 if (!once_value_48
) {
7296 fra
.me
.REG
[11] = BOX_NativeString("::");
7298 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7299 once_value_48
= fra
.me
.REG
[11];
7300 register_static_object(&once_value_48
);
7301 } else fra
.me
.REG
[11] = once_value_48
;
7302 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7303 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7304 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7305 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7306 if (!once_value_49
) {
7307 fra
.me
.REG
[11] = BOX_NativeString(".");
7309 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
7310 once_value_49
= fra
.me
.REG
[11];
7311 register_static_object(&once_value_49
);
7312 } else fra
.me
.REG
[11] = once_value_49
;
7313 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7315 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7316 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[12]);
7318 /* ./syntax//mmbuilder.nit:1020 */
7319 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7320 if (UNTAG_Bool(REGB4
)) {
7322 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7323 if (UNTAG_Bool(REGB3
)) {
7324 REGB3
= TAG_Bool(false);
7327 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7331 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7332 if (UNTAG_Bool(REGB4
)) {
7333 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7334 if (UNTAG_Bool(REGB4
)) {
7336 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7337 if (UNTAG_Bool(REGB3
)) {
7338 REGB3
= TAG_Bool(false);
7341 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7345 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7347 REGB3
= TAG_Bool(false);
7350 if (UNTAG_Bool(REGB4
)) {
7351 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7352 if (UNTAG_Bool(REGB4
)) {
7353 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1020);
7355 REGB4
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7356 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7358 REGB3
= TAG_Bool(false);
7361 if (UNTAG_Bool(REGB4
)) {
7362 /* ./syntax//mmbuilder.nit:1021 */
7363 fra
.me
.REG
[12] = NIT_NULL
;
7364 /* ./syntax//mmbuilder.nit:1022 */
7365 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AMethPropdef
, ID_parser___parser_nodes___AMethPropdef
)) /*cast AMethPropdef*/;
7366 if (UNTAG_Bool(REGB4
)) {
7367 /* ./syntax//mmbuilder.nit:1023 */
7368 fra
.me
.REG
[11] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7369 REGB4
= TAG_Bool(fra
.me
.REG
[11]==NIT_NULL
);
7370 if (UNTAG_Bool(REGB4
)) {
7371 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1023);
7373 fra
.me
.REG
[11] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7374 fra
.me
.REG
[12] = fra
.me
.REG
[11];
7376 /* ./syntax//mmbuilder.nit:1024 */
7377 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AAttrPropdef
, ID_parser___parser_nodes___AAttrPropdef
)) /*cast AAttrPropdef*/;
7378 if (UNTAG_Bool(REGB4
)) {
7379 /* ./syntax//mmbuilder.nit:1025 */
7380 fra
.me
.REG
[11] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7381 fra
.me
.REG
[12] = fra
.me
.REG
[11];
7383 /* ./syntax//mmbuilder.nit:1026 */
7384 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___ATypePropdef
, ID_parser___parser_nodes___ATypePropdef
)) /*cast ATypePropdef*/;
7385 if (UNTAG_Bool(REGB4
)) {
7386 /* ./syntax//mmbuilder.nit:1027 */
7387 fra
.me
.REG
[11] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7388 fra
.me
.REG
[12] = fra
.me
.REG
[11];
7392 /* ./syntax//mmbuilder.nit:1029 */
7394 fra
.me
.REG
[11] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7395 if (!once_value_50
) {
7396 fra
.me
.REG
[13] = BOX_NativeString("Redef error: Expected ");
7397 REGB4
= TAG_Int(22);
7398 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7399 once_value_50
= fra
.me
.REG
[13];
7400 register_static_object(&once_value_50
);
7401 } else fra
.me
.REG
[13] = once_value_50
;
7402 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7403 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7404 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7405 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7406 if (!once_value_51
) {
7407 fra
.me
.REG
[13] = BOX_NativeString(", as in ");
7409 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7410 once_value_51
= fra
.me
.REG
[13];
7411 register_static_object(&once_value_51
);
7412 } else fra
.me
.REG
[13] = once_value_51
;
7413 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7415 fra
.me
.REG
[13] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7416 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[13])(fra
.me
.REG
[13]);
7417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7418 if (!once_value_52
) {
7419 fra
.me
.REG
[13] = BOX_NativeString("::");
7421 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7422 once_value_52
= fra
.me
.REG
[13];
7423 register_static_object(&once_value_52
);
7424 } else fra
.me
.REG
[13] = once_value_52
;
7425 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7427 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7428 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7429 if (!once_value_53
) {
7430 fra
.me
.REG
[13] = BOX_NativeString(".");
7432 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7433 once_value_53
= fra
.me
.REG
[13];
7434 register_static_object(&once_value_53
);
7435 } else fra
.me
.REG
[13] = once_value_53
;
7436 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7437 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7438 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7439 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[12], fra
.me
.REG
[11]);
7441 /* ./syntax//mmbuilder.nit:1030 */
7442 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7443 if (UNTAG_Bool(REGB4
)) {
7444 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1030);
7446 REGB4
= CALL_metamodel___static_type___MMSignature_____l(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
7447 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7448 if (UNTAG_Bool(REGB4
)) {
7449 fra
.me
.REG
[7] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7450 REGB4
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7451 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB4
));
7452 if (UNTAG_Bool(REGB3
)) {
7454 /* ./../lib/standard//kernel.nit:227 */
7455 REGB4
= TAG_Bool((REGB0
)==(REGB4
));
7456 /* ./syntax//mmbuilder.nit:1030 */
7460 REGB4
= TAG_Bool(false);
7463 if (UNTAG_Bool(REGB3
)) {
7464 /* ./syntax//mmbuilder.nit:1032 */
7466 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7467 if (!once_value_54
) {
7468 fra
.me
.REG
[11] = BOX_NativeString("Redef error: Incompatible redefinition of ");
7469 REGB3
= TAG_Int(42);
7470 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
7471 once_value_54
= fra
.me
.REG
[11];
7472 register_static_object(&once_value_54
);
7473 } else fra
.me
.REG
[11] = once_value_54
;
7474 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7476 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7477 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7478 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7479 if (!once_value_55
) {
7480 fra
.me
.REG
[11] = BOX_NativeString("::");
7482 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
7483 once_value_55
= fra
.me
.REG
[11];
7484 register_static_object(&once_value_55
);
7485 } else fra
.me
.REG
[11] = once_value_55
;
7486 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7487 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7488 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7489 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7490 if (!once_value_56
) {
7491 fra
.me
.REG
[11] = BOX_NativeString(" with ");
7493 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
7494 once_value_56
= fra
.me
.REG
[11];
7495 register_static_object(&once_value_56
);
7496 } else fra
.me
.REG
[11] = once_value_56
;
7497 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7498 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7499 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7500 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7502 if (!once_value_57
) {
7503 fra
.me
.REG
[11] = BOX_NativeString("::");
7505 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
7506 once_value_57
= fra
.me
.REG
[11];
7507 register_static_object(&once_value_57
);
7508 } else fra
.me
.REG
[11] = once_value_57
;
7509 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7510 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7511 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7512 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7513 if (!once_value_58
) {
7514 fra
.me
.REG
[11] = BOX_NativeString("");
7516 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
7517 once_value_58
= fra
.me
.REG
[11];
7518 register_static_object(&once_value_58
);
7519 } else fra
.me
.REG
[11] = once_value_58
;
7520 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7522 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7523 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
7525 /* ./syntax//mmbuilder.nit:1033 */
7526 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7527 if (UNTAG_Bool(REGB3
)) {
7529 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7530 if (UNTAG_Bool(REGB4
)) {
7531 REGB4
= TAG_Bool(false);
7534 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7538 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7539 if (UNTAG_Bool(REGB3
)) {
7540 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7541 if (UNTAG_Bool(REGB3
)) {
7543 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7544 if (UNTAG_Bool(REGB4
)) {
7545 REGB4
= TAG_Bool(false);
7548 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7552 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7554 REGB4
= TAG_Bool(false);
7557 if (UNTAG_Bool(REGB3
)) {
7558 REGB3
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7559 if (UNTAG_Bool(REGB3
)) {
7561 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7562 if (UNTAG_Bool(REGB4
)) {
7563 REGB4
= TAG_Bool(false);
7566 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7570 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7572 REGB4
= TAG_Bool(false);
7575 if (UNTAG_Bool(REGB3
)) {
7576 REGB3
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_metamodel___abstractmetamodel___MMAttribute
, ID_metamodel___abstractmetamodel___MMAttribute
)) /*cast MMAttribute*/;
7578 REGB4
= TAG_Bool(false);
7581 if (UNTAG_Bool(REGB3
)) {
7582 /* ./syntax//mmbuilder.nit:1035 */
7584 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7585 if (!once_value_59
) {
7586 fra
.me
.REG
[7] = BOX_NativeString("Redef warning: Expected ");
7587 REGB3
= TAG_Int(24);
7588 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB3
);
7589 once_value_59
= fra
.me
.REG
[7];
7590 register_static_object(&once_value_59
);
7591 } else fra
.me
.REG
[7] = once_value_59
;
7592 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
7594 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7595 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7596 if (!once_value_60
) {
7597 fra
.me
.REG
[8] = BOX_NativeString(", as in ");
7599 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7600 once_value_60
= fra
.me
.REG
[8];
7601 register_static_object(&once_value_60
);
7602 } else fra
.me
.REG
[8] = once_value_60
;
7603 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7604 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7605 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7606 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7607 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7608 if (!once_value_61
) {
7609 fra
.me
.REG
[8] = BOX_NativeString("::");
7611 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7612 once_value_61
= fra
.me
.REG
[8];
7613 register_static_object(&once_value_61
);
7614 } else fra
.me
.REG
[8] = once_value_61
;
7615 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7617 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7618 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
7619 if (!once_value_62
) {
7620 fra
.me
.REG
[9] = BOX_NativeString(".");
7622 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB3
);
7623 once_value_62
= fra
.me
.REG
[9];
7624 register_static_object(&once_value_62
);
7625 } else fra
.me
.REG
[9] = once_value_62
;
7626 fra
.me
.REG
[9] = fra
.me
.REG
[9];
7627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
7628 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7629 CALL_syntax___syntax_base___AbsSyntaxVisitor___warning(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
7635 /* ./../lib/standard//collection//array.nit:274 */
7637 /* ./../lib/standard//kernel.nit:235 */
7638 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
7639 /* ./../lib/standard//collection//array.nit:274 */
7642 /* ./../lib/standard//collection//array.nit:272 */
7648 /* ./syntax//mmbuilder.nit:1039 */
7650 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
7651 if (UNTAG_Bool(REGB3
)) {
7653 /* ./../lib/standard//kernel.nit:227 */
7654 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
7655 /* ./syntax//mmbuilder.nit:1039 */
7658 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7659 if (UNTAG_Bool(REGB3
)) {
7660 REGB3
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7661 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
7662 if (UNTAG_Bool(REGB2
)) {
7664 /* ./../lib/standard//kernel.nit:227 */
7665 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
7666 /* ./syntax//mmbuilder.nit:1039 */
7669 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
7671 REGB1
= TAG_Bool(false);
7674 if (UNTAG_Bool(REGB2
)) {
7675 /* ./syntax//mmbuilder.nit:1040 */
7677 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
7678 if (!once_value_64
) {
7679 fra
.me
.REG
[6] = BOX_NativeString("Redef error: ");
7680 REGB2
= TAG_Int(13);
7681 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
7682 once_value_64
= fra
.me
.REG
[6];
7683 register_static_object(&once_value_64
);
7684 } else fra
.me
.REG
[6] = once_value_64
;
7685 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7687 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7688 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7690 if (!once_value_65
) {
7691 fra
.me
.REG
[6] = BOX_NativeString("::");
7693 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
7694 once_value_65
= fra
.me
.REG
[6];
7695 register_static_object(&once_value_65
);
7696 } else fra
.me
.REG
[6] = once_value_65
;
7697 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7699 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7700 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
7701 if (!once_value_66
) {
7702 fra
.me
.REG
[2] = BOX_NativeString(" redefinition cannot change visibility.");
7703 REGB2
= TAG_Int(39);
7704 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
7705 once_value_66
= fra
.me
.REG
[2];
7706 register_static_object(&once_value_66
);
7707 } else fra
.me
.REG
[2] = once_value_66
;
7708 fra
.me
.REG
[2] = fra
.me
.REG
[2];
7709 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
7710 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7711 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
7713 /* ./syntax//mmbuilder.nit:1042 */
7714 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7715 REGB2
= TAG_Bool(true);
7716 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
);
7718 stack_frame_head
= fra
.me
.prev
;
7721 val_t
syntax___mmbuilder___AAttrPropdef___readmethod(val_t p0
){
7722 struct {struct stack_frame_t me
;} fra
;
7724 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7725 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7727 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___readmethod
;
7728 fra
.me
.has_broke
= 0;
7729 fra
.me
.REG_size
= 1;
7730 fra
.me
.REG
[0] = NIT_NULL
;
7732 /* ./syntax//mmbuilder.nit:1047 */
7733 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[0]);
7734 stack_frame_head
= fra
.me
.prev
;
7735 return fra
.me
.REG
[0];
7737 val_t
syntax___mmbuilder___AAttrPropdef___writemethod(val_t p0
){
7738 struct {struct stack_frame_t me
;} fra
;
7740 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7741 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7743 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___writemethod
;
7744 fra
.me
.has_broke
= 0;
7745 fra
.me
.REG_size
= 1;
7746 fra
.me
.REG
[0] = NIT_NULL
;
7748 /* ./syntax//mmbuilder.nit:1048 */
7749 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[0]);
7750 stack_frame_head
= fra
.me
.prev
;
7751 return fra
.me
.REG
[0];
7753 val_t
syntax___mmbuilder___AAttrPropdef___prop(val_t p0
){
7754 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
7757 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7758 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7760 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___prop
;
7761 fra
.me
.has_broke
= 0;
7762 fra
.me
.REG_size
= 2;
7763 fra
.me
.REG
[0] = NIT_NULL
;
7764 fra
.me
.REG
[1] = NIT_NULL
;
7766 /* ./syntax//mmbuilder.nit:1050 */
7767 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7768 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[1]);
7769 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
7770 if (UNTAG_Bool(REGB0
)) {
7772 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1050);
7776 stack_frame_head
= fra
.me
.prev
;
7777 return fra
.me
.REG
[1];
7779 void syntax___mmbuilder___AAttrPropdef___accept_property_builder(val_t p0
, val_t p1
){
7780 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
7785 static val_t once_value_1
; /* Once value */
7786 static val_t once_value_2
; /* Once value */
7787 static val_t once_value_3
; /* Once value */
7788 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7789 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7791 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_builder
;
7792 fra
.me
.has_broke
= 0;
7793 fra
.me
.REG_size
= 6;
7794 fra
.me
.REG
[0] = NIT_NULL
;
7795 fra
.me
.REG
[1] = NIT_NULL
;
7796 fra
.me
.REG
[2] = NIT_NULL
;
7797 fra
.me
.REG
[3] = NIT_NULL
;
7798 fra
.me
.REG
[4] = NIT_NULL
;
7799 fra
.me
.REG
[5] = NIT_NULL
;
7802 /* ./syntax//mmbuilder.nit:1052 */
7803 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7804 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7805 /* ./syntax//mmbuilder.nit:1054 */
7806 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7807 /* ./syntax//mmbuilder.nit:1056 */
7808 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7809 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7810 if (UNTAG_Bool(REGB0
)) {
7812 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7813 if (UNTAG_Bool(REGB1
)) {
7814 REGB1
= TAG_Bool(false);
7817 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7821 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7822 if (UNTAG_Bool(REGB0
)) {
7823 /* ./syntax//mmbuilder.nit:1057 */
7824 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7825 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7826 if (UNTAG_Bool(REGB0
)) {
7827 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1057);
7829 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7831 /* ./syntax//mmbuilder.nit:1059 */
7832 if (!once_value_1
) {
7833 fra
.me
.REG
[0] = BOX_NativeString("@");
7835 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
7836 once_value_1
= fra
.me
.REG
[0];
7837 register_static_object(&once_value_1
);
7838 } else fra
.me
.REG
[0] = once_value_1
;
7839 fra
.me
.REG
[0] = fra
.me
.REG
[0];
7840 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7841 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7842 if (UNTAG_Bool(REGB0
)) {
7843 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1059);
7845 fra
.me
.REG
[4] = CALL_parser___lexer___Token___text(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7846 fra
.me
.REG
[4] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7847 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7848 fra
.me
.REG
[1] = fra
.me
.REG
[4];
7850 /* ./syntax//mmbuilder.nit:1061 */
7851 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7852 /* ./syntax//mmbuilder.nit:1062 */
7853 fra
.me
.REG
[0] = NEW_MMSrcAttribute_syntax___syntax_base___MMSrcAttribute___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
7854 /* ./syntax//mmbuilder.nit:1063 */
7855 ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
7856 /* ./syntax//mmbuilder.nit:1064 */
7857 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7858 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
7859 /* ./syntax//mmbuilder.nit:1066 */
7860 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7861 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7862 if (UNTAG_Bool(REGB0
)) {
7864 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7865 if (UNTAG_Bool(REGB1
)) {
7866 REGB1
= TAG_Bool(false);
7869 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7873 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7874 if (UNTAG_Bool(REGB0
)) {
7875 REGB0
= TAG_Bool(true);
7877 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7878 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7879 if (UNTAG_Bool(REGB1
)) {
7881 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7882 if (UNTAG_Bool(REGB2
)) {
7883 REGB2
= TAG_Bool(false);
7886 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7892 if (UNTAG_Bool(REGB0
)) {
7893 /* ./syntax//mmbuilder.nit:1067 */
7894 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7895 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7896 if (UNTAG_Bool(REGB0
)) {
7898 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7899 if (UNTAG_Bool(REGB1
)) {
7900 REGB1
= TAG_Bool(false);
7903 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7907 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7908 if (UNTAG_Bool(REGB0
)) {
7909 /* ./syntax//mmbuilder.nit:1068 */
7910 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7911 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7912 if (UNTAG_Bool(REGB0
)) {
7913 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1068);
7915 fra
.me
.REG
[0] = CALL_parser___lexer___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7917 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
7918 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7919 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7921 /* ./syntax//mmbuilder.nit:1070 */
7922 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7923 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7924 if (UNTAG_Bool(REGB0
)) {
7925 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1070);
7927 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7928 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7930 /* ./syntax//mmbuilder.nit:1072 */
7931 fra
.me
.REG
[0] = NEW_MMReadImplementationMethod_syntax___syntax_base___MMReadImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
7932 /* ./syntax//mmbuilder.nit:1073 */
7933 ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
7934 /* ./syntax//mmbuilder.nit:1074 */
7935 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7936 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
7938 /* ./syntax//mmbuilder.nit:1076 */
7939 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7940 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7941 if (UNTAG_Bool(REGB0
)) {
7943 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7944 if (UNTAG_Bool(REGB1
)) {
7945 REGB1
= TAG_Bool(false);
7948 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7952 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7953 if (UNTAG_Bool(REGB0
)) {
7954 REGB0
= TAG_Bool(true);
7956 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7957 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7958 if (UNTAG_Bool(REGB1
)) {
7960 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7961 if (UNTAG_Bool(REGB2
)) {
7962 REGB2
= TAG_Bool(false);
7965 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7971 if (UNTAG_Bool(REGB0
)) {
7972 /* ./syntax//mmbuilder.nit:1077 */
7973 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7974 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7975 if (UNTAG_Bool(REGB0
)) {
7977 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7978 if (UNTAG_Bool(REGB1
)) {
7979 REGB1
= TAG_Bool(false);
7982 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7986 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7987 if (UNTAG_Bool(REGB0
)) {
7988 /* ./syntax//mmbuilder.nit:1078 */
7989 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7990 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7991 if (UNTAG_Bool(REGB0
)) {
7992 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1078);
7994 fra
.me
.REG
[0] = CALL_parser___lexer___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7996 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
7997 if (!once_value_2
) {
7998 fra
.me
.REG
[5] = BOX_NativeString("=");
8000 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8001 once_value_2
= fra
.me
.REG
[5];
8002 register_static_object(&once_value_2
);
8003 } else fra
.me
.REG
[5] = once_value_2
;
8004 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8005 fra
.me
.REG
[5] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
8006 fra
.me
.REG
[5] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8007 fra
.me
.REG
[1] = fra
.me
.REG
[5];
8009 /* ./syntax//mmbuilder.nit:1080 */
8010 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8011 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8012 if (UNTAG_Bool(REGB0
)) {
8013 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1080);
8015 fra
.me
.REG
[5] = CALL_parser___lexer___Token___text(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8016 if (!once_value_3
) {
8017 fra
.me
.REG
[0] = BOX_NativeString("=");
8019 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
8020 once_value_3
= fra
.me
.REG
[0];
8021 register_static_object(&once_value_3
);
8022 } else fra
.me
.REG
[0] = once_value_3
;
8023 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8024 fra
.me
.REG
[0] = CALL_standard___string___String_____plus(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
8025 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8026 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8028 /* ./syntax//mmbuilder.nit:1082 */
8029 fra
.me
.REG
[4] = NEW_MMWriteImplementationMethod_syntax___syntax_base___MMWriteImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8030 /* ./syntax//mmbuilder.nit:1083 */
8031 ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]) = fra
.me
.REG
[4];
8032 /* ./syntax//mmbuilder.nit:1084 */
8033 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8034 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8036 stack_frame_head
= fra
.me
.prev
;
8039 void syntax___mmbuilder___AAttrPropdef___accept_property_verifier(val_t p0
, val_t p1
){
8040 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
8046 static val_t once_value_2
; /* Once value */
8047 static val_t once_value_3
; /* Once value */
8048 static val_t once_value_4
; /* Once value */
8049 static val_t once_value_5
; /* Once value */
8050 static val_t once_value_6
; /* Once value */
8051 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8052 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8054 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_verifier
;
8055 fra
.me
.has_broke
= 0;
8056 fra
.me
.REG_size
= 7;
8057 fra
.me
.REG
[0] = NIT_NULL
;
8058 fra
.me
.REG
[1] = NIT_NULL
;
8059 fra
.me
.REG
[2] = NIT_NULL
;
8060 fra
.me
.REG
[3] = NIT_NULL
;
8061 fra
.me
.REG
[4] = NIT_NULL
;
8062 fra
.me
.REG
[5] = NIT_NULL
;
8063 fra
.me
.REG
[6] = NIT_NULL
;
8066 /* ./syntax//mmbuilder.nit:1088 */
8067 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8068 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8069 /* ./syntax//mmbuilder.nit:1090 */
8070 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8071 /* ./syntax//mmbuilder.nit:1092 */
8072 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8073 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8074 if (UNTAG_Bool(REGB0
)) {
8076 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8077 if (UNTAG_Bool(REGB1
)) {
8078 REGB1
= TAG_Bool(false);
8081 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8085 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8086 if (UNTAG_Bool(REGB0
)) {
8087 /* ./syntax//mmbuilder.nit:1093 */
8088 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8089 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8090 if (UNTAG_Bool(REGB0
)) {
8091 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1093);
8093 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
8094 /* ./syntax//mmbuilder.nit:1094 */
8095 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8096 if (UNTAG_Bool(REGB0
)) {
8098 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8099 if (UNTAG_Bool(REGB1
)) {
8100 REGB1
= TAG_Bool(false);
8103 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8107 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8108 if (UNTAG_Bool(REGB0
)) {
8113 /* ./syntax//mmbuilder.nit:1096 */
8115 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
8116 if (!once_value_2
) {
8117 fra
.me
.REG
[5] = BOX_NativeString("Not yet implemented: Attribute definition ");
8118 REGB0
= TAG_Int(42);
8119 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8120 once_value_2
= fra
.me
.REG
[5];
8121 register_static_object(&once_value_2
);
8122 } else fra
.me
.REG
[5] = once_value_2
;
8123 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8125 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8126 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8127 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8128 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8129 if (!once_value_3
) {
8130 fra
.me
.REG
[5] = BOX_NativeString("::");
8132 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8133 once_value_3
= fra
.me
.REG
[5];
8134 register_static_object(&once_value_3
);
8135 } else fra
.me
.REG
[5] = once_value_3
;
8136 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8137 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8138 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8139 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8140 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8141 if (!once_value_4
) {
8142 fra
.me
.REG
[5] = BOX_NativeString(" requires an explicit type.");
8143 REGB0
= TAG_Int(27);
8144 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
8145 once_value_4
= fra
.me
.REG
[5];
8146 register_static_object(&once_value_4
);
8147 } else fra
.me
.REG
[5] = once_value_4
;
8148 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8149 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8150 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8151 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
8152 /* ./syntax//mmbuilder.nit:1097 */
8155 /* ./syntax//mmbuilder.nit:1100 */
8156 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8157 /* ./syntax//mmbuilder.nit:1101 */
8158 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
8159 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8160 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8161 fra
.me
.REG
[6] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[6]);
8162 /* ./syntax//mmbuilder.nit:1102 */
8163 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8164 /* ./syntax//mmbuilder.nit:1103 */
8165 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8166 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8167 /* ./syntax//mmbuilder.nit:1104 */
8168 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8169 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8170 if (UNTAG_Bool(REGB1
)) {
8172 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8173 if (UNTAG_Bool(REGB2
)) {
8174 REGB2
= TAG_Bool(false);
8177 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8181 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8182 if (UNTAG_Bool(REGB1
)) {
8183 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8184 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8185 if (UNTAG_Bool(REGB1
)) {
8187 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8188 if (UNTAG_Bool(REGB2
)) {
8189 REGB2
= TAG_Bool(false);
8192 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8196 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8198 REGB2
= TAG_Bool(false);
8201 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
);
8202 /* ./syntax//mmbuilder.nit:1105 */
8203 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8204 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8205 if (UNTAG_Bool(REGB1
)) {
8207 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8208 if (UNTAG_Bool(REGB2
)) {
8209 REGB2
= TAG_Bool(false);
8212 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8216 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8217 if (UNTAG_Bool(REGB1
)) {
8218 REGB1
= TAG_Bool(true);
8220 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8221 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8222 if (UNTAG_Bool(REGB2
)) {
8224 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8225 if (UNTAG_Bool(REGB3
)) {
8226 REGB3
= TAG_Bool(false);
8229 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8235 if (UNTAG_Bool(REGB1
)) {
8236 /* ./syntax//mmbuilder.nit:1106 */
8237 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]);
8238 REGB1
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8239 if (UNTAG_Bool(REGB1
)) {
8241 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1106);
8243 /* ./syntax//mmbuilder.nit:1107 */
8244 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8245 /* ./syntax//mmbuilder.nit:1108 */
8246 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8247 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8248 if (UNTAG_Bool(REGB1
)) {
8250 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8251 if (UNTAG_Bool(REGB2
)) {
8252 REGB2
= TAG_Bool(false);
8255 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8259 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8260 if (UNTAG_Bool(REGB1
)) {
8261 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8262 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8263 if (UNTAG_Bool(REGB1
)) {
8264 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1108);
8266 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_kwredef(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8267 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8268 if (UNTAG_Bool(REGB1
)) {
8270 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8271 if (UNTAG_Bool(REGB2
)) {
8272 REGB2
= TAG_Bool(false);
8275 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8279 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8281 REGB2
= TAG_Bool(false);
8284 if (UNTAG_Bool(REGB1
)) {
8285 REGB1
= TAG_Bool(true);
8287 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8288 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8289 if (UNTAG_Bool(REGB2
)) {
8291 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8292 if (UNTAG_Bool(REGB3
)) {
8293 REGB3
= TAG_Bool(false);
8296 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8300 if (UNTAG_Bool(REGB2
)) {
8301 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8302 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8303 if (UNTAG_Bool(REGB2
)) {
8305 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8306 if (UNTAG_Bool(REGB3
)) {
8307 REGB3
= TAG_Bool(false);
8310 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8314 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
8316 REGB3
= TAG_Bool(false);
8321 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
);
8322 /* ./syntax//mmbuilder.nit:1109 */
8323 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8324 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8325 if (UNTAG_Bool(REGB1
)) {
8326 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1109);
8328 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8330 /* ./syntax//mmbuilder.nit:1111 */
8331 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8332 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8333 if (UNTAG_Bool(REGB1
)) {
8335 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8336 if (UNTAG_Bool(REGB2
)) {
8337 REGB2
= TAG_Bool(false);
8340 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8344 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8345 if (UNTAG_Bool(REGB1
)) {
8346 REGB1
= TAG_Bool(true);
8348 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8349 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8350 if (UNTAG_Bool(REGB2
)) {
8352 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8353 if (UNTAG_Bool(REGB3
)) {
8354 REGB3
= TAG_Bool(false);
8357 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8363 if (UNTAG_Bool(REGB1
)) {
8364 /* ./syntax//mmbuilder.nit:1112 */
8365 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]);
8366 REGB1
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8367 if (UNTAG_Bool(REGB1
)) {
8369 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1112);
8371 /* ./syntax//mmbuilder.nit:1113 */
8373 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8374 if (!once_value_5
) {
8375 if (!once_value_6
) {
8376 fra
.me
.REG
[6] = BOX_NativeString("value");
8378 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
8379 once_value_6
= fra
.me
.REG
[6];
8380 register_static_object(&once_value_6
);
8381 } else fra
.me
.REG
[6] = once_value_6
;
8382 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8383 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8384 once_value_5
= fra
.me
.REG
[6];
8385 register_static_object(&once_value_5
);
8386 } else fra
.me
.REG
[6] = once_value_5
;
8387 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8388 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[1], fra
.me
.REG
[6]);
8389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
8390 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_items(fra
.me
.REG
[0]);
8391 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8392 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8393 fra
.me
.REG
[6] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[6]);
8394 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8395 /* ./syntax//mmbuilder.nit:1115 */
8396 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8397 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8398 if (UNTAG_Bool(REGB1
)) {
8400 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8401 if (UNTAG_Bool(REGB2
)) {
8402 REGB2
= TAG_Bool(false);
8405 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8409 if (UNTAG_Bool(REGB1
)) {
8410 /* ./syntax//mmbuilder.nit:1116 */
8411 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8412 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8413 if (UNTAG_Bool(REGB1
)) {
8415 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8416 if (UNTAG_Bool(REGB2
)) {
8417 REGB2
= TAG_Bool(false);
8420 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8424 if (UNTAG_Bool(REGB1
)) {
8428 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8429 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8430 if (UNTAG_Bool(REGB1
)) {
8431 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1116);
8433 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_visibility(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8434 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8435 if (UNTAG_Bool(REGB1
)) {
8436 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1116);
8438 REGB1
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8442 /* ./syntax//mmbuilder.nit:1118 */
8443 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8444 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8445 if (UNTAG_Bool(REGB1
)) {
8447 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8448 if (UNTAG_Bool(REGB2
)) {
8449 REGB2
= TAG_Bool(false);
8452 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8456 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8457 if (UNTAG_Bool(REGB1
)) {
8458 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8459 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8460 if (UNTAG_Bool(REGB1
)) {
8461 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1118);
8463 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_kwredef(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8464 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8465 if (UNTAG_Bool(REGB1
)) {
8467 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8468 if (UNTAG_Bool(REGB2
)) {
8469 REGB2
= TAG_Bool(false);
8472 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8476 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8478 REGB2
= TAG_Bool(false);
8481 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
);
8482 /* ./syntax//mmbuilder.nit:1119 */
8483 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8484 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
8485 if (UNTAG_Bool(REGB0
)) {
8486 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1119);
8488 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8491 stack_frame_head
= fra
.me
.prev
;
8494 void syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
8495 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8497 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8498 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8500 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
;
8501 fra
.me
.has_broke
= 0;
8502 fra
.me
.REG_size
= 4;
8503 fra
.me
.REG
[0] = NIT_NULL
;
8504 fra
.me
.REG
[1] = NIT_NULL
;
8505 fra
.me
.REG
[2] = NIT_NULL
;
8506 fra
.me
.REG
[3] = NIT_NULL
;
8509 /* ./syntax//mmbuilder.nit:1123 */
8510 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8511 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8512 /* ./syntax//mmbuilder.nit:1125 */
8513 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]);
8514 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
8515 /* ./syntax//mmbuilder.nit:1126 */
8516 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8517 /* ./syntax//mmbuilder.nit:1127 */
8518 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
8519 stack_frame_head
= fra
.me
.prev
;
8522 val_t
syntax___mmbuilder___AMethPropdef___name(val_t p0
){
8523 struct {struct stack_frame_t me
;} fra
;
8525 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8526 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8528 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___name
;
8529 fra
.me
.has_broke
= 0;
8530 fra
.me
.REG_size
= 1;
8531 fra
.me
.REG
[0] = NIT_NULL
;
8533 /* ./syntax//mmbuilder.nit:1132 */
8534 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethPropdef____name(fra
.me
.REG
[0]);
8535 stack_frame_head
= fra
.me
.prev
;
8536 return fra
.me
.REG
[0];
8538 val_t
syntax___mmbuilder___AMethPropdef___method(val_t p0
){
8539 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8542 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8543 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8545 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___method
;
8546 fra
.me
.has_broke
= 0;
8547 fra
.me
.REG_size
= 2;
8548 fra
.me
.REG
[0] = NIT_NULL
;
8549 fra
.me
.REG
[1] = NIT_NULL
;
8551 /* ./syntax//mmbuilder.nit:1136 */
8552 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8553 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[1]);
8554 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
8555 if (UNTAG_Bool(REGB0
)) {
8557 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1136);
8561 stack_frame_head
= fra
.me
.prev
;
8562 return fra
.me
.REG
[1];
8564 void syntax___mmbuilder___AMethPropdef___accept_property_builder(val_t p0
, val_t p1
){
8565 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
8570 static val_t once_value_1
; /* Once value */
8571 static val_t once_value_2
; /* Once value */
8572 static val_t once_value_3
; /* Once value */
8573 static val_t once_value_4
; /* Once value */
8574 static val_t once_value_5
; /* Once value */
8575 static val_t once_value_6
; /* Once value */
8576 static val_t once_value_7
; /* Once value */
8577 static val_t once_value_8
; /* Once value */
8578 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8579 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8581 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_builder
;
8582 fra
.me
.has_broke
= 0;
8583 fra
.me
.REG_size
= 5;
8584 fra
.me
.REG
[0] = NIT_NULL
;
8585 fra
.me
.REG
[1] = NIT_NULL
;
8586 fra
.me
.REG
[2] = NIT_NULL
;
8587 fra
.me
.REG
[3] = NIT_NULL
;
8588 fra
.me
.REG
[4] = NIT_NULL
;
8591 /* ./syntax//mmbuilder.nit:1138 */
8592 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8593 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8594 /* ./syntax//mmbuilder.nit:1140 */
8595 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8596 /* ./syntax//mmbuilder.nit:1142 */
8597 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8598 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8599 if (UNTAG_Bool(REGB0
)) {
8601 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8602 if (UNTAG_Bool(REGB1
)) {
8603 REGB1
= TAG_Bool(false);
8606 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8610 if (UNTAG_Bool(REGB0
)) {
8611 /* ./syntax//mmbuilder.nit:1143 */
8612 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_parser___parser_nodes___AInitPropdef
, ID_parser___parser_nodes___AInitPropdef
)) /*cast AInitPropdef*/;
8613 if (UNTAG_Bool(REGB0
)) {
8614 /* ./syntax//mmbuilder.nit:1144 */
8615 if (!once_value_1
) {
8616 if (!once_value_2
) {
8617 fra
.me
.REG
[1] = BOX_NativeString("init");
8619 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
8620 once_value_2
= fra
.me
.REG
[1];
8621 register_static_object(&once_value_2
);
8622 } else fra
.me
.REG
[1] = once_value_2
;
8623 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8624 fra
.me
.REG
[1] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8625 once_value_1
= fra
.me
.REG
[1];
8626 register_static_object(&once_value_1
);
8627 } else fra
.me
.REG
[1] = once_value_1
;
8628 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8630 /* ./syntax//mmbuilder.nit:1146 */
8631 if (!once_value_3
) {
8632 if (!once_value_4
) {
8633 fra
.me
.REG
[4] = BOX_NativeString("main");
8635 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8636 once_value_4
= fra
.me
.REG
[4];
8637 register_static_object(&once_value_4
);
8638 } else fra
.me
.REG
[4] = once_value_4
;
8639 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8640 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8641 once_value_3
= fra
.me
.REG
[4];
8642 register_static_object(&once_value_3
);
8643 } else fra
.me
.REG
[4] = once_value_3
;
8644 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8645 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8648 /* ./syntax//mmbuilder.nit:1149 */
8649 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8650 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8651 if (UNTAG_Bool(REGB0
)) {
8652 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1149);
8654 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethid___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8655 REGB0
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8656 if (UNTAG_Bool(REGB0
)) {
8658 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1149);
8660 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8661 /* ./syntax//mmbuilder.nit:1151 */
8662 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8663 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8664 if (UNTAG_Bool(REGB0
)) {
8665 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1151);
8667 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethid___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8668 if (!once_value_5
) {
8669 if (!once_value_6
) {
8670 fra
.me
.REG
[0] = BOX_NativeString("-");
8672 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
8673 once_value_6
= fra
.me
.REG
[0];
8674 register_static_object(&once_value_6
);
8675 } else fra
.me
.REG
[0] = once_value_6
;
8676 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8677 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8678 once_value_5
= fra
.me
.REG
[0];
8679 register_static_object(&once_value_5
);
8680 } else fra
.me
.REG
[0] = once_value_5
;
8681 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8682 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
8683 if (UNTAG_Bool(REGB0
)) {
8685 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8686 if (UNTAG_Bool(REGB1
)) {
8687 REGB1
= TAG_Bool(false);
8690 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
8694 if (UNTAG_Bool(REGB0
)) {
8695 /* ./syntax//mmbuilder.nit:1152 */
8696 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8697 /* ./syntax//mmbuilder.nit:1153 */
8698 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8699 if (UNTAG_Bool(REGB0
)) {
8701 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8702 if (UNTAG_Bool(REGB1
)) {
8703 REGB1
= TAG_Bool(false);
8706 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8710 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8711 if (UNTAG_Bool(REGB0
)) {
8712 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8713 if (UNTAG_Bool(REGB0
)) {
8714 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1153);
8716 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8717 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8719 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
8720 if (UNTAG_Bool(REGB2
)) {
8722 /* ./../lib/standard//kernel.nit:227 */
8723 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
8724 /* ./syntax//mmbuilder.nit:1153 */
8728 REGB1
= TAG_Bool(false);
8731 if (UNTAG_Bool(REGB2
)) {
8732 /* ./syntax//mmbuilder.nit:1154 */
8733 if (!once_value_7
) {
8734 if (!once_value_8
) {
8735 fra
.me
.REG
[0] = BOX_NativeString("unary -");
8737 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
8738 once_value_8
= fra
.me
.REG
[0];
8739 register_static_object(&once_value_8
);
8740 } else fra
.me
.REG
[0] = once_value_8
;
8741 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8742 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8743 once_value_7
= fra
.me
.REG
[0];
8744 register_static_object(&once_value_7
);
8745 } else fra
.me
.REG
[0] = once_value_7
;
8746 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8747 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8751 /* ./syntax//mmbuilder.nit:1158 */
8752 ATTR_syntax___mmbuilder___AMethPropdef____name(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
8753 /* ./syntax//mmbuilder.nit:1159 */
8754 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8755 fra
.me
.REG
[0] = NEW_MMMethSrcMethod_syntax___syntax_base___MMMethSrcMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
8756 /* ./syntax//mmbuilder.nit:1160 */
8757 ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
8758 /* ./syntax//mmbuilder.nit:1161 */
8759 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8760 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
8761 stack_frame_head
= fra
.me
.prev
;
8764 void syntax___mmbuilder___AMethPropdef___accept_property_verifier(val_t p0
, val_t p1
){
8765 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
8771 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8772 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8774 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_verifier
;
8775 fra
.me
.has_broke
= 0;
8776 fra
.me
.REG_size
= 5;
8777 fra
.me
.REG
[0] = NIT_NULL
;
8778 fra
.me
.REG
[1] = NIT_NULL
;
8779 fra
.me
.REG
[2] = NIT_NULL
;
8780 fra
.me
.REG
[3] = NIT_NULL
;
8781 fra
.me
.REG
[4] = NIT_NULL
;
8784 /* ./syntax//mmbuilder.nit:1164 */
8785 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8786 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8787 /* ./syntax//mmbuilder.nit:1166 */
8788 fra
.me
.REG
[4] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
8789 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
8790 /* ./syntax//mmbuilder.nit:1167 */
8791 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8792 /* ./syntax//mmbuilder.nit:1169 */
8793 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8794 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8795 if (UNTAG_Bool(REGB0
)) {
8798 /* ./syntax//mmbuilder.nit:1171 */
8799 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8800 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8801 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8802 if (UNTAG_Bool(REGB0
)) {
8804 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8805 if (UNTAG_Bool(REGB1
)) {
8806 REGB1
= TAG_Bool(false);
8809 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8813 if (UNTAG_Bool(REGB0
)) {
8815 /* ./syntax//mmbuilder.nit:1174 */
8816 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8817 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8818 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8819 REGB0
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8820 if (UNTAG_Bool(REGB0
)) {
8822 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1174);
8824 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
8826 /* ./syntax//mmbuilder.nit:1176 */
8828 /* ./syntax//mmbuilder.nit:1177 */
8829 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8830 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8831 if (UNTAG_Bool(REGB1
)) {
8833 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8834 if (UNTAG_Bool(REGB2
)) {
8835 REGB2
= TAG_Bool(false);
8838 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8842 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8843 if (UNTAG_Bool(REGB1
)) {
8844 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8845 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8846 if (UNTAG_Bool(REGB1
)) {
8847 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1177);
8849 REGB1
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8851 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
8852 if (UNTAG_Bool(REGB3
)) {
8854 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
8856 /* ./../lib/standard//kernel.nit:234 */
8857 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
8859 /* ./syntax//mmbuilder.nit:1177 */
8860 REGB1
= TAG_Bool(false);
8863 if (UNTAG_Bool(REGB2
)) {
8864 /* ./syntax//mmbuilder.nit:1178 */
8865 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8866 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8867 if (UNTAG_Bool(REGB2
)) {
8868 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1178);
8870 REGB2
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8873 /* ./syntax//mmbuilder.nit:1180 */
8874 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8875 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AMethPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8876 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8877 if (UNTAG_Bool(REGB2
)) {
8879 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8880 if (UNTAG_Bool(REGB1
)) {
8881 REGB1
= TAG_Bool(false);
8884 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8888 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
8889 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
);
8890 /* ./syntax//mmbuilder.nit:1181 */
8891 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8892 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8893 if (UNTAG_Bool(REGB0
)) {
8895 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8896 if (UNTAG_Bool(REGB2
)) {
8897 REGB2
= TAG_Bool(false);
8900 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8904 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8905 if (UNTAG_Bool(REGB0
)) {
8906 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8907 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8908 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8909 if (UNTAG_Bool(REGB0
)) {
8910 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1181);
8912 CALL_syntax___mmbuilder___ASignature___check_visibility(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[2]);
8915 stack_frame_head
= fra
.me
.prev
;
8918 void syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
8919 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8921 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8922 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8924 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor
;
8925 fra
.me
.has_broke
= 0;
8926 fra
.me
.REG_size
= 4;
8927 fra
.me
.REG
[0] = NIT_NULL
;
8928 fra
.me
.REG
[1] = NIT_NULL
;
8929 fra
.me
.REG
[2] = NIT_NULL
;
8930 fra
.me
.REG
[3] = NIT_NULL
;
8933 /* ./syntax//mmbuilder.nit:1184 */
8934 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8935 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8936 /* ./syntax//mmbuilder.nit:1186 */
8937 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]);
8938 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
8939 /* ./syntax//mmbuilder.nit:1187 */
8940 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8941 /* ./syntax//mmbuilder.nit:1188 */
8942 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
8943 stack_frame_head
= fra
.me
.prev
;
8946 void syntax___mmbuilder___AMainMethPropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
8947 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
8951 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8952 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8954 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMainMethPropdef___process_and_check
;
8955 fra
.me
.has_broke
= 0;
8956 fra
.me
.REG_size
= 3;
8957 fra
.me
.REG
[0] = NIT_NULL
;
8958 fra
.me
.REG
[1] = NIT_NULL
;
8959 fra
.me
.REG
[2] = NIT_NULL
;
8965 /* ./syntax//mmbuilder.nit:1195 */
8966 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8967 CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
8968 /* ./syntax//mmbuilder.nit:1196 */
8969 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
8970 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8971 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8972 fra
.me
.REG
[1] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[1]);
8973 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
8974 stack_frame_head
= fra
.me
.prev
;
8977 void syntax___mmbuilder___AExternPropdef___accept_property_verifier(val_t p0
, val_t p1
){
8978 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
8983 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8984 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8986 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExternPropdef___accept_property_verifier
;
8987 fra
.me
.has_broke
= 0;
8988 fra
.me
.REG_size
= 3;
8989 fra
.me
.REG
[0] = NIT_NULL
;
8990 fra
.me
.REG
[1] = NIT_NULL
;
8991 fra
.me
.REG
[2] = NIT_NULL
;
8994 /* ./syntax//mmbuilder.nit:1202 */
8995 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8996 /* ./syntax//mmbuilder.nit:1204 */
8997 CALL_SUPER_syntax___mmbuilder___AExternPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8998 /* ./syntax//mmbuilder.nit:1206 */
8999 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9000 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9001 if (UNTAG_Bool(REGB0
)) {
9003 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9004 if (UNTAG_Bool(REGB1
)) {
9005 REGB1
= TAG_Bool(false);
9008 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9012 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9013 if (UNTAG_Bool(REGB0
)) {
9014 /* ./syntax//mmbuilder.nit:1207 */
9015 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9016 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9017 if (UNTAG_Bool(REGB0
)) {
9018 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1207);
9020 fra
.me
.REG
[1] = CALL_parser___lexer___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9021 /* ./syntax//mmbuilder.nit:1208 */
9023 /* ./../lib/standard//collection//array.nit:24 */
9024 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
9025 if (UNTAG_Bool(REGB1
)) {
9027 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9029 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
9030 /* ./syntax//mmbuilder.nit:1208 */
9032 /* ./../lib/standard//kernel.nit:237 */
9033 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
9034 /* ./syntax//mmbuilder.nit:1208 */
9035 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB2
);
9036 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9038 /* ./syntax//mmbuilder.nit:1210 */
9039 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9040 fra
.me
.REG
[0] = CALL_primitive_info___MMMethod___default_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9041 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9043 /* ./syntax//mmbuilder.nit:1212 */
9044 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9045 CALL_syntax___syntax_base___MMMethSrcMethod___extern_name__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
9046 stack_frame_head
= fra
.me
.prev
;
9049 val_t
syntax___mmbuilder___ATypePropdef___prop(val_t p0
){
9050 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9053 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9054 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9056 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___prop
;
9057 fra
.me
.has_broke
= 0;
9058 fra
.me
.REG_size
= 2;
9059 fra
.me
.REG
[0] = NIT_NULL
;
9060 fra
.me
.REG
[1] = NIT_NULL
;
9062 /* ./syntax//mmbuilder.nit:1217 */
9063 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9064 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[1]);
9065 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
9066 if (UNTAG_Bool(REGB0
)) {
9068 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1217);
9072 stack_frame_head
= fra
.me
.prev
;
9073 return fra
.me
.REG
[1];
9075 void syntax___mmbuilder___ATypePropdef___accept_property_builder(val_t p0
, val_t p1
){
9076 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9078 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9079 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9081 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_builder
;
9082 fra
.me
.has_broke
= 0;
9083 fra
.me
.REG_size
= 4;
9084 fra
.me
.REG
[0] = NIT_NULL
;
9085 fra
.me
.REG
[1] = NIT_NULL
;
9086 fra
.me
.REG
[2] = NIT_NULL
;
9087 fra
.me
.REG
[3] = NIT_NULL
;
9090 /* ./syntax//mmbuilder.nit:1220 */
9091 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9092 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9093 /* ./syntax//mmbuilder.nit:1222 */
9094 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9095 /* ./syntax//mmbuilder.nit:1223 */
9096 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ATypePropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9097 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9098 /* ./syntax//mmbuilder.nit:1224 */
9099 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9100 fra
.me
.REG
[0] = NEW_MMSrcTypeProperty_syntax___syntax_base___MMSrcTypeProperty___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
9101 /* ./syntax//mmbuilder.nit:1225 */
9102 ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
9103 /* ./syntax//mmbuilder.nit:1226 */
9104 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9105 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
9106 stack_frame_head
= fra
.me
.prev
;
9109 void syntax___mmbuilder___ATypePropdef___accept_property_verifier(val_t p0
, val_t p1
){
9110 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
9115 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9116 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9118 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_verifier
;
9119 fra
.me
.has_broke
= 0;
9120 fra
.me
.REG_size
= 5;
9121 fra
.me
.REG
[0] = NIT_NULL
;
9122 fra
.me
.REG
[1] = NIT_NULL
;
9123 fra
.me
.REG
[2] = NIT_NULL
;
9124 fra
.me
.REG
[3] = NIT_NULL
;
9125 fra
.me
.REG
[4] = NIT_NULL
;
9128 /* ./syntax//mmbuilder.nit:1229 */
9129 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9130 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9131 /* ./syntax//mmbuilder.nit:1231 */
9132 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9133 /* ./syntax//mmbuilder.nit:1232 */
9134 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
9135 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9136 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
9137 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9138 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9139 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
9140 /* ./syntax//mmbuilder.nit:1233 */
9141 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9142 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
9143 /* ./syntax//mmbuilder.nit:1234 */
9144 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ATypePropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9145 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9146 /* ./syntax//mmbuilder.nit:1235 */
9147 fra
.me
.REG
[4] = CALL_syntax___syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9148 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ATypePropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9149 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9150 if (UNTAG_Bool(REGB1
)) {
9152 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9153 if (UNTAG_Bool(REGB2
)) {
9154 REGB2
= TAG_Bool(false);
9157 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9161 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9162 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
);
9163 stack_frame_head
= fra
.me
.prev
;
9166 void syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
9167 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9169 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9170 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9172 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor
;
9173 fra
.me
.has_broke
= 0;
9174 fra
.me
.REG_size
= 4;
9175 fra
.me
.REG
[0] = NIT_NULL
;
9176 fra
.me
.REG
[1] = NIT_NULL
;
9177 fra
.me
.REG
[2] = NIT_NULL
;
9178 fra
.me
.REG
[3] = NIT_NULL
;
9181 /* ./syntax//mmbuilder.nit:1238 */
9182 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9183 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9184 /* ./syntax//mmbuilder.nit:1240 */
9185 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]);
9186 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9187 /* ./syntax//mmbuilder.nit:1241 */
9188 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9189 /* ./syntax//mmbuilder.nit:1242 */
9190 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9191 stack_frame_head
= fra
.me
.prev
;
9194 val_t
syntax___mmbuilder___MethidAccumulator___name(val_t p0
){
9195 struct {struct stack_frame_t me
;} fra
;
9198 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9199 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9201 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MethidAccumulator___name
;
9202 fra
.me
.has_broke
= 0;
9203 fra
.me
.REG_size
= 1;
9204 fra
.me
.REG
[0] = NIT_NULL
;
9206 /* ./syntax//mmbuilder.nit:1249 */
9207 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
9208 if (UNTAG_Bool(REGB0
)) {
9210 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder
, 1249);
9212 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
9213 stack_frame_head
= fra
.me
.prev
;
9214 return fra
.me
.REG
[0];
9216 void syntax___mmbuilder___MethidAccumulator___visit(val_t p0
, val_t p1
){
9217 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9220 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9221 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9223 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MethidAccumulator___visit
;
9224 fra
.me
.has_broke
= 0;
9225 fra
.me
.REG_size
= 4;
9226 fra
.me
.REG
[0] = NIT_NULL
;
9227 fra
.me
.REG
[1] = NIT_NULL
;
9228 fra
.me
.REG
[2] = NIT_NULL
;
9229 fra
.me
.REG
[3] = NIT_NULL
;
9232 /* ./syntax//mmbuilder.nit:1252 */
9233 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*/;
9234 if (UNTAG_Bool(REGB0
)) {
9235 /* ./syntax//mmbuilder.nit:1253 */
9236 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
9237 if (UNTAG_Bool(REGB0
)) {
9239 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder
, 1253);
9241 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
9242 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9243 if (UNTAG_Bool(REGB0
)) {
9244 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1253);
9246 fra
.me
.REG
[3] = CALL_parser___lexer___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9247 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9249 /* ./syntax//mmbuilder.nit:1255 */
9250 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9251 if (UNTAG_Bool(REGB0
)) {
9252 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1255);
9254 CALL_parser___parser_prod___ANode___visit_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
9256 stack_frame_head
= fra
.me
.prev
;
9259 val_t
syntax___mmbuilder___AMethid___name(val_t p0
){
9260 struct {struct stack_frame_t me
;} fra
;
9262 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9263 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9265 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethid___name
;
9266 fra
.me
.has_broke
= 0;
9267 fra
.me
.REG_size
= 1;
9268 fra
.me
.REG
[0] = NIT_NULL
;
9270 /* ./syntax//mmbuilder.nit:1261 */
9271 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethid____name(fra
.me
.REG
[0]);
9272 stack_frame_head
= fra
.me
.prev
;
9273 return fra
.me
.REG
[0];
9275 void syntax___mmbuilder___AMethid___accept_property_builder(val_t p0
, val_t p1
){
9276 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9278 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9279 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9281 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethid___accept_property_builder
;
9282 fra
.me
.has_broke
= 0;
9283 fra
.me
.REG_size
= 4;
9284 fra
.me
.REG
[0] = NIT_NULL
;
9285 fra
.me
.REG
[1] = NIT_NULL
;
9286 fra
.me
.REG
[2] = NIT_NULL
;
9287 fra
.me
.REG
[3] = NIT_NULL
;
9290 /* ./syntax//mmbuilder.nit:1263 */
9291 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9292 /* ./syntax//mmbuilder.nit:1265 */
9293 fra
.me
.REG
[3] = NEW_MethidAccumulator_parser___parser_prod___Visitor___init();
9294 /* ./syntax//mmbuilder.nit:1266 */
9295 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9296 /* ./syntax//mmbuilder.nit:1267 */
9297 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___MethidAccumulator___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9298 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9299 fra
.me
.REG
[3] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9300 ATTR_syntax___mmbuilder___AMethid____name(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
9301 /* ./syntax//mmbuilder.nit:1268 */
9302 CALL_SUPER_syntax___mmbuilder___AMethid___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9303 stack_frame_head
= fra
.me
.prev
;
9306 void syntax___mmbuilder___ASignature___accept_property_verifier(val_t p0
, val_t p1
){
9307 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
9312 static val_t once_value_2
; /* Once value */
9313 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9314 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9316 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___accept_property_verifier
;
9317 fra
.me
.has_broke
= 0;
9318 fra
.me
.REG_size
= 8;
9319 fra
.me
.REG
[0] = NIT_NULL
;
9320 fra
.me
.REG
[1] = NIT_NULL
;
9321 fra
.me
.REG
[2] = NIT_NULL
;
9322 fra
.me
.REG
[3] = NIT_NULL
;
9323 fra
.me
.REG
[4] = NIT_NULL
;
9324 fra
.me
.REG
[5] = NIT_NULL
;
9325 fra
.me
.REG
[6] = NIT_NULL
;
9326 fra
.me
.REG
[7] = NIT_NULL
;
9329 /* ./syntax//mmbuilder.nit:1273 */
9330 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9331 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9332 /* ./syntax//mmbuilder.nit:1275 */
9333 CALL_SUPER_syntax___mmbuilder___ASignature___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9334 /* ./syntax//mmbuilder.nit:1276 */
9335 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9336 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9337 if (UNTAG_Bool(REGB0
)) {
9338 /* ./syntax//mmbuilder.nit:1277 */
9341 /* ./syntax//mmbuilder.nit:1278 */
9342 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9343 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9344 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9345 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9346 if (UNTAG_Bool(REGB0
)) {
9347 /* ./syntax//mmbuilder.nit:1279 */
9348 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9349 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9350 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9351 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9352 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9353 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9354 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[1],fra
.me
.REG
[4]));
9355 if (UNTAG_Bool(REGB0
)) {
9357 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9358 if (UNTAG_Bool(REGB1
)) {
9359 REGB1
= TAG_Bool(false);
9362 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
9366 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9367 if (UNTAG_Bool(REGB0
)) {
9368 REGB0
= TAG_Bool(true);
9370 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9371 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9372 if (UNTAG_Bool(REGB1
)) {
9374 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9375 if (UNTAG_Bool(REGB2
)) {
9376 REGB2
= TAG_Bool(false);
9379 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9383 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9386 if (UNTAG_Bool(REGB0
)) {
9387 /* ./syntax//mmbuilder.nit:1280 */
9388 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9389 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9390 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9391 if (!once_value_2
) {
9392 fra
.me
.REG
[1] = BOX_NativeString("Syntax error: untyped parameter.");
9393 REGB0
= TAG_Int(32);
9394 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
9395 once_value_2
= fra
.me
.REG
[1];
9396 register_static_object(&once_value_2
);
9397 } else fra
.me
.REG
[1] = once_value_2
;
9398 fra
.me
.REG
[1] = fra
.me
.REG
[1];
9399 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[1]);
9400 /* ./syntax//mmbuilder.nit:1281 */
9404 /* ./syntax//mmbuilder.nit:1283 */
9405 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9406 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9407 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9408 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9409 if (UNTAG_Bool(REGB0
)) {
9410 REGB0
= TAG_Bool(true);
9412 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9413 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9414 if (UNTAG_Bool(REGB1
)) {
9416 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9417 if (UNTAG_Bool(REGB2
)) {
9418 REGB2
= TAG_Bool(false);
9421 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9425 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9428 if (UNTAG_Bool(REGB0
)) {
9429 /* ./syntax//mmbuilder.nit:1284 */
9430 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
9431 /* ./syntax//mmbuilder.nit:1285 */
9432 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9433 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9434 /* ./../lib/standard//collection//array.nit:269 */
9436 /* ./../lib/standard//collection//array.nit:270 */
9437 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
9438 if (UNTAG_Bool(REGB1
)) {
9440 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
9442 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
9443 /* ./../lib/standard//collection//array.nit:271 */
9444 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
9445 /* ./../lib/standard//collection//array.nit:272 */
9447 /* ./../lib/standard//collection//array.nit:24 */
9448 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
9449 if (UNTAG_Bool(REGB1
)) {
9451 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9453 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
9454 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9455 if (UNTAG_Bool(REGB2
)) {
9457 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9459 /* ./../lib/standard//kernel.nit:232 */
9460 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
9461 /* ./../lib/standard//collection//array.nit:272 */
9462 if (UNTAG_Bool(REGB1
)) {
9463 /* ./../lib/standard//collection//array.nit:273 */
9464 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9465 if (UNTAG_Bool(REGB1
)) {
9466 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
9468 /* ./../lib/standard//collection//array.nit:718 */
9469 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
9470 /* ./syntax//mmbuilder.nit:1286 */
9471 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AParam___stype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9472 REGB1
= TAG_Bool(fra
.me
.REG
[7]!=NIT_NULL
);
9473 if (UNTAG_Bool(REGB1
)) {
9475 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1286);
9477 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9478 fra
.me
.REG
[6] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9479 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[7], fra
.me
.REG
[6]);
9480 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
9481 /* ./../lib/standard//collection//array.nit:274 */
9483 /* ./../lib/standard//kernel.nit:235 */
9484 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
9485 /* ./../lib/standard//collection//array.nit:274 */
9488 /* ./../lib/standard//collection//array.nit:272 */
9493 /* ./syntax//mmbuilder.nit:1288 */
9494 fra
.me
.REG
[0] = NIT_NULL
;
9495 /* ./syntax//mmbuilder.nit:1289 */
9496 fra
.me
.REG
[5] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9497 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9498 if (UNTAG_Bool(REGB0
)) {
9500 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9501 if (UNTAG_Bool(REGB1
)) {
9502 REGB1
= TAG_Bool(false);
9505 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
9509 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9510 if (UNTAG_Bool(REGB0
)) {
9511 /* ./syntax//mmbuilder.nit:1290 */
9512 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9513 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
9514 if (UNTAG_Bool(REGB0
)) {
9515 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1290);
9517 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9518 fra
.me
.REG
[0] = fra
.me
.REG
[2];
9519 /* ./syntax//mmbuilder.nit:1291 */
9520 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9521 if (UNTAG_Bool(REGB0
)) {
9523 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9524 if (UNTAG_Bool(REGB1
)) {
9525 REGB1
= TAG_Bool(false);
9528 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9532 if (UNTAG_Bool(REGB0
)) {
9533 /* ./syntax//mmbuilder.nit:1292 */
9534 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9535 REGB0
= TAG_Bool(true);
9536 CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
9537 /* ./syntax//mmbuilder.nit:1293 */
9541 /* ./syntax//mmbuilder.nit:1296 */
9542 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9543 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9544 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9545 fra
.me
.REG
[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
9546 CALL_syntax___mmbuilder___SignatureBuilder___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
9547 /* ./syntax//mmbuilder.nit:1297 */
9548 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9549 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9551 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9552 if (UNTAG_Bool(REGB2
)) {
9554 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9556 /* ./../lib/standard//kernel.nit:233 */
9557 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
9558 /* ./syntax//mmbuilder.nit:1297 */
9559 if (UNTAG_Bool(REGB1
)) {
9560 /* ./syntax//mmbuilder.nit:1298 */
9561 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9562 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9563 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9564 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9565 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9566 if (UNTAG_Bool(REGB0
)) {
9567 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1298);
9569 CALL_metamodel___vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
9571 /* ./syntax//mmbuilder.nit:1300 */
9572 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9573 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9574 /* ./../lib/standard//collection//array.nit:269 */
9576 /* ./../lib/standard//collection//array.nit:270 */
9577 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9578 if (UNTAG_Bool(REGB0
)) {
9580 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
9582 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9583 /* ./../lib/standard//collection//array.nit:271 */
9584 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
9585 /* ./../lib/standard//collection//array.nit:272 */
9587 /* ./../lib/standard//collection//array.nit:24 */
9588 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9589 if (UNTAG_Bool(REGB0
)) {
9591 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9593 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9594 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9595 if (UNTAG_Bool(REGB2
)) {
9597 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9599 /* ./../lib/standard//kernel.nit:232 */
9600 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
9601 /* ./../lib/standard//collection//array.nit:272 */
9602 if (UNTAG_Bool(REGB0
)) {
9603 /* ./../lib/standard//collection//array.nit:273 */
9604 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
9605 if (UNTAG_Bool(REGB0
)) {
9606 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
9608 /* ./../lib/standard//collection//array.nit:718 */
9609 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
9610 /* ./syntax//mmbuilder.nit:1301 */
9611 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9612 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9613 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9614 if (UNTAG_Bool(REGB0
)) {
9615 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1301);
9617 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9618 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9619 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9620 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
9621 /* ./../lib/standard//collection//array.nit:274 */
9623 /* ./../lib/standard//kernel.nit:235 */
9624 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
9625 /* ./../lib/standard//collection//array.nit:274 */
9628 /* ./../lib/standard//collection//array.nit:272 */
9637 stack_frame_head
= fra
.me
.prev
;
9640 void syntax___mmbuilder___ASignature___check_visibility(val_t p0
, val_t p1
, val_t p2
){
9641 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9646 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9647 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9649 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___check_visibility
;
9650 fra
.me
.has_broke
= 0;
9651 fra
.me
.REG_size
= 4;
9652 fra
.me
.REG
[0] = NIT_NULL
;
9653 fra
.me
.REG
[1] = NIT_NULL
;
9654 fra
.me
.REG
[2] = NIT_NULL
;
9655 fra
.me
.REG
[3] = NIT_NULL
;
9659 /* ./syntax//mmbuilder.nit:1309 */
9660 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9661 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9663 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9664 if (UNTAG_Bool(REGB2
)) {
9666 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9668 /* ./../lib/standard//kernel.nit:233 */
9669 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
9670 /* ./syntax//mmbuilder.nit:1309 */
9671 if (UNTAG_Bool(REGB1
)) {
9674 /* ./syntax//mmbuilder.nit:1310 */
9675 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9676 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
));
9677 /* ./syntax//mmbuilder.nit:1313 */
9678 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9679 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
9680 if (UNTAG_Bool(REGB1
)) {
9682 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
9683 if (UNTAG_Bool(REGB0
)) {
9684 REGB0
= TAG_Bool(false);
9687 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9691 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9692 if (UNTAG_Bool(REGB1
)) {
9693 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9694 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9695 if (UNTAG_Bool(REGB1
)) {
9696 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1313);
9698 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
9701 stack_frame_head
= fra
.me
.prev
;
9704 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
){
9705 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9710 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9711 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9713 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___check_visibility
;
9714 fra
.me
.has_broke
= 0;
9715 fra
.me
.REG_size
= 2;
9716 fra
.me
.REG
[0] = NIT_NULL
;
9717 fra
.me
.REG
[1] = NIT_NULL
;
9718 fra
.me
.closure_ctx
= closctx_param
;
9719 fra
.me
.closure_funs
= CREG
;
9721 CREG
[0] = clos_fun0
;
9722 /* ./syntax//mmbuilder.nit:1311 */
9723 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9724 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9725 if (UNTAG_Bool(REGB0
)) {
9727 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9728 if (UNTAG_Bool(REGB1
)) {
9729 REGB1
= TAG_Bool(false);
9732 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9736 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9737 if (UNTAG_Bool(REGB0
)) {
9738 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9739 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9740 if (UNTAG_Bool(REGB0
)) {
9741 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1311);
9743 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
9745 stack_frame_head
= fra
.me
.prev
;
9748 val_t
syntax___mmbuilder___AParam___position(val_t p0
){
9749 struct {struct stack_frame_t me
;} fra
;
9752 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9753 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9755 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___position
;
9756 fra
.me
.has_broke
= 0;
9757 fra
.me
.REG_size
= 1;
9758 fra
.me
.REG
[0] = NIT_NULL
;
9760 /* ./syntax//mmbuilder.nit:1318 */
9761 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[0])!=NIT_NULL
);
9762 if (UNTAG_Bool(REGB0
)) {
9764 nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder
, 1318);
9766 REGB0
= ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[0]);
9767 stack_frame_head
= fra
.me
.prev
;
9770 val_t
syntax___mmbuilder___AParam___variable(val_t p0
){
9771 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9774 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9775 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9777 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___variable
;
9778 fra
.me
.has_broke
= 0;
9779 fra
.me
.REG_size
= 2;
9780 fra
.me
.REG
[0] = NIT_NULL
;
9781 fra
.me
.REG
[1] = NIT_NULL
;
9783 /* ./syntax//mmbuilder.nit:1320 */
9784 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9785 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AParam____variable(fra
.me
.REG
[1]);
9786 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
9787 if (UNTAG_Bool(REGB0
)) {
9789 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1320);
9793 stack_frame_head
= fra
.me
.prev
;
9794 return fra
.me
.REG
[1];
9796 val_t
syntax___mmbuilder___AParam___stype(val_t p0
){
9797 struct {struct stack_frame_t me
;} fra
;
9799 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9800 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9802 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___stype
;
9803 fra
.me
.has_broke
= 0;
9804 fra
.me
.REG_size
= 1;
9805 fra
.me
.REG
[0] = NIT_NULL
;
9807 /* ./syntax//mmbuilder.nit:1323 */
9808 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AParam____stype(fra
.me
.REG
[0]);
9809 stack_frame_head
= fra
.me
.prev
;
9810 return fra
.me
.REG
[0];
9812 void syntax___mmbuilder___AParam___stype__eq(val_t p0
, val_t p1
){
9813 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9815 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9816 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9818 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___stype__eq
;
9819 fra
.me
.has_broke
= 0;
9820 fra
.me
.REG_size
= 2;
9821 fra
.me
.REG
[0] = NIT_NULL
;
9822 fra
.me
.REG
[1] = NIT_NULL
;
9825 /* ./syntax//mmbuilder.nit:1323 */
9826 ATTR_syntax___mmbuilder___AParam____stype(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
9827 stack_frame_head
= fra
.me
.prev
;
9830 void syntax___mmbuilder___AParam___accept_property_verifier(val_t p0
, val_t p1
){
9831 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
9837 static val_t once_value_2
; /* Once value */
9838 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9839 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9841 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___accept_property_verifier
;
9842 fra
.me
.has_broke
= 0;
9843 fra
.me
.REG_size
= 7;
9844 fra
.me
.REG
[0] = NIT_NULL
;
9845 fra
.me
.REG
[1] = NIT_NULL
;
9846 fra
.me
.REG
[2] = NIT_NULL
;
9847 fra
.me
.REG
[3] = NIT_NULL
;
9848 fra
.me
.REG
[4] = NIT_NULL
;
9849 fra
.me
.REG
[5] = NIT_NULL
;
9850 fra
.me
.REG
[6] = NIT_NULL
;
9853 /* ./syntax//mmbuilder.nit:1326 */
9854 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9855 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9856 /* ./syntax//mmbuilder.nit:1328 */
9857 CALL_SUPER_syntax___mmbuilder___AParam___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9858 /* ./syntax//mmbuilder.nit:1329 */
9859 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9860 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9861 /* ./../lib/standard//collection//array.nit:24 */
9862 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
9863 if (UNTAG_Bool(REGB0
)) {
9865 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9867 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
9868 /* ./syntax//mmbuilder.nit:1329 */
9869 ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[2]) = REGB0
;
9870 /* ./syntax//mmbuilder.nit:1330 */
9871 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9872 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9873 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9874 fra
.me
.REG
[0] = NEW_ParamVariable_syntax___syntax_base___ParamVariable___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
9875 ATTR_syntax___mmbuilder___AParam____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
9876 /* ./syntax//mmbuilder.nit:1331 */
9877 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9878 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
9880 /* ./syntax//mmbuilder.nit:1332 */
9881 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9882 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9883 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
9884 /* ./syntax//mmbuilder.nit:1333 */
9885 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9886 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9887 if (UNTAG_Bool(REGB0
)) {
9889 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9890 if (UNTAG_Bool(REGB1
)) {
9891 REGB1
= TAG_Bool(false);
9894 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9898 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9899 if (UNTAG_Bool(REGB0
)) {
9900 /* ./syntax//mmbuilder.nit:1334 */
9901 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9902 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9903 if (UNTAG_Bool(REGB0
)) {
9904 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1334);
9906 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
9907 /* ./syntax//mmbuilder.nit:1335 */
9908 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9909 if (UNTAG_Bool(REGB0
)) {
9911 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9912 if (UNTAG_Bool(REGB1
)) {
9913 REGB1
= TAG_Bool(false);
9916 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9920 if (UNTAG_Bool(REGB0
)) {
9921 /* ./syntax//mmbuilder.nit:1336 */
9922 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9923 REGB0
= TAG_Bool(true);
9924 CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
9925 /* ./syntax//mmbuilder.nit:1337 */
9928 /* ./syntax//mmbuilder.nit:1339 */
9929 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9930 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9931 /* ./../lib/standard//collection//array.nit:269 */
9933 /* ./../lib/standard//collection//array.nit:270 */
9934 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
9935 if (UNTAG_Bool(REGB1
)) {
9937 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
9939 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
9940 /* ./../lib/standard//collection//array.nit:271 */
9941 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
9942 /* ./../lib/standard//collection//array.nit:272 */
9944 /* ./../lib/standard//collection//array.nit:24 */
9945 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
9946 if (UNTAG_Bool(REGB1
)) {
9948 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9950 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
9951 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9952 if (UNTAG_Bool(REGB2
)) {
9954 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9956 /* ./../lib/standard//kernel.nit:232 */
9957 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
9958 /* ./../lib/standard//collection//array.nit:272 */
9959 if (UNTAG_Bool(REGB1
)) {
9960 /* ./../lib/standard//collection//array.nit:273 */
9961 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9962 if (UNTAG_Bool(REGB1
)) {
9963 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
9965 /* ./../lib/standard//collection//array.nit:718 */
9966 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
9967 /* ./syntax//mmbuilder.nit:1340 */
9968 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
9969 /* ./syntax//mmbuilder.nit:1341 */
9970 REGB1
= CALL_syntax___mmbuilder___AParam___is_vararg(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9971 if (UNTAG_Bool(REGB1
)) {
9972 /* ./syntax//mmbuilder.nit:1342 */
9973 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9974 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9976 /* ./../lib/standard//kernel.nit:236 */
9977 REGB2
= TAG_Int(-UNTAG_Int(REGB2
));
9978 /* ./syntax//mmbuilder.nit:1342 */
9979 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
9980 if (UNTAG_Bool(REGB3
)) {
9982 /* ./../lib/standard//kernel.nit:227 */
9983 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
9984 /* ./syntax//mmbuilder.nit:1342 */
9987 if (UNTAG_Bool(REGB3
)) {
9988 /* ./syntax//mmbuilder.nit:1343 */
9989 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9990 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9991 CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
9993 /* ./syntax//mmbuilder.nit:1345 */
9994 if (!once_value_2
) {
9995 fra
.me
.REG
[6] = BOX_NativeString("Error: A vararg parameter is already defined.");
9996 REGB3
= TAG_Int(45);
9997 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
9998 once_value_2
= fra
.me
.REG
[6];
9999 register_static_object(&once_value_2
);
10000 } else fra
.me
.REG
[6] = once_value_2
;
10001 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10002 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
10004 /* ./syntax//mmbuilder.nit:1347 */
10005 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
10006 fra
.me
.REG
[0] = fra
.me
.REG
[6];
10008 /* ./syntax//mmbuilder.nit:1349 */
10009 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10010 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10011 /* ./../lib/standard//collection//array.nit:274 */
10012 REGB3
= TAG_Int(1);
10013 /* ./../lib/standard//kernel.nit:235 */
10014 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
10015 /* ./../lib/standard//collection//array.nit:274 */
10018 /* ./../lib/standard//collection//array.nit:272 */
10023 /* ./syntax//mmbuilder.nit:1351 */
10024 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10025 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10026 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10029 stack_frame_head
= fra
.me
.prev
;
10032 val_t
syntax___mmbuilder___AParam___is_vararg(val_t p0
){
10033 struct {struct stack_frame_t me
;} fra
;
10037 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10038 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10039 fra
.me
.line
= 1355;
10040 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___is_vararg
;
10041 fra
.me
.has_broke
= 0;
10042 fra
.me
.REG_size
= 1;
10043 fra
.me
.REG
[0] = NIT_NULL
;
10044 fra
.me
.REG
[0] = p0
;
10045 /* ./syntax//mmbuilder.nit:1355 */
10046 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_dotdotdot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10047 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10048 if (UNTAG_Bool(REGB0
)) {
10050 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10051 if (UNTAG_Bool(REGB1
)) {
10052 REGB1
= TAG_Bool(false);
10055 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10059 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10062 stack_frame_head
= fra
.me
.prev
;
10065 val_t
syntax___mmbuilder___AClosureDecl___position(val_t p0
){
10066 struct {struct stack_frame_t me
;} fra
;
10069 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10070 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10071 fra
.me
.line
= 1359;
10072 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___position
;
10073 fra
.me
.has_broke
= 0;
10074 fra
.me
.REG_size
= 1;
10075 fra
.me
.REG
[0] = NIT_NULL
;
10076 fra
.me
.REG
[0] = p0
;
10077 /* ./syntax//mmbuilder.nit:1359 */
10078 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[0])!=NIT_NULL
);
10079 if (UNTAG_Bool(REGB0
)) {
10081 nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder
, 1359);
10083 REGB0
= ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[0]);
10084 stack_frame_head
= fra
.me
.prev
;
10087 val_t
syntax___mmbuilder___AClosureDecl___variable(val_t p0
){
10088 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10091 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10092 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10093 fra
.me
.line
= 1361;
10094 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___variable
;
10095 fra
.me
.has_broke
= 0;
10096 fra
.me
.REG_size
= 2;
10097 fra
.me
.REG
[0] = NIT_NULL
;
10098 fra
.me
.REG
[1] = NIT_NULL
;
10099 fra
.me
.REG
[0] = p0
;
10100 /* ./syntax//mmbuilder.nit:1361 */
10101 fra
.me
.REG
[1] = fra
.me
.REG
[0];
10102 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClosureDecl____variable(fra
.me
.REG
[1]);
10103 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
10104 if (UNTAG_Bool(REGB0
)) {
10106 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1361);
10110 stack_frame_head
= fra
.me
.prev
;
10111 return fra
.me
.REG
[1];
10113 void syntax___mmbuilder___AClosureDecl___accept_property_verifier(val_t p0
, val_t p1
){
10114 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
10119 static val_t once_value_2
; /* Once value */
10120 static val_t once_value_3
; /* Once value */
10121 static val_t once_value_4
; /* Once value */
10122 static val_t once_value_5
; /* Once value */
10123 static val_t once_value_6
; /* Once value */
10124 static val_t once_value_7
; /* Once value */
10125 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10126 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10127 fra
.me
.line
= 1364;
10128 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___accept_property_verifier
;
10129 fra
.me
.has_broke
= 0;
10130 fra
.me
.REG_size
= 11;
10131 fra
.me
.REG
[0] = NIT_NULL
;
10132 fra
.me
.REG
[1] = NIT_NULL
;
10133 fra
.me
.REG
[2] = NIT_NULL
;
10134 fra
.me
.REG
[3] = NIT_NULL
;
10135 fra
.me
.REG
[4] = NIT_NULL
;
10136 fra
.me
.REG
[5] = NIT_NULL
;
10137 fra
.me
.REG
[6] = NIT_NULL
;
10138 fra
.me
.REG
[7] = NIT_NULL
;
10139 fra
.me
.REG
[8] = NIT_NULL
;
10140 fra
.me
.REG
[9] = NIT_NULL
;
10141 fra
.me
.REG
[10] = NIT_NULL
;
10142 fra
.me
.REG
[0] = p0
;
10143 fra
.me
.REG
[1] = p1
;
10144 /* ./syntax//mmbuilder.nit:1364 */
10145 fra
.me
.REG
[2] = fra
.me
.REG
[0];
10146 fra
.me
.REG
[3] = fra
.me
.REG
[1];
10147 /* ./syntax//mmbuilder.nit:1366 */
10148 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10149 /* ./syntax//mmbuilder.nit:1367 */
10150 fra
.me
.REG
[5] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
10151 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
10152 /* ./syntax//mmbuilder.nit:1368 */
10153 CALL_SUPER_syntax___mmbuilder___AClosureDecl___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10154 /* ./syntax//mmbuilder.nit:1369 */
10155 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10156 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10157 if (UNTAG_Bool(REGB0
)) {
10158 /* ./syntax//mmbuilder.nit:1370 */
10161 /* ./syntax//mmbuilder.nit:1372 */
10162 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10163 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10164 /* ./syntax//mmbuilder.nit:1373 */
10165 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10166 if (UNTAG_Bool(REGB0
)) {
10168 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10169 if (UNTAG_Bool(REGB1
)) {
10170 REGB1
= TAG_Bool(false);
10173 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
10177 if (UNTAG_Bool(REGB0
)) {
10178 /* ./syntax//mmbuilder.nit:1374 */
10179 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
10180 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10181 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10182 fra
.me
.REG
[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[5]);
10183 fra
.me
.REG
[1] = fra
.me
.REG
[5];
10185 /* ./syntax//mmbuilder.nit:1376 */
10186 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10187 if (UNTAG_Bool(REGB0
)) {
10188 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1376);
10190 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10191 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10192 if (UNTAG_Bool(REGB0
)) {
10194 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10195 if (UNTAG_Bool(REGB1
)) {
10196 REGB1
= TAG_Bool(false);
10199 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10203 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10204 if (UNTAG_Bool(REGB0
)) {
10205 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10206 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10207 if (UNTAG_Bool(REGB0
)) {
10209 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10210 if (UNTAG_Bool(REGB1
)) {
10211 REGB1
= TAG_Bool(false);
10214 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10218 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10220 REGB1
= TAG_Bool(false);
10223 if (UNTAG_Bool(REGB0
)) {
10224 /* ./syntax//mmbuilder.nit:1377 */
10225 if (!once_value_2
) {
10226 fra
.me
.REG
[5] = BOX_NativeString("Syntax Error: A break block cannot have a return value.");
10227 REGB0
= TAG_Int(55);
10228 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10229 once_value_2
= fra
.me
.REG
[5];
10230 register_static_object(&once_value_2
);
10231 } else fra
.me
.REG
[5] = once_value_2
;
10232 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10233 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[5]);
10235 /* ./syntax//mmbuilder.nit:1381 */
10236 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
10237 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10238 fra
.me
.REG
[0] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10239 fra
.me
.REG
[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[0]);
10240 /* ./syntax//mmbuilder.nit:1382 */
10241 if (!once_value_3
) {
10242 if (!once_value_4
) {
10243 fra
.me
.REG
[5] = BOX_NativeString("break");
10244 REGB0
= TAG_Int(5);
10245 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10246 once_value_4
= fra
.me
.REG
[5];
10247 register_static_object(&once_value_4
);
10248 } else fra
.me
.REG
[5] = once_value_4
;
10249 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10250 fra
.me
.REG
[5] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10251 once_value_3
= fra
.me
.REG
[5];
10252 register_static_object(&once_value_3
);
10253 } else fra
.me
.REG
[5] = once_value_3
;
10254 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10255 REGB0
= TAG_Bool(false);
10256 REGB1
= TAG_Bool(true);
10257 fra
.me
.REG
[0] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra
.me
.REG
[5], fra
.me
.REG
[0], REGB0
, REGB1
);
10258 /* ./syntax//mmbuilder.nit:1383 */
10259 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10260 if (UNTAG_Bool(REGB1
)) {
10261 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1383);
10263 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10265 /* ./syntax//mmbuilder.nit:1385 */
10266 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10267 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10268 /* ./syntax//mmbuilder.nit:1386 */
10269 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10270 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10271 if (UNTAG_Bool(REGB1
)) {
10273 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10274 if (UNTAG_Bool(REGB0
)) {
10275 REGB0
= TAG_Bool(false);
10278 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10282 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
10283 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10284 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10285 if (UNTAG_Bool(REGB0
)) {
10287 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10288 if (UNTAG_Bool(REGB2
)) {
10289 REGB2
= TAG_Bool(false);
10292 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10296 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10297 fra
.me
.REG
[1] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
, REGB0
);
10298 /* ./syntax//mmbuilder.nit:1387 */
10299 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10300 /* ./../lib/standard//collection//array.nit:269 */
10301 REGB0
= TAG_Int(0);
10302 /* ./../lib/standard//collection//array.nit:270 */
10303 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
10304 if (UNTAG_Bool(REGB1
)) {
10306 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
10308 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
10309 /* ./../lib/standard//collection//array.nit:271 */
10310 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
10311 /* ./../lib/standard//collection//array.nit:272 */
10313 /* ./../lib/standard//collection//array.nit:24 */
10314 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
10315 if (UNTAG_Bool(REGB1
)) {
10317 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10319 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
10320 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10321 if (UNTAG_Bool(REGB2
)) {
10323 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10325 /* ./../lib/standard//kernel.nit:232 */
10326 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
10327 /* ./../lib/standard//collection//array.nit:272 */
10328 if (UNTAG_Bool(REGB1
)) {
10329 /* ./../lib/standard//collection//array.nit:273 */
10330 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
10331 if (UNTAG_Bool(REGB1
)) {
10332 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
10334 /* ./../lib/standard//collection//array.nit:718 */
10335 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
10336 /* ./syntax//mmbuilder.nit:1388 */
10337 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10338 fra
.me
.REG
[8] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
10339 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[8],fra
.me
.REG
[0]));
10340 if (UNTAG_Bool(REGB1
)) {
10342 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
10345 if (UNTAG_Bool(REGB1
)) {
10346 /* ./syntax//mmbuilder.nit:1389 */
10347 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10348 REGB1
= TAG_Int(5);
10349 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10350 if (!once_value_5
) {
10351 fra
.me
.REG
[10] = BOX_NativeString("A closure '!");
10352 REGB1
= TAG_Int(12);
10353 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10354 once_value_5
= fra
.me
.REG
[10];
10355 register_static_object(&once_value_5
);
10356 } else fra
.me
.REG
[10] = once_value_5
;
10357 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10358 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10359 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10360 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10361 if (!once_value_6
) {
10362 fra
.me
.REG
[10] = BOX_NativeString("' already defined at ");
10363 REGB1
= TAG_Int(21);
10364 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10365 once_value_6
= fra
.me
.REG
[10];
10366 register_static_object(&once_value_6
);
10367 } else fra
.me
.REG
[10] = once_value_6
;
10368 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10369 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10370 fra
.me
.REG
[7] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10371 fra
.me
.REG
[7] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10372 fra
.me
.REG
[10] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10373 fra
.me
.REG
[10] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
10374 fra
.me
.REG
[10] = CALL_location___Location___relative_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
10375 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10376 if (!once_value_7
) {
10377 fra
.me
.REG
[10] = BOX_NativeString(".");
10378 REGB1
= TAG_Int(1);
10379 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10380 once_value_7
= fra
.me
.REG
[10];
10381 register_static_object(&once_value_7
);
10382 } else fra
.me
.REG
[10] = once_value_7
;
10383 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10385 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
10386 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8], fra
.me
.REG
[9]);
10387 /* ./syntax//mmbuilder.nit:1390 */
10390 /* ./../lib/standard//collection//array.nit:274 */
10391 REGB1
= TAG_Int(1);
10392 /* ./../lib/standard//kernel.nit:235 */
10393 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
10394 /* ./../lib/standard//collection//array.nit:274 */
10397 /* ./../lib/standard//collection//array.nit:272 */
10402 /* ./syntax//mmbuilder.nit:1393 */
10403 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
10404 /* ./syntax//mmbuilder.nit:1394 */
10405 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10406 /* ./../lib/standard//collection//array.nit:24 */
10407 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
10408 if (UNTAG_Bool(REGB0
)) {
10410 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10412 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
10413 /* ./syntax//mmbuilder.nit:1394 */
10414 ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[2]) = REGB0
;
10415 /* ./syntax//mmbuilder.nit:1395 */
10416 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
10418 /* ./syntax//mmbuilder.nit:1396 */
10419 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10420 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10421 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10422 fra
.me
.REG
[1] = NEW_ClosureVariable_syntax___syntax_base___ClosureVariable___init(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[1]);
10423 ATTR_syntax___mmbuilder___AClosureDecl____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
10425 stack_frame_head
= fra
.me
.prev
;
10428 void syntax___mmbuilder___AType___check_visibility(val_t p0
, val_t p1
, val_t p2
){
10429 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
10434 static val_t once_value_2
; /* Once value */
10435 static val_t once_value_3
; /* Once value */
10436 static val_t once_value_4
; /* Once value */
10437 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10438 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10439 fra
.me
.line
= 1401;
10440 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AType___check_visibility
;
10441 fra
.me
.has_broke
= 0;
10442 fra
.me
.REG_size
= 6;
10443 fra
.me
.REG
[0] = NIT_NULL
;
10444 fra
.me
.REG
[1] = NIT_NULL
;
10445 fra
.me
.REG
[2] = NIT_NULL
;
10446 fra
.me
.REG
[3] = NIT_NULL
;
10447 fra
.me
.REG
[4] = NIT_NULL
;
10448 fra
.me
.REG
[5] = NIT_NULL
;
10449 fra
.me
.REG
[0] = p0
;
10450 fra
.me
.REG
[1] = p1
;
10451 fra
.me
.REG
[2] = p2
;
10452 /* ./syntax//mmbuilder.nit:1404 */
10453 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10454 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10455 REGB1
= TAG_Int(3);
10456 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10457 if (UNTAG_Bool(REGB2
)) {
10459 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10461 /* ./../lib/standard//kernel.nit:233 */
10462 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
10463 /* ./syntax//mmbuilder.nit:1404 */
10464 if (UNTAG_Bool(REGB1
)) {
10467 /* ./syntax//mmbuilder.nit:1405 */
10468 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10469 /* ./syntax//mmbuilder.nit:1406 */
10470 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10471 if (UNTAG_Bool(REGB1
)) {
10473 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10474 if (UNTAG_Bool(REGB0
)) {
10475 REGB0
= TAG_Bool(false);
10478 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
10482 if (UNTAG_Bool(REGB1
)) {
10485 /* ./syntax//mmbuilder.nit:1407 */
10486 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10487 if (UNTAG_Bool(REGB1
)) {
10488 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1407);
10490 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10491 /* ./syntax//mmbuilder.nit:1408 */
10492 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10493 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10494 REGB0
= TAG_Int(3);
10495 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10496 if (UNTAG_Bool(REGB2
)) {
10498 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10500 /* ./../lib/standard//kernel.nit:233 */
10501 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
10502 /* ./syntax//mmbuilder.nit:1408 */
10503 if (UNTAG_Bool(REGB0
)) {
10504 /* ./syntax//mmbuilder.nit:1409 */
10505 REGB0
= TAG_Int(5);
10506 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
10507 if (!once_value_2
) {
10508 fra
.me
.REG
[5] = BOX_NativeString("Access error: Class ");
10509 REGB0
= TAG_Int(20);
10510 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10511 once_value_2
= fra
.me
.REG
[5];
10512 register_static_object(&once_value_2
);
10513 } else fra
.me
.REG
[5] = once_value_2
;
10514 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
10516 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10517 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10518 if (!once_value_3
) {
10519 fra
.me
.REG
[3] = BOX_NativeString(" is private and cannot be used in the signature of the non-private property ");
10520 REGB0
= TAG_Int(76);
10521 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
10522 once_value_3
= fra
.me
.REG
[3];
10523 register_static_object(&once_value_3
);
10524 } else fra
.me
.REG
[3] = once_value_3
;
10525 fra
.me
.REG
[3] = fra
.me
.REG
[3];
10526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10527 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10528 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10529 if (!once_value_4
) {
10530 fra
.me
.REG
[3] = BOX_NativeString(".");
10531 REGB0
= TAG_Int(1);
10532 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
10533 once_value_4
= fra
.me
.REG
[3];
10534 register_static_object(&once_value_4
);
10535 } else fra
.me
.REG
[3] = once_value_4
;
10536 fra
.me
.REG
[3] = fra
.me
.REG
[3];
10537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10538 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10539 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
10541 /* ./syntax//mmbuilder.nit:1411 */
10542 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10543 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
));
10545 stack_frame_head
= fra
.me
.prev
;
10548 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
){
10549 struct {struct stack_frame_t me
;} fra
;
10552 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10553 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10555 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AType___check_visibility
;
10556 fra
.me
.has_broke
= 0;
10557 fra
.me
.REG_size
= 1;
10558 fra
.me
.REG
[0] = NIT_NULL
;
10559 fra
.me
.closure_ctx
= closctx_param
;
10560 fra
.me
.closure_funs
= CREG
;
10561 fra
.me
.REG
[0] = p0
;
10562 CREG
[0] = clos_fun0
;
10563 /* ./syntax//mmbuilder.nit:1412 */
10564 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
10565 stack_frame_head
= fra
.me
.prev
;
10568 void syntax___mmbuilder___AExpr___accept_class_builder(val_t p0
, val_t p1
){
10569 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10571 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10572 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10573 fra
.me
.line
= 1418;
10574 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_class_builder
;
10575 fra
.me
.has_broke
= 0;
10576 fra
.me
.REG_size
= 2;
10577 fra
.me
.REG
[0] = NIT_NULL
;
10578 fra
.me
.REG
[1] = NIT_NULL
;
10579 fra
.me
.REG
[0] = p0
;
10580 fra
.me
.REG
[1] = p1
;
10581 stack_frame_head
= fra
.me
.prev
;
10584 void syntax___mmbuilder___AExpr___accept_property_builder(val_t p0
, val_t p1
){
10585 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10587 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10588 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10589 fra
.me
.line
= 1419;
10590 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_property_builder
;
10591 fra
.me
.has_broke
= 0;
10592 fra
.me
.REG_size
= 2;
10593 fra
.me
.REG
[0] = NIT_NULL
;
10594 fra
.me
.REG
[1] = NIT_NULL
;
10595 fra
.me
.REG
[0] = p0
;
10596 fra
.me
.REG
[1] = p1
;
10597 stack_frame_head
= fra
.me
.prev
;
10600 void syntax___mmbuilder___AExpr___accept_property_verifier(val_t p0
, val_t p1
){
10601 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10603 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10604 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10605 fra
.me
.line
= 1420;
10606 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_property_verifier
;
10607 fra
.me
.has_broke
= 0;
10608 fra
.me
.REG_size
= 2;
10609 fra
.me
.REG
[0] = NIT_NULL
;
10610 fra
.me
.REG
[1] = NIT_NULL
;
10611 fra
.me
.REG
[0] = p0
;
10612 fra
.me
.REG
[1] = p1
;
10613 stack_frame_head
= fra
.me
.prev
;