1 /* This C file is generated by NIT to compile module syntax___mmbuilder. */
2 #include "syntax___mmbuilder._sep.h"
3 val_t
syntax___mmbuilder___CSHSorter___compare(val_t p0
, val_t p1
, val_t p2
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11 fra
.me
.meth
= LOCATE_syntax___mmbuilder___CSHSorter___compare
;
14 fra
.me
.REG
[0] = NIT_NULL
;
15 fra
.me
.REG
[1] = NIT_NULL
;
16 fra
.me
.REG
[2] = NIT_NULL
;
20 /* ./syntax//mmbuilder.nit:29 */
21 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
22 REGB0
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
23 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
24 REGB1
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
25 REGB1
= CALL_standard___kernel___Comparable_____leqg(REGB0
)(REGB0
, REGB1
);
28 stack_frame_head
= fra
.me
.prev
;
31 void syntax___mmbuilder___CSHSorter___init(val_t p0
, int* init_table
){
32 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___CSHSorter
].i
;
33 struct {struct stack_frame_t me
;} fra
;
35 if (init_table
[itpos0
]) return;
36 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
37 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
39 fra
.me
.meth
= LOCATE_syntax___mmbuilder___CSHSorter___init
;
42 fra
.me
.REG
[0] = NIT_NULL
;
44 /* ./syntax//mmbuilder.nit:32 */
45 CALL_standard___collection___sorter___AbstractSorter___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
46 stack_frame_head
= fra
.me
.prev
;
47 init_table
[itpos0
] = 1;
50 void syntax___mmbuilder___MMSrcModule___do_mmbuilder(val_t p0
, val_t p1
){
51 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
56 static val_t once_value_3
; /* Once value */
57 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
58 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
60 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
;
63 fra
.me
.REG
[0] = NIT_NULL
;
64 fra
.me
.REG
[1] = NIT_NULL
;
65 fra
.me
.REG
[2] = NIT_NULL
;
66 fra
.me
.REG
[3] = NIT_NULL
;
67 fra
.me
.REG
[4] = NIT_NULL
;
68 fra
.me
.REG
[5] = NIT_NULL
;
69 fra
.me
.REG
[6] = NIT_NULL
;
70 fra
.me
.REG
[7] = NIT_NULL
;
73 /* ./syntax//mmbuilder.nit:41 */
74 CALL_metamodel___inheritance___MMModule___import_global_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
75 /* ./syntax//mmbuilder.nit:44 */
76 fra
.me
.REG
[2] = NEW_ClassBuilderVisitor_syntax___mmbuilder___ClassBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
77 /* ./syntax//mmbuilder.nit:45 */
78 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
79 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
80 /* ./syntax//mmbuilder.nit:46 */
81 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
82 /* ./syntax//mmbuilder.nit:48 */
83 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
84 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
85 if (UNTAG_Bool(REGB0
)) {
86 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 48);
88 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
89 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
90 if (UNTAG_Bool(REGB0
)) {
91 /* ./syntax//mmbuilder.nit:49 */
92 CALL_syntax___mmbuilder___MMSrcModule___process_default_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
94 /* ./syntax//mmbuilder.nit:53 */
95 CALL_metamodel___inheritance___MMModule___import_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
96 /* ./syntax//mmbuilder.nit:56 */
97 fra
.me
.REG
[3] = NEW_ClassSpecializationBuilderVisitor_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
98 /* ./syntax//mmbuilder.nit:57 */
99 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
100 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
101 /* ./syntax//mmbuilder.nit:58 */
102 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
103 /* ./syntax//mmbuilder.nit:61 */
104 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
105 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
));
106 /* ./syntax//mmbuilder.nit:67 */
107 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
108 /* ./syntax//mmbuilder.nit:72 */
109 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
110 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
111 /* ./syntax//mmbuilder.nit:75 */
113 fra
.me
.REG
[3] = NEW_CSHSorter_syntax___mmbuilder___CSHSorter___init();
114 once_value_3
= fra
.me
.REG
[3];
115 register_static_object(&once_value_3
);
116 } else fra
.me
.REG
[3] = once_value_3
;
117 fra
.me
.REG
[3] = fra
.me
.REG
[3];
118 /* ./syntax//mmbuilder.nit:76 */
119 CALL_standard___collection___sorter___AbstractSorter___sort(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
120 /* ./syntax//mmbuilder.nit:79 */
121 fra
.me
.REG
[3] = NEW_ClassAncestorBuilder_syntax___mmbuilder___ClassAncestorBuilder___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
122 /* ./../lib/standard//collection//array.nit:231 */
123 fra
.me
.REG
[4] = fra
.me
.REG
[2];
124 /* ./../lib/standard//collection//array.nit:234 */
126 /* ./../lib/standard//collection//array.nit:235 */
127 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
128 if (UNTAG_Bool(REGB1
)) {
130 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
132 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
133 /* ./../lib/standard//collection//array.nit:236 */
134 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
135 /* ./../lib/standard//collection//array.nit:237 */
137 /* ./../lib/standard//collection//array.nit:23 */
138 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
139 if (UNTAG_Bool(REGB1
)) {
141 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
143 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
144 /* ./../lib/standard//kernel.nit:215 */
145 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
146 /* ./../lib/standard//collection//array.nit:237 */
147 if (UNTAG_Bool(REGB1
)) {
148 /* ./../lib/standard//collection//array.nit:238 */
149 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
150 if (UNTAG_Bool(REGB1
)) {
151 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
153 /* ./../lib/standard//collection//array.nit:654 */
154 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
155 /* ./syntax//mmbuilder.nit:81 */
156 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
157 /* ./syntax//mmbuilder.nit:82 */
158 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
159 /* ./syntax//mmbuilder.nit:83 */
160 CALL_metamodel___inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
161 /* ./../lib/standard//collection//array.nit:239 */
163 /* ./../lib/standard//kernel.nit:218 */
164 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
165 /* ./../lib/standard//collection//array.nit:239 */
168 /* ./../lib/standard//collection//array.nit:237 */
173 /* ./syntax//mmbuilder.nit:87 */
174 fra
.me
.REG
[3] = NEW_ClassVerifierVisitor_syntax___mmbuilder___ClassVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
175 /* ./../lib/standard//collection//array.nit:231 */
176 fra
.me
.REG
[5] = fra
.me
.REG
[2];
177 /* ./../lib/standard//collection//array.nit:234 */
179 /* ./../lib/standard//collection//array.nit:235 */
180 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
181 if (UNTAG_Bool(REGB1
)) {
183 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
185 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
186 /* ./../lib/standard//collection//array.nit:236 */
187 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
188 /* ./../lib/standard//collection//array.nit:237 */
190 /* ./../lib/standard//collection//array.nit:23 */
191 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
192 if (UNTAG_Bool(REGB1
)) {
194 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
196 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
197 /* ./../lib/standard//kernel.nit:215 */
198 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
199 /* ./../lib/standard//collection//array.nit:237 */
200 if (UNTAG_Bool(REGB1
)) {
201 /* ./../lib/standard//collection//array.nit:238 */
202 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
203 if (UNTAG_Bool(REGB1
)) {
204 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
206 /* ./../lib/standard//collection//array.nit:654 */
207 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
208 /* ./syntax//mmbuilder.nit:89 */
209 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
210 /* ./../lib/standard//collection//array.nit:239 */
212 /* ./../lib/standard//kernel.nit:218 */
213 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
214 /* ./../lib/standard//collection//array.nit:239 */
217 /* ./../lib/standard//collection//array.nit:237 */
222 /* ./syntax//mmbuilder.nit:91 */
223 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
224 /* ./syntax//mmbuilder.nit:94 */
225 fra
.me
.REG
[3] = NEW_PropertyBuilderVisitor_syntax___mmbuilder___PropertyBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
226 /* ./../lib/standard//collection//array.nit:231 */
227 fra
.me
.REG
[4] = fra
.me
.REG
[2];
228 /* ./../lib/standard//collection//array.nit:234 */
230 /* ./../lib/standard//collection//array.nit:235 */
231 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
232 if (UNTAG_Bool(REGB1
)) {
234 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
236 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
237 /* ./../lib/standard//collection//array.nit:236 */
238 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
239 /* ./../lib/standard//collection//array.nit:237 */
241 /* ./../lib/standard//collection//array.nit:23 */
242 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
243 if (UNTAG_Bool(REGB1
)) {
245 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
247 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
248 /* ./../lib/standard//kernel.nit:215 */
249 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
250 /* ./../lib/standard//collection//array.nit:237 */
251 if (UNTAG_Bool(REGB1
)) {
252 /* ./../lib/standard//collection//array.nit:238 */
253 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
254 if (UNTAG_Bool(REGB1
)) {
255 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
257 /* ./../lib/standard//collection//array.nit:654 */
258 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
259 /* ./syntax//mmbuilder.nit:97 */
260 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
261 /* ./syntax//mmbuilder.nit:100 */
262 REGB1
= TAG_Bool(VAL_ISA(fra
.me
.REG
[6], COLOR_syntax___syntax_base___MMSrcLocalClass
, ID_syntax___syntax_base___MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
263 if (UNTAG_Bool(REGB1
)) {
264 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
265 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
266 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[7],fra
.me
.REG
[6]));
267 if (UNTAG_Bool(REGB1
)) {
269 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
273 REGB2
= TAG_Bool(false);
276 if (UNTAG_Bool(REGB1
)) {
277 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
278 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
279 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
281 REGB2
= TAG_Bool(false);
284 if (UNTAG_Bool(REGB1
)) {
285 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
286 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
287 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
289 REGB2
= TAG_Bool(false);
292 if (UNTAG_Bool(REGB1
)) {
293 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
294 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
295 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
297 REGB2
= TAG_Bool(false);
300 if (UNTAG_Bool(REGB1
)) {
301 /* ./syntax//mmbuilder.nit:101 */
302 CALL_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
304 /* ./../lib/standard//collection//array.nit:239 */
306 /* ./../lib/standard//kernel.nit:218 */
307 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
308 /* ./../lib/standard//collection//array.nit:239 */
311 /* ./../lib/standard//collection//array.nit:237 */
316 /* ./syntax//mmbuilder.nit:106 */
317 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
318 /* ./syntax//mmbuilder.nit:109 */
319 fra
.me
.REG
[0] = NEW_PropertyVerifierVisitor_syntax___mmbuilder___PropertyVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
320 /* ./../lib/standard//collection//array.nit:234 */
322 /* ./../lib/standard//collection//array.nit:235 */
323 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
324 if (UNTAG_Bool(REGB1
)) {
326 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
328 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
329 /* ./../lib/standard//collection//array.nit:236 */
330 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
331 /* ./../lib/standard//collection//array.nit:237 */
333 /* ./../lib/standard//collection//array.nit:23 */
334 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
335 if (UNTAG_Bool(REGB1
)) {
337 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
339 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
340 /* ./../lib/standard//kernel.nit:215 */
341 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
342 /* ./../lib/standard//collection//array.nit:237 */
343 if (UNTAG_Bool(REGB1
)) {
344 /* ./../lib/standard//collection//array.nit:238 */
345 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
346 if (UNTAG_Bool(REGB1
)) {
347 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
349 /* ./../lib/standard//collection//array.nit:654 */
350 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
351 /* ./syntax//mmbuilder.nit:111 */
352 CALL_syntax___mmbuilder___MMLocalClass___accept_properties_visitor(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
353 /* ./../lib/standard//collection//array.nit:239 */
355 /* ./../lib/standard//kernel.nit:218 */
356 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
357 /* ./../lib/standard//collection//array.nit:239 */
360 /* ./../lib/standard//collection//array.nit:237 */
365 /* ./syntax//mmbuilder.nit:114 */
366 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
367 stack_frame_head
= fra
.me
.prev
;
370 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
){
371 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
376 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
377 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
379 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
;
380 fra
.me
.has_broke
= 0;
382 fra
.me
.REG
[0] = NIT_NULL
;
383 fra
.me
.REG
[1] = NIT_NULL
;
384 fra
.me
.closure_ctx
= closctx_param
;
385 fra
.me
.closure_funs
= CREG
;
388 /* ./syntax//mmbuilder.nit:62 */
389 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
390 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
391 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
392 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___visibility_for(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
393 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
394 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
395 /* ./../lib/standard//kernel.nit:215 */
396 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
397 /* ./syntax//mmbuilder.nit:62 */
398 if (UNTAG_Bool(REGB1
)) {
399 /* ./syntax//mmbuilder.nit:63 */
402 /* ./syntax//mmbuilder.nit:65 */
403 CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
405 stack_frame_head
= fra
.me
.prev
;
408 void syntax___mmbuilder___MMSrcModule___process_default_classes(val_t p0
, val_t p1
){
409 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
412 static val_t once_value_1
; /* Once value */
413 static val_t once_value_2
; /* Once value */
414 static val_t once_value_3
; /* Once value */
415 static val_t once_value_4
; /* Once value */
416 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
417 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
419 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___process_default_classes
;
420 fra
.me
.has_broke
= 0;
422 fra
.me
.REG
[0] = NIT_NULL
;
423 fra
.me
.REG
[1] = NIT_NULL
;
424 fra
.me
.REG
[2] = NIT_NULL
;
425 fra
.me
.REG
[3] = NIT_NULL
;
428 /* ./syntax//mmbuilder.nit:120 */
431 fra
.me
.REG
[1] = BOX_NativeString("Object");
433 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
434 once_value_2
= fra
.me
.REG
[1];
435 register_static_object(&once_value_2
);
436 } else fra
.me
.REG
[1] = once_value_2
;
437 fra
.me
.REG
[1] = fra
.me
.REG
[1];
438 fra
.me
.REG
[1] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
439 once_value_1
= fra
.me
.REG
[1];
440 register_static_object(&once_value_1
);
441 } else fra
.me
.REG
[1] = once_value_1
;
442 fra
.me
.REG
[1] = fra
.me
.REG
[1];
443 /* ./syntax//mmbuilder.nit:121 */
444 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
445 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
446 if (UNTAG_Bool(REGB0
)) {
447 /* ./syntax//mmbuilder.nit:122 */
449 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
450 /* ./syntax//mmbuilder.nit:123 */
451 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
452 /* ./syntax//mmbuilder.nit:124 */
453 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
454 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[2]);
456 /* ./syntax//mmbuilder.nit:126 */
459 fra
.me
.REG
[2] = BOX_NativeString("Bool");
461 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
462 once_value_4
= fra
.me
.REG
[2];
463 register_static_object(&once_value_4
);
464 } else fra
.me
.REG
[2] = once_value_4
;
465 fra
.me
.REG
[2] = fra
.me
.REG
[2];
466 fra
.me
.REG
[2] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
467 once_value_3
= fra
.me
.REG
[2];
468 register_static_object(&once_value_3
);
469 } else fra
.me
.REG
[2] = once_value_3
;
470 fra
.me
.REG
[2] = fra
.me
.REG
[2];
471 fra
.me
.REG
[1] = fra
.me
.REG
[2];
472 /* ./syntax//mmbuilder.nit:127 */
473 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
474 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
475 if (UNTAG_Bool(REGB0
)) {
476 /* ./syntax//mmbuilder.nit:128 */
478 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
479 /* ./syntax//mmbuilder.nit:129 */
480 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
481 /* ./syntax//mmbuilder.nit:130 */
482 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
483 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
485 stack_frame_head
= fra
.me
.prev
;
488 void syntax___mmbuilder___MMLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
489 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
491 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
492 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
494 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalClass___accept_class_visitor
;
495 fra
.me
.has_broke
= 0;
497 fra
.me
.REG
[0] = NIT_NULL
;
498 fra
.me
.REG
[1] = NIT_NULL
;
501 stack_frame_head
= fra
.me
.prev
;
504 void syntax___mmbuilder___MMLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
505 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
507 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
508 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
510 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalClass___accept_properties_visitor
;
511 fra
.me
.has_broke
= 0;
513 fra
.me
.REG
[0] = NIT_NULL
;
514 fra
.me
.REG
[1] = NIT_NULL
;
517 stack_frame_head
= fra
.me
.prev
;
520 void syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
521 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
525 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
526 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
528 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor
;
529 fra
.me
.has_broke
= 0;
531 fra
.me
.REG
[0] = NIT_NULL
;
532 fra
.me
.REG
[1] = NIT_NULL
;
533 fra
.me
.REG
[2] = NIT_NULL
;
536 /* ./syntax//mmbuilder.nit:150 */
537 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
538 /* ./syntax//mmbuilder.nit:151 */
540 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
541 if (UNTAG_Bool(REGB0
)) {
543 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
544 if (UNTAG_Bool(REGB1
)) {
545 REGB1
= TAG_Bool(false);
548 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
552 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
553 if (UNTAG_Bool(REGB0
)) {
554 /* ./syntax//mmbuilder.nit:152 */
555 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
556 /* ./syntax//mmbuilder.nit:153 */
557 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
558 if (UNTAG_Bool(REGB0
)) {
559 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 153);
561 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
562 fra
.me
.REG
[0] = fra
.me
.REG
[2];
564 /* ./syntax//mmbuilder.nit:151 */
569 stack_frame_head
= fra
.me
.prev
;
572 void syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
573 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
577 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
578 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
580 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
581 fra
.me
.has_broke
= 0;
583 fra
.me
.REG
[0] = NIT_NULL
;
584 fra
.me
.REG
[1] = NIT_NULL
;
585 fra
.me
.REG
[2] = NIT_NULL
;
586 fra
.me
.REG
[3] = NIT_NULL
;
589 /* ./syntax//mmbuilder.nit:160 */
590 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
591 /* ./syntax//mmbuilder.nit:161 */
593 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
594 if (UNTAG_Bool(REGB0
)) {
596 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
597 if (UNTAG_Bool(REGB1
)) {
598 REGB1
= TAG_Bool(false);
601 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
605 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
606 if (UNTAG_Bool(REGB0
)) {
607 /* ./syntax//mmbuilder.nit:162 */
608 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
609 /* ./syntax//mmbuilder.nit:163 */
610 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
611 if (UNTAG_Bool(REGB0
)) {
612 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 163);
614 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
615 fra
.me
.REG
[2] = fra
.me
.REG
[3];
617 /* ./syntax//mmbuilder.nit:161 */
622 /* ./syntax//mmbuilder.nit:166 */
623 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
624 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
));
625 stack_frame_head
= fra
.me
.prev
;
628 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
){
629 struct {struct stack_frame_t me
;} fra
;
632 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
633 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
635 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
636 fra
.me
.has_broke
= 0;
638 fra
.me
.REG
[0] = NIT_NULL
;
639 fra
.me
.closure_ctx
= closctx_param
;
640 fra
.me
.closure_funs
= CREG
;
643 /* ./syntax//mmbuilder.nit:167 */
644 CALL_syntax___mmbuilder___MMLocalProperty___accept_property_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
645 stack_frame_head
= fra
.me
.prev
;
648 void syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(val_t p0
, val_t p1
){
649 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
654 static val_t once_value_7
; /* Once value */
655 static val_t once_value_8
; /* Once value */
656 static val_t once_value_13
; /* Once value */
657 static val_t once_value_14
; /* Once value */
658 static val_t once_value_15
; /* Once value */
659 static val_t once_value_16
; /* Once value */
660 static val_t once_value_17
; /* Once value */
661 static val_t once_value_18
; /* Once value */
662 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
663 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
665 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
666 fra
.me
.has_broke
= 0;
667 fra
.me
.REG_size
= 10;
668 fra
.me
.REG
[0] = NIT_NULL
;
669 fra
.me
.REG
[1] = NIT_NULL
;
670 fra
.me
.REG
[2] = NIT_NULL
;
671 fra
.me
.REG
[3] = NIT_NULL
;
672 fra
.me
.REG
[4] = NIT_NULL
;
673 fra
.me
.REG
[5] = NIT_NULL
;
674 fra
.me
.REG
[6] = NIT_NULL
;
675 fra
.me
.REG
[7] = NIT_NULL
;
676 fra
.me
.REG
[8] = NIT_NULL
;
677 fra
.me
.REG
[9] = NIT_NULL
;
680 /* ./syntax//mmbuilder.nit:175 */
681 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
682 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_1
));
683 switch ((&(fra
.me
))->has_broke
) {
685 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
687 /* ./syntax//mmbuilder.nit:183 */
688 fra
.me
.REG
[2] = NEW_ArraySet_standard___collection___array___ArraySet___init();
689 /* ./syntax//mmbuilder.nit:184 */
690 fra
.me
.REG
[3] = NEW_ArraySet_standard___collection___array___ArraySet___init();
691 /* ./syntax//mmbuilder.nit:185 */
692 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
693 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
694 /* ./../lib/standard//collection//array.nit:234 */
696 /* ./../lib/standard//collection//array.nit:235 */
697 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
698 if (UNTAG_Bool(REGB1
)) {
700 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
702 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
703 /* ./../lib/standard//collection//array.nit:236 */
704 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
705 /* ./../lib/standard//collection//array.nit:237 */
707 /* ./../lib/standard//collection//array.nit:23 */
708 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
709 if (UNTAG_Bool(REGB1
)) {
711 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
713 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
714 /* ./../lib/standard//kernel.nit:215 */
715 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
716 /* ./../lib/standard//collection//array.nit:237 */
717 if (UNTAG_Bool(REGB1
)) {
718 /* ./../lib/standard//collection//array.nit:238 */
719 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
720 if (UNTAG_Bool(REGB1
)) {
721 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
723 /* ./../lib/standard//collection//array.nit:654 */
724 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
725 /* ./syntax//mmbuilder.nit:186 */
726 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
727 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
728 if (UNTAG_Bool(REGB1
)) {
729 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
730 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
731 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
733 REGB2
= TAG_Bool(false);
736 if (UNTAG_Bool(REGB1
)) {
737 REGB1
= TAG_Bool(true);
739 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
740 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
743 if (UNTAG_Bool(REGB1
)) {
746 /* ./syntax//mmbuilder.nit:187 */
747 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
748 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[7])(fra
.me
.REG
[7], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_5
));
749 /* ./syntax//mmbuilder.nit:191 */
752 fra
.me
.REG
[7] = BOX_NativeString("init");
754 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
755 once_value_8
= fra
.me
.REG
[7];
756 register_static_object(&once_value_8
);
757 } else fra
.me
.REG
[7] = once_value_8
;
758 fra
.me
.REG
[7] = fra
.me
.REG
[7];
759 fra
.me
.REG
[7] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
760 once_value_7
= fra
.me
.REG
[7];
761 register_static_object(&once_value_7
);
762 } else fra
.me
.REG
[7] = once_value_7
;
763 fra
.me
.REG
[7] = fra
.me
.REG
[7];
764 /* ./syntax//mmbuilder.nit:192 */
765 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
766 if (UNTAG_Bool(REGB1
)) {
767 /* ./syntax//mmbuilder.nit:193 */
768 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
769 /* ./syntax//mmbuilder.nit:194 */
770 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7]);
771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
774 /* ./../lib/standard//collection//array.nit:239 */
776 /* ./../lib/standard//kernel.nit:218 */
777 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
778 /* ./../lib/standard//collection//array.nit:239 */
781 /* ./../lib/standard//collection//array.nit:237 */
786 /* ./syntax//mmbuilder.nit:199 */
787 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
788 /* ./syntax//mmbuilder.nit:200 */
789 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
790 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_10
));
791 /* ./syntax//mmbuilder.nit:207 */
792 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
793 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
794 if (UNTAG_Bool(REGB0
)) {
795 /* ./syntax//mmbuilder.nit:210 */
796 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
797 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_11
));
798 /* ./syntax//mmbuilder.nit:218 */
799 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
800 fra
.me
.REG
[7] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
801 fra
.me
.REG
[7] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
802 fra
.me
.REG
[4] = fra
.me
.REG
[7];
803 /* ./syntax//mmbuilder.nit:221 */
804 fra
.me
.REG
[7] = NIT_NULL
;
805 /* ./../lib/standard//collection//array.nit:23 */
806 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
807 if (UNTAG_Bool(REGB0
)) {
809 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
811 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
812 /* ./syntax//mmbuilder.nit:223 */
814 /* ./../lib/standard//kernel.nit:217 */
815 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
816 /* ./syntax//mmbuilder.nit:223 */
817 if (UNTAG_Bool(REGB1
)) {
818 /* ./syntax//mmbuilder.nit:224 */
819 fra
.me
.REG
[6] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
821 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
822 if (!once_value_13
) {
823 fra
.me
.REG
[9] = BOX_NativeString("Error: Explicit constructor required in ");
825 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
826 once_value_13
= fra
.me
.REG
[9];
827 register_static_object(&once_value_13
);
828 } else fra
.me
.REG
[9] = once_value_13
;
829 fra
.me
.REG
[9] = fra
.me
.REG
[9];
830 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
831 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
832 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
833 if (!once_value_14
) {
834 fra
.me
.REG
[9] = BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are ");
836 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
837 once_value_14
= fra
.me
.REG
[9];
838 register_static_object(&once_value_14
);
839 } else fra
.me
.REG
[9] = once_value_14
;
840 fra
.me
.REG
[9] = fra
.me
.REG
[9];
841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
842 if (!once_value_15
) {
843 fra
.me
.REG
[9] = BOX_NativeString(", ");
845 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
846 once_value_15
= fra
.me
.REG
[9];
847 register_static_object(&once_value_15
);
848 } else fra
.me
.REG
[9] = once_value_15
;
849 fra
.me
.REG
[9] = fra
.me
.REG
[9];
850 fra
.me
.REG
[9] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[9]);
851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
852 if (!once_value_16
) {
853 fra
.me
.REG
[9] = BOX_NativeString(". Costructors are ");
855 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
856 once_value_16
= fra
.me
.REG
[9];
857 register_static_object(&once_value_16
);
858 } else fra
.me
.REG
[9] = once_value_16
;
859 fra
.me
.REG
[9] = fra
.me
.REG
[9];
860 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
861 if (!once_value_17
) {
862 fra
.me
.REG
[9] = BOX_NativeString(", ");
864 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
865 once_value_17
= fra
.me
.REG
[9];
866 register_static_object(&once_value_17
);
867 } else fra
.me
.REG
[9] = once_value_17
;
868 fra
.me
.REG
[9] = fra
.me
.REG
[9];
869 fra
.me
.REG
[9] = CALL_standard___string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[9]);
870 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
871 if (!once_value_18
) {
872 fra
.me
.REG
[9] = BOX_NativeString(".");
874 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
875 once_value_18
= fra
.me
.REG
[9];
876 register_static_object(&once_value_18
);
877 } else fra
.me
.REG
[9] = once_value_18
;
878 fra
.me
.REG
[9] = fra
.me
.REG
[9];
879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
880 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
881 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6], fra
.me
.REG
[8]);
882 /* ./syntax//mmbuilder.nit:225 */
885 /* ./../lib/standard//collection//array.nit:23 */
886 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
887 if (UNTAG_Bool(REGB1
)) {
889 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
891 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
892 /* ./syntax//mmbuilder.nit:226 */
894 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
895 if (UNTAG_Bool(REGB2
)) {
897 /* ./../lib/standard//kernel.nit:210 */
898 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
899 /* ./syntax//mmbuilder.nit:226 */
902 if (UNTAG_Bool(REGB2
)) {
903 /* ./syntax//mmbuilder.nit:227 */
904 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
905 fra
.me
.REG
[7] = fra
.me
.REG
[4];
908 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_19
));
909 /* ./syntax//mmbuilder.nit:236 */
910 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
911 REGB2
= TAG_Bool(fra
.me
.REG
[7]!=NIT_NULL
);
912 if (UNTAG_Bool(REGB2
)) {
914 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 236);
916 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
917 if (UNTAG_Bool(REGB2
)) {
918 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 236);
920 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
921 CALL_metamodel___abstractmetamodel___MMGlobalClass___mixin_of__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
923 /* ./syntax//mmbuilder.nit:241 */
924 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
925 fra
.me
.REG
[2] = NEW_MMImplicitInit_syntax___syntax_base___MMImplicitInit___init(fra
.me
.REG
[0], fra
.me
.REG
[5], fra
.me
.REG
[2]);
926 /* ./syntax//mmbuilder.nit:242 */
927 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
930 stack_frame_head
= fra
.me
.prev
;
933 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
){
934 struct {struct stack_frame_t me
;} fra
;
939 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
940 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
942 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
943 fra
.me
.has_broke
= 0;
945 fra
.me
.REG
[0] = NIT_NULL
;
946 fra
.me
.closure_ctx
= closctx_param
;
947 fra
.me
.closure_funs
= CREG
;
950 /* ./syntax//mmbuilder.nit:176 */
951 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
952 if (UNTAG_Bool(REGB0
)) {
953 /* ./syntax//mmbuilder.nit:178 */
954 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
955 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
956 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],closctx
->REG
[0]));
957 if (UNTAG_Bool(REGB0
)) {
959 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
962 if (UNTAG_Bool(REGB0
)) {
963 closctx
->has_broke
= 1;
968 stack_frame_head
= fra
.me
.prev
;
971 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_5(struct stack_frame_t
*closctx
, val_t p0
){
972 struct {struct stack_frame_t me
;} fra
;
975 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
976 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
978 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
979 fra
.me
.has_broke
= 0;
981 fra
.me
.REG
[0] = NIT_NULL
;
983 /* ./syntax//mmbuilder.nit:188 */
984 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
985 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
986 if (UNTAG_Bool(REGB0
)) {
989 /* ./syntax//mmbuilder.nit:189 */
990 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
992 stack_frame_head
= fra
.me
.prev
;
995 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
){
996 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1001 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1002 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1004 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1005 fra
.me
.has_broke
= 0;
1006 fra
.me
.REG_size
= 2;
1007 fra
.me
.REG
[0] = NIT_NULL
;
1008 fra
.me
.REG
[1] = NIT_NULL
;
1009 fra
.me
.closure_ctx
= closctx_param
;
1010 fra
.me
.closure_funs
= CREG
;
1012 CREG
[0] = clos_fun0
;
1013 /* ./syntax//mmbuilder.nit:201 */
1014 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_syntax___syntax_base___MMSrcAttribute
, ID_syntax___syntax_base___MMSrcAttribute
)) /*cast MMSrcAttribute*/;
1015 if (UNTAG_Bool(REGB0
)) {
1016 /* ./syntax//mmbuilder.nit:202 */
1017 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1018 /* ./syntax//mmbuilder.nit:203 */
1019 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1020 if (UNTAG_Bool(REGB0
)) {
1021 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 203);
1023 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1024 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1025 if (UNTAG_Bool(REGB0
)) {
1027 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1028 if (UNTAG_Bool(REGB1
)) {
1029 REGB1
= TAG_Bool(false);
1032 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1036 if (UNTAG_Bool(REGB0
)) {
1037 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1040 stack_frame_head
= fra
.me
.prev
;
1043 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
){
1044 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1048 /* ./syntax//mmbuilder.nit:211 */
1049 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1050 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1052 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1053 fra
.me
.has_broke
= 0;
1054 fra
.me
.REG_size
= 2;
1055 fra
.me
.REG
[0] = NIT_NULL
;
1056 fra
.me
.REG
[1] = NIT_NULL
;
1057 fra
.me
.closure_ctx
= closctx_param
;
1058 fra
.me
.closure_funs
= CREG
;
1060 CREG
[0] = clos_fun0
;
1061 /* ./syntax//mmbuilder.nit:212 */
1062 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1063 /* ./syntax//mmbuilder.nit:213 */
1064 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1065 if (UNTAG_Bool(REGB0
)) {
1068 /* ./syntax//mmbuilder.nit:214 */
1069 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1070 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_mixin(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1071 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1072 if (UNTAG_Bool(REGB0
)) {
1073 /* ./syntax//mmbuilder.nit:215 */
1074 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1077 stack_frame_head
= fra
.me
.prev
;
1080 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
){
1081 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1087 /* ./syntax//mmbuilder.nit:230 */
1088 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1089 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1091 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1092 fra
.me
.has_broke
= 0;
1093 fra
.me
.REG_size
= 2;
1094 fra
.me
.REG
[0] = NIT_NULL
;
1095 fra
.me
.REG
[1] = NIT_NULL
;
1096 fra
.me
.closure_ctx
= closctx_param
;
1097 fra
.me
.closure_funs
= CREG
;
1099 CREG
[0] = clos_fun0
;
1100 /* ./syntax//mmbuilder.nit:232 */
1101 REGB0
= TAG_Bool(closctx
->REG
[7]==NIT_NULL
);
1102 if (UNTAG_Bool(REGB0
)) {
1104 REGB1
= TAG_Bool(closctx
->REG
[7]==NIT_NULL
);
1105 if (UNTAG_Bool(REGB1
)) {
1106 REGB1
= TAG_Bool(false);
1109 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[7])(closctx
->REG
[7], NIT_NULL
);
1113 if (UNTAG_Bool(REGB0
)) {
1114 REGB0
= TAG_Bool(true);
1116 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1117 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],closctx
->REG
[7]));
1118 if (UNTAG_Bool(REGB1
)) {
1120 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[7]);
1125 if (UNTAG_Bool(REGB0
)) {
1126 /* ./syntax//mmbuilder.nit:233 */
1127 CALL_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
1129 stack_frame_head
= fra
.me
.prev
;
1132 void syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(val_t p0
, val_t p1
, val_t p2
){
1133 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1136 static val_t once_value_1
; /* Once value */
1137 static val_t once_value_2
; /* Once value */
1138 static val_t once_value_3
; /* Once value */
1139 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1140 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1142 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property
;
1143 fra
.me
.has_broke
= 0;
1144 fra
.me
.REG_size
= 7;
1145 fra
.me
.REG
[0] = NIT_NULL
;
1146 fra
.me
.REG
[1] = NIT_NULL
;
1147 fra
.me
.REG
[2] = NIT_NULL
;
1148 fra
.me
.REG
[3] = NIT_NULL
;
1149 fra
.me
.REG
[4] = NIT_NULL
;
1150 fra
.me
.REG
[5] = NIT_NULL
;
1151 fra
.me
.REG
[6] = NIT_NULL
;
1155 /* ./syntax//mmbuilder.nit:251 */
1156 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1157 /* ./syntax//mmbuilder.nit:253 */
1158 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1159 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1160 if (UNTAG_Bool(REGB0
)) {
1161 /* ./syntax//mmbuilder.nit:254 */
1162 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1164 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1165 if (!once_value_1
) {
1166 fra
.me
.REG
[6] = BOX_NativeString("Error: A property ");
1167 REGB0
= TAG_Int(18);
1168 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1169 once_value_1
= fra
.me
.REG
[6];
1170 register_static_object(&once_value_1
);
1171 } else fra
.me
.REG
[6] = once_value_1
;
1172 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1173 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1174 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1175 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1176 if (!once_value_2
) {
1177 fra
.me
.REG
[6] = BOX_NativeString(" is already defined in class ");
1178 REGB0
= TAG_Int(29);
1179 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1180 once_value_2
= fra
.me
.REG
[6];
1181 register_static_object(&once_value_2
);
1182 } else fra
.me
.REG
[6] = once_value_2
;
1183 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1185 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1186 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1188 if (!once_value_3
) {
1189 fra
.me
.REG
[6] = BOX_NativeString(".");
1191 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
1192 once_value_3
= fra
.me
.REG
[6];
1193 register_static_object(&once_value_3
);
1194 } else fra
.me
.REG
[6] = once_value_3
;
1195 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1197 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1198 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[5]);
1199 /* ./syntax//mmbuilder.nit:255 */
1202 /* ./syntax//mmbuilder.nit:257 */
1203 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1204 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[2]);
1205 /* ./syntax//mmbuilder.nit:260 */
1206 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1207 if (UNTAG_Bool(REGB0
)) {
1208 /* ./syntax//mmbuilder.nit:261 */
1209 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1210 /* ./syntax//mmbuilder.nit:262 */
1211 CALL_metamodel___inheritance___MMLocalProperty___inherit_global(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1213 /* ./syntax//mmbuilder.nit:265 */
1214 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalProperty___is_global_set(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1215 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1216 if (UNTAG_Bool(REGB0
)) {
1217 /* ./syntax//mmbuilder.nit:266 */
1218 CALL_metamodel___abstractmetamodel___MMLocalProperty___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1219 /* ./syntax//mmbuilder.nit:267 */
1220 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1221 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1222 CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1225 stack_frame_head
= fra
.me
.prev
;
1228 void syntax___mmbuilder___MMLocalProperty___accept_property_visitor(val_t p0
, val_t p1
){
1229 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1231 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1232 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1234 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalProperty___accept_property_visitor
;
1235 fra
.me
.has_broke
= 0;
1236 fra
.me
.REG_size
= 2;
1237 fra
.me
.REG
[0] = NIT_NULL
;
1238 fra
.me
.REG
[1] = NIT_NULL
;
1241 stack_frame_head
= fra
.me
.prev
;
1244 val_t
syntax___mmbuilder___MMImplicitInit___super_init(val_t p0
){
1245 struct {struct stack_frame_t me
;} fra
;
1247 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1248 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1250 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMImplicitInit___super_init
;
1251 fra
.me
.has_broke
= 0;
1252 fra
.me
.REG_size
= 1;
1253 fra
.me
.REG
[0] = NIT_NULL
;
1255 /* ./syntax//mmbuilder.nit:279 */
1256 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[0]);
1257 stack_frame_head
= fra
.me
.prev
;
1258 return fra
.me
.REG
[0];
1260 void syntax___mmbuilder___MMImplicitInit___accept_property_visitor(val_t p0
, val_t p1
){
1261 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1268 static val_t once_value_1
; /* Once value */
1269 static val_t once_value_2
; /* Once value */
1270 static val_t once_value_3
; /* Once value */
1271 static val_t once_value_4
; /* Once value */
1272 static val_t once_value_9
; /* Once value */
1273 static val_t once_value_10
; /* Once value */
1274 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1275 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1277 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMImplicitInit___accept_property_visitor
;
1278 fra
.me
.has_broke
= 0;
1279 fra
.me
.REG_size
= 8;
1280 fra
.me
.REG
[0] = NIT_NULL
;
1281 fra
.me
.REG
[1] = NIT_NULL
;
1282 fra
.me
.REG
[2] = NIT_NULL
;
1283 fra
.me
.REG
[3] = NIT_NULL
;
1284 fra
.me
.REG
[4] = NIT_NULL
;
1285 fra
.me
.REG
[5] = NIT_NULL
;
1286 fra
.me
.REG
[6] = NIT_NULL
;
1287 fra
.me
.REG
[7] = NIT_NULL
;
1290 /* ./syntax//mmbuilder.nit:282 */
1291 fra
.me
.REG
[2] = NIT_NULL
;
1292 /* ./syntax//mmbuilder.nit:283 */
1293 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMImplicitInit___super_inits(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1294 /* ./../lib/standard//collection//array.nit:234 */
1296 /* ./../lib/standard//collection//array.nit:235 */
1297 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1298 if (UNTAG_Bool(REGB1
)) {
1300 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1302 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1303 /* ./../lib/standard//collection//array.nit:236 */
1304 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1305 /* ./../lib/standard//collection//array.nit:237 */
1307 /* ./../lib/standard//collection//array.nit:23 */
1308 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1309 if (UNTAG_Bool(REGB1
)) {
1311 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1313 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1314 /* ./../lib/standard//kernel.nit:215 */
1315 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1316 /* ./../lib/standard//collection//array.nit:237 */
1317 if (UNTAG_Bool(REGB1
)) {
1318 /* ./../lib/standard//collection//array.nit:238 */
1319 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1320 if (UNTAG_Bool(REGB1
)) {
1321 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1323 /* ./../lib/standard//collection//array.nit:654 */
1324 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1325 /* ./syntax//mmbuilder.nit:284 */
1326 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1327 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1328 if (UNTAG_Bool(REGB1
)) {
1329 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 284);
1331 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1333 /* ./../lib/standard//kernel.nit:217 */
1334 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
1335 /* ./syntax//mmbuilder.nit:284 */
1336 if (UNTAG_Bool(REGB2
)) {
1337 /* ./syntax//mmbuilder.nit:285 */
1338 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1339 if (UNTAG_Bool(REGB2
)) {
1341 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1342 if (UNTAG_Bool(REGB1
)) {
1343 REGB1
= TAG_Bool(false);
1346 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1350 if (UNTAG_Bool(REGB2
)) {
1351 /* ./syntax//mmbuilder.nit:286 */
1352 fra
.me
.REG
[2] = fra
.me
.REG
[5];
1354 /* ./syntax//mmbuilder.nit:288 */
1356 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1357 if (!once_value_1
) {
1358 fra
.me
.REG
[7] = BOX_NativeString("Error: explicit constructor needed in ");
1359 REGB2
= TAG_Int(38);
1360 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
1361 once_value_1
= fra
.me
.REG
[7];
1362 register_static_object(&once_value_1
);
1363 } else fra
.me
.REG
[7] = once_value_1
;
1364 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1365 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1366 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1367 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1368 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1369 if (!once_value_2
) {
1370 fra
.me
.REG
[7] = BOX_NativeString(" since both super-constructor ");
1371 REGB2
= TAG_Int(30);
1372 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
1373 once_value_2
= fra
.me
.REG
[7];
1374 register_static_object(&once_value_2
);
1375 } else fra
.me
.REG
[7] = once_value_2
;
1376 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1377 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1378 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1379 if (UNTAG_Bool(REGB2
)) {
1380 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 288);
1382 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1383 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1384 if (!once_value_3
) {
1385 fra
.me
.REG
[7] = BOX_NativeString(" and ");
1387 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB2
);
1388 once_value_3
= fra
.me
.REG
[7];
1389 register_static_object(&once_value_3
);
1390 } else fra
.me
.REG
[7] = once_value_3
;
1391 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1393 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1395 if (!once_value_4
) {
1396 fra
.me
.REG
[5] = BOX_NativeString(" have paramters");
1397 REGB2
= TAG_Int(15);
1398 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
1399 once_value_4
= fra
.me
.REG
[5];
1400 register_static_object(&once_value_4
);
1401 } else fra
.me
.REG
[5] = once_value_4
;
1402 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1403 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1404 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1405 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[6]);
1406 /* ./syntax//mmbuilder.nit:289 */
1410 /* ./../lib/standard//collection//array.nit:239 */
1412 /* ./../lib/standard//kernel.nit:218 */
1413 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1414 /* ./../lib/standard//collection//array.nit:239 */
1417 /* ./../lib/standard//collection//array.nit:237 */
1422 /* ./syntax//mmbuilder.nit:293 */
1423 ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1424 /* ./syntax//mmbuilder.nit:295 */
1425 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1426 /* ./syntax//mmbuilder.nit:296 */
1427 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1428 if (UNTAG_Bool(REGB0
)) {
1430 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1431 if (UNTAG_Bool(REGB2
)) {
1432 REGB2
= TAG_Bool(false);
1435 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1439 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1440 if (UNTAG_Bool(REGB0
)) {
1441 /* ./syntax//mmbuilder.nit:297 */
1442 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1443 if (UNTAG_Bool(REGB0
)) {
1444 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 297);
1446 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1447 /* ./syntax//mmbuilder.nit:298 */
1449 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1450 if (UNTAG_Bool(REGB2
)) {
1451 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 298);
1453 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1454 /* ./../lib/standard//kernel.nit:335 */
1456 /* ./../lib/standard//kernel.nit:215 */
1457 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1458 /* ./../lib/standard//kernel.nit:335 */
1459 if (UNTAG_Bool(REGB1
)) {
1460 /* ./syntax//mmbuilder.nit:298 */
1462 /* ./syntax//mmbuilder.nit:299 */
1463 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1464 if (UNTAG_Bool(REGB3
)) {
1465 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 299);
1467 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1468 /* ./../lib/standard//collection//array.nit:245 */
1470 /* ./../lib/standard//kernel.nit:216 */
1471 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
1472 /* ./../lib/standard//collection//array.nit:245 */
1473 if (UNTAG_Bool(REGB3
)) {
1474 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1475 if (UNTAG_Bool(REGB3
)) {
1477 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 245);
1479 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1480 /* ./../lib/standard//kernel.nit:215 */
1481 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
1483 /* ./../lib/standard//collection//array.nit:245 */
1484 REGB4
= TAG_Bool(false);
1487 if (UNTAG_Bool(REGB3
)) {
1489 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 245);
1491 /* ./../lib/standard//collection//array.nit:246 */
1492 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1493 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1494 if (UNTAG_Bool(REGB3
)) {
1495 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 246);
1497 /* ./../lib/standard//collection//array.nit:654 */
1498 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
1499 /* ./../lib/standard//collection//array.nit:246 */
1502 /* ./syntax//mmbuilder.nit:299 */
1503 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
1504 /* ./../lib/standard//kernel.nit:337 */
1506 /* ./../lib/standard//kernel.nit:218 */
1507 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1508 /* ./../lib/standard//kernel.nit:337 */
1511 /* ./../lib/standard//kernel.nit:335 */
1517 /* ./syntax//mmbuilder.nit:302 */
1518 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMImplicitInit___unassigned_attributes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1519 /* ./../lib/standard//collection//array.nit:234 */
1521 /* ./../lib/standard//collection//array.nit:235 */
1522 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1523 if (UNTAG_Bool(REGB2
)) {
1525 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
1527 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1528 /* ./../lib/standard//collection//array.nit:236 */
1529 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1530 /* ./../lib/standard//collection//array.nit:237 */
1532 /* ./../lib/standard//collection//array.nit:23 */
1533 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1534 if (UNTAG_Bool(REGB2
)) {
1536 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1538 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1539 /* ./../lib/standard//kernel.nit:215 */
1540 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1541 /* ./../lib/standard//collection//array.nit:237 */
1542 if (UNTAG_Bool(REGB2
)) {
1543 /* ./../lib/standard//collection//array.nit:238 */
1544 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1545 if (UNTAG_Bool(REGB2
)) {
1546 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
1548 /* ./../lib/standard//collection//array.nit:654 */
1549 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1550 /* ./syntax//mmbuilder.nit:303 */
1551 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1552 /* ./syntax//mmbuilder.nit:304 */
1553 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1554 if (UNTAG_Bool(REGB2
)) {
1556 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1557 if (UNTAG_Bool(REGB1
)) {
1558 REGB1
= TAG_Bool(false);
1561 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1565 if (UNTAG_Bool(REGB2
)) {
1568 /* ./syntax//mmbuilder.nit:305 */
1569 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1570 if (UNTAG_Bool(REGB2
)) {
1571 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 305);
1573 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1574 REGB2
= TAG_Bool((fra
.me
.REG
[3]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[3], COLOR_metamodel___static_type___MMType
, ID_metamodel___static_type___MMType
)) /*cast MMType*/;
1575 if (UNTAG_Bool(REGB2
)) {
1577 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 305);
1579 if (!once_value_9
) {
1580 if (!once_value_10
) {
1581 fra
.me
.REG
[6] = BOX_NativeString("recv");
1583 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
1584 once_value_10
= fra
.me
.REG
[6];
1585 register_static_object(&once_value_10
);
1586 } else fra
.me
.REG
[6] = once_value_10
;
1587 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1588 fra
.me
.REG
[6] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1589 once_value_9
= fra
.me
.REG
[6];
1590 register_static_object(&once_value_9
);
1591 } else fra
.me
.REG
[6] = once_value_9
;
1592 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1593 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1594 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1595 /* ./../lib/standard//collection//array.nit:239 */
1597 /* ./../lib/standard//kernel.nit:218 */
1598 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1599 /* ./../lib/standard//collection//array.nit:239 */
1602 /* ./../lib/standard//collection//array.nit:237 */
1607 /* ./syntax//mmbuilder.nit:307 */
1608 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1609 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1610 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[4]);
1611 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
1613 stack_frame_head
= fra
.me
.prev
;
1616 val_t
syntax___mmbuilder___MMSrcAncestor___local_class(val_t p0
){
1617 struct {struct stack_frame_t me
;} fra
;
1620 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1621 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1623 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcAncestor___local_class
;
1624 fra
.me
.has_broke
= 0;
1625 fra
.me
.REG_size
= 1;
1626 fra
.me
.REG
[0] = NIT_NULL
;
1628 /* ./syntax//mmbuilder.nit:315 */
1629 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
1630 if (UNTAG_Bool(REGB0
)) {
1632 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_syntax___mmbuilder
, 315);
1634 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0]);
1635 stack_frame_head
= fra
.me
.prev
;
1636 return fra
.me
.REG
[0];
1638 void syntax___mmbuilder___MMSrcAncestor___init(val_t p0
, val_t p1
, int* init_table
){
1639 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___MMSrcAncestor
].i
;
1640 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1642 if (init_table
[itpos1
]) return;
1643 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1644 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1646 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcAncestor___init
;
1647 fra
.me
.has_broke
= 0;
1648 fra
.me
.REG_size
= 3;
1649 fra
.me
.REG
[0] = NIT_NULL
;
1650 fra
.me
.REG
[1] = NIT_NULL
;
1651 fra
.me
.REG
[2] = NIT_NULL
;
1654 /* ./syntax//mmbuilder.nit:317 */
1655 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1656 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1657 /* ./syntax//mmbuilder.nit:319 */
1658 ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
1659 stack_frame_head
= fra
.me
.prev
;
1660 init_table
[itpos1
] = 1;
1663 val_t
syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(val_t p0
){
1664 struct {struct stack_frame_t me
;} fra
;
1667 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1668 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1670 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity
;
1671 fra
.me
.has_broke
= 0;
1672 fra
.me
.REG_size
= 1;
1673 fra
.me
.REG
[0] = NIT_NULL
;
1675 /* ./syntax//mmbuilder.nit:330 */
1676 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0])!=NIT_NULL
);
1677 if (UNTAG_Bool(REGB0
)) {
1679 nit_abort("Uninitialized attribute %s", "_local_class_arity", LOCATE_syntax___mmbuilder
, 330);
1681 REGB0
= ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]);
1682 stack_frame_head
= fra
.me
.prev
;
1685 void syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t p0
, val_t p1
){
1686 struct {struct stack_frame_t me
;} fra
;
1689 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1690 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1692 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq
;
1693 fra
.me
.has_broke
= 0;
1694 fra
.me
.REG_size
= 1;
1695 fra
.me
.REG
[0] = NIT_NULL
;
1698 /* ./syntax//mmbuilder.nit:330 */
1699 ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]) = REGB0
;
1700 stack_frame_head
= fra
.me
.prev
;
1703 val_t
syntax___mmbuilder___ClassBuilderVisitor___formals(val_t p0
){
1704 struct {struct stack_frame_t me
;} fra
;
1706 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1707 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1709 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals
;
1710 fra
.me
.has_broke
= 0;
1711 fra
.me
.REG_size
= 1;
1712 fra
.me
.REG
[0] = NIT_NULL
;
1714 /* ./syntax//mmbuilder.nit:333 */
1715 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]);
1716 stack_frame_head
= fra
.me
.prev
;
1717 return fra
.me
.REG
[0];
1719 void syntax___mmbuilder___ClassBuilderVisitor___formals__eq(val_t p0
, val_t p1
){
1720 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1722 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1723 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1725 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals__eq
;
1726 fra
.me
.has_broke
= 0;
1727 fra
.me
.REG_size
= 2;
1728 fra
.me
.REG
[0] = NIT_NULL
;
1729 fra
.me
.REG
[1] = NIT_NULL
;
1732 /* ./syntax//mmbuilder.nit:333 */
1733 ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1734 stack_frame_head
= fra
.me
.prev
;
1737 void syntax___mmbuilder___ClassBuilderVisitor___visit(val_t p0
, val_t p1
){
1738 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1741 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1742 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1744 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___visit
;
1745 fra
.me
.has_broke
= 0;
1746 fra
.me
.REG_size
= 2;
1747 fra
.me
.REG
[0] = NIT_NULL
;
1748 fra
.me
.REG
[1] = NIT_NULL
;
1751 /* ./syntax//mmbuilder.nit:336 */
1752 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1753 if (UNTAG_Bool(REGB0
)) {
1754 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 336);
1756 CALL_syntax___mmbuilder___ANode___accept_class_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1757 stack_frame_head
= fra
.me
.prev
;
1760 void syntax___mmbuilder___ClassBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1761 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassBuilderVisitor
].i
;
1762 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1764 if (init_table
[itpos2
]) return;
1765 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1766 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1768 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___init
;
1769 fra
.me
.has_broke
= 0;
1770 fra
.me
.REG_size
= 3;
1771 fra
.me
.REG
[0] = NIT_NULL
;
1772 fra
.me
.REG
[1] = NIT_NULL
;
1773 fra
.me
.REG
[2] = NIT_NULL
;
1777 /* ./syntax//mmbuilder.nit:337 */
1778 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1779 stack_frame_head
= fra
.me
.prev
;
1780 init_table
[itpos2
] = 1;
1783 void syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t p0
, val_t p1
){
1784 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1787 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1788 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1790 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit
;
1791 fra
.me
.has_broke
= 0;
1792 fra
.me
.REG_size
= 2;
1793 fra
.me
.REG
[0] = NIT_NULL
;
1794 fra
.me
.REG
[1] = NIT_NULL
;
1797 /* ./syntax//mmbuilder.nit:344 */
1798 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1799 if (UNTAG_Bool(REGB0
)) {
1800 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 344);
1802 CALL_syntax___mmbuilder___ANode___accept_class_specialization_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1803 stack_frame_head
= fra
.me
.prev
;
1806 void syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1807 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassSpecializationBuilderVisitor
].i
;
1808 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1810 if (init_table
[itpos3
]) return;
1811 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1812 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1814 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init
;
1815 fra
.me
.has_broke
= 0;
1816 fra
.me
.REG_size
= 3;
1817 fra
.me
.REG
[0] = NIT_NULL
;
1818 fra
.me
.REG
[1] = NIT_NULL
;
1819 fra
.me
.REG
[2] = NIT_NULL
;
1823 /* ./syntax//mmbuilder.nit:345 */
1824 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1825 stack_frame_head
= fra
.me
.prev
;
1826 init_table
[itpos3
] = 1;
1829 void syntax___mmbuilder___ClassAncestorBuilder___visit(val_t p0
, val_t p1
){
1830 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1833 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1834 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1836 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassAncestorBuilder___visit
;
1837 fra
.me
.has_broke
= 0;
1838 fra
.me
.REG_size
= 2;
1839 fra
.me
.REG
[0] = NIT_NULL
;
1840 fra
.me
.REG
[1] = NIT_NULL
;
1843 /* ./syntax//mmbuilder.nit:352 */
1844 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1845 if (UNTAG_Bool(REGB0
)) {
1846 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 352);
1848 CALL_syntax___mmbuilder___ANode___accept_class_ancestor_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1849 stack_frame_head
= fra
.me
.prev
;
1852 void syntax___mmbuilder___ClassAncestorBuilder___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1853 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassAncestorBuilder
].i
;
1854 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1856 if (init_table
[itpos4
]) return;
1857 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1858 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1860 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassAncestorBuilder___init
;
1861 fra
.me
.has_broke
= 0;
1862 fra
.me
.REG_size
= 3;
1863 fra
.me
.REG
[0] = NIT_NULL
;
1864 fra
.me
.REG
[1] = NIT_NULL
;
1865 fra
.me
.REG
[2] = NIT_NULL
;
1869 /* ./syntax//mmbuilder.nit:353 */
1870 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1871 stack_frame_head
= fra
.me
.prev
;
1872 init_table
[itpos4
] = 1;
1875 void syntax___mmbuilder___ClassVerifierVisitor___visit(val_t p0
, val_t p1
){
1876 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1879 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1880 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1882 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassVerifierVisitor___visit
;
1883 fra
.me
.has_broke
= 0;
1884 fra
.me
.REG_size
= 2;
1885 fra
.me
.REG
[0] = NIT_NULL
;
1886 fra
.me
.REG
[1] = NIT_NULL
;
1889 /* ./syntax//mmbuilder.nit:360 */
1890 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1891 if (UNTAG_Bool(REGB0
)) {
1892 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 360);
1894 CALL_syntax___mmbuilder___ANode___accept_class_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1895 stack_frame_head
= fra
.me
.prev
;
1898 void syntax___mmbuilder___ClassVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1899 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassVerifierVisitor
].i
;
1900 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1902 if (init_table
[itpos5
]) return;
1903 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1904 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1906 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassVerifierVisitor___init
;
1907 fra
.me
.has_broke
= 0;
1908 fra
.me
.REG_size
= 3;
1909 fra
.me
.REG
[0] = NIT_NULL
;
1910 fra
.me
.REG
[1] = NIT_NULL
;
1911 fra
.me
.REG
[2] = NIT_NULL
;
1915 /* ./syntax//mmbuilder.nit:361 */
1916 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1917 stack_frame_head
= fra
.me
.prev
;
1918 init_table
[itpos5
] = 1;
1921 void syntax___mmbuilder___PropertyBuilderVisitor___visit(val_t p0
, val_t p1
){
1922 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1925 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1926 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1928 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___visit
;
1929 fra
.me
.has_broke
= 0;
1930 fra
.me
.REG_size
= 2;
1931 fra
.me
.REG
[0] = NIT_NULL
;
1932 fra
.me
.REG
[1] = NIT_NULL
;
1935 /* ./syntax//mmbuilder.nit:371 */
1936 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1937 if (UNTAG_Bool(REGB0
)) {
1938 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 371);
1940 CALL_syntax___mmbuilder___ANode___accept_property_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1941 stack_frame_head
= fra
.me
.prev
;
1944 void syntax___mmbuilder___PropertyBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1945 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___PropertyBuilderVisitor
].i
;
1946 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1948 if (init_table
[itpos6
]) return;
1949 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1950 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1952 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___init
;
1953 fra
.me
.has_broke
= 0;
1954 fra
.me
.REG_size
= 3;
1955 fra
.me
.REG
[0] = NIT_NULL
;
1956 fra
.me
.REG
[1] = NIT_NULL
;
1957 fra
.me
.REG
[2] = NIT_NULL
;
1961 /* ./syntax//mmbuilder.nit:372 */
1962 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1963 stack_frame_head
= fra
.me
.prev
;
1964 init_table
[itpos6
] = 1;
1967 val_t
syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(val_t p0
){
1968 struct {struct stack_frame_t me
;} fra
;
1971 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1972 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1974 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder
;
1975 fra
.me
.has_broke
= 0;
1976 fra
.me
.REG_size
= 1;
1977 fra
.me
.REG
[0] = NIT_NULL
;
1979 /* ./syntax//mmbuilder.nit:380 */
1980 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0])!=NIT_NULL
);
1981 if (UNTAG_Bool(REGB0
)) {
1983 nit_abort("Uninitialized attribute %s", "_signature_builder", LOCATE_syntax___mmbuilder
, 380);
1985 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]);
1986 stack_frame_head
= fra
.me
.prev
;
1987 return fra
.me
.REG
[0];
1989 void syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t p0
, val_t p1
){
1990 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1992 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1993 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1995 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq
;
1996 fra
.me
.has_broke
= 0;
1997 fra
.me
.REG_size
= 2;
1998 fra
.me
.REG
[0] = NIT_NULL
;
1999 fra
.me
.REG
[1] = NIT_NULL
;
2002 /* ./syntax//mmbuilder.nit:380 */
2003 ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2004 stack_frame_head
= fra
.me
.prev
;
2007 void syntax___mmbuilder___PropertyVerifierVisitor___visit(val_t p0
, val_t p1
){
2008 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2011 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2012 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2014 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___visit
;
2015 fra
.me
.has_broke
= 0;
2016 fra
.me
.REG_size
= 2;
2017 fra
.me
.REG
[0] = NIT_NULL
;
2018 fra
.me
.REG
[1] = NIT_NULL
;
2021 /* ./syntax//mmbuilder.nit:383 */
2022 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2023 if (UNTAG_Bool(REGB0
)) {
2024 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 383);
2026 CALL_syntax___mmbuilder___ANode___accept_property_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2027 stack_frame_head
= fra
.me
.prev
;
2030 void syntax___mmbuilder___PropertyVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2031 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___PropertyVerifierVisitor
].i
;
2032 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2034 if (init_table
[itpos7
]) return;
2035 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2036 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2038 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___init
;
2039 fra
.me
.has_broke
= 0;
2040 fra
.me
.REG_size
= 4;
2041 fra
.me
.REG
[0] = NIT_NULL
;
2042 fra
.me
.REG
[1] = NIT_NULL
;
2043 fra
.me
.REG
[2] = NIT_NULL
;
2044 fra
.me
.REG
[3] = NIT_NULL
;
2048 /* ./syntax//mmbuilder.nit:385 */
2049 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2050 /* ./syntax//mmbuilder.nit:387 */
2051 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2052 /* ./syntax//mmbuilder.nit:388 */
2053 fra
.me
.REG
[2] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
2054 ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
2055 stack_frame_head
= fra
.me
.prev
;
2056 init_table
[itpos7
] = 1;
2059 val_t
syntax___mmbuilder___SignatureBuilder___params(val_t p0
){
2060 struct {struct stack_frame_t me
;} fra
;
2063 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2064 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2066 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___params
;
2067 fra
.me
.has_broke
= 0;
2068 fra
.me
.REG_size
= 1;
2069 fra
.me
.REG
[0] = NIT_NULL
;
2071 /* ./syntax//mmbuilder.nit:394 */
2072 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0])!=NIT_NULL
);
2073 if (UNTAG_Bool(REGB0
)) {
2075 nit_abort("Uninitialized attribute %s", "_params", LOCATE_syntax___mmbuilder
, 394);
2077 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]);
2078 stack_frame_head
= fra
.me
.prev
;
2079 return fra
.me
.REG
[0];
2081 void syntax___mmbuilder___SignatureBuilder___params__eq(val_t p0
, val_t p1
){
2082 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2084 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2085 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2087 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___params__eq
;
2088 fra
.me
.has_broke
= 0;
2089 fra
.me
.REG_size
= 2;
2090 fra
.me
.REG
[0] = NIT_NULL
;
2091 fra
.me
.REG
[1] = NIT_NULL
;
2094 /* ./syntax//mmbuilder.nit:394 */
2095 ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2096 stack_frame_head
= fra
.me
.prev
;
2099 val_t
syntax___mmbuilder___SignatureBuilder___untyped_params(val_t p0
){
2100 struct {struct stack_frame_t me
;} fra
;
2103 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2104 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2106 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params
;
2107 fra
.me
.has_broke
= 0;
2108 fra
.me
.REG_size
= 1;
2109 fra
.me
.REG
[0] = NIT_NULL
;
2111 /* ./syntax//mmbuilder.nit:397 */
2112 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0])!=NIT_NULL
);
2113 if (UNTAG_Bool(REGB0
)) {
2115 nit_abort("Uninitialized attribute %s", "_untyped_params", LOCATE_syntax___mmbuilder
, 397);
2117 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]);
2118 stack_frame_head
= fra
.me
.prev
;
2119 return fra
.me
.REG
[0];
2121 void syntax___mmbuilder___SignatureBuilder___untyped_params__eq(val_t p0
, val_t p1
){
2122 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2124 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2125 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2127 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params__eq
;
2128 fra
.me
.has_broke
= 0;
2129 fra
.me
.REG_size
= 2;
2130 fra
.me
.REG
[0] = NIT_NULL
;
2131 fra
.me
.REG
[1] = NIT_NULL
;
2134 /* ./syntax//mmbuilder.nit:397 */
2135 ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2136 stack_frame_head
= fra
.me
.prev
;
2139 val_t
syntax___mmbuilder___SignatureBuilder___vararg_rank(val_t p0
){
2140 struct {struct stack_frame_t me
;} fra
;
2143 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2144 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2146 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank
;
2147 fra
.me
.has_broke
= 0;
2148 fra
.me
.REG_size
= 1;
2149 fra
.me
.REG
[0] = NIT_NULL
;
2151 /* ./syntax//mmbuilder.nit:400 */
2152 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
2153 if (UNTAG_Bool(REGB0
)) {
2155 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_syntax___mmbuilder
, 400);
2157 REGB0
= ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]);
2158 stack_frame_head
= fra
.me
.prev
;
2161 void syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(val_t p0
, val_t p1
){
2162 struct {struct stack_frame_t me
;} fra
;
2165 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2166 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2168 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq
;
2169 fra
.me
.has_broke
= 0;
2170 fra
.me
.REG_size
= 1;
2171 fra
.me
.REG
[0] = NIT_NULL
;
2174 /* ./syntax//mmbuilder.nit:400 */
2175 ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
2176 stack_frame_head
= fra
.me
.prev
;
2179 val_t
syntax___mmbuilder___SignatureBuilder___closure_decls(val_t p0
){
2180 struct {struct stack_frame_t me
;} fra
;
2183 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2184 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2186 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls
;
2187 fra
.me
.has_broke
= 0;
2188 fra
.me
.REG_size
= 1;
2189 fra
.me
.REG
[0] = NIT_NULL
;
2191 /* ./syntax//mmbuilder.nit:403 */
2192 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0])!=NIT_NULL
);
2193 if (UNTAG_Bool(REGB0
)) {
2195 nit_abort("Uninitialized attribute %s", "_closure_decls", LOCATE_syntax___mmbuilder
, 403);
2197 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]);
2198 stack_frame_head
= fra
.me
.prev
;
2199 return fra
.me
.REG
[0];
2201 void syntax___mmbuilder___SignatureBuilder___closure_decls__eq(val_t p0
, val_t p1
){
2202 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2204 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2205 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2207 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls__eq
;
2208 fra
.me
.has_broke
= 0;
2209 fra
.me
.REG_size
= 2;
2210 fra
.me
.REG
[0] = NIT_NULL
;
2211 fra
.me
.REG
[1] = NIT_NULL
;
2214 /* ./syntax//mmbuilder.nit:403 */
2215 ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2216 stack_frame_head
= fra
.me
.prev
;
2219 val_t
syntax___mmbuilder___SignatureBuilder___has_error_occured(val_t p0
){
2220 struct {struct stack_frame_t me
;} fra
;
2223 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2224 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2226 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured
;
2227 fra
.me
.has_broke
= 0;
2228 fra
.me
.REG_size
= 1;
2229 fra
.me
.REG
[0] = NIT_NULL
;
2231 /* ./syntax//mmbuilder.nit:406 */
2232 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0])!=NIT_NULL
);
2233 if (UNTAG_Bool(REGB0
)) {
2235 nit_abort("Uninitialized attribute %s", "_has_error_occured", LOCATE_syntax___mmbuilder
, 406);
2237 REGB0
= ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]);
2238 stack_frame_head
= fra
.me
.prev
;
2241 void syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(val_t p0
, val_t p1
){
2242 struct {struct stack_frame_t me
;} fra
;
2245 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2246 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2248 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq
;
2249 fra
.me
.has_broke
= 0;
2250 fra
.me
.REG_size
= 1;
2251 fra
.me
.REG
[0] = NIT_NULL
;
2254 /* ./syntax//mmbuilder.nit:406 */
2255 ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]) = REGB0
;
2256 stack_frame_head
= fra
.me
.prev
;
2259 val_t
syntax___mmbuilder___SignatureBuilder___signature(val_t p0
){
2260 struct {struct stack_frame_t me
;} fra
;
2262 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2263 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2265 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___signature
;
2266 fra
.me
.has_broke
= 0;
2267 fra
.me
.REG_size
= 1;
2268 fra
.me
.REG
[0] = NIT_NULL
;
2270 /* ./syntax//mmbuilder.nit:409 */
2271 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]);
2272 stack_frame_head
= fra
.me
.prev
;
2273 return fra
.me
.REG
[0];
2275 void syntax___mmbuilder___SignatureBuilder___signature__eq(val_t p0
, val_t p1
){
2276 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2278 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2279 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2281 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___signature__eq
;
2282 fra
.me
.has_broke
= 0;
2283 fra
.me
.REG_size
= 2;
2284 fra
.me
.REG
[0] = NIT_NULL
;
2285 fra
.me
.REG
[1] = NIT_NULL
;
2288 /* ./syntax//mmbuilder.nit:409 */
2289 ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2290 stack_frame_head
= fra
.me
.prev
;
2293 void syntax___mmbuilder___SignatureBuilder___init(val_t p0
, int* init_table
){
2294 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___SignatureBuilder
].i
;
2295 struct {struct stack_frame_t me
;} fra
;
2297 if (init_table
[itpos8
]) return;
2298 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2299 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2301 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___init
;
2302 fra
.me
.has_broke
= 0;
2303 fra
.me
.REG_size
= 0;
2304 stack_frame_head
= fra
.me
.prev
;
2305 init_table
[itpos8
] = 1;
2308 void syntax___mmbuilder___ANode___accept_class_builder(val_t p0
, val_t p1
){
2309 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2311 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2312 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2314 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_builder
;
2315 fra
.me
.has_broke
= 0;
2316 fra
.me
.REG_size
= 2;
2317 fra
.me
.REG
[0] = NIT_NULL
;
2318 fra
.me
.REG
[1] = NIT_NULL
;
2321 /* ./syntax//mmbuilder.nit:416 */
2322 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2323 stack_frame_head
= fra
.me
.prev
;
2326 void syntax___mmbuilder___ANode___accept_class_specialization_builder(val_t p0
, val_t p1
){
2327 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2329 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2330 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2332 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_specialization_builder
;
2333 fra
.me
.has_broke
= 0;
2334 fra
.me
.REG_size
= 2;
2335 fra
.me
.REG
[0] = NIT_NULL
;
2336 fra
.me
.REG
[1] = NIT_NULL
;
2339 /* ./syntax//mmbuilder.nit:417 */
2340 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2341 stack_frame_head
= fra
.me
.prev
;
2344 void syntax___mmbuilder___ANode___accept_class_ancestor_builder(val_t p0
, val_t p1
){
2345 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} 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___ANode___accept_class_ancestor_builder
;
2351 fra
.me
.has_broke
= 0;
2352 fra
.me
.REG_size
= 2;
2353 fra
.me
.REG
[0] = NIT_NULL
;
2354 fra
.me
.REG
[1] = NIT_NULL
;
2357 /* ./syntax//mmbuilder.nit:418 */
2358 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2359 stack_frame_head
= fra
.me
.prev
;
2362 void syntax___mmbuilder___ANode___accept_class_verifier(val_t p0
, val_t p1
){
2363 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2365 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2366 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2368 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_verifier
;
2369 fra
.me
.has_broke
= 0;
2370 fra
.me
.REG_size
= 2;
2371 fra
.me
.REG
[0] = NIT_NULL
;
2372 fra
.me
.REG
[1] = NIT_NULL
;
2375 /* ./syntax//mmbuilder.nit:419 */
2376 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2377 stack_frame_head
= fra
.me
.prev
;
2380 void syntax___mmbuilder___ANode___accept_property_builder(val_t p0
, val_t p1
){
2381 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2383 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2384 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2386 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_property_builder
;
2387 fra
.me
.has_broke
= 0;
2388 fra
.me
.REG_size
= 2;
2389 fra
.me
.REG
[0] = NIT_NULL
;
2390 fra
.me
.REG
[1] = NIT_NULL
;
2393 /* ./syntax//mmbuilder.nit:420 */
2394 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2395 stack_frame_head
= fra
.me
.prev
;
2398 void syntax___mmbuilder___ANode___accept_property_verifier(val_t p0
, val_t p1
){
2399 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2401 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2402 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2404 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_property_verifier
;
2405 fra
.me
.has_broke
= 0;
2406 fra
.me
.REG_size
= 2;
2407 fra
.me
.REG
[0] = NIT_NULL
;
2408 fra
.me
.REG
[1] = NIT_NULL
;
2411 /* ./syntax//mmbuilder.nit:421 */
2412 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2413 stack_frame_head
= fra
.me
.prev
;
2416 void syntax___mmbuilder___AModule___import_super_modules(val_t p0
, val_t p1
, val_t p2
){
2417 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2421 static val_t once_value_2
; /* Once value */
2422 static val_t once_value_3
; /* Once value */
2423 static val_t once_value_4
; /* Once value */
2424 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2425 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2427 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModule___import_super_modules
;
2428 fra
.me
.has_broke
= 0;
2429 fra
.me
.REG_size
= 5;
2430 fra
.me
.REG
[0] = NIT_NULL
;
2431 fra
.me
.REG
[1] = NIT_NULL
;
2432 fra
.me
.REG
[2] = NIT_NULL
;
2433 fra
.me
.REG
[3] = NIT_NULL
;
2434 fra
.me
.REG
[4] = NIT_NULL
;
2438 /* ./syntax//mmbuilder.nit:429 */
2439 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
2440 /* ./syntax//mmbuilder.nit:430 */
2441 fra
.me
.REG
[4] = NIT_NULL
;
2442 /* ./syntax//mmbuilder.nit:431 */
2443 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModule___n_imports(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2444 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
));
2445 /* ./syntax//mmbuilder.nit:441 */
2446 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2447 if (UNTAG_Bool(REGB0
)) {
2449 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2450 if (UNTAG_Bool(REGB1
)) {
2451 REGB1
= TAG_Bool(false);
2454 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
2458 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2459 if (UNTAG_Bool(REGB0
)) {
2460 /* ./syntax//mmbuilder.nit:442 */
2461 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2462 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2463 if (UNTAG_Bool(REGB0
)) {
2464 /* ./syntax//mmbuilder.nit:443 */
2465 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2466 if (UNTAG_Bool(REGB0
)) {
2467 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 443);
2469 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2470 if (!once_value_2
) {
2471 fra
.me
.REG
[0] = BOX_NativeString("Error: Top modules cannot import other modules.");
2472 REGB0
= TAG_Int(47);
2473 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2474 once_value_2
= fra
.me
.REG
[0];
2475 register_static_object(&once_value_2
);
2476 } else fra
.me
.REG
[0] = once_value_2
;
2477 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2478 CALL_mmloader___ToolContext___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
2481 /* ./syntax//mmbuilder.nit:445 */
2482 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2483 if (UNTAG_Bool(REGB0
)) {
2484 /* ./syntax//mmbuilder.nit:446 */
2485 if (!once_value_3
) {
2486 if (!once_value_4
) {
2487 fra
.me
.REG
[0] = BOX_NativeString("standard");
2489 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2490 once_value_4
= fra
.me
.REG
[0];
2491 register_static_object(&once_value_4
);
2492 } else fra
.me
.REG
[0] = once_value_4
;
2493 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2494 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2495 once_value_3
= fra
.me
.REG
[0];
2496 register_static_object(&once_value_3
);
2497 } else fra
.me
.REG
[0] = once_value_3
;
2498 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2499 /* ./syntax//mmbuilder.nit:447 */
2500 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]);
2501 /* ./syntax//mmbuilder.nit:448 */
2502 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2503 /* ./syntax//mmbuilder.nit:449 */
2505 CALL_metamodel___abstractmetamodel___MMModule___add_super_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], REGB0
);
2508 /* ./syntax//mmbuilder.nit:452 */
2509 CALL_metamodel___abstractmetamodel___MMContext___add_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
2510 stack_frame_head
= fra
.me
.prev
;
2513 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
){
2514 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2519 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2520 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2522 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModule___import_super_modules
;
2523 fra
.me
.has_broke
= 0;
2524 fra
.me
.REG_size
= 2;
2525 fra
.me
.REG
[0] = NIT_NULL
;
2526 fra
.me
.REG
[1] = NIT_NULL
;
2527 fra
.me
.closure_ctx
= closctx_param
;
2528 fra
.me
.closure_funs
= CREG
;
2530 CREG
[0] = clos_fun0
;
2531 /* ./syntax//mmbuilder.nit:432 */
2532 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___AImport___module_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2533 /* ./syntax//mmbuilder.nit:433 */
2534 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2535 if (UNTAG_Bool(REGB0
)) {
2537 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2538 if (UNTAG_Bool(REGB1
)) {
2539 REGB1
= TAG_Bool(false);
2542 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2546 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2547 if (UNTAG_Bool(REGB0
)) {
2548 /* ./syntax//mmbuilder.nit:434 */
2549 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___get_module(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1], closctx
->REG
[2]);
2550 /* ./syntax//mmbuilder.nit:435 */
2551 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
2552 /* ./syntax//mmbuilder.nit:436 */
2553 REGB0
= CALL_syntax___mmbuilder___AImport___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2554 CALL_metamodel___abstractmetamodel___MMModule___add_super_module(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1], REGB0
);
2556 /* ./syntax//mmbuilder.nit:438 */
2557 closctx
->REG
[4] = fra
.me
.REG
[0];
2559 stack_frame_head
= fra
.me
.prev
;
2562 void syntax___mmbuilder___AModuledecl___accept_class_builder(val_t p0
, val_t p1
){
2563 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2567 static val_t once_value_1
; /* Once value */
2568 static val_t once_value_2
; /* Once value */
2569 static val_t once_value_3
; /* Once value */
2570 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2571 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2573 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModuledecl___accept_class_builder
;
2574 fra
.me
.has_broke
= 0;
2575 fra
.me
.REG_size
= 5;
2576 fra
.me
.REG
[0] = NIT_NULL
;
2577 fra
.me
.REG
[1] = NIT_NULL
;
2578 fra
.me
.REG
[2] = NIT_NULL
;
2579 fra
.me
.REG
[3] = NIT_NULL
;
2580 fra
.me
.REG
[4] = NIT_NULL
;
2583 /* ./syntax//mmbuilder.nit:459 */
2584 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2585 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2586 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2587 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2588 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2589 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
2590 if (UNTAG_Bool(REGB0
)) {
2592 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2595 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2596 if (UNTAG_Bool(REGB0
)) {
2597 /* ./syntax//mmbuilder.nit:460 */
2598 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2599 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2601 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2602 if (!once_value_1
) {
2603 fra
.me
.REG
[4] = BOX_NativeString("Error: Module name mismatch between ");
2604 REGB0
= TAG_Int(36);
2605 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2606 once_value_1
= fra
.me
.REG
[4];
2607 register_static_object(&once_value_1
);
2608 } else fra
.me
.REG
[4] = once_value_1
;
2609 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2610 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2611 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2612 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2613 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2614 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2615 if (!once_value_2
) {
2616 fra
.me
.REG
[4] = BOX_NativeString(" and ");
2618 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
2619 once_value_2
= fra
.me
.REG
[4];
2620 register_static_object(&once_value_2
);
2621 } else fra
.me
.REG
[4] = once_value_2
;
2622 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2623 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2624 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2625 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2626 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2627 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2628 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2629 if (!once_value_3
) {
2630 fra
.me
.REG
[0] = BOX_NativeString("");
2632 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2633 once_value_3
= fra
.me
.REG
[0];
2634 register_static_object(&once_value_3
);
2635 } else fra
.me
.REG
[0] = once_value_3
;
2636 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2638 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2639 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3], fra
.me
.REG
[2]);
2641 stack_frame_head
= fra
.me
.prev
;
2644 val_t
syntax___mmbuilder___AImport___module_name(val_t p0
){
2645 struct {struct stack_frame_t me
;} fra
;
2647 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2648 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2650 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AImport___module_name
;
2651 fra
.me
.has_broke
= 0;
2652 fra
.me
.REG_size
= 0;
2653 /* ./syntax//mmbuilder.nit:466 */
2654 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 466);
2655 stack_frame_head
= fra
.me
.prev
;
2658 val_t
syntax___mmbuilder___AImport___visibility_level(val_t p0
){
2659 struct {struct stack_frame_t me
;} fra
;
2661 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2662 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2664 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AImport___visibility_level
;
2665 fra
.me
.has_broke
= 0;
2666 fra
.me
.REG_size
= 0;
2667 /* ./syntax//mmbuilder.nit:469 */
2668 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 469);
2669 stack_frame_head
= fra
.me
.prev
;
2672 val_t
syntax___mmbuilder___AStdImport___module_name(val_t p0
){
2673 struct {struct stack_frame_t me
;} fra
;
2675 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2676 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2678 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdImport___module_name
;
2679 fra
.me
.has_broke
= 0;
2680 fra
.me
.REG_size
= 1;
2681 fra
.me
.REG
[0] = NIT_NULL
;
2683 /* ./syntax//mmbuilder.nit:475 */
2684 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdImport___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2685 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2686 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2689 stack_frame_head
= fra
.me
.prev
;
2690 return fra
.me
.REG
[0];
2692 val_t
syntax___mmbuilder___AStdImport___visibility_level(val_t p0
){
2693 struct {struct stack_frame_t me
;} fra
;
2696 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2697 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2699 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdImport___visibility_level
;
2700 fra
.me
.has_broke
= 0;
2701 fra
.me
.REG_size
= 1;
2702 fra
.me
.REG
[0] = NIT_NULL
;
2704 /* ./syntax//mmbuilder.nit:479 */
2705 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdImport___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2706 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2709 stack_frame_head
= fra
.me
.prev
;
2712 val_t
syntax___mmbuilder___ANoImport___module_name(val_t p0
){
2713 struct {struct stack_frame_t me
;} fra
;
2715 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2716 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2718 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANoImport___module_name
;
2719 fra
.me
.has_broke
= 0;
2720 fra
.me
.REG_size
= 1;
2721 fra
.me
.REG
[0] = NIT_NULL
;
2723 /* ./syntax//mmbuilder.nit:485 */
2724 fra
.me
.REG
[0] = NIT_NULL
;
2727 stack_frame_head
= fra
.me
.prev
;
2728 return fra
.me
.REG
[0];
2730 val_t
syntax___mmbuilder___AVisibility___level(val_t p0
){
2731 struct {struct stack_frame_t me
;} fra
;
2733 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2734 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2736 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AVisibility___level
;
2737 fra
.me
.has_broke
= 0;
2738 fra
.me
.REG_size
= 0;
2739 /* ./syntax//mmbuilder.nit:490 */
2740 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 490);
2741 stack_frame_head
= fra
.me
.prev
;
2744 val_t
syntax___mmbuilder___APublicVisibility___level(val_t p0
){
2745 struct {struct stack_frame_t me
;} fra
;
2748 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2749 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2751 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APublicVisibility___level
;
2752 fra
.me
.has_broke
= 0;
2753 fra
.me
.REG_size
= 1;
2754 fra
.me
.REG
[0] = NIT_NULL
;
2756 /* ./syntax//mmbuilder.nit:494 */
2760 stack_frame_head
= fra
.me
.prev
;
2763 val_t
syntax___mmbuilder___AProtectedVisibility___level(val_t p0
){
2764 struct {struct stack_frame_t me
;} fra
;
2767 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2768 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2770 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AProtectedVisibility___level
;
2771 fra
.me
.has_broke
= 0;
2772 fra
.me
.REG_size
= 1;
2773 fra
.me
.REG
[0] = NIT_NULL
;
2775 /* ./syntax//mmbuilder.nit:497 */
2779 stack_frame_head
= fra
.me
.prev
;
2782 val_t
syntax___mmbuilder___APrivateVisibility___level(val_t p0
){
2783 struct {struct stack_frame_t me
;} fra
;
2786 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2787 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2789 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APrivateVisibility___level
;
2790 fra
.me
.has_broke
= 0;
2791 fra
.me
.REG_size
= 1;
2792 fra
.me
.REG
[0] = NIT_NULL
;
2794 /* ./syntax//mmbuilder.nit:500 */
2798 stack_frame_head
= fra
.me
.prev
;
2801 val_t
syntax___mmbuilder___AIntrudeVisibility___level(val_t p0
){
2802 struct {struct stack_frame_t me
;} fra
;
2805 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2806 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2808 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AIntrudeVisibility___level
;
2809 fra
.me
.has_broke
= 0;
2810 fra
.me
.REG_size
= 1;
2811 fra
.me
.REG
[0] = NIT_NULL
;
2813 /* ./syntax//mmbuilder.nit:503 */
2817 stack_frame_head
= fra
.me
.prev
;
2820 val_t
syntax___mmbuilder___AClassdef___local_class(val_t p0
){
2821 struct {struct stack_frame_t me
;} fra
;
2824 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2825 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2827 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___local_class
;
2828 fra
.me
.has_broke
= 0;
2829 fra
.me
.REG_size
= 1;
2830 fra
.me
.REG
[0] = NIT_NULL
;
2832 /* ./syntax//mmbuilder.nit:508 */
2833 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
2834 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
2835 if (UNTAG_Bool(REGB0
)) {
2837 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 508);
2841 stack_frame_head
= fra
.me
.prev
;
2842 return fra
.me
.REG
[0];
2844 val_t
syntax___mmbuilder___AClassdef___name(val_t p0
){
2845 struct {struct stack_frame_t me
;} fra
;
2847 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2848 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2850 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___name
;
2851 fra
.me
.has_broke
= 0;
2852 fra
.me
.REG_size
= 0;
2853 /* ./syntax//mmbuilder.nit:511 */
2854 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 511);
2855 stack_frame_head
= fra
.me
.prev
;
2858 val_t
syntax___mmbuilder___AClassdef___arity(val_t p0
){
2859 struct {struct stack_frame_t me
;} fra
;
2862 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2863 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2865 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___arity
;
2866 fra
.me
.has_broke
= 0;
2867 fra
.me
.REG_size
= 1;
2868 fra
.me
.REG
[0] = NIT_NULL
;
2870 /* ./syntax//mmbuilder.nit:515 */
2874 stack_frame_head
= fra
.me
.prev
;
2877 val_t
syntax___mmbuilder___AClassdef___visibility_level(val_t p0
){
2878 struct {struct stack_frame_t me
;} fra
;
2881 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2882 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2884 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___visibility_level
;
2885 fra
.me
.has_broke
= 0;
2886 fra
.me
.REG_size
= 1;
2887 fra
.me
.REG
[0] = NIT_NULL
;
2889 /* ./syntax//mmbuilder.nit:518 */
2893 stack_frame_head
= fra
.me
.prev
;
2896 void syntax___mmbuilder___AClassdef___accept_class_builder(val_t p0
, val_t p1
){
2897 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
2901 static val_t once_value_1
; /* Once value */
2902 static val_t once_value_2
; /* Once value */
2903 static val_t once_value_3
; /* Once value */
2904 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2905 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2907 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_class_builder
;
2908 fra
.me
.has_broke
= 0;
2909 fra
.me
.REG_size
= 9;
2910 fra
.me
.REG
[0] = NIT_NULL
;
2911 fra
.me
.REG
[1] = NIT_NULL
;
2912 fra
.me
.REG
[2] = NIT_NULL
;
2913 fra
.me
.REG
[3] = NIT_NULL
;
2914 fra
.me
.REG
[4] = NIT_NULL
;
2915 fra
.me
.REG
[5] = NIT_NULL
;
2916 fra
.me
.REG
[6] = NIT_NULL
;
2917 fra
.me
.REG
[7] = NIT_NULL
;
2918 fra
.me
.REG
[8] = NIT_NULL
;
2921 /* ./syntax//mmbuilder.nit:520 */
2922 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2923 fra
.me
.REG
[3] = fra
.me
.REG
[1];
2924 /* ./syntax//mmbuilder.nit:523 */
2925 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2926 /* ./syntax//mmbuilder.nit:524 */
2927 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2928 /* ./syntax//mmbuilder.nit:525 */
2929 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2930 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2931 if (UNTAG_Bool(REGB0
)) {
2932 /* ./syntax//mmbuilder.nit:526 */
2933 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2934 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2935 /* ./syntax//mmbuilder.nit:527 */
2936 ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
2937 /* ./syntax//mmbuilder.nit:528 */
2938 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
2939 if (UNTAG_Bool(REGB0
)) {
2940 /* ./syntax//mmbuilder.nit:530 */
2942 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2943 if (!once_value_1
) {
2944 fra
.me
.REG
[8] = BOX_NativeString("Error: A class ");
2945 REGB0
= TAG_Int(15);
2946 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
2947 once_value_1
= fra
.me
.REG
[8];
2948 register_static_object(&once_value_1
);
2949 } else fra
.me
.REG
[8] = once_value_1
;
2950 fra
.me
.REG
[8] = fra
.me
.REG
[8];
2951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2952 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2953 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2954 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2955 if (!once_value_2
) {
2956 fra
.me
.REG
[8] = BOX_NativeString(" is already defined at line ");
2957 REGB0
= TAG_Int(28);
2958 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
2959 once_value_2
= fra
.me
.REG
[8];
2960 register_static_object(&once_value_2
);
2961 } else fra
.me
.REG
[8] = once_value_2
;
2962 fra
.me
.REG
[8] = fra
.me
.REG
[8];
2963 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2964 fra
.me
.REG
[8] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2965 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
2966 if (UNTAG_Bool(REGB0
)) {
2967 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 530);
2969 fra
.me
.REG
[8] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2970 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2971 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2973 if (!once_value_3
) {
2974 fra
.me
.REG
[8] = BOX_NativeString(".");
2976 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
2977 once_value_3
= fra
.me
.REG
[8];
2978 register_static_object(&once_value_3
);
2979 } else fra
.me
.REG
[8] = once_value_3
;
2980 fra
.me
.REG
[8] = fra
.me
.REG
[8];
2981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2982 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2983 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
2984 /* ./syntax//mmbuilder.nit:531 */
2987 /* ./syntax//mmbuilder.nit:534 */
2988 fra
.me
.REG
[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2989 /* ./syntax//mmbuilder.nit:535 */
2991 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2992 if (UNTAG_Bool(REGB0
)) {
2993 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 535);
2995 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2996 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
2997 if (UNTAG_Bool(REGB0
)) {
2999 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3000 if (UNTAG_Bool(REGB1
)) {
3001 REGB1
= TAG_Bool(false);
3004 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
3008 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3009 if (UNTAG_Bool(REGB0
)) {
3010 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3011 if (UNTAG_Bool(REGB0
)) {
3012 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 535);
3014 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3015 fra
.me
.REG
[7] = fra
.me
.REG
[8];
3021 /* ./syntax//mmbuilder.nit:536 */
3022 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3023 if (UNTAG_Bool(REGB0
)) {
3024 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 536);
3026 CALL_syntax___syntax_base___AClassdef___next_node__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3028 /* ./syntax//mmbuilder.nit:538 */
3029 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3030 REGB0
= CALL_syntax___mmbuilder___AClassdef___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3031 fra
.me
.REG
[7] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[4], fra
.me
.REG
[7], fra
.me
.REG
[2], REGB0
);
3032 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3033 /* ./syntax//mmbuilder.nit:539 */
3034 ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3035 /* ./syntax//mmbuilder.nit:540 */
3036 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3037 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7], fra
.me
.REG
[6]);
3038 /* ./syntax//mmbuilder.nit:541 */
3039 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3040 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3041 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3042 if (UNTAG_Bool(REGB0
)) {
3043 /* ./syntax//mmbuilder.nit:542 */
3044 CALL_syntax___mmbuilder___AClassdef___build_class_introduction(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3046 /* ./syntax//mmbuilder.nit:544 */
3047 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3048 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMModule___global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3049 /* ./syntax//mmbuilder.nit:545 */
3050 CALL_syntax___mmbuilder___AClassdef___build_class_refinement(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[7]);
3053 /* ./syntax//mmbuilder.nit:549 */
3055 CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
3056 /* ./syntax//mmbuilder.nit:550 */
3057 fra
.me
.REG
[6] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3058 CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3059 /* ./syntax//mmbuilder.nit:553 */
3060 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3061 /* ./syntax//mmbuilder.nit:556 */
3062 CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3064 stack_frame_head
= fra
.me
.prev
;
3067 void syntax___mmbuilder___AClassdef___build_class_introduction(val_t p0
, val_t p1
){
3068 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3072 static val_t once_value_1
; /* Once value */
3073 static val_t once_value_2
; /* Once value */
3074 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3075 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3077 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___build_class_introduction
;
3078 fra
.me
.has_broke
= 0;
3079 fra
.me
.REG_size
= 5;
3080 fra
.me
.REG
[0] = NIT_NULL
;
3081 fra
.me
.REG
[1] = NIT_NULL
;
3082 fra
.me
.REG
[2] = NIT_NULL
;
3083 fra
.me
.REG
[3] = NIT_NULL
;
3084 fra
.me
.REG
[4] = NIT_NULL
;
3087 /* ./syntax//mmbuilder.nit:561 */
3088 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3089 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3090 /* ./syntax//mmbuilder.nit:562 */
3091 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3092 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3093 /* ./syntax//mmbuilder.nit:564 */
3094 REGB0
= CALL_syntax___mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3095 CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3096 /* ./syntax//mmbuilder.nit:565 */
3097 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3098 if (UNTAG_Bool(REGB0
)) {
3099 /* ./syntax//mmbuilder.nit:566 */
3100 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3101 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3102 if (UNTAG_Bool(REGB0
)) {
3104 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3105 if (UNTAG_Bool(REGB1
)) {
3106 REGB1
= TAG_Bool(false);
3109 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3113 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3114 if (UNTAG_Bool(REGB0
)) {
3115 /* ./syntax//mmbuilder.nit:567 */
3117 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3118 if (!once_value_1
) {
3119 fra
.me
.REG
[4] = BOX_NativeString("Redef error: No class ");
3120 REGB0
= TAG_Int(22);
3121 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3122 once_value_1
= fra
.me
.REG
[4];
3123 register_static_object(&once_value_1
);
3124 } else fra
.me
.REG
[4] = once_value_1
;
3125 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3127 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3128 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3130 if (!once_value_2
) {
3131 fra
.me
.REG
[4] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
3132 REGB0
= TAG_Int(61);
3133 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3134 once_value_2
= fra
.me
.REG
[4];
3135 register_static_object(&once_value_2
);
3136 } else fra
.me
.REG
[4] = once_value_2
;
3137 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3138 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3139 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3140 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3141 /* ./syntax//mmbuilder.nit:568 */
3144 /* ./syntax//mmbuilder.nit:570 */
3145 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3146 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3147 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3148 /* ./syntax//mmbuilder.nit:571 */
3149 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3150 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3151 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3152 /* ./syntax//mmbuilder.nit:572 */
3153 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3154 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3155 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3158 stack_frame_head
= fra
.me
.prev
;
3161 void syntax___mmbuilder___AClassdef___build_class_refinement(val_t p0
, val_t p1
, val_t p2
){
3162 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3167 static val_t once_value_1
; /* Once value */
3168 static val_t once_value_2
; /* Once value */
3169 static val_t once_value_4
; /* Once value */
3170 static val_t once_value_5
; /* Once value */
3171 static val_t once_value_6
; /* Once value */
3172 static val_t once_value_7
; /* Once value */
3173 static val_t once_value_8
; /* Once value */
3174 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3175 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3177 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___build_class_refinement
;
3178 fra
.me
.has_broke
= 0;
3179 fra
.me
.REG_size
= 5;
3180 fra
.me
.REG
[0] = NIT_NULL
;
3181 fra
.me
.REG
[1] = NIT_NULL
;
3182 fra
.me
.REG
[2] = NIT_NULL
;
3183 fra
.me
.REG
[3] = NIT_NULL
;
3184 fra
.me
.REG
[4] = NIT_NULL
;
3188 /* ./syntax//mmbuilder.nit:578 */
3189 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3190 CALL_metamodel___abstractmetamodel___MMLocalClass___set_global(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3191 /* ./syntax//mmbuilder.nit:580 */
3192 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3193 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]);
3194 /* ./syntax//mmbuilder.nit:581 */
3195 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3196 if (UNTAG_Bool(REGB0
)) {
3197 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3198 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3199 if (UNTAG_Bool(REGB0
)) {
3201 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3202 if (UNTAG_Bool(REGB1
)) {
3203 REGB1
= TAG_Bool(false);
3206 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3211 REGB1
= TAG_Bool(false);
3214 if (UNTAG_Bool(REGB0
)) {
3215 /* ./syntax//mmbuilder.nit:582 */
3217 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3218 if (!once_value_1
) {
3219 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
3220 REGB0
= TAG_Int(13);
3221 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3222 once_value_1
= fra
.me
.REG
[4];
3223 register_static_object(&once_value_1
);
3224 } else fra
.me
.REG
[4] = once_value_1
;
3225 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3227 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3228 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3230 if (!once_value_2
) {
3231 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
3232 REGB0
= TAG_Int(58);
3233 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
3234 once_value_2
= fra
.me
.REG
[4];
3235 register_static_object(&once_value_2
);
3236 } else fra
.me
.REG
[4] = once_value_2
;
3237 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3238 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3239 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3240 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3241 /* ./syntax//mmbuilder.nit:583 */
3244 /* ./syntax//mmbuilder.nit:586 */
3245 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3246 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3247 fra
.me
.REG
[3] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
3248 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3249 if (UNTAG_Bool(REGB1
)) {
3250 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 586);
3252 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3253 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
3254 if (UNTAG_Bool(REGB2
)) {
3256 /* ./../lib/standard//kernel.nit:210 */
3257 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
3258 /* ./syntax//mmbuilder.nit:586 */
3261 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3262 if (UNTAG_Bool(REGB2
)) {
3263 /* ./syntax//mmbuilder.nit:587 */
3265 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3266 if (!once_value_4
) {
3267 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity missmatch; got ");
3268 REGB2
= TAG_Int(51);
3269 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3270 once_value_4
= fra
.me
.REG
[4];
3271 register_static_object(&once_value_4
);
3272 } else fra
.me
.REG
[4] = once_value_4
;
3273 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3275 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
3276 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3277 if (UNTAG_Bool(REGB2
)) {
3278 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 587);
3280 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3281 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
3282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3283 if (!once_value_5
) {
3284 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
3285 REGB2
= TAG_Int(11);
3286 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3287 once_value_5
= fra
.me
.REG
[4];
3288 register_static_object(&once_value_5
);
3289 } else fra
.me
.REG
[4] = once_value_5
;
3290 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3292 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3293 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3294 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
3295 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3296 if (!once_value_6
) {
3297 fra
.me
.REG
[4] = BOX_NativeString(".");
3299 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
3300 once_value_6
= fra
.me
.REG
[4];
3301 register_static_object(&once_value_6
);
3302 } else fra
.me
.REG
[4] = once_value_6
;
3303 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3304 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3305 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3306 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3308 /* ./syntax//mmbuilder.nit:590 */
3309 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3310 if (UNTAG_Bool(REGB2
)) {
3311 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3312 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3313 if (UNTAG_Bool(REGB2
)) {
3314 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3315 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3317 REGB1
= TAG_Bool(false);
3320 if (UNTAG_Bool(REGB2
)) {
3321 REGB2
= TAG_Bool(true);
3323 /* ./syntax//mmbuilder.nit:591 */
3324 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3325 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3326 /* ./syntax//mmbuilder.nit:590 */
3329 if (UNTAG_Bool(REGB2
)) {
3330 /* ./syntax//mmbuilder.nit:591 */
3331 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3332 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3334 /* ./syntax//mmbuilder.nit:590 */
3335 REGB1
= TAG_Bool(false);
3338 if (UNTAG_Bool(REGB2
)) {
3339 REGB2
= TAG_Bool(true);
3341 /* ./syntax//mmbuilder.nit:592 */
3342 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3343 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3344 /* ./syntax//mmbuilder.nit:590 */
3347 if (UNTAG_Bool(REGB2
)) {
3348 /* ./syntax//mmbuilder.nit:592 */
3349 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3350 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3352 /* ./syntax//mmbuilder.nit:590 */
3353 REGB1
= TAG_Bool(false);
3357 REGB1
= TAG_Bool(false);
3360 if (UNTAG_Bool(REGB2
)) {
3361 /* ./syntax//mmbuilder.nit:594 */
3363 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3364 if (!once_value_7
) {
3365 fra
.me
.REG
[3] = BOX_NativeString("Redef error: cannot change kind of class ");
3366 REGB2
= TAG_Int(41);
3367 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
3368 once_value_7
= fra
.me
.REG
[3];
3369 register_static_object(&once_value_7
);
3370 } else fra
.me
.REG
[3] = once_value_7
;
3371 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3373 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3374 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3375 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3376 if (!once_value_8
) {
3377 fra
.me
.REG
[3] = BOX_NativeString(".");
3379 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
3380 once_value_8
= fra
.me
.REG
[3];
3381 register_static_object(&once_value_8
);
3382 } else fra
.me
.REG
[3] = once_value_8
;
3383 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3385 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3386 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
3389 stack_frame_head
= fra
.me
.prev
;
3392 void syntax___mmbuilder___AClassdef___accept_class_verifier(val_t p0
, val_t p1
){
3393 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3398 static val_t once_value_1
; /* Once value */
3399 static val_t once_value_2
; /* Once value */
3400 static val_t once_value_3
; /* Once value */
3401 static val_t once_value_4
; /* Once value */
3402 static val_t once_value_5
; /* Once value */
3403 static val_t once_value_6
; /* Once value */
3404 static val_t once_value_7
; /* Once value */
3405 static val_t once_value_8
; /* Once value */
3406 static val_t once_value_9
; /* Once value */
3407 static val_t once_value_10
; /* Once value */
3408 static val_t once_value_11
; /* Once value */
3409 static val_t once_value_12
; /* Once value */
3410 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3411 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3413 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_class_verifier
;
3414 fra
.me
.has_broke
= 0;
3415 fra
.me
.REG_size
= 9;
3416 fra
.me
.REG
[0] = NIT_NULL
;
3417 fra
.me
.REG
[1] = NIT_NULL
;
3418 fra
.me
.REG
[2] = NIT_NULL
;
3419 fra
.me
.REG
[3] = NIT_NULL
;
3420 fra
.me
.REG
[4] = NIT_NULL
;
3421 fra
.me
.REG
[5] = NIT_NULL
;
3422 fra
.me
.REG
[6] = NIT_NULL
;
3423 fra
.me
.REG
[7] = NIT_NULL
;
3424 fra
.me
.REG
[8] = NIT_NULL
;
3427 /* ./syntax//mmbuilder.nit:598 */
3428 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3429 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3430 /* ./syntax//mmbuilder.nit:600 */
3431 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3432 /* ./syntax//mmbuilder.nit:601 */
3433 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3434 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3435 if (UNTAG_Bool(REGB0
)) {
3436 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 601);
3438 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3439 /* ./syntax//mmbuilder.nit:602 */
3440 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3441 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3442 if (UNTAG_Bool(REGB0
)) {
3443 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 602);
3445 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3446 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3447 /* ./../lib/standard//collection//array.nit:234 */
3449 /* ./../lib/standard//collection//array.nit:235 */
3450 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3451 if (UNTAG_Bool(REGB1
)) {
3453 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
3455 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3456 /* ./../lib/standard//collection//array.nit:236 */
3457 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
3458 /* ./../lib/standard//collection//array.nit:237 */
3460 /* ./../lib/standard//collection//array.nit:23 */
3461 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3462 if (UNTAG_Bool(REGB1
)) {
3464 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
3466 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3467 /* ./../lib/standard//kernel.nit:215 */
3468 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3469 /* ./../lib/standard//collection//array.nit:237 */
3470 if (UNTAG_Bool(REGB1
)) {
3471 /* ./../lib/standard//collection//array.nit:238 */
3472 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3473 if (UNTAG_Bool(REGB1
)) {
3474 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
3476 /* ./../lib/standard//collection//array.nit:654 */
3477 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
3478 /* ./syntax//mmbuilder.nit:603 */
3479 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3480 /* ./syntax//mmbuilder.nit:604 */
3481 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3482 if (UNTAG_Bool(REGB1
)) {
3483 /* ./syntax//mmbuilder.nit:605 */
3484 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3485 if (UNTAG_Bool(REGB1
)) {
3486 /* ./syntax//mmbuilder.nit:606 */
3488 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3489 if (!once_value_1
) {
3490 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3491 REGB1
= TAG_Int(25);
3492 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3493 once_value_1
= fra
.me
.REG
[8];
3494 register_static_object(&once_value_1
);
3495 } else fra
.me
.REG
[8] = once_value_1
;
3496 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3497 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3498 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3499 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3500 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3501 if (!once_value_2
) {
3502 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
3503 REGB1
= TAG_Int(30);
3504 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3505 once_value_2
= fra
.me
.REG
[8];
3506 register_static_object(&once_value_2
);
3507 } else fra
.me
.REG
[8] = once_value_2
;
3508 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3509 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3510 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3511 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3512 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3513 if (!once_value_3
) {
3514 fra
.me
.REG
[8] = BOX_NativeString(".");
3516 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3517 once_value_3
= fra
.me
.REG
[8];
3518 register_static_object(&once_value_3
);
3519 } else fra
.me
.REG
[8] = once_value_3
;
3520 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3522 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3523 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3525 /* ./syntax//mmbuilder.nit:607 */
3526 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3527 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3528 if (UNTAG_Bool(REGB1
)) {
3529 /* ./syntax//mmbuilder.nit:608 */
3531 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3532 if (!once_value_4
) {
3533 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3534 REGB1
= TAG_Int(25);
3535 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3536 once_value_4
= fra
.me
.REG
[8];
3537 register_static_object(&once_value_4
);
3538 } else fra
.me
.REG
[8] = once_value_4
;
3539 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3540 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3541 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3542 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3544 if (!once_value_5
) {
3545 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3546 REGB1
= TAG_Int(25);
3547 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3548 once_value_5
= fra
.me
.REG
[8];
3549 register_static_object(&once_value_5
);
3550 } else fra
.me
.REG
[8] = once_value_5
;
3551 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3552 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3553 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3554 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3555 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3556 if (!once_value_6
) {
3557 fra
.me
.REG
[8] = BOX_NativeString(".");
3559 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3560 once_value_6
= fra
.me
.REG
[8];
3561 register_static_object(&once_value_6
);
3562 } else fra
.me
.REG
[8] = once_value_6
;
3563 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3564 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3565 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3566 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3570 /* ./syntax//mmbuilder.nit:610 */
3571 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3572 if (UNTAG_Bool(REGB1
)) {
3573 /* ./syntax//mmbuilder.nit:611 */
3574 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3575 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3576 if (UNTAG_Bool(REGB1
)) {
3577 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3578 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3580 REGB2
= TAG_Bool(false);
3583 if (UNTAG_Bool(REGB1
)) {
3584 /* ./syntax//mmbuilder.nit:612 */
3586 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3587 if (!once_value_7
) {
3588 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
3589 REGB1
= TAG_Int(26);
3590 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3591 once_value_7
= fra
.me
.REG
[8];
3592 register_static_object(&once_value_7
);
3593 } else fra
.me
.REG
[8] = once_value_7
;
3594 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3595 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3596 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3597 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3598 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3599 if (!once_value_8
) {
3600 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3601 REGB1
= TAG_Int(25);
3602 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3603 once_value_8
= fra
.me
.REG
[8];
3604 register_static_object(&once_value_8
);
3605 } else fra
.me
.REG
[8] = once_value_8
;
3606 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3607 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3608 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3609 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3610 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3611 if (!once_value_9
) {
3612 fra
.me
.REG
[8] = BOX_NativeString(".");
3614 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
3615 once_value_9
= fra
.me
.REG
[8];
3616 register_static_object(&once_value_9
);
3617 } else fra
.me
.REG
[8] = once_value_9
;
3618 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3620 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3621 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3624 /* ./syntax//mmbuilder.nit:615 */
3625 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3626 if (UNTAG_Bool(REGB1
)) {
3627 /* ./syntax//mmbuilder.nit:616 */
3629 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3630 if (!once_value_10
) {
3631 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
3632 REGB1
= TAG_Int(21);
3633 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
3634 once_value_10
= fra
.me
.REG
[7];
3635 register_static_object(&once_value_10
);
3636 } else fra
.me
.REG
[7] = once_value_10
;
3637 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3639 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3640 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3642 if (!once_value_11
) {
3643 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise enum class ");
3644 REGB1
= TAG_Int(30);
3645 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
3646 once_value_11
= fra
.me
.REG
[7];
3647 register_static_object(&once_value_11
);
3648 } else fra
.me
.REG
[7] = once_value_11
;
3649 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3650 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3651 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3652 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3654 if (!once_value_12
) {
3655 fra
.me
.REG
[5] = BOX_NativeString(".");
3657 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
3658 once_value_12
= fra
.me
.REG
[5];
3659 register_static_object(&once_value_12
);
3660 } else fra
.me
.REG
[5] = once_value_12
;
3661 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3663 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3664 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
3668 /* ./../lib/standard//collection//array.nit:239 */
3670 /* ./../lib/standard//kernel.nit:218 */
3671 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3672 /* ./../lib/standard//collection//array.nit:239 */
3675 /* ./../lib/standard//collection//array.nit:237 */
3680 stack_frame_head
= fra
.me
.prev
;
3683 void syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
3684 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3686 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3687 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3689 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor
;
3690 fra
.me
.has_broke
= 0;
3691 fra
.me
.REG_size
= 4;
3692 fra
.me
.REG
[0] = NIT_NULL
;
3693 fra
.me
.REG
[1] = NIT_NULL
;
3694 fra
.me
.REG
[2] = NIT_NULL
;
3695 fra
.me
.REG
[3] = NIT_NULL
;
3698 /* ./syntax//mmbuilder.nit:623 */
3699 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3700 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3701 /* ./syntax//mmbuilder.nit:625 */
3702 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3703 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3704 /* ./syntax//mmbuilder.nit:626 */
3705 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3706 /* ./syntax//mmbuilder.nit:627 */
3707 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3708 stack_frame_head
= fra
.me
.prev
;
3711 val_t
syntax___mmbuilder___AClasskind___is_interface(val_t p0
){
3712 struct {struct stack_frame_t me
;} fra
;
3715 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3716 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3718 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_interface
;
3719 fra
.me
.has_broke
= 0;
3720 fra
.me
.REG_size
= 1;
3721 fra
.me
.REG
[0] = NIT_NULL
;
3723 /* ./syntax//mmbuilder.nit:632 */
3724 REGB0
= TAG_Bool(false);
3727 stack_frame_head
= fra
.me
.prev
;
3730 val_t
syntax___mmbuilder___AClasskind___is_enum(val_t p0
){
3731 struct {struct stack_frame_t me
;} fra
;
3734 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3735 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3737 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_enum
;
3738 fra
.me
.has_broke
= 0;
3739 fra
.me
.REG_size
= 1;
3740 fra
.me
.REG
[0] = NIT_NULL
;
3742 /* ./syntax//mmbuilder.nit:633 */
3743 REGB0
= TAG_Bool(false);
3746 stack_frame_head
= fra
.me
.prev
;
3749 val_t
syntax___mmbuilder___AClasskind___is_abstract(val_t p0
){
3750 struct {struct stack_frame_t me
;} fra
;
3753 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3754 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3756 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_abstract
;
3757 fra
.me
.has_broke
= 0;
3758 fra
.me
.REG_size
= 1;
3759 fra
.me
.REG
[0] = NIT_NULL
;
3761 /* ./syntax//mmbuilder.nit:634 */
3762 REGB0
= TAG_Bool(false);
3765 stack_frame_head
= fra
.me
.prev
;
3768 val_t
syntax___mmbuilder___AClasskind___is_extern(val_t p0
){
3769 struct {struct stack_frame_t me
;} fra
;
3772 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3773 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3775 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_extern
;
3776 fra
.me
.has_broke
= 0;
3777 fra
.me
.REG_size
= 1;
3778 fra
.me
.REG
[0] = NIT_NULL
;
3780 /* ./syntax//mmbuilder.nit:635 */
3781 REGB0
= TAG_Bool(false);
3784 stack_frame_head
= fra
.me
.prev
;
3787 val_t
syntax___mmbuilder___AInterfaceClasskind___is_interface(val_t p0
){
3788 struct {struct stack_frame_t me
;} fra
;
3791 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3792 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3794 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AInterfaceClasskind___is_interface
;
3795 fra
.me
.has_broke
= 0;
3796 fra
.me
.REG_size
= 1;
3797 fra
.me
.REG
[0] = NIT_NULL
;
3799 /* ./syntax//mmbuilder.nit:639 */
3800 REGB0
= TAG_Bool(true);
3803 stack_frame_head
= fra
.me
.prev
;
3806 val_t
syntax___mmbuilder___AEnumClasskind___is_enum(val_t p0
){
3807 struct {struct stack_frame_t me
;} fra
;
3810 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3811 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3813 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AEnumClasskind___is_enum
;
3814 fra
.me
.has_broke
= 0;
3815 fra
.me
.REG_size
= 1;
3816 fra
.me
.REG
[0] = NIT_NULL
;
3818 /* ./syntax//mmbuilder.nit:642 */
3819 REGB0
= TAG_Bool(true);
3822 stack_frame_head
= fra
.me
.prev
;
3825 val_t
syntax___mmbuilder___AExternClasskind___is_extern(val_t p0
){
3826 struct {struct stack_frame_t me
;} fra
;
3829 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3830 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3832 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExternClasskind___is_extern
;
3833 fra
.me
.has_broke
= 0;
3834 fra
.me
.REG_size
= 1;
3835 fra
.me
.REG
[0] = NIT_NULL
;
3837 /* ./syntax//mmbuilder.nit:645 */
3838 REGB0
= TAG_Bool(true);
3841 stack_frame_head
= fra
.me
.prev
;
3844 val_t
syntax___mmbuilder___AAbstractClasskind___is_abstract(val_t p0
){
3845 struct {struct stack_frame_t me
;} fra
;
3848 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3849 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3851 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAbstractClasskind___is_abstract
;
3852 fra
.me
.has_broke
= 0;
3853 fra
.me
.REG_size
= 1;
3854 fra
.me
.REG
[0] = NIT_NULL
;
3856 /* ./syntax//mmbuilder.nit:648 */
3857 REGB0
= TAG_Bool(true);
3860 stack_frame_head
= fra
.me
.prev
;
3863 val_t
syntax___mmbuilder___AStdClassdef___name(val_t p0
){
3864 struct {struct stack_frame_t me
;} fra
;
3867 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3868 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3870 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___name
;
3871 fra
.me
.has_broke
= 0;
3872 fra
.me
.REG_size
= 1;
3873 fra
.me
.REG
[0] = NIT_NULL
;
3875 /* ./syntax//mmbuilder.nit:654 */
3876 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3877 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3878 if (UNTAG_Bool(REGB0
)) {
3879 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 654);
3881 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3884 stack_frame_head
= fra
.me
.prev
;
3885 return fra
.me
.REG
[0];
3887 val_t
syntax___mmbuilder___AStdClassdef___arity(val_t p0
){
3888 struct {struct stack_frame_t me
;} fra
;
3891 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3892 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3894 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___arity
;
3895 fra
.me
.has_broke
= 0;
3896 fra
.me
.REG_size
= 1;
3897 fra
.me
.REG
[0] = NIT_NULL
;
3899 /* ./syntax//mmbuilder.nit:658 */
3900 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_formaldefs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3901 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3904 stack_frame_head
= fra
.me
.prev
;
3907 void syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(val_t p0
, val_t p1
){
3908 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3912 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3913 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3915 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder
;
3916 fra
.me
.has_broke
= 0;
3917 fra
.me
.REG_size
= 4;
3918 fra
.me
.REG
[0] = NIT_NULL
;
3919 fra
.me
.REG
[1] = NIT_NULL
;
3920 fra
.me
.REG
[2] = NIT_NULL
;
3921 fra
.me
.REG
[3] = NIT_NULL
;
3924 /* ./syntax//mmbuilder.nit:660 */
3925 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3926 /* ./syntax//mmbuilder.nit:662 */
3927 CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3928 /* ./syntax//mmbuilder.nit:664 */
3929 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3930 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3931 /* ./syntax//mmbuilder.nit:665 */
3932 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3933 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3934 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[3]));
3935 if (UNTAG_Bool(REGB0
)) {
3937 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
3940 if (UNTAG_Bool(REGB0
)) {
3941 /* ./syntax//mmbuilder.nit:666 */
3942 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3943 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3944 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3945 /* ./syntax//mmbuilder.nit:667 */
3946 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3947 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3948 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3949 /* ./syntax//mmbuilder.nit:668 */
3950 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3951 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3952 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3953 /* ./syntax//mmbuilder.nit:669 */
3954 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3955 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_extern(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3956 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3957 /* ./syntax//mmbuilder.nit:670 */
3958 REGB0
= CALL_syntax___mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3959 CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3961 stack_frame_head
= fra
.me
.prev
;
3964 void syntax___mmbuilder___AStdClassdef___accept_class_verifier(val_t p0
, val_t p1
){
3965 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3970 static val_t once_value_1
; /* Once value */
3971 static val_t once_value_2
; /* Once value */
3972 static val_t once_value_3
; /* Once value */
3973 static val_t once_value_4
; /* Once value */
3974 static val_t once_value_5
; /* Once value */
3975 static val_t once_value_6
; /* Once value */
3976 static val_t once_value_7
; /* Once value */
3977 static val_t once_value_8
; /* Once value */
3978 static val_t once_value_9
; /* Once value */
3979 static val_t once_value_10
; /* Once value */
3980 static val_t once_value_11
; /* Once value */
3981 static val_t once_value_12
; /* Once value */
3982 static val_t once_value_13
; /* Once value */
3983 static val_t once_value_14
; /* Once value */
3984 static val_t once_value_15
; /* Once value */
3985 static val_t once_value_16
; /* Once value */
3986 static val_t once_value_17
; /* Once value */
3987 static val_t once_value_18
; /* Once value */
3988 static val_t once_value_19
; /* Once value */
3989 static val_t once_value_20
; /* Once value */
3990 static val_t once_value_23
; /* Once value */
3991 static val_t once_value_24
; /* Once value */
3992 static val_t once_value_25
; /* Once value */
3993 static val_t once_value_26
; /* Once value */
3994 static val_t once_value_27
; /* Once value */
3995 static val_t once_value_28
; /* Once value */
3996 static val_t once_value_29
; /* Once value */
3997 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3998 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4000 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_verifier
;
4001 fra
.me
.has_broke
= 0;
4002 fra
.me
.REG_size
= 9;
4003 fra
.me
.REG
[0] = NIT_NULL
;
4004 fra
.me
.REG
[1] = NIT_NULL
;
4005 fra
.me
.REG
[2] = NIT_NULL
;
4006 fra
.me
.REG
[3] = NIT_NULL
;
4007 fra
.me
.REG
[4] = NIT_NULL
;
4008 fra
.me
.REG
[5] = NIT_NULL
;
4009 fra
.me
.REG
[6] = NIT_NULL
;
4010 fra
.me
.REG
[7] = NIT_NULL
;
4011 fra
.me
.REG
[8] = NIT_NULL
;
4014 /* ./syntax//mmbuilder.nit:673 */
4015 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4016 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4017 /* ./syntax//mmbuilder.nit:675 */
4018 CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4019 /* ./syntax//mmbuilder.nit:676 */
4020 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4021 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4022 if (UNTAG_Bool(REGB0
)) {
4023 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 676);
4025 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4026 /* ./syntax//mmbuilder.nit:677 */
4027 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4028 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4029 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
4030 if (UNTAG_Bool(REGB0
)) {
4032 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4035 if (UNTAG_Bool(REGB0
)) {
4036 /* ./syntax//mmbuilder.nit:679 */
4037 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4038 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4039 if (UNTAG_Bool(REGB0
)) {
4041 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4042 if (UNTAG_Bool(REGB1
)) {
4043 REGB1
= TAG_Bool(false);
4046 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4050 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4051 if (UNTAG_Bool(REGB0
)) {
4052 /* ./syntax//mmbuilder.nit:680 */
4054 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4055 if (!once_value_1
) {
4056 fra
.me
.REG
[0] = BOX_NativeString("Redef error: No class ");
4057 REGB0
= TAG_Int(22);
4058 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4059 once_value_1
= fra
.me
.REG
[0];
4060 register_static_object(&once_value_1
);
4061 } else fra
.me
.REG
[0] = once_value_1
;
4062 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4063 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4064 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4065 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4067 if (!once_value_2
) {
4068 fra
.me
.REG
[0] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
4069 REGB0
= TAG_Int(61);
4070 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4071 once_value_2
= fra
.me
.REG
[0];
4072 register_static_object(&once_value_2
);
4073 } else fra
.me
.REG
[0] = once_value_2
;
4074 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4075 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4076 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4077 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
4079 /* ./syntax//mmbuilder.nit:682 */
4080 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4081 if (UNTAG_Bool(REGB0
)) {
4082 /* ./syntax//mmbuilder.nit:683 */
4083 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4084 REGB0
= TAG_Bool(true);
4085 CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
4087 /* ./syntax//mmbuilder.nit:686 */
4088 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4089 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4090 if (UNTAG_Bool(REGB0
)) {
4091 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 686);
4093 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4094 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4095 /* ./../lib/standard//collection//array.nit:234 */
4097 /* ./../lib/standard//collection//array.nit:235 */
4098 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4099 if (UNTAG_Bool(REGB1
)) {
4101 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
4103 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4104 /* ./../lib/standard//collection//array.nit:236 */
4105 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
4106 /* ./../lib/standard//collection//array.nit:237 */
4108 /* ./../lib/standard//collection//array.nit:23 */
4109 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4110 if (UNTAG_Bool(REGB1
)) {
4112 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
4114 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4115 /* ./../lib/standard//kernel.nit:215 */
4116 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4117 /* ./../lib/standard//collection//array.nit:237 */
4118 if (UNTAG_Bool(REGB1
)) {
4119 /* ./../lib/standard//collection//array.nit:238 */
4120 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4121 if (UNTAG_Bool(REGB1
)) {
4122 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
4124 /* ./../lib/standard//collection//array.nit:654 */
4125 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
4126 /* ./syntax//mmbuilder.nit:687 */
4127 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4128 /* ./syntax//mmbuilder.nit:688 */
4129 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4130 if (UNTAG_Bool(REGB1
)) {
4131 /* ./syntax//mmbuilder.nit:689 */
4132 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4133 if (UNTAG_Bool(REGB1
)) {
4134 /* ./syntax//mmbuilder.nit:690 */
4136 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4137 if (!once_value_3
) {
4138 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
4139 REGB1
= TAG_Int(25);
4140 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4141 once_value_3
= fra
.me
.REG
[8];
4142 register_static_object(&once_value_3
);
4143 } else fra
.me
.REG
[8] = once_value_3
;
4144 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4145 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4146 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4147 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4148 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4149 if (!once_value_4
) {
4150 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
4151 REGB1
= TAG_Int(30);
4152 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4153 once_value_4
= fra
.me
.REG
[8];
4154 register_static_object(&once_value_4
);
4155 } else fra
.me
.REG
[8] = once_value_4
;
4156 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4157 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4158 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4159 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4160 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4161 if (!once_value_5
) {
4162 fra
.me
.REG
[8] = BOX_NativeString(".");
4164 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4165 once_value_5
= fra
.me
.REG
[8];
4166 register_static_object(&once_value_5
);
4167 } else fra
.me
.REG
[8] = once_value_5
;
4168 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4170 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4171 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4173 /* ./syntax//mmbuilder.nit:691 */
4174 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4175 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4176 if (UNTAG_Bool(REGB1
)) {
4177 /* ./syntax//mmbuilder.nit:692 */
4179 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4180 if (!once_value_6
) {
4181 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
4182 REGB1
= TAG_Int(25);
4183 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4184 once_value_6
= fra
.me
.REG
[8];
4185 register_static_object(&once_value_6
);
4186 } else fra
.me
.REG
[8] = once_value_6
;
4187 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4188 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4189 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4190 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4192 if (!once_value_7
) {
4193 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4194 REGB1
= TAG_Int(25);
4195 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4196 once_value_7
= fra
.me
.REG
[8];
4197 register_static_object(&once_value_7
);
4198 } else fra
.me
.REG
[8] = once_value_7
;
4199 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4201 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4202 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4203 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4204 if (!once_value_8
) {
4205 fra
.me
.REG
[8] = BOX_NativeString(".");
4207 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4208 once_value_8
= fra
.me
.REG
[8];
4209 register_static_object(&once_value_8
);
4210 } else fra
.me
.REG
[8] = once_value_8
;
4211 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4213 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4214 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4218 /* ./syntax//mmbuilder.nit:694 */
4219 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4220 if (UNTAG_Bool(REGB1
)) {
4221 /* ./syntax//mmbuilder.nit:695 */
4222 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4223 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4224 if (UNTAG_Bool(REGB1
)) {
4225 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4226 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4228 REGB2
= TAG_Bool(false);
4231 if (UNTAG_Bool(REGB1
)) {
4232 /* ./syntax//mmbuilder.nit:696 */
4234 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4235 if (!once_value_9
) {
4236 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
4237 REGB1
= TAG_Int(26);
4238 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4239 once_value_9
= fra
.me
.REG
[8];
4240 register_static_object(&once_value_9
);
4241 } else fra
.me
.REG
[8] = once_value_9
;
4242 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4243 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4244 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4245 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4247 if (!once_value_10
) {
4248 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4249 REGB1
= TAG_Int(25);
4250 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4251 once_value_10
= fra
.me
.REG
[8];
4252 register_static_object(&once_value_10
);
4253 } else fra
.me
.REG
[8] = once_value_10
;
4254 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4255 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4256 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4257 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4258 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4259 if (!once_value_11
) {
4260 fra
.me
.REG
[8] = BOX_NativeString(".");
4262 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4263 once_value_11
= fra
.me
.REG
[8];
4264 register_static_object(&once_value_11
);
4265 } else fra
.me
.REG
[8] = once_value_11
;
4266 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4268 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4269 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4272 /* ./syntax//mmbuilder.nit:698 */
4273 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4274 if (UNTAG_Bool(REGB1
)) {
4275 /* ./syntax//mmbuilder.nit:699 */
4276 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4277 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4278 if (UNTAG_Bool(REGB1
)) {
4279 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4280 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4282 REGB2
= TAG_Bool(false);
4285 if (UNTAG_Bool(REGB1
)) {
4286 /* ./syntax//mmbuilder.nit:700 */
4288 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4289 if (!once_value_12
) {
4290 fra
.me
.REG
[8] = BOX_NativeString("Special error: Extern class ");
4291 REGB1
= TAG_Int(28);
4292 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4293 once_value_12
= fra
.me
.REG
[8];
4294 register_static_object(&once_value_12
);
4295 } else fra
.me
.REG
[8] = once_value_12
;
4296 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4297 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4298 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4299 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4300 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4301 if (!once_value_13
) {
4302 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4303 REGB1
= TAG_Int(25);
4304 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4305 once_value_13
= fra
.me
.REG
[8];
4306 register_static_object(&once_value_13
);
4307 } else fra
.me
.REG
[8] = once_value_13
;
4308 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4310 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4311 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4312 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4313 if (!once_value_14
) {
4314 fra
.me
.REG
[8] = BOX_NativeString(".");
4316 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4317 once_value_14
= fra
.me
.REG
[8];
4318 register_static_object(&once_value_14
);
4319 } else fra
.me
.REG
[8] = once_value_14
;
4320 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4322 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4323 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4326 /* ./syntax//mmbuilder.nit:703 */
4327 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4328 if (UNTAG_Bool(REGB1
)) {
4329 /* ./syntax//mmbuilder.nit:704 */
4331 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4332 if (!once_value_15
) {
4333 fra
.me
.REG
[8] = BOX_NativeString("Special error: Class ");
4334 REGB1
= TAG_Int(21);
4335 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4336 once_value_15
= fra
.me
.REG
[8];
4337 register_static_object(&once_value_15
);
4338 } else fra
.me
.REG
[8] = once_value_15
;
4339 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4340 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4341 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4342 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4343 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4344 if (!once_value_16
) {
4345 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
4346 REGB1
= TAG_Int(30);
4347 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4348 once_value_16
= fra
.me
.REG
[8];
4349 register_static_object(&once_value_16
);
4350 } else fra
.me
.REG
[8] = once_value_16
;
4351 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4353 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4354 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4355 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4356 if (!once_value_17
) {
4357 fra
.me
.REG
[8] = BOX_NativeString(".");
4359 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB1
);
4360 once_value_17
= fra
.me
.REG
[8];
4361 register_static_object(&once_value_17
);
4362 } else fra
.me
.REG
[8] = once_value_17
;
4363 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4364 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4365 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4366 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4368 /* ./syntax//mmbuilder.nit:705 */
4369 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4370 if (UNTAG_Bool(REGB1
)) {
4371 /* ./syntax//mmbuilder.nit:706 */
4373 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4374 if (!once_value_18
) {
4375 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
4376 REGB1
= TAG_Int(21);
4377 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4378 once_value_18
= fra
.me
.REG
[7];
4379 register_static_object(&once_value_18
);
4380 } else fra
.me
.REG
[7] = once_value_18
;
4381 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4382 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4383 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4384 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4385 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4386 if (!once_value_19
) {
4387 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise extern class ");
4388 REGB1
= TAG_Int(32);
4389 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB1
);
4390 once_value_19
= fra
.me
.REG
[7];
4391 register_static_object(&once_value_19
);
4392 } else fra
.me
.REG
[7] = once_value_19
;
4393 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4395 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4396 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4397 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4398 if (!once_value_20
) {
4399 fra
.me
.REG
[5] = BOX_NativeString(".");
4401 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
4402 once_value_20
= fra
.me
.REG
[5];
4403 register_static_object(&once_value_20
);
4404 } else fra
.me
.REG
[5] = once_value_20
;
4405 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4407 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4408 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
4414 /* ./../lib/standard//collection//array.nit:239 */
4416 /* ./../lib/standard//kernel.nit:218 */
4417 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4418 /* ./../lib/standard//collection//array.nit:239 */
4421 /* ./../lib/standard//collection//array.nit:237 */
4426 /* ./syntax//mmbuilder.nit:711 */
4429 /* ./syntax//mmbuilder.nit:716 */
4430 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4431 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]);
4432 /* ./syntax//mmbuilder.nit:717 */
4433 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4434 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4435 if (UNTAG_Bool(REGB0
)) {
4437 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4438 if (UNTAG_Bool(REGB1
)) {
4439 REGB1
= TAG_Bool(false);
4442 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4446 if (UNTAG_Bool(REGB0
)) {
4447 /* ./syntax//mmbuilder.nit:718 */
4449 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4450 if (!once_value_23
) {
4451 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
4452 REGB0
= TAG_Int(13);
4453 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4454 once_value_23
= fra
.me
.REG
[4];
4455 register_static_object(&once_value_23
);
4456 } else fra
.me
.REG
[4] = once_value_23
;
4457 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4458 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4459 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4460 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4462 if (!once_value_24
) {
4463 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
4464 REGB0
= TAG_Int(58);
4465 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4466 once_value_24
= fra
.me
.REG
[4];
4467 register_static_object(&once_value_24
);
4468 } else fra
.me
.REG
[4] = once_value_24
;
4469 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4471 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4472 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4473 /* ./syntax//mmbuilder.nit:719 */
4476 /* ./syntax//mmbuilder.nit:722 */
4477 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4478 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4479 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4480 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4481 if (UNTAG_Bool(REGB1
)) {
4482 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 722);
4484 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4485 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
4486 if (UNTAG_Bool(REGB2
)) {
4488 /* ./../lib/standard//kernel.nit:210 */
4489 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
4490 /* ./syntax//mmbuilder.nit:722 */
4493 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4494 if (UNTAG_Bool(REGB2
)) {
4495 /* ./syntax//mmbuilder.nit:723 */
4497 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4498 if (!once_value_25
) {
4499 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity mismatch; got ");
4500 REGB2
= TAG_Int(50);
4501 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4502 once_value_25
= fra
.me
.REG
[4];
4503 register_static_object(&once_value_25
);
4504 } else fra
.me
.REG
[4] = once_value_25
;
4505 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4507 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4508 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4509 if (UNTAG_Bool(REGB2
)) {
4510 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 723);
4512 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4513 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4514 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4515 if (!once_value_26
) {
4516 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
4517 REGB2
= TAG_Int(11);
4518 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4519 once_value_26
= fra
.me
.REG
[4];
4520 register_static_object(&once_value_26
);
4521 } else fra
.me
.REG
[4] = once_value_26
;
4522 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4523 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4524 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4525 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4526 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4527 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4528 if (!once_value_27
) {
4529 fra
.me
.REG
[4] = BOX_NativeString(".");
4531 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
4532 once_value_27
= fra
.me
.REG
[4];
4533 register_static_object(&once_value_27
);
4534 } else fra
.me
.REG
[4] = once_value_27
;
4535 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4537 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4538 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4540 /* ./syntax//mmbuilder.nit:727 */
4541 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4542 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4543 if (UNTAG_Bool(REGB2
)) {
4544 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4545 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4547 REGB1
= TAG_Bool(false);
4550 if (UNTAG_Bool(REGB2
)) {
4551 REGB2
= TAG_Bool(true);
4553 /* ./syntax//mmbuilder.nit:728 */
4554 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4555 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4556 /* ./syntax//mmbuilder.nit:727 */
4559 if (UNTAG_Bool(REGB2
)) {
4560 /* ./syntax//mmbuilder.nit:728 */
4561 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4562 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4564 /* ./syntax//mmbuilder.nit:727 */
4565 REGB1
= TAG_Bool(false);
4568 if (UNTAG_Bool(REGB2
)) {
4569 REGB2
= TAG_Bool(true);
4571 /* ./syntax//mmbuilder.nit:729 */
4572 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4573 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4574 /* ./syntax//mmbuilder.nit:727 */
4577 if (UNTAG_Bool(REGB2
)) {
4578 /* ./syntax//mmbuilder.nit:729 */
4579 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4580 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4582 /* ./syntax//mmbuilder.nit:727 */
4583 REGB1
= TAG_Bool(false);
4586 if (UNTAG_Bool(REGB2
)) {
4587 REGB2
= TAG_Bool(true);
4589 /* ./syntax//mmbuilder.nit:730 */
4590 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4591 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4592 /* ./syntax//mmbuilder.nit:727 */
4595 if (UNTAG_Bool(REGB2
)) {
4596 /* ./syntax//mmbuilder.nit:730 */
4597 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4598 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4600 /* ./syntax//mmbuilder.nit:727 */
4601 REGB1
= TAG_Bool(false);
4604 /* ./syntax//mmbuilder.nit:726 */
4605 if (UNTAG_Bool(REGB2
)) {
4606 /* ./syntax//mmbuilder.nit:732 */
4608 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4609 if (!once_value_28
) {
4610 fra
.me
.REG
[0] = BOX_NativeString("Redef error: cannot change kind of class ");
4611 REGB2
= TAG_Int(41);
4612 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
4613 once_value_28
= fra
.me
.REG
[0];
4614 register_static_object(&once_value_28
);
4615 } else fra
.me
.REG
[0] = once_value_28
;
4616 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4617 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4618 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4619 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4620 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4621 if (!once_value_29
) {
4622 fra
.me
.REG
[0] = BOX_NativeString(".");
4624 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
4625 once_value_29
= fra
.me
.REG
[0];
4626 register_static_object(&once_value_29
);
4627 } else fra
.me
.REG
[0] = once_value_29
;
4628 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4630 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4631 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[1]);
4634 stack_frame_head
= fra
.me
.prev
;
4637 val_t
syntax___mmbuilder___AStdClassdef___visibility_level(val_t p0
){
4638 struct {struct stack_frame_t me
;} fra
;
4641 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4642 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4644 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___visibility_level
;
4645 fra
.me
.has_broke
= 0;
4646 fra
.me
.REG_size
= 1;
4647 fra
.me
.REG
[0] = NIT_NULL
;
4649 /* ./syntax//mmbuilder.nit:738 */
4650 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4651 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4654 stack_frame_head
= fra
.me
.prev
;
4657 val_t
syntax___mmbuilder___AMainClassdef___name(val_t p0
){
4658 struct {struct stack_frame_t me
;} fra
;
4661 static val_t once_value_1
; /* Once value */
4662 static val_t once_value_2
; /* Once value */
4663 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4664 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4666 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMainClassdef___name
;
4667 fra
.me
.has_broke
= 0;
4668 fra
.me
.REG_size
= 1;
4669 fra
.me
.REG
[0] = NIT_NULL
;
4671 /* ./syntax//mmbuilder.nit:745 */
4672 if (!once_value_1
) {
4673 if (!once_value_2
) {
4674 fra
.me
.REG
[0] = BOX_NativeString("Sys");
4676 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4677 once_value_2
= fra
.me
.REG
[0];
4678 register_static_object(&once_value_2
);
4679 } else fra
.me
.REG
[0] = once_value_2
;
4680 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4681 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4682 once_value_1
= fra
.me
.REG
[0];
4683 register_static_object(&once_value_1
);
4684 } else fra
.me
.REG
[0] = once_value_1
;
4685 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4688 stack_frame_head
= fra
.me
.prev
;
4689 return fra
.me
.REG
[0];
4691 val_t
syntax___mmbuilder___ATopClassdef___name(val_t p0
){
4692 struct {struct stack_frame_t me
;} fra
;
4695 static val_t once_value_1
; /* Once value */
4696 static val_t once_value_2
; /* Once value */
4697 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4698 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4700 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATopClassdef___name
;
4701 fra
.me
.has_broke
= 0;
4702 fra
.me
.REG_size
= 1;
4703 fra
.me
.REG
[0] = NIT_NULL
;
4705 /* ./syntax//mmbuilder.nit:752 */
4706 if (!once_value_1
) {
4707 if (!once_value_2
) {
4708 fra
.me
.REG
[0] = BOX_NativeString("Object");
4710 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
4711 once_value_2
= fra
.me
.REG
[0];
4712 register_static_object(&once_value_2
);
4713 } else fra
.me
.REG
[0] = once_value_2
;
4714 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4715 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4716 once_value_1
= fra
.me
.REG
[0];
4717 register_static_object(&once_value_1
);
4718 } else fra
.me
.REG
[0] = once_value_1
;
4719 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4722 stack_frame_head
= fra
.me
.prev
;
4723 return fra
.me
.REG
[0];
4725 void syntax___mmbuilder___AFormaldef___accept_class_builder(val_t p0
, val_t p1
){
4726 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
4730 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4731 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4733 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFormaldef___accept_class_builder
;
4734 fra
.me
.has_broke
= 0;
4735 fra
.me
.REG_size
= 6;
4736 fra
.me
.REG
[0] = NIT_NULL
;
4737 fra
.me
.REG
[1] = NIT_NULL
;
4738 fra
.me
.REG
[2] = NIT_NULL
;
4739 fra
.me
.REG
[3] = NIT_NULL
;
4740 fra
.me
.REG
[4] = NIT_NULL
;
4741 fra
.me
.REG
[5] = NIT_NULL
;
4744 /* ./syntax//mmbuilder.nit:760 */
4745 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4746 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4747 /* ./syntax//mmbuilder.nit:762 */
4748 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AFormaldef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4749 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4750 /* ./syntax//mmbuilder.nit:763 */
4751 REGB0
= CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4752 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4753 fra
.me
.REG
[5] = NEW_MMTypeFormalParameter_metamodel___genericity___MMTypeFormalParameter___init(fra
.me
.REG
[4], REGB0
, fra
.me
.REG
[5]);
4754 /* ./syntax//mmbuilder.nit:764 */
4755 ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]) = fra
.me
.REG
[5];
4756 /* ./syntax//mmbuilder.nit:765 */
4757 REGB0
= CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4759 /* ./../lib/standard//kernel.nit:218 */
4760 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4761 /* ./syntax//mmbuilder.nit:765 */
4762 CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
4763 /* ./syntax//mmbuilder.nit:766 */
4764 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4765 CALL_metamodel___genericity___MMLocalClass___register_formal(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
4766 /* ./syntax//mmbuilder.nit:767 */
4767 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___ClassBuilderVisitor___formals(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4768 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4769 if (UNTAG_Bool(REGB1
)) {
4770 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 767);
4772 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
4773 /* ./syntax//mmbuilder.nit:768 */
4774 CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4775 stack_frame_head
= fra
.me
.prev
;
4778 void syntax___mmbuilder___AFormaldef___accept_class_verifier(val_t p0
, val_t p1
){
4779 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
4783 static val_t once_value_2
; /* Once value */
4784 static val_t once_value_3
; /* Once value */
4785 static val_t once_value_4
; /* Once value */
4786 static val_t once_value_5
; /* Once value */
4787 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4788 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4790 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFormaldef___accept_class_verifier
;
4791 fra
.me
.has_broke
= 0;
4792 fra
.me
.REG_size
= 6;
4793 fra
.me
.REG
[0] = NIT_NULL
;
4794 fra
.me
.REG
[1] = NIT_NULL
;
4795 fra
.me
.REG
[2] = NIT_NULL
;
4796 fra
.me
.REG
[3] = NIT_NULL
;
4797 fra
.me
.REG
[4] = NIT_NULL
;
4798 fra
.me
.REG
[5] = NIT_NULL
;
4801 /* ./syntax//mmbuilder.nit:771 */
4802 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4803 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4804 /* ./syntax//mmbuilder.nit:773 */
4805 CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4806 /* ./syntax//mmbuilder.nit:774 */
4807 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4808 /* ./syntax//mmbuilder.nit:775 */
4809 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4810 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4811 /* ./syntax//mmbuilder.nit:776 */
4812 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
4813 if (UNTAG_Bool(REGB0
)) {
4815 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4818 if (UNTAG_Bool(REGB0
)) {
4819 /* ./syntax//mmbuilder.nit:777 */
4820 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4821 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4822 if (UNTAG_Bool(REGB0
)) {
4824 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4825 if (UNTAG_Bool(REGB1
)) {
4826 REGB1
= TAG_Bool(false);
4829 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4833 if (UNTAG_Bool(REGB0
)) {
4834 /* ./syntax//mmbuilder.nit:778 */
4835 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4836 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4837 fra
.me
.REG
[5] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4838 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4839 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4840 if (UNTAG_Bool(REGB0
)) {
4841 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 778);
4843 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4845 /* ./syntax//mmbuilder.nit:780 */
4846 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4847 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4848 if (UNTAG_Bool(REGB0
)) {
4849 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 780);
4851 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4852 /* ./syntax//mmbuilder.nit:781 */
4853 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4854 if (UNTAG_Bool(REGB0
)) {
4856 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4857 if (UNTAG_Bool(REGB1
)) {
4858 REGB1
= TAG_Bool(false);
4861 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4865 if (UNTAG_Bool(REGB0
)) {
4868 /* ./syntax//mmbuilder.nit:782 */
4869 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4870 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4871 if (UNTAG_Bool(REGB0
)) {
4872 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 782);
4874 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4877 /* ./syntax//mmbuilder.nit:785 */
4878 fra
.me
.REG
[5] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4879 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4880 if (UNTAG_Bool(REGB0
)) {
4881 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 785);
4883 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4884 fra
.me
.REG
[0] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
4885 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4886 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4887 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4888 /* ./syntax//mmbuilder.nit:786 */
4889 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4890 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4891 if (UNTAG_Bool(REGB0
)) {
4893 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4894 if (UNTAG_Bool(REGB1
)) {
4895 REGB1
= TAG_Bool(false);
4898 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4902 if (UNTAG_Bool(REGB0
)) {
4903 /* ./syntax//mmbuilder.nit:787 */
4904 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4905 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4906 if (UNTAG_Bool(REGB0
)) {
4907 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 787);
4909 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4911 /* ./syntax//mmbuilder.nit:789 */
4912 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4913 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4914 if (UNTAG_Bool(REGB0
)) {
4915 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 789);
4917 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4918 /* ./syntax//mmbuilder.nit:790 */
4919 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4920 if (UNTAG_Bool(REGB0
)) {
4922 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4923 if (UNTAG_Bool(REGB1
)) {
4924 REGB1
= TAG_Bool(false);
4927 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4931 if (UNTAG_Bool(REGB0
)) {
4934 /* ./syntax//mmbuilder.nit:791 */
4935 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4936 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4937 if (UNTAG_Bool(REGB0
)) {
4938 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 791);
4940 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4941 /* ./syntax//mmbuilder.nit:792 */
4942 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4943 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4944 if (UNTAG_Bool(REGB0
)) {
4945 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 792);
4947 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4948 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[5]));
4949 if (UNTAG_Bool(REGB0
)) {
4951 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4954 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4955 if (UNTAG_Bool(REGB0
)) {
4956 /* ./syntax//mmbuilder.nit:793 */
4958 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4959 if (!once_value_2
) {
4960 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Cannot change formal parameter type of class ");
4961 REGB0
= TAG_Int(58);
4962 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
4963 once_value_2
= fra
.me
.REG
[4];
4964 register_static_object(&once_value_2
);
4965 } else fra
.me
.REG
[4] = once_value_2
;
4966 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4968 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4970 if (!once_value_3
) {
4971 fra
.me
.REG
[1] = BOX_NativeString("; got ");
4973 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
4974 once_value_3
= fra
.me
.REG
[1];
4975 register_static_object(&once_value_3
);
4976 } else fra
.me
.REG
[1] = once_value_3
;
4977 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4978 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4979 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4980 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4981 if (UNTAG_Bool(REGB0
)) {
4982 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 793);
4984 fra
.me
.REG
[1] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4985 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4987 if (!once_value_4
) {
4988 fra
.me
.REG
[1] = BOX_NativeString(", expected ");
4989 REGB0
= TAG_Int(11);
4990 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
4991 once_value_4
= fra
.me
.REG
[1];
4992 register_static_object(&once_value_4
);
4993 } else fra
.me
.REG
[1] = once_value_4
;
4994 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4995 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4996 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4998 if (!once_value_5
) {
4999 fra
.me
.REG
[5] = BOX_NativeString(".");
5001 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5002 once_value_5
= fra
.me
.REG
[5];
5003 register_static_object(&once_value_5
);
5004 } else fra
.me
.REG
[5] = once_value_5
;
5005 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5007 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5008 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
5013 stack_frame_head
= fra
.me
.prev
;
5016 val_t
syntax___mmbuilder___ASuperclass___ancestor(val_t p0
){
5017 struct {struct stack_frame_t me
;} fra
;
5019 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5020 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5022 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___ancestor
;
5023 fra
.me
.has_broke
= 0;
5024 fra
.me
.REG_size
= 1;
5025 fra
.me
.REG
[0] = NIT_NULL
;
5027 /* ./syntax//mmbuilder.nit:801 */
5028 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[0]);
5029 stack_frame_head
= fra
.me
.prev
;
5030 return fra
.me
.REG
[0];
5032 void syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(val_t p0
, val_t p1
){
5033 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5037 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5038 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5040 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder
;
5041 fra
.me
.has_broke
= 0;
5042 fra
.me
.REG_size
= 4;
5043 fra
.me
.REG
[0] = NIT_NULL
;
5044 fra
.me
.REG
[1] = NIT_NULL
;
5045 fra
.me
.REG
[2] = NIT_NULL
;
5046 fra
.me
.REG
[3] = NIT_NULL
;
5049 /* ./syntax//mmbuilder.nit:803 */
5050 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5051 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5052 /* ./syntax//mmbuilder.nit:805 */
5053 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5054 /* ./syntax//mmbuilder.nit:806 */
5055 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5056 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AType___get_local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
5057 /* ./syntax//mmbuilder.nit:807 */
5058 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5059 if (UNTAG_Bool(REGB0
)) {
5061 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5062 if (UNTAG_Bool(REGB1
)) {
5063 REGB1
= TAG_Bool(false);
5066 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
5070 if (UNTAG_Bool(REGB0
)) {
5073 /* ./syntax//mmbuilder.nit:808 */
5074 fra
.me
.REG
[1] = NEW_MMSrcAncestor_syntax___mmbuilder___MMSrcAncestor___init(fra
.me
.REG
[1]);
5075 /* ./syntax//mmbuilder.nit:809 */
5076 ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
5077 /* ./syntax//mmbuilder.nit:810 */
5078 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5079 CALL_metamodel___inheritance___MMLocalClass___add_direct_parent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
5081 stack_frame_head
= fra
.me
.prev
;
5084 void syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t p0
, val_t p1
){
5085 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5088 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5089 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5091 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder
;
5092 fra
.me
.has_broke
= 0;
5093 fra
.me
.REG_size
= 4;
5094 fra
.me
.REG
[0] = NIT_NULL
;
5095 fra
.me
.REG
[1] = NIT_NULL
;
5096 fra
.me
.REG
[2] = NIT_NULL
;
5097 fra
.me
.REG
[3] = NIT_NULL
;
5100 /* ./syntax//mmbuilder.nit:813 */
5101 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5102 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5103 /* ./syntax//mmbuilder.nit:815 */
5104 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5105 /* ./syntax//mmbuilder.nit:816 */
5106 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
5107 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5108 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5109 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5110 if (UNTAG_Bool(REGB0
)) {
5111 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 816);
5113 CALL_metamodel___static_type___MMAncestor___stype__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5114 /* ./syntax//mmbuilder.nit:817 */
5115 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
5116 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5117 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5118 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5119 if (UNTAG_Bool(REGB0
)) {
5120 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 817);
5122 CALL_metamodel___static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5123 stack_frame_head
= fra
.me
.prev
;
5126 void syntax___mmbuilder___ASuperclass___accept_class_verifier(val_t p0
, val_t p1
){
5127 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5129 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5130 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5132 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_verifier
;
5133 fra
.me
.has_broke
= 0;
5134 fra
.me
.REG_size
= 4;
5135 fra
.me
.REG
[0] = NIT_NULL
;
5136 fra
.me
.REG
[1] = NIT_NULL
;
5137 fra
.me
.REG
[2] = NIT_NULL
;
5138 fra
.me
.REG
[3] = NIT_NULL
;
5141 /* ./syntax//mmbuilder.nit:820 */
5142 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5143 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5144 /* ./syntax//mmbuilder.nit:822 */
5145 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5146 /* ./syntax//mmbuilder.nit:823 */
5147 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5148 CALL_syntax___syntax_base___AType___check_conform(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5149 stack_frame_head
= fra
.me
.prev
;
5152 void syntax___mmbuilder___APropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5153 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5159 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5160 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5162 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___process_and_check
;
5163 fra
.me
.has_broke
= 0;
5164 fra
.me
.REG_size
= 4;
5165 fra
.me
.REG
[0] = NIT_NULL
;
5166 fra
.me
.REG
[1] = NIT_NULL
;
5167 fra
.me
.REG
[2] = NIT_NULL
;
5168 fra
.me
.REG
[3] = NIT_NULL
;
5174 /* ./syntax//mmbuilder.nit:836 */
5175 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5176 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5177 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[2]));
5178 if (UNTAG_Bool(REGB2
)) {
5180 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
5183 if (UNTAG_Bool(REGB2
)) {
5184 /* ./syntax//mmbuilder.nit:837 */
5185 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
);
5187 /* ./syntax//mmbuilder.nit:839 */
5188 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
);
5190 stack_frame_head
= fra
.me
.prev
;
5193 void syntax___mmbuilder___APropdef___do_and_check_intro(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5194 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
5200 static val_t once_value_1
; /* Once value */
5201 static val_t once_value_2
; /* Once value */
5202 static val_t once_value_3
; /* Once value */
5203 static val_t once_value_4
; /* Once value */
5204 static val_t once_value_5
; /* Once value */
5205 static val_t once_value_6
; /* Once value */
5206 static val_t once_value_7
; /* Once value */
5207 static val_t once_value_8
; /* Once value */
5208 static val_t once_value_9
; /* Once value */
5209 static val_t once_value_10
; /* Once value */
5210 static val_t once_value_11
; /* Once value */
5211 static val_t once_value_12
; /* Once value */
5212 static val_t once_value_13
; /* Once value */
5213 static val_t once_value_14
; /* Once value */
5214 static val_t once_value_15
; /* Once value */
5215 static val_t once_value_16
; /* Once value */
5216 static val_t once_value_17
; /* Once value */
5217 static val_t once_value_18
; /* Once value */
5218 static val_t once_value_19
; /* Once value */
5219 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5220 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5222 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___do_and_check_intro
;
5223 fra
.me
.has_broke
= 0;
5224 fra
.me
.REG_size
= 7;
5225 fra
.me
.REG
[0] = NIT_NULL
;
5226 fra
.me
.REG
[1] = NIT_NULL
;
5227 fra
.me
.REG
[2] = NIT_NULL
;
5228 fra
.me
.REG
[3] = NIT_NULL
;
5229 fra
.me
.REG
[4] = NIT_NULL
;
5230 fra
.me
.REG
[5] = NIT_NULL
;
5231 fra
.me
.REG
[6] = NIT_NULL
;
5237 /* ./syntax//mmbuilder.nit:846 */
5238 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5239 /* ./syntax//mmbuilder.nit:847 */
5240 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5241 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5242 /* ./syntax//mmbuilder.nit:848 */
5243 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5244 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5245 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5247 /* ./../lib/standard//kernel.nit:216 */
5248 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
5249 /* ./syntax//mmbuilder.nit:848 */
5250 if (UNTAG_Bool(REGB3
)) {
5251 /* ./syntax//mmbuilder.nit:850 */
5255 /* ./syntax//mmbuilder.nit:852 */
5256 CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
5257 /* ./syntax//mmbuilder.nit:853 */
5258 if (UNTAG_Bool(REGB0
)) {
5259 /* ./syntax//mmbuilder.nit:854 */
5261 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5262 if (!once_value_1
) {
5263 fra
.me
.REG
[6] = BOX_NativeString("Error: No property ");
5264 REGB0
= TAG_Int(19);
5265 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5266 once_value_1
= fra
.me
.REG
[6];
5267 register_static_object(&once_value_1
);
5268 } else fra
.me
.REG
[6] = once_value_1
;
5269 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5270 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5271 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5272 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5273 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5274 if (!once_value_2
) {
5275 fra
.me
.REG
[6] = BOX_NativeString("::");
5277 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5278 once_value_2
= fra
.me
.REG
[6];
5279 register_static_object(&once_value_2
);
5280 } else fra
.me
.REG
[6] = once_value_2
;
5281 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5283 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5284 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5285 if (!once_value_3
) {
5286 fra
.me
.REG
[6] = BOX_NativeString(" is inherited. Remove the redef keyword to define a new property.");
5287 REGB0
= TAG_Int(65);
5288 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5289 once_value_3
= fra
.me
.REG
[6];
5290 register_static_object(&once_value_3
);
5291 } else fra
.me
.REG
[6] = once_value_3
;
5292 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5293 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5294 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5295 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5297 /* ./syntax//mmbuilder.nit:856 */
5298 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_attribute(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5299 if (UNTAG_Bool(REGB0
)) {
5300 /* ./syntax//mmbuilder.nit:857 */
5301 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5302 if (UNTAG_Bool(REGB0
)) {
5303 /* ./syntax//mmbuilder.nit:858 */
5305 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5306 if (!once_value_4
) {
5307 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5308 REGB0
= TAG_Int(35);
5309 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5310 once_value_4
= fra
.me
.REG
[6];
5311 register_static_object(&once_value_4
);
5312 } else fra
.me
.REG
[6] = once_value_4
;
5313 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5315 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5317 if (!once_value_5
) {
5318 fra
.me
.REG
[6] = BOX_NativeString(" in the interface ");
5319 REGB0
= TAG_Int(18);
5320 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5321 once_value_5
= fra
.me
.REG
[6];
5322 register_static_object(&once_value_5
);
5323 } else fra
.me
.REG
[6] = once_value_5
;
5324 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5325 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5326 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5327 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5328 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5329 if (!once_value_6
) {
5330 fra
.me
.REG
[6] = BOX_NativeString(".");
5332 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5333 once_value_6
= fra
.me
.REG
[6];
5334 register_static_object(&once_value_6
);
5335 } else fra
.me
.REG
[6] = once_value_6
;
5336 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5337 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5338 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5339 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5341 /* ./syntax//mmbuilder.nit:859 */
5342 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5343 if (UNTAG_Bool(REGB0
)) {
5344 /* ./syntax//mmbuilder.nit:860 */
5346 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5347 if (!once_value_7
) {
5348 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5349 REGB0
= TAG_Int(35);
5350 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5351 once_value_7
= fra
.me
.REG
[6];
5352 register_static_object(&once_value_7
);
5353 } else fra
.me
.REG
[6] = once_value_7
;
5354 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5355 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5356 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5358 if (!once_value_8
) {
5359 fra
.me
.REG
[6] = BOX_NativeString(" in the enum class ");
5360 REGB0
= TAG_Int(19);
5361 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5362 once_value_8
= fra
.me
.REG
[6];
5363 register_static_object(&once_value_8
);
5364 } else fra
.me
.REG
[6] = once_value_8
;
5365 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5367 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5368 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5369 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5370 if (!once_value_9
) {
5371 fra
.me
.REG
[6] = BOX_NativeString(".");
5373 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5374 once_value_9
= fra
.me
.REG
[6];
5375 register_static_object(&once_value_9
);
5376 } else fra
.me
.REG
[6] = once_value_9
;
5377 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5378 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5379 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5380 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5382 /* ./syntax//mmbuilder.nit:861 */
5383 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5384 if (UNTAG_Bool(REGB0
)) {
5385 /* ./syntax//mmbuilder.nit:862 */
5387 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5388 if (!once_value_10
) {
5389 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5390 REGB0
= TAG_Int(35);
5391 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5392 once_value_10
= fra
.me
.REG
[6];
5393 register_static_object(&once_value_10
);
5394 } else fra
.me
.REG
[6] = once_value_10
;
5395 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5397 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5398 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5399 if (!once_value_11
) {
5400 fra
.me
.REG
[6] = BOX_NativeString(" in the extern class ");
5401 REGB0
= TAG_Int(21);
5402 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5403 once_value_11
= fra
.me
.REG
[6];
5404 register_static_object(&once_value_11
);
5405 } else fra
.me
.REG
[6] = once_value_11
;
5406 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5407 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5408 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5409 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5410 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5411 if (!once_value_12
) {
5412 fra
.me
.REG
[6] = BOX_NativeString(".");
5414 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5415 once_value_12
= fra
.me
.REG
[6];
5416 register_static_object(&once_value_12
);
5417 } else fra
.me
.REG
[6] = once_value_12
;
5418 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5420 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5421 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5426 /* ./syntax//mmbuilder.nit:864 */
5427 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5428 if (UNTAG_Bool(REGB0
)) {
5429 /* ./syntax//mmbuilder.nit:865 */
5430 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5431 if (UNTAG_Bool(REGB0
)) {
5432 /* ./syntax//mmbuilder.nit:866 */
5434 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5435 if (!once_value_13
) {
5436 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define a constructor ");
5437 REGB0
= TAG_Int(39);
5438 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5439 once_value_13
= fra
.me
.REG
[6];
5440 register_static_object(&once_value_13
);
5441 } else fra
.me
.REG
[6] = once_value_13
;
5442 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5443 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5444 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5445 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5446 if (!once_value_14
) {
5447 fra
.me
.REG
[6] = BOX_NativeString(" in the class ");
5448 REGB0
= TAG_Int(14);
5449 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5450 once_value_14
= fra
.me
.REG
[6];
5451 register_static_object(&once_value_14
);
5452 } else fra
.me
.REG
[6] = once_value_14
;
5453 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5455 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5456 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5457 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5458 if (!once_value_15
) {
5459 fra
.me
.REG
[6] = BOX_NativeString(".");
5461 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
5462 once_value_15
= fra
.me
.REG
[6];
5463 register_static_object(&once_value_15
);
5464 } else fra
.me
.REG
[6] = once_value_15
;
5465 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5467 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5468 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5470 /* ./syntax//mmbuilder.nit:867 */
5471 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5472 if (UNTAG_Bool(REGB0
)) {
5473 /* ./syntax//mmbuilder.nit:868 */
5475 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5476 if (!once_value_16
) {
5477 fra
.me
.REG
[5] = BOX_NativeString("Error: Attempt to define a constructor ");
5478 REGB0
= TAG_Int(39);
5479 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5480 once_value_16
= fra
.me
.REG
[5];
5481 register_static_object(&once_value_16
);
5482 } else fra
.me
.REG
[5] = once_value_16
;
5483 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5485 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5487 if (!once_value_17
) {
5488 fra
.me
.REG
[5] = BOX_NativeString(" in the enum ");
5489 REGB0
= TAG_Int(13);
5490 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5491 once_value_17
= fra
.me
.REG
[5];
5492 register_static_object(&once_value_17
);
5493 } else fra
.me
.REG
[5] = once_value_17
;
5494 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5495 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5496 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5497 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5498 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5499 if (!once_value_18
) {
5500 fra
.me
.REG
[5] = BOX_NativeString(".");
5502 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5503 once_value_18
= fra
.me
.REG
[5];
5504 register_static_object(&once_value_18
);
5505 } else fra
.me
.REG
[5] = once_value_18
;
5506 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5508 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5509 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5514 /* ./syntax//mmbuilder.nit:873 */
5515 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5516 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5517 if (UNTAG_Bool(REGB0
)) {
5519 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5520 if (UNTAG_Bool(REGB1
)) {
5521 REGB1
= TAG_Bool(false);
5524 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5528 if (UNTAG_Bool(REGB0
)) {
5529 /* ./syntax//mmbuilder.nit:874 */
5530 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5531 if (UNTAG_Bool(REGB0
)) {
5532 /* ./syntax//mmbuilder.nit:875 */
5533 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5534 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5535 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___super_methods_named(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
5536 /* ./syntax//mmbuilder.nit:876 */
5537 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]);
5539 /* ./syntax//mmbuilder.nit:878 */
5540 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5541 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5542 if (UNTAG_Bool(REGB0
)) {
5544 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5545 if (UNTAG_Bool(REGB1
)) {
5546 REGB1
= TAG_Bool(false);
5549 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5553 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5554 if (UNTAG_Bool(REGB0
)) {
5555 REGB0
= TAG_Bool(true);
5557 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5558 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5561 if (UNTAG_Bool(REGB0
)) {
5563 /* ./syntax//mmbuilder.nit:880 */
5564 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5565 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5566 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5567 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5568 if (UNTAG_Bool(REGB0
)) {
5569 /* ./syntax//mmbuilder.nit:881 */
5570 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5571 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5572 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5573 if (!once_value_19
) {
5574 fra
.me
.REG
[0] = BOX_NativeString("Error: Untyped parameter.");
5575 REGB0
= TAG_Int(25);
5576 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
5577 once_value_19
= fra
.me
.REG
[0];
5578 register_static_object(&once_value_19
);
5579 } else fra
.me
.REG
[0] = once_value_19
;
5580 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5581 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
5583 /* ./syntax//mmbuilder.nit:883 */
5584 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
5585 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5586 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5587 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[4]);
5588 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
5589 /* ./syntax//mmbuilder.nit:884 */
5590 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5591 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5592 /* ./../lib/standard//collection//array.nit:234 */
5594 /* ./../lib/standard//collection//array.nit:235 */
5595 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
5596 if (UNTAG_Bool(REGB1
)) {
5598 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
5600 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
5601 /* ./../lib/standard//collection//array.nit:236 */
5602 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
5603 /* ./../lib/standard//collection//array.nit:237 */
5605 /* ./../lib/standard//collection//array.nit:23 */
5606 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
5607 if (UNTAG_Bool(REGB1
)) {
5609 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
5611 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
5612 /* ./../lib/standard//kernel.nit:215 */
5613 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
5614 /* ./../lib/standard//collection//array.nit:237 */
5615 if (UNTAG_Bool(REGB1
)) {
5616 /* ./../lib/standard//collection//array.nit:238 */
5617 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5618 if (UNTAG_Bool(REGB1
)) {
5619 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
5621 /* ./../lib/standard//collection//array.nit:654 */
5622 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
5623 /* ./syntax//mmbuilder.nit:885 */
5624 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5625 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5626 if (UNTAG_Bool(REGB1
)) {
5627 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 885);
5629 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5630 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5631 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
5633 /* ./../lib/standard//collection//array.nit:239 */
5635 /* ./../lib/standard//kernel.nit:218 */
5636 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5637 /* ./../lib/standard//collection//array.nit:239 */
5640 /* ./../lib/standard//collection//array.nit:237 */
5648 stack_frame_head
= fra
.me
.prev
;
5651 void syntax___mmbuilder___APropdef___inherit_signature(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
5652 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
5659 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5660 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5662 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___inherit_signature
;
5663 fra
.me
.has_broke
= 0;
5664 fra
.me
.REG_size
= 11;
5665 fra
.me
.REG
[0] = NIT_NULL
;
5666 fra
.me
.REG
[1] = NIT_NULL
;
5667 fra
.me
.REG
[2] = NIT_NULL
;
5668 fra
.me
.REG
[3] = NIT_NULL
;
5669 fra
.me
.REG
[4] = NIT_NULL
;
5670 fra
.me
.REG
[5] = NIT_NULL
;
5671 fra
.me
.REG
[6] = NIT_NULL
;
5672 fra
.me
.REG
[7] = NIT_NULL
;
5673 fra
.me
.REG
[8] = NIT_NULL
;
5674 fra
.me
.REG
[9] = NIT_NULL
;
5675 fra
.me
.REG
[10] = NIT_NULL
;
5680 /* ./syntax//mmbuilder.nit:893 */
5681 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5682 /* ./../lib/standard//collection//array.nit:234 */
5684 /* ./../lib/standard//collection//array.nit:235 */
5685 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
5686 if (UNTAG_Bool(REGB1
)) {
5688 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
5690 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
5691 /* ./../lib/standard//collection//array.nit:236 */
5692 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
5693 /* ./../lib/standard//collection//array.nit:237 */
5695 /* ./../lib/standard//collection//array.nit:23 */
5696 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
5697 if (UNTAG_Bool(REGB1
)) {
5699 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
5701 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
5702 /* ./../lib/standard//kernel.nit:215 */
5703 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
5704 /* ./../lib/standard//collection//array.nit:237 */
5705 if (UNTAG_Bool(REGB1
)) {
5706 /* ./../lib/standard//collection//array.nit:238 */
5707 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5708 if (UNTAG_Bool(REGB1
)) {
5709 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
5711 /* ./../lib/standard//collection//array.nit:654 */
5712 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
5713 /* ./syntax//mmbuilder.nit:895 */
5714 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5715 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5716 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5717 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5718 if (UNTAG_Bool(REGB1
)) {
5719 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 895);
5721 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5722 /* ./syntax//mmbuilder.nit:897 */
5723 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5724 if (UNTAG_Bool(REGB1
)) {
5726 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5727 if (UNTAG_Bool(REGB2
)) {
5728 REGB2
= TAG_Bool(false);
5731 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
5735 if (UNTAG_Bool(REGB1
)) {
5736 /* ./syntax//mmbuilder.nit:898 */
5737 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5738 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5739 /* ./../lib/standard//collection//array.nit:23 */
5740 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
5741 if (UNTAG_Bool(REGB1
)) {
5743 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
5745 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
5746 /* ./syntax//mmbuilder.nit:898 */
5747 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5748 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
5749 if (UNTAG_Bool(REGB3
)) {
5751 /* ./../lib/standard//kernel.nit:210 */
5752 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
5753 /* ./syntax//mmbuilder.nit:898 */
5756 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
5757 if (UNTAG_Bool(REGB3
)) {
5758 /* ./syntax//mmbuilder.nit:899 */
5761 /* ./syntax//mmbuilder.nit:901 */
5762 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5763 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5764 /* ./../lib/standard//collection//array.nit:234 */
5766 /* ./../lib/standard//collection//array.nit:235 */
5767 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
5768 if (UNTAG_Bool(REGB2
)) {
5770 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
5772 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
5773 /* ./../lib/standard//collection//array.nit:236 */
5774 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
5775 /* ./../lib/standard//collection//array.nit:237 */
5777 /* ./../lib/standard//collection//array.nit:23 */
5778 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
5779 if (UNTAG_Bool(REGB2
)) {
5781 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
5783 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
5784 /* ./../lib/standard//kernel.nit:215 */
5785 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
5786 /* ./../lib/standard//collection//array.nit:237 */
5787 if (UNTAG_Bool(REGB2
)) {
5788 /* ./../lib/standard//collection//array.nit:238 */
5789 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5790 if (UNTAG_Bool(REGB2
)) {
5791 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
5793 /* ./../lib/standard//collection//array.nit:654 */
5794 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB3
)];
5795 /* ./syntax//mmbuilder.nit:902 */
5796 REGB2
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5797 fra
.me
.REG
[9] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
5798 /* ./syntax//mmbuilder.nit:903 */
5799 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
5800 /* ./syntax//mmbuilder.nit:904 */
5801 REGB2
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5802 REGB1
= CALL_metamodel___vararg___MMSignature___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5803 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
5804 if (UNTAG_Bool(REGB4
)) {
5806 /* ./../lib/standard//kernel.nit:210 */
5807 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
5808 /* ./syntax//mmbuilder.nit:904 */
5811 if (UNTAG_Bool(REGB4
)) {
5812 /* ./syntax//mmbuilder.nit:905 */
5813 fra
.me
.REG
[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[9]);
5814 fra
.me
.REG
[9] = fra
.me
.REG
[10];
5816 /* ./syntax//mmbuilder.nit:907 */
5817 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5818 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
5819 /* ./../lib/standard//collection//array.nit:239 */
5821 /* ./../lib/standard//kernel.nit:218 */
5822 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
5823 /* ./../lib/standard//collection//array.nit:239 */
5826 /* ./../lib/standard//collection//array.nit:237 */
5831 /* ./syntax//mmbuilder.nit:910 */
5832 fra
.me
.REG
[0] = fra
.me
.REG
[6];
5833 /* ./syntax//mmbuilder.nit:911 */
5834 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
5836 /* ./../lib/standard//collection//array.nit:239 */
5838 /* ./../lib/standard//kernel.nit:218 */
5839 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
5840 /* ./../lib/standard//collection//array.nit:239 */
5843 /* ./../lib/standard//collection//array.nit:237 */
5849 stack_frame_head
= fra
.me
.prev
;
5852 void syntax___mmbuilder___APropdef___do_and_check_redef(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5853 struct {struct stack_frame_t me
; val_t MORE_REG
[13];} fra
;
5863 static val_t once_value_1
; /* Once value */
5864 static val_t once_value_2
; /* Once value */
5865 static val_t once_value_3
; /* Once value */
5866 static val_t once_value_5
; /* Once value */
5867 static val_t once_value_6
; /* Once value */
5868 static val_t once_value_7
; /* Once value */
5869 static val_t once_value_8
; /* Once value */
5870 static val_t once_value_9
; /* Once value */
5871 static val_t once_value_10
; /* Once value */
5872 static val_t once_value_12
; /* Once value */
5873 static val_t once_value_13
; /* Once value */
5874 static val_t once_value_14
; /* Once value */
5875 static val_t once_value_15
; /* Once value */
5876 static val_t once_value_16
; /* Once value */
5877 static val_t once_value_17
; /* Once value */
5878 static val_t once_value_18
; /* Once value */
5879 static val_t once_value_19
; /* Once value */
5880 static val_t once_value_20
; /* Once value */
5881 static val_t once_value_21
; /* Once value */
5882 static val_t once_value_22
; /* Once value */
5883 static val_t once_value_23
; /* Once value */
5884 static val_t once_value_25
; /* Once value */
5885 static val_t once_value_26
; /* Once value */
5886 static val_t once_value_27
; /* Once value */
5887 static val_t once_value_28
; /* Once value */
5888 static val_t once_value_29
; /* Once value */
5889 static val_t once_value_30
; /* Once value */
5890 static val_t once_value_31
; /* Once value */
5891 static val_t once_value_32
; /* Once value */
5892 static val_t once_value_33
; /* Once value */
5893 static val_t once_value_34
; /* Once value */
5894 static val_t once_value_36
; /* Once value */
5895 static val_t once_value_37
; /* Once value */
5896 static val_t once_value_38
; /* Once value */
5897 static val_t once_value_39
; /* Once value */
5898 static val_t once_value_40
; /* Once value */
5899 static val_t once_value_41
; /* Once value */
5900 static val_t once_value_42
; /* Once value */
5901 static val_t once_value_43
; /* Once value */
5902 static val_t once_value_44
; /* Once value */
5903 static val_t once_value_45
; /* Once value */
5904 static val_t once_value_46
; /* Once value */
5905 static val_t once_value_47
; /* Once value */
5906 static val_t once_value_48
; /* Once value */
5907 static val_t once_value_49
; /* Once value */
5908 static val_t once_value_50
; /* Once value */
5909 static val_t once_value_51
; /* Once value */
5910 static val_t once_value_52
; /* Once value */
5911 static val_t once_value_53
; /* Once value */
5912 static val_t once_value_54
; /* Once value */
5913 static val_t once_value_55
; /* Once value */
5914 static val_t once_value_56
; /* Once value */
5915 static val_t once_value_57
; /* Once value */
5916 static val_t once_value_58
; /* Once value */
5917 static val_t once_value_59
; /* Once value */
5918 static val_t once_value_60
; /* Once value */
5919 static val_t once_value_61
; /* Once value */
5920 static val_t once_value_62
; /* Once value */
5921 static val_t once_value_64
; /* Once value */
5922 static val_t once_value_65
; /* Once value */
5923 static val_t once_value_66
; /* Once value */
5924 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5925 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5927 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___do_and_check_redef
;
5928 fra
.me
.has_broke
= 0;
5929 fra
.me
.REG_size
= 14;
5930 fra
.me
.REG
[0] = NIT_NULL
;
5931 fra
.me
.REG
[1] = NIT_NULL
;
5932 fra
.me
.REG
[2] = NIT_NULL
;
5933 fra
.me
.REG
[3] = NIT_NULL
;
5934 fra
.me
.REG
[4] = NIT_NULL
;
5935 fra
.me
.REG
[5] = NIT_NULL
;
5936 fra
.me
.REG
[6] = NIT_NULL
;
5937 fra
.me
.REG
[7] = NIT_NULL
;
5938 fra
.me
.REG
[8] = NIT_NULL
;
5939 fra
.me
.REG
[9] = NIT_NULL
;
5940 fra
.me
.REG
[10] = NIT_NULL
;
5941 fra
.me
.REG
[11] = NIT_NULL
;
5942 fra
.me
.REG
[12] = NIT_NULL
;
5943 fra
.me
.REG
[13] = NIT_NULL
;
5949 /* ./syntax//mmbuilder.nit:919 */
5950 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AInitPropdef
, ID_parser___parser_nodes___AInitPropdef
)) /*cast AInitPropdef*/;
5951 /* ./syntax//mmbuilder.nit:920 */
5952 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5953 /* ./syntax//mmbuilder.nit:922 */
5954 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5955 if (UNTAG_Bool(REGB0
)) {
5956 /* ./syntax//mmbuilder.nit:923 */
5958 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5959 if (!once_value_1
) {
5960 fra
.me
.REG
[5] = BOX_NativeString("Redef error: ");
5961 REGB0
= TAG_Int(13);
5962 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5963 once_value_1
= fra
.me
.REG
[5];
5964 register_static_object(&once_value_1
);
5965 } else fra
.me
.REG
[5] = once_value_1
;
5966 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5968 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5969 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5970 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5971 if (!once_value_2
) {
5972 fra
.me
.REG
[5] = BOX_NativeString("::");
5974 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5975 once_value_2
= fra
.me
.REG
[5];
5976 register_static_object(&once_value_2
);
5977 } else fra
.me
.REG
[5] = once_value_2
;
5978 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5980 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5982 if (!once_value_3
) {
5983 fra
.me
.REG
[5] = BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword.");
5984 REGB0
= TAG_Int(65);
5985 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
5986 once_value_3
= fra
.me
.REG
[5];
5987 register_static_object(&once_value_3
);
5988 } else fra
.me
.REG
[5] = once_value_3
;
5989 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5990 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5991 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5992 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5993 /* ./syntax//mmbuilder.nit:924 */
5996 /* ./syntax//mmbuilder.nit:926 */
5997 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5998 if (UNTAG_Bool(REGB0
)) {
5999 REGB0
= TAG_Bool(!UNTAG_Bool(REGB2
));
6001 REGB3
= TAG_Bool(false);
6004 if (UNTAG_Bool(REGB0
)) {
6005 /* ./syntax//mmbuilder.nit:927 */
6007 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6008 if (!once_value_5
) {
6009 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A method ");
6010 REGB0
= TAG_Int(22);
6011 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6012 once_value_5
= fra
.me
.REG
[5];
6013 register_static_object(&once_value_5
);
6014 } else fra
.me
.REG
[5] = once_value_5
;
6015 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6017 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6018 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6019 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6020 if (!once_value_6
) {
6021 fra
.me
.REG
[5] = BOX_NativeString("::");
6023 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6024 once_value_6
= fra
.me
.REG
[5];
6025 register_static_object(&once_value_6
);
6026 } else fra
.me
.REG
[5] = once_value_6
;
6027 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6028 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6029 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6030 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6031 if (!once_value_7
) {
6032 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a constructor.");
6033 REGB0
= TAG_Int(31);
6034 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
6035 once_value_7
= fra
.me
.REG
[5];
6036 register_static_object(&once_value_7
);
6037 } else fra
.me
.REG
[5] = once_value_7
;
6038 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6039 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6040 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6041 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6043 /* ./syntax//mmbuilder.nit:928 */
6044 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6045 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6046 if (UNTAG_Bool(REGB0
)) {
6048 REGB0
= TAG_Bool(false);
6051 if (UNTAG_Bool(REGB2
)) {
6052 /* ./syntax//mmbuilder.nit:929 */
6054 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
6055 if (!once_value_8
) {
6056 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A constructor ");
6057 REGB2
= TAG_Int(27);
6058 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6059 once_value_8
= fra
.me
.REG
[5];
6060 register_static_object(&once_value_8
);
6061 } else fra
.me
.REG
[5] = once_value_8
;
6062 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6063 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6064 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6065 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6067 if (!once_value_9
) {
6068 fra
.me
.REG
[5] = BOX_NativeString("::");
6070 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6071 once_value_9
= fra
.me
.REG
[5];
6072 register_static_object(&once_value_9
);
6073 } else fra
.me
.REG
[5] = once_value_9
;
6074 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6075 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6076 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6077 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6078 if (!once_value_10
) {
6079 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a method.");
6080 REGB2
= TAG_Int(26);
6081 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
6082 once_value_10
= fra
.me
.REG
[5];
6083 register_static_object(&once_value_10
);
6084 } else fra
.me
.REG
[5] = once_value_10
;
6085 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6087 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6088 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6091 /* ./syntax//mmbuilder.nit:932 */
6092 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6093 /* ./syntax//mmbuilder.nit:934 */
6094 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___prhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6095 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6096 /* ./../lib/standard//collection//array.nit:234 */
6098 /* ./../lib/standard//collection//array.nit:235 */
6099 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6100 if (UNTAG_Bool(REGB0
)) {
6102 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
6104 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6105 /* ./../lib/standard//collection//array.nit:236 */
6106 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
6107 /* ./../lib/standard//collection//array.nit:237 */
6109 /* ./../lib/standard//collection//array.nit:23 */
6110 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6111 if (UNTAG_Bool(REGB0
)) {
6113 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
6115 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6116 /* ./../lib/standard//kernel.nit:215 */
6117 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
6118 /* ./../lib/standard//collection//array.nit:237 */
6119 if (UNTAG_Bool(REGB0
)) {
6120 /* ./../lib/standard//collection//array.nit:238 */
6121 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
6122 if (UNTAG_Bool(REGB0
)) {
6123 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
6125 /* ./../lib/standard//collection//array.nit:654 */
6126 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
6127 /* ./syntax//mmbuilder.nit:935 */
6128 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6129 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6130 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6131 /* ./syntax//mmbuilder.nit:936 */
6132 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6133 /* ./syntax//mmbuilder.nit:937 */
6134 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6135 if (UNTAG_Bool(REGB0
)) {
6137 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6138 if (UNTAG_Bool(REGB3
)) {
6139 REGB3
= TAG_Bool(false);
6142 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
6146 if (UNTAG_Bool(REGB0
)) {
6149 /* ./syntax//mmbuilder.nit:938 */
6150 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6151 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6152 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6153 if (UNTAG_Bool(REGB0
)) {
6154 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 938);
6156 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
6157 fra
.me
.REG
[7] = fra
.me
.REG
[8];
6158 /* ./syntax//mmbuilder.nit:940 */
6159 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6160 if (UNTAG_Bool(REGB0
)) {
6162 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6163 if (UNTAG_Bool(REGB3
)) {
6164 REGB3
= TAG_Bool(false);
6167 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6171 if (UNTAG_Bool(REGB0
)) {
6172 /* ./syntax//mmbuilder.nit:942 */
6173 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6174 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6175 /* ./../lib/standard//collection//array.nit:23 */
6176 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6177 if (UNTAG_Bool(REGB0
)) {
6179 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
6181 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6182 /* ./syntax//mmbuilder.nit:942 */
6183 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6184 if (UNTAG_Bool(REGB3
)) {
6185 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 942);
6187 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6188 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
6189 if (UNTAG_Bool(REGB4
)) {
6191 /* ./../lib/standard//kernel.nit:210 */
6192 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
6193 /* ./syntax//mmbuilder.nit:942 */
6196 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6197 if (UNTAG_Bool(REGB4
)) {
6198 /* ./syntax//mmbuilder.nit:943 */
6199 REGB4
= TAG_Int(11);
6200 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
6201 if (!once_value_12
) {
6202 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
6203 REGB4
= TAG_Int(13);
6204 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6205 once_value_12
= fra
.me
.REG
[10];
6206 register_static_object(&once_value_12
);
6207 } else fra
.me
.REG
[10] = once_value_12
;
6208 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6210 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6211 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6213 if (!once_value_13
) {
6214 fra
.me
.REG
[10] = BOX_NativeString("::");
6216 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6217 once_value_13
= fra
.me
.REG
[10];
6218 register_static_object(&once_value_13
);
6219 } else fra
.me
.REG
[10] = once_value_13
;
6220 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6222 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6223 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6224 if (!once_value_14
) {
6225 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
6226 REGB4
= TAG_Int(11);
6227 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6228 once_value_14
= fra
.me
.REG
[10];
6229 register_static_object(&once_value_14
);
6230 } else fra
.me
.REG
[10] = once_value_14
;
6231 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6232 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6233 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6234 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6235 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6236 if (!once_value_15
) {
6237 fra
.me
.REG
[10] = BOX_NativeString("::");
6239 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6240 once_value_15
= fra
.me
.REG
[10];
6241 register_static_object(&once_value_15
);
6242 } else fra
.me
.REG
[10] = once_value_15
;
6243 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6244 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6245 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6247 if (!once_value_16
) {
6248 fra
.me
.REG
[10] = BOX_NativeString(" with ");
6250 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6251 once_value_16
= fra
.me
.REG
[10];
6252 register_static_object(&once_value_16
);
6253 } else fra
.me
.REG
[10] = once_value_16
;
6254 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6255 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6256 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6257 if (UNTAG_Bool(REGB4
)) {
6258 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 943);
6260 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6261 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(REGB4
)(REGB4
);
6262 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6263 if (!once_value_17
) {
6264 fra
.me
.REG
[10] = BOX_NativeString(" parameter(s).");
6265 REGB4
= TAG_Int(14);
6266 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB4
);
6267 once_value_17
= fra
.me
.REG
[10];
6268 register_static_object(&once_value_17
);
6269 } else fra
.me
.REG
[10] = once_value_17
;
6270 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6272 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6273 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6274 /* ./syntax//mmbuilder.nit:944 */
6277 /* ./syntax//mmbuilder.nit:946 */
6278 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6279 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6280 /* ./../lib/standard//collection//array.nit:23 */
6281 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6282 if (UNTAG_Bool(REGB4
)) {
6284 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
6286 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6287 /* ./syntax//mmbuilder.nit:946 */
6288 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6289 if (UNTAG_Bool(REGB3
)) {
6290 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 946);
6292 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6293 /* ./../lib/standard//collection//array.nit:23 */
6294 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6295 if (UNTAG_Bool(REGB3
)) {
6297 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
6299 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6300 /* ./syntax//mmbuilder.nit:946 */
6301 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB3
));
6302 if (UNTAG_Bool(REGB0
)) {
6304 /* ./../lib/standard//kernel.nit:210 */
6305 REGB3
= TAG_Bool((REGB4
)==(REGB3
));
6306 /* ./syntax//mmbuilder.nit:946 */
6309 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6310 if (UNTAG_Bool(REGB0
)) {
6311 /* ./syntax//mmbuilder.nit:947 */
6312 REGB0
= TAG_Int(11);
6313 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6314 if (!once_value_18
) {
6315 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
6316 REGB0
= TAG_Int(13);
6317 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6318 once_value_18
= fra
.me
.REG
[10];
6319 register_static_object(&once_value_18
);
6320 } else fra
.me
.REG
[10] = once_value_18
;
6321 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6323 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6324 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6325 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6326 if (!once_value_19
) {
6327 fra
.me
.REG
[10] = BOX_NativeString("::");
6329 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6330 once_value_19
= fra
.me
.REG
[10];
6331 register_static_object(&once_value_19
);
6332 } else fra
.me
.REG
[10] = once_value_19
;
6333 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6334 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6335 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6337 if (!once_value_20
) {
6338 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
6339 REGB0
= TAG_Int(11);
6340 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6341 once_value_20
= fra
.me
.REG
[10];
6342 register_static_object(&once_value_20
);
6343 } else fra
.me
.REG
[10] = once_value_20
;
6344 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6345 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6346 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6347 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6348 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6349 if (!once_value_21
) {
6350 fra
.me
.REG
[10] = BOX_NativeString("::");
6352 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6353 once_value_21
= fra
.me
.REG
[10];
6354 register_static_object(&once_value_21
);
6355 } else fra
.me
.REG
[10] = once_value_21
;
6356 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6358 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6359 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6360 if (!once_value_22
) {
6361 fra
.me
.REG
[10] = BOX_NativeString(" with ");
6363 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6364 once_value_22
= fra
.me
.REG
[10];
6365 register_static_object(&once_value_22
);
6366 } else fra
.me
.REG
[10] = once_value_22
;
6367 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6368 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6369 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6370 if (UNTAG_Bool(REGB0
)) {
6371 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 947);
6373 REGB0
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6374 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
6375 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6376 if (!once_value_23
) {
6377 fra
.me
.REG
[10] = BOX_NativeString(" closure(s).");
6378 REGB0
= TAG_Int(12);
6379 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB0
);
6380 once_value_23
= fra
.me
.REG
[10];
6381 register_static_object(&once_value_23
);
6382 } else fra
.me
.REG
[10] = once_value_23
;
6383 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6385 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6386 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6387 /* ./syntax//mmbuilder.nit:948 */
6390 /* ./syntax//mmbuilder.nit:950 */
6391 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6392 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6393 /* ./../lib/standard//collection//array.nit:234 */
6395 /* ./../lib/standard//collection//array.nit:235 */
6396 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6397 if (UNTAG_Bool(REGB3
)) {
6399 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
6401 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6402 /* ./../lib/standard//collection//array.nit:236 */
6403 fra
.me
.REG
[10] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[8]);
6404 /* ./../lib/standard//collection//array.nit:237 */
6406 /* ./../lib/standard//collection//array.nit:23 */
6407 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6408 if (UNTAG_Bool(REGB3
)) {
6410 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
6412 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6413 /* ./../lib/standard//kernel.nit:215 */
6414 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
6415 /* ./../lib/standard//collection//array.nit:237 */
6416 if (UNTAG_Bool(REGB3
)) {
6417 /* ./../lib/standard//collection//array.nit:238 */
6418 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6419 if (UNTAG_Bool(REGB3
)) {
6420 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
6422 /* ./../lib/standard//collection//array.nit:654 */
6423 fra
.me
.REG
[11] = ((Nit_NativeArray
)fra
.me
.REG
[10])->val
[UNTAG_Int(REGB0
)];
6424 /* ./syntax//mmbuilder.nit:951 */
6425 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6426 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6427 if (UNTAG_Bool(REGB4
)) {
6428 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 951);
6430 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB3
);
6431 /* ./syntax//mmbuilder.nit:952 */
6432 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
6433 /* ./syntax//mmbuilder.nit:953 */
6434 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6435 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6436 if (UNTAG_Bool(REGB4
)) {
6437 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 953);
6439 REGB4
= CALL_metamodel___vararg___MMSignature___vararg_rank(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6440 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB4
));
6441 if (UNTAG_Bool(REGB5
)) {
6443 /* ./../lib/standard//kernel.nit:210 */
6444 REGB4
= TAG_Bool((REGB3
)==(REGB4
));
6445 /* ./syntax//mmbuilder.nit:953 */
6448 if (UNTAG_Bool(REGB5
)) {
6449 /* ./syntax//mmbuilder.nit:954 */
6450 fra
.me
.REG
[13] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[12]);
6451 fra
.me
.REG
[12] = fra
.me
.REG
[13];
6453 /* ./syntax//mmbuilder.nit:956 */
6454 fra
.me
.REG
[11] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6455 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
6456 /* ./../lib/standard//collection//array.nit:239 */
6458 /* ./../lib/standard//kernel.nit:218 */
6459 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
6460 /* ./../lib/standard//collection//array.nit:239 */
6463 /* ./../lib/standard//collection//array.nit:237 */
6468 /* ./syntax//mmbuilder.nit:958 */
6469 fra
.me
.REG
[4] = fra
.me
.REG
[7];
6470 /* ./syntax//mmbuilder.nit:959 */
6471 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
6473 /* ./syntax//mmbuilder.nit:963 */
6474 fra
.me
.REG
[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6475 REGB0
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6476 /* ./syntax//mmbuilder.nit:971 */
6477 REGB5
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6478 if (UNTAG_Bool(REGB5
)) {
6479 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 971);
6481 REGB5
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6482 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6483 if (UNTAG_Bool(REGB4
)) {
6484 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 971);
6486 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6487 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB5
,REGB4
));
6488 if (UNTAG_Bool(REGB3
)) {
6490 /* ./../lib/standard//kernel.nit:210 */
6491 REGB4
= TAG_Bool((REGB5
)==(REGB4
));
6492 /* ./syntax//mmbuilder.nit:971 */
6495 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6496 if (UNTAG_Bool(REGB3
)) {
6497 /* ./syntax//mmbuilder.nit:972 */
6498 REGB3
= TAG_Int(11);
6499 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
6500 if (!once_value_25
) {
6501 fra
.me
.REG
[8] = BOX_NativeString("Redef error: ");
6502 REGB3
= TAG_Int(13);
6503 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6504 once_value_25
= fra
.me
.REG
[8];
6505 register_static_object(&once_value_25
);
6506 } else fra
.me
.REG
[8] = once_value_25
;
6507 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6508 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6509 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6510 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6512 if (!once_value_26
) {
6513 fra
.me
.REG
[8] = BOX_NativeString("::");
6515 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6516 once_value_26
= fra
.me
.REG
[8];
6517 register_static_object(&once_value_26
);
6518 } else fra
.me
.REG
[8] = once_value_26
;
6519 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6520 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6521 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6522 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6523 if (!once_value_27
) {
6524 fra
.me
.REG
[8] = BOX_NativeString(" redefines ");
6525 REGB3
= TAG_Int(11);
6526 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6527 once_value_27
= fra
.me
.REG
[8];
6528 register_static_object(&once_value_27
);
6529 } else fra
.me
.REG
[8] = once_value_27
;
6530 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6532 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6533 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6535 if (!once_value_28
) {
6536 fra
.me
.REG
[8] = BOX_NativeString("::");
6538 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6539 once_value_28
= fra
.me
.REG
[8];
6540 register_static_object(&once_value_28
);
6541 } else fra
.me
.REG
[8] = once_value_28
;
6542 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6544 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6545 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6546 if (!once_value_29
) {
6547 fra
.me
.REG
[8] = BOX_NativeString(" with ");
6549 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6550 once_value_29
= fra
.me
.REG
[8];
6551 register_static_object(&once_value_29
);
6552 } else fra
.me
.REG
[8] = once_value_29
;
6553 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6554 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6555 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6556 if (UNTAG_Bool(REGB3
)) {
6557 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 972);
6559 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6560 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB3
)(REGB3
);
6561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6562 if (!once_value_30
) {
6563 fra
.me
.REG
[8] = BOX_NativeString(" parameter(s).");
6564 REGB3
= TAG_Int(14);
6565 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
6566 once_value_30
= fra
.me
.REG
[8];
6567 register_static_object(&once_value_30
);
6568 } else fra
.me
.REG
[8] = once_value_30
;
6569 fra
.me
.REG
[8] = fra
.me
.REG
[8];
6570 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6571 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6572 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
6574 /* ./syntax//mmbuilder.nit:973 */
6575 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6576 if (UNTAG_Bool(REGB3
)) {
6577 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 973);
6579 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6581 /* ./../lib/standard//kernel.nit:217 */
6582 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB4
));
6583 /* ./syntax//mmbuilder.nit:973 */
6584 if (UNTAG_Bool(REGB4
)) {
6585 /* ./syntax//mmbuilder.nit:974 */
6586 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AMethPropdef
, ID_parser___parser_nodes___AMethPropdef
)) /*cast AMethPropdef*/;
6587 if (UNTAG_Bool(REGB4
)) {
6588 /* ./syntax//mmbuilder.nit:976 */
6590 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6591 if (UNTAG_Bool(REGB3
)) {
6592 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 976);
6594 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6595 /* ./../lib/standard//kernel.nit:335 */
6597 /* ./../lib/standard//kernel.nit:215 */
6598 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
6599 /* ./../lib/standard//kernel.nit:335 */
6600 if (UNTAG_Bool(REGB5
)) {
6601 /* ./syntax//mmbuilder.nit:976 */
6603 /* ./syntax//mmbuilder.nit:977 */
6604 REGB6
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6605 if (UNTAG_Bool(REGB6
)) {
6606 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 977);
6608 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB5
);
6609 REGB6
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6610 if (UNTAG_Bool(REGB6
)) {
6611 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 977);
6613 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB5
);
6614 REGB6
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[8]));
6615 if (UNTAG_Bool(REGB6
)) {
6617 REGB7
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6620 REGB6
= TAG_Bool(!UNTAG_Bool(REGB6
));
6621 if (UNTAG_Bool(REGB6
)) {
6622 /* ./syntax//mmbuilder.nit:978 */
6623 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6624 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
6625 if (UNTAG_Bool(REGB6
)) {
6626 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 978);
6628 fra
.me
.REG
[8] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6629 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB5
);
6631 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB6
);
6632 if (!once_value_31
) {
6633 fra
.me
.REG
[12] = BOX_NativeString("Redef error: Expected ");
6634 REGB6
= TAG_Int(22);
6635 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB6
);
6636 once_value_31
= fra
.me
.REG
[12];
6637 register_static_object(&once_value_31
);
6638 } else fra
.me
.REG
[12] = once_value_31
;
6639 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6640 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6641 REGB6
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6642 if (UNTAG_Bool(REGB6
)) {
6643 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 978);
6645 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB5
);
6646 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6648 if (!once_value_32
) {
6649 fra
.me
.REG
[12] = BOX_NativeString(", as in ");
6651 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB5
);
6652 once_value_32
= fra
.me
.REG
[12];
6653 register_static_object(&once_value_32
);
6654 } else fra
.me
.REG
[12] = once_value_32
;
6655 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6657 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6658 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6660 if (!once_value_33
) {
6661 fra
.me
.REG
[12] = BOX_NativeString("::");
6663 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB5
);
6664 once_value_33
= fra
.me
.REG
[12];
6665 register_static_object(&once_value_33
);
6666 } else fra
.me
.REG
[12] = once_value_33
;
6667 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6668 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6669 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6670 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6671 if (!once_value_34
) {
6672 fra
.me
.REG
[12] = BOX_NativeString(".");
6674 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB5
);
6675 once_value_34
= fra
.me
.REG
[12];
6676 register_static_object(&once_value_34
);
6677 } else fra
.me
.REG
[12] = once_value_34
;
6678 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6679 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6680 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6681 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8], fra
.me
.REG
[10]);
6683 /* ./../lib/standard//kernel.nit:337 */
6685 /* ./../lib/standard//kernel.nit:218 */
6686 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB5
));
6687 /* ./../lib/standard//kernel.nit:337 */
6690 /* ./../lib/standard//kernel.nit:335 */
6696 /* ./syntax//mmbuilder.nit:981 */
6697 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AAttrPropdef
, ID_parser___parser_nodes___AAttrPropdef
)) /*cast AAttrPropdef*/;
6698 if (UNTAG_Bool(REGB4
)) {
6699 /* ./syntax//mmbuilder.nit:983 */
6701 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6702 if (UNTAG_Bool(REGB3
)) {
6703 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 983);
6705 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB4
);
6707 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6708 if (UNTAG_Bool(REGB3
)) {
6709 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 983);
6711 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
6712 REGB4
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[8]));
6713 if (UNTAG_Bool(REGB4
)) {
6715 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
6718 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6719 if (UNTAG_Bool(REGB4
)) {
6720 /* ./syntax//mmbuilder.nit:984 */
6721 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6723 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
6724 if (!once_value_36
) {
6725 fra
.me
.REG
[12] = BOX_NativeString("Redef error: Expected ");
6726 REGB4
= TAG_Int(22);
6727 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
6728 once_value_36
= fra
.me
.REG
[12];
6729 register_static_object(&once_value_36
);
6730 } else fra
.me
.REG
[12] = once_value_36
;
6731 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6732 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6734 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6735 if (UNTAG_Bool(REGB3
)) {
6736 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 984);
6738 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
6739 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6741 if (!once_value_37
) {
6742 fra
.me
.REG
[12] = BOX_NativeString(", as in the parameter of ");
6743 REGB4
= TAG_Int(25);
6744 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
6745 once_value_37
= fra
.me
.REG
[12];
6746 register_static_object(&once_value_37
);
6747 } else fra
.me
.REG
[12] = once_value_37
;
6748 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6750 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6751 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6753 if (!once_value_38
) {
6754 fra
.me
.REG
[12] = BOX_NativeString("::");
6756 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
6757 once_value_38
= fra
.me
.REG
[12];
6758 register_static_object(&once_value_38
);
6759 } else fra
.me
.REG
[12] = once_value_38
;
6760 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6762 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6763 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6764 if (!once_value_39
) {
6765 fra
.me
.REG
[12] = BOX_NativeString(".");
6767 fra
.me
.REG
[12] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[12], REGB4
);
6768 once_value_39
= fra
.me
.REG
[12];
6769 register_static_object(&once_value_39
);
6770 } else fra
.me
.REG
[12] = once_value_39
;
6771 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[12]);
6773 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6774 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8], fra
.me
.REG
[10]);
6777 /* ./syntax//mmbuilder.nit:988 */
6778 nit_abort("Aborted", NULL
, LOCATE_syntax___mmbuilder
, 988);
6783 /* ./syntax//mmbuilder.nit:992 */
6784 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6785 if (UNTAG_Bool(REGB4
)) {
6786 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 992);
6788 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6789 /* ./syntax//mmbuilder.nit:993 */
6790 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6791 if (UNTAG_Bool(REGB4
)) {
6792 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 993);
6794 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6795 /* ./syntax//mmbuilder.nit:994 */
6796 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6797 if (UNTAG_Bool(REGB4
)) {
6799 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6800 if (UNTAG_Bool(REGB3
)) {
6801 REGB3
= TAG_Bool(false);
6804 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
6808 if (UNTAG_Bool(REGB4
)) {
6809 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
6810 if (UNTAG_Bool(REGB4
)) {
6812 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
6813 if (UNTAG_Bool(REGB3
)) {
6814 REGB3
= TAG_Bool(false);
6817 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
6821 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6823 REGB3
= TAG_Bool(false);
6826 if (UNTAG_Bool(REGB4
)) {
6827 /* ./syntax//mmbuilder.nit:995 */
6829 fra
.me
.REG
[12] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
6830 if (!once_value_40
) {
6831 fra
.me
.REG
[11] = BOX_NativeString("Redef error: The procedure ");
6832 REGB4
= TAG_Int(27);
6833 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
6834 once_value_40
= fra
.me
.REG
[11];
6835 register_static_object(&once_value_40
);
6836 } else fra
.me
.REG
[11] = once_value_40
;
6837 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6838 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6839 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6840 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6842 if (!once_value_41
) {
6843 fra
.me
.REG
[11] = BOX_NativeString("::");
6845 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
6846 once_value_41
= fra
.me
.REG
[11];
6847 register_static_object(&once_value_41
);
6848 } else fra
.me
.REG
[11] = once_value_41
;
6849 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6851 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6852 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6853 if (!once_value_42
) {
6854 fra
.me
.REG
[11] = BOX_NativeString(" redefines the function ");
6855 REGB4
= TAG_Int(24);
6856 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
6857 once_value_42
= fra
.me
.REG
[11];
6858 register_static_object(&once_value_42
);
6859 } else fra
.me
.REG
[11] = once_value_42
;
6860 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6862 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6863 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6865 if (!once_value_43
) {
6866 fra
.me
.REG
[11] = BOX_NativeString("::");
6868 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
6869 once_value_43
= fra
.me
.REG
[11];
6870 register_static_object(&once_value_43
);
6871 } else fra
.me
.REG
[11] = once_value_43
;
6872 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6873 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6874 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6875 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6876 if (!once_value_44
) {
6877 fra
.me
.REG
[11] = BOX_NativeString(".");
6879 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
6880 once_value_44
= fra
.me
.REG
[11];
6881 register_static_object(&once_value_44
);
6882 } else fra
.me
.REG
[11] = once_value_44
;
6883 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6885 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6886 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[12]);
6888 /* ./syntax//mmbuilder.nit:996 */
6889 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6890 if (UNTAG_Bool(REGB4
)) {
6892 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6893 if (UNTAG_Bool(REGB3
)) {
6894 REGB3
= TAG_Bool(false);
6897 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
6901 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6902 if (UNTAG_Bool(REGB4
)) {
6903 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
6904 if (UNTAG_Bool(REGB4
)) {
6906 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
6907 if (UNTAG_Bool(REGB3
)) {
6908 REGB3
= TAG_Bool(false);
6911 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
6916 REGB3
= TAG_Bool(false);
6919 if (UNTAG_Bool(REGB4
)) {
6920 /* ./syntax//mmbuilder.nit:997 */
6922 fra
.me
.REG
[12] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
6923 if (!once_value_45
) {
6924 fra
.me
.REG
[11] = BOX_NativeString("Redef error: The function ");
6925 REGB4
= TAG_Int(26);
6926 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
6927 once_value_45
= fra
.me
.REG
[11];
6928 register_static_object(&once_value_45
);
6929 } else fra
.me
.REG
[11] = once_value_45
;
6930 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6932 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6933 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6935 if (!once_value_46
) {
6936 fra
.me
.REG
[11] = BOX_NativeString("::");
6938 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
6939 once_value_46
= fra
.me
.REG
[11];
6940 register_static_object(&once_value_46
);
6941 } else fra
.me
.REG
[11] = once_value_46
;
6942 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6943 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6944 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6945 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6946 if (!once_value_47
) {
6947 fra
.me
.REG
[11] = BOX_NativeString(" redefines the procedure ");
6948 REGB4
= TAG_Int(25);
6949 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
6950 once_value_47
= fra
.me
.REG
[11];
6951 register_static_object(&once_value_47
);
6952 } else fra
.me
.REG
[11] = once_value_47
;
6953 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6954 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6955 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6956 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6958 if (!once_value_48
) {
6959 fra
.me
.REG
[11] = BOX_NativeString("::");
6961 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
6962 once_value_48
= fra
.me
.REG
[11];
6963 register_static_object(&once_value_48
);
6964 } else fra
.me
.REG
[11] = once_value_48
;
6965 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6967 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6969 if (!once_value_49
) {
6970 fra
.me
.REG
[11] = BOX_NativeString(".");
6972 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB4
);
6973 once_value_49
= fra
.me
.REG
[11];
6974 register_static_object(&once_value_49
);
6975 } else fra
.me
.REG
[11] = once_value_49
;
6976 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6978 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6979 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[12]);
6981 /* ./syntax//mmbuilder.nit:998 */
6982 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6983 if (UNTAG_Bool(REGB4
)) {
6985 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6986 if (UNTAG_Bool(REGB3
)) {
6987 REGB3
= TAG_Bool(false);
6990 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
6994 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6995 if (UNTAG_Bool(REGB4
)) {
6996 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
6997 if (UNTAG_Bool(REGB4
)) {
6999 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7000 if (UNTAG_Bool(REGB3
)) {
7001 REGB3
= TAG_Bool(false);
7004 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7008 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7010 REGB3
= TAG_Bool(false);
7013 if (UNTAG_Bool(REGB4
)) {
7014 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7015 if (UNTAG_Bool(REGB4
)) {
7016 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 998);
7018 REGB4
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7019 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7021 REGB3
= TAG_Bool(false);
7024 if (UNTAG_Bool(REGB4
)) {
7025 /* ./syntax//mmbuilder.nit:999 */
7026 fra
.me
.REG
[12] = NIT_NULL
;
7027 /* ./syntax//mmbuilder.nit:1000 */
7028 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AMethPropdef
, ID_parser___parser_nodes___AMethPropdef
)) /*cast AMethPropdef*/;
7029 if (UNTAG_Bool(REGB4
)) {
7030 /* ./syntax//mmbuilder.nit:1001 */
7031 fra
.me
.REG
[11] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7032 REGB4
= TAG_Bool(fra
.me
.REG
[11]==NIT_NULL
);
7033 if (UNTAG_Bool(REGB4
)) {
7034 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1001);
7036 fra
.me
.REG
[11] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7037 fra
.me
.REG
[12] = fra
.me
.REG
[11];
7039 /* ./syntax//mmbuilder.nit:1002 */
7040 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AAttrPropdef
, ID_parser___parser_nodes___AAttrPropdef
)) /*cast AAttrPropdef*/;
7041 if (UNTAG_Bool(REGB4
)) {
7042 /* ./syntax//mmbuilder.nit:1003 */
7043 fra
.me
.REG
[11] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7044 fra
.me
.REG
[12] = fra
.me
.REG
[11];
7046 /* ./syntax//mmbuilder.nit:1004 */
7047 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___ATypePropdef
, ID_parser___parser_nodes___ATypePropdef
)) /*cast ATypePropdef*/;
7048 if (UNTAG_Bool(REGB4
)) {
7049 /* ./syntax//mmbuilder.nit:1005 */
7050 fra
.me
.REG
[11] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7051 fra
.me
.REG
[12] = fra
.me
.REG
[11];
7055 /* ./syntax//mmbuilder.nit:1007 */
7057 fra
.me
.REG
[11] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7058 if (!once_value_50
) {
7059 fra
.me
.REG
[13] = BOX_NativeString("Redef error: Expected ");
7060 REGB4
= TAG_Int(22);
7061 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7062 once_value_50
= fra
.me
.REG
[13];
7063 register_static_object(&once_value_50
);
7064 } else fra
.me
.REG
[13] = once_value_50
;
7065 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7067 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7068 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7069 if (!once_value_51
) {
7070 fra
.me
.REG
[13] = BOX_NativeString(", as in ");
7072 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7073 once_value_51
= fra
.me
.REG
[13];
7074 register_static_object(&once_value_51
);
7075 } else fra
.me
.REG
[13] = once_value_51
;
7076 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7077 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7078 fra
.me
.REG
[13] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7079 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[13])(fra
.me
.REG
[13]);
7080 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7081 if (!once_value_52
) {
7082 fra
.me
.REG
[13] = BOX_NativeString("::");
7084 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7085 once_value_52
= fra
.me
.REG
[13];
7086 register_static_object(&once_value_52
);
7087 } else fra
.me
.REG
[13] = once_value_52
;
7088 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7090 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7092 if (!once_value_53
) {
7093 fra
.me
.REG
[13] = BOX_NativeString(".");
7095 fra
.me
.REG
[13] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[13], REGB4
);
7096 once_value_53
= fra
.me
.REG
[13];
7097 register_static_object(&once_value_53
);
7098 } else fra
.me
.REG
[13] = once_value_53
;
7099 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7100 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[13]);
7101 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7102 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[12], fra
.me
.REG
[11]);
7104 /* ./syntax//mmbuilder.nit:1008 */
7105 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7106 if (UNTAG_Bool(REGB4
)) {
7107 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1008);
7109 REGB4
= CALL_metamodel___static_type___MMSignature_____l(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
7110 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7111 if (UNTAG_Bool(REGB4
)) {
7112 fra
.me
.REG
[7] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7113 REGB4
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7114 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB4
));
7115 if (UNTAG_Bool(REGB3
)) {
7117 /* ./../lib/standard//kernel.nit:210 */
7118 REGB4
= TAG_Bool((REGB0
)==(REGB4
));
7119 /* ./syntax//mmbuilder.nit:1008 */
7123 REGB4
= TAG_Bool(false);
7126 if (UNTAG_Bool(REGB3
)) {
7127 /* ./syntax//mmbuilder.nit:1010 */
7129 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7130 if (!once_value_54
) {
7131 fra
.me
.REG
[11] = BOX_NativeString("Redef error: Incompatible redefinition of ");
7132 REGB3
= TAG_Int(42);
7133 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
7134 once_value_54
= fra
.me
.REG
[11];
7135 register_static_object(&once_value_54
);
7136 } else fra
.me
.REG
[11] = once_value_54
;
7137 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7138 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7139 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7140 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7142 if (!once_value_55
) {
7143 fra
.me
.REG
[11] = BOX_NativeString("::");
7145 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
7146 once_value_55
= fra
.me
.REG
[11];
7147 register_static_object(&once_value_55
);
7148 } else fra
.me
.REG
[11] = once_value_55
;
7149 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7150 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7151 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7152 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7153 if (!once_value_56
) {
7154 fra
.me
.REG
[11] = BOX_NativeString(" with ");
7156 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
7157 once_value_56
= fra
.me
.REG
[11];
7158 register_static_object(&once_value_56
);
7159 } else fra
.me
.REG
[11] = once_value_56
;
7160 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7162 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7163 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7165 if (!once_value_57
) {
7166 fra
.me
.REG
[11] = BOX_NativeString("::");
7168 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
7169 once_value_57
= fra
.me
.REG
[11];
7170 register_static_object(&once_value_57
);
7171 } else fra
.me
.REG
[11] = once_value_57
;
7172 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7173 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7174 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7175 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7176 if (!once_value_58
) {
7177 fra
.me
.REG
[11] = BOX_NativeString("");
7179 fra
.me
.REG
[11] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[11], REGB3
);
7180 once_value_58
= fra
.me
.REG
[11];
7181 register_static_object(&once_value_58
);
7182 } else fra
.me
.REG
[11] = once_value_58
;
7183 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[11]);
7185 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7186 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
7188 /* ./syntax//mmbuilder.nit:1011 */
7189 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7190 if (UNTAG_Bool(REGB3
)) {
7192 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7193 if (UNTAG_Bool(REGB4
)) {
7194 REGB4
= TAG_Bool(false);
7197 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7201 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7202 if (UNTAG_Bool(REGB3
)) {
7203 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7204 if (UNTAG_Bool(REGB3
)) {
7206 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7207 if (UNTAG_Bool(REGB4
)) {
7208 REGB4
= TAG_Bool(false);
7211 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7215 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7217 REGB4
= TAG_Bool(false);
7220 if (UNTAG_Bool(REGB3
)) {
7221 REGB3
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7222 if (UNTAG_Bool(REGB3
)) {
7224 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7225 if (UNTAG_Bool(REGB4
)) {
7226 REGB4
= TAG_Bool(false);
7229 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7233 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7235 REGB4
= TAG_Bool(false);
7238 if (UNTAG_Bool(REGB3
)) {
7239 REGB3
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_metamodel___abstractmetamodel___MMAttribute
, ID_metamodel___abstractmetamodel___MMAttribute
)) /*cast MMAttribute*/;
7241 REGB4
= TAG_Bool(false);
7244 if (UNTAG_Bool(REGB3
)) {
7245 /* ./syntax//mmbuilder.nit:1013 */
7247 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7248 if (!once_value_59
) {
7249 fra
.me
.REG
[7] = BOX_NativeString("Redef warning: Expected ");
7250 REGB3
= TAG_Int(24);
7251 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB3
);
7252 once_value_59
= fra
.me
.REG
[7];
7253 register_static_object(&once_value_59
);
7254 } else fra
.me
.REG
[7] = once_value_59
;
7255 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
7257 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7258 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7259 if (!once_value_60
) {
7260 fra
.me
.REG
[8] = BOX_NativeString(", as in ");
7262 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7263 once_value_60
= fra
.me
.REG
[8];
7264 register_static_object(&once_value_60
);
7265 } else fra
.me
.REG
[8] = once_value_60
;
7266 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7268 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7269 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7270 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7271 if (!once_value_61
) {
7272 fra
.me
.REG
[8] = BOX_NativeString("::");
7274 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB3
);
7275 once_value_61
= fra
.me
.REG
[8];
7276 register_static_object(&once_value_61
);
7277 } else fra
.me
.REG
[8] = once_value_61
;
7278 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7280 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
7282 if (!once_value_62
) {
7283 fra
.me
.REG
[9] = BOX_NativeString(".");
7285 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB3
);
7286 once_value_62
= fra
.me
.REG
[9];
7287 register_static_object(&once_value_62
);
7288 } else fra
.me
.REG
[9] = once_value_62
;
7289 fra
.me
.REG
[9] = fra
.me
.REG
[9];
7290 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
7291 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7292 CALL_syntax___syntax_base___AbsSyntaxVisitor___warning(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
7298 /* ./../lib/standard//collection//array.nit:239 */
7300 /* ./../lib/standard//kernel.nit:218 */
7301 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
7302 /* ./../lib/standard//collection//array.nit:239 */
7305 /* ./../lib/standard//collection//array.nit:237 */
7311 /* ./syntax//mmbuilder.nit:1017 */
7313 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
7314 if (UNTAG_Bool(REGB3
)) {
7316 /* ./../lib/standard//kernel.nit:210 */
7317 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
7318 /* ./syntax//mmbuilder.nit:1017 */
7321 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7322 if (UNTAG_Bool(REGB3
)) {
7323 REGB3
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7324 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
7325 if (UNTAG_Bool(REGB2
)) {
7327 /* ./../lib/standard//kernel.nit:210 */
7328 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
7329 /* ./syntax//mmbuilder.nit:1017 */
7332 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
7334 REGB1
= TAG_Bool(false);
7337 if (UNTAG_Bool(REGB2
)) {
7338 /* ./syntax//mmbuilder.nit:1018 */
7340 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
7341 if (!once_value_64
) {
7342 fra
.me
.REG
[6] = BOX_NativeString("Redef error: ");
7343 REGB2
= TAG_Int(13);
7344 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
7345 once_value_64
= fra
.me
.REG
[6];
7346 register_static_object(&once_value_64
);
7347 } else fra
.me
.REG
[6] = once_value_64
;
7348 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7350 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7351 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7353 if (!once_value_65
) {
7354 fra
.me
.REG
[6] = BOX_NativeString("::");
7356 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB2
);
7357 once_value_65
= fra
.me
.REG
[6];
7358 register_static_object(&once_value_65
);
7359 } else fra
.me
.REG
[6] = once_value_65
;
7360 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7362 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7363 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
7364 if (!once_value_66
) {
7365 fra
.me
.REG
[2] = BOX_NativeString(" redefinition cannot change visibility.");
7366 REGB2
= TAG_Int(39);
7367 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
7368 once_value_66
= fra
.me
.REG
[2];
7369 register_static_object(&once_value_66
);
7370 } else fra
.me
.REG
[2] = once_value_66
;
7371 fra
.me
.REG
[2] = fra
.me
.REG
[2];
7372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
7373 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7374 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
7376 /* ./syntax//mmbuilder.nit:1020 */
7377 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7378 REGB2
= TAG_Bool(true);
7379 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
);
7381 stack_frame_head
= fra
.me
.prev
;
7384 val_t
syntax___mmbuilder___AAttrPropdef___readmethod(val_t p0
){
7385 struct {struct stack_frame_t me
;} fra
;
7387 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7388 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7390 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___readmethod
;
7391 fra
.me
.has_broke
= 0;
7392 fra
.me
.REG_size
= 1;
7393 fra
.me
.REG
[0] = NIT_NULL
;
7395 /* ./syntax//mmbuilder.nit:1025 */
7396 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[0]);
7397 stack_frame_head
= fra
.me
.prev
;
7398 return fra
.me
.REG
[0];
7400 val_t
syntax___mmbuilder___AAttrPropdef___writemethod(val_t p0
){
7401 struct {struct stack_frame_t me
;} fra
;
7403 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7404 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7406 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___writemethod
;
7407 fra
.me
.has_broke
= 0;
7408 fra
.me
.REG_size
= 1;
7409 fra
.me
.REG
[0] = NIT_NULL
;
7411 /* ./syntax//mmbuilder.nit:1026 */
7412 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[0]);
7413 stack_frame_head
= fra
.me
.prev
;
7414 return fra
.me
.REG
[0];
7416 val_t
syntax___mmbuilder___AAttrPropdef___prop(val_t p0
){
7417 struct {struct stack_frame_t me
;} fra
;
7420 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7421 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7423 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___prop
;
7424 fra
.me
.has_broke
= 0;
7425 fra
.me
.REG_size
= 1;
7426 fra
.me
.REG
[0] = NIT_NULL
;
7428 /* ./syntax//mmbuilder.nit:1028 */
7429 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[0]);
7430 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7431 if (UNTAG_Bool(REGB0
)) {
7433 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1028);
7437 stack_frame_head
= fra
.me
.prev
;
7438 return fra
.me
.REG
[0];
7440 void syntax___mmbuilder___AAttrPropdef___accept_property_builder(val_t p0
, val_t p1
){
7441 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
7446 static val_t once_value_1
; /* Once value */
7447 static val_t once_value_2
; /* Once value */
7448 static val_t once_value_3
; /* Once value */
7449 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7450 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7452 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_builder
;
7453 fra
.me
.has_broke
= 0;
7454 fra
.me
.REG_size
= 6;
7455 fra
.me
.REG
[0] = NIT_NULL
;
7456 fra
.me
.REG
[1] = NIT_NULL
;
7457 fra
.me
.REG
[2] = NIT_NULL
;
7458 fra
.me
.REG
[3] = NIT_NULL
;
7459 fra
.me
.REG
[4] = NIT_NULL
;
7460 fra
.me
.REG
[5] = NIT_NULL
;
7463 /* ./syntax//mmbuilder.nit:1030 */
7464 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7465 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7466 /* ./syntax//mmbuilder.nit:1032 */
7467 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7468 /* ./syntax//mmbuilder.nit:1034 */
7469 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7470 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7471 if (UNTAG_Bool(REGB0
)) {
7473 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7474 if (UNTAG_Bool(REGB1
)) {
7475 REGB1
= TAG_Bool(false);
7478 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7482 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7483 if (UNTAG_Bool(REGB0
)) {
7484 /* ./syntax//mmbuilder.nit:1035 */
7485 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7486 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7487 if (UNTAG_Bool(REGB0
)) {
7488 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1035);
7490 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7492 /* ./syntax//mmbuilder.nit:1037 */
7493 if (!once_value_1
) {
7494 fra
.me
.REG
[0] = BOX_NativeString("@");
7496 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
7497 once_value_1
= fra
.me
.REG
[0];
7498 register_static_object(&once_value_1
);
7499 } else fra
.me
.REG
[0] = once_value_1
;
7500 fra
.me
.REG
[0] = fra
.me
.REG
[0];
7501 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7502 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7503 if (UNTAG_Bool(REGB0
)) {
7504 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1037);
7506 fra
.me
.REG
[4] = CALL_parser___lexer___Token___text(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7507 fra
.me
.REG
[4] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7508 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7509 fra
.me
.REG
[1] = fra
.me
.REG
[4];
7511 /* ./syntax//mmbuilder.nit:1039 */
7512 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7513 /* ./syntax//mmbuilder.nit:1040 */
7514 fra
.me
.REG
[0] = NEW_MMSrcAttribute_syntax___syntax_base___MMSrcAttribute___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
7515 /* ./syntax//mmbuilder.nit:1041 */
7516 ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
7517 /* ./syntax//mmbuilder.nit:1042 */
7518 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7519 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
7520 /* ./syntax//mmbuilder.nit:1044 */
7521 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7522 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7523 if (UNTAG_Bool(REGB0
)) {
7525 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7526 if (UNTAG_Bool(REGB1
)) {
7527 REGB1
= TAG_Bool(false);
7530 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7534 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7535 if (UNTAG_Bool(REGB0
)) {
7536 REGB0
= TAG_Bool(true);
7538 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7539 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7540 if (UNTAG_Bool(REGB1
)) {
7542 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7543 if (UNTAG_Bool(REGB2
)) {
7544 REGB2
= TAG_Bool(false);
7547 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7553 if (UNTAG_Bool(REGB0
)) {
7554 /* ./syntax//mmbuilder.nit:1045 */
7555 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7556 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7557 if (UNTAG_Bool(REGB0
)) {
7559 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7560 if (UNTAG_Bool(REGB1
)) {
7561 REGB1
= TAG_Bool(false);
7564 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7568 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7569 if (UNTAG_Bool(REGB0
)) {
7570 /* ./syntax//mmbuilder.nit:1046 */
7571 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7572 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7573 if (UNTAG_Bool(REGB0
)) {
7574 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1046);
7576 fra
.me
.REG
[0] = CALL_parser___lexer___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7578 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
7579 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7580 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7582 /* ./syntax//mmbuilder.nit:1048 */
7583 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7584 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7585 if (UNTAG_Bool(REGB0
)) {
7586 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1048);
7588 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7589 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7591 /* ./syntax//mmbuilder.nit:1050 */
7592 fra
.me
.REG
[0] = NEW_MMReadImplementationMethod_syntax___syntax_base___MMReadImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
7593 /* ./syntax//mmbuilder.nit:1051 */
7594 ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
7595 /* ./syntax//mmbuilder.nit:1052 */
7596 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7597 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
7599 /* ./syntax//mmbuilder.nit:1054 */
7600 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7601 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7602 if (UNTAG_Bool(REGB0
)) {
7604 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7605 if (UNTAG_Bool(REGB1
)) {
7606 REGB1
= TAG_Bool(false);
7609 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7613 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7614 if (UNTAG_Bool(REGB0
)) {
7615 REGB0
= TAG_Bool(true);
7617 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7618 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7619 if (UNTAG_Bool(REGB1
)) {
7621 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7622 if (UNTAG_Bool(REGB2
)) {
7623 REGB2
= TAG_Bool(false);
7626 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7632 if (UNTAG_Bool(REGB0
)) {
7633 /* ./syntax//mmbuilder.nit:1055 */
7634 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7635 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7636 if (UNTAG_Bool(REGB0
)) {
7638 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7639 if (UNTAG_Bool(REGB1
)) {
7640 REGB1
= TAG_Bool(false);
7643 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7647 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7648 if (UNTAG_Bool(REGB0
)) {
7649 /* ./syntax//mmbuilder.nit:1056 */
7650 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7651 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7652 if (UNTAG_Bool(REGB0
)) {
7653 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1056);
7655 fra
.me
.REG
[0] = CALL_parser___lexer___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7657 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
7658 if (!once_value_2
) {
7659 fra
.me
.REG
[5] = BOX_NativeString("=");
7661 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
7662 once_value_2
= fra
.me
.REG
[5];
7663 register_static_object(&once_value_2
);
7664 } else fra
.me
.REG
[5] = once_value_2
;
7665 fra
.me
.REG
[5] = fra
.me
.REG
[5];
7666 fra
.me
.REG
[5] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
7667 fra
.me
.REG
[5] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
7668 fra
.me
.REG
[1] = fra
.me
.REG
[5];
7670 /* ./syntax//mmbuilder.nit:1058 */
7671 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7672 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7673 if (UNTAG_Bool(REGB0
)) {
7674 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1058);
7676 fra
.me
.REG
[5] = CALL_parser___lexer___Token___text(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
7677 if (!once_value_3
) {
7678 fra
.me
.REG
[0] = BOX_NativeString("=");
7680 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
7681 once_value_3
= fra
.me
.REG
[0];
7682 register_static_object(&once_value_3
);
7683 } else fra
.me
.REG
[0] = once_value_3
;
7684 fra
.me
.REG
[0] = fra
.me
.REG
[0];
7685 fra
.me
.REG
[0] = CALL_standard___string___String_____plus(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
7686 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7687 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7689 /* ./syntax//mmbuilder.nit:1060 */
7690 fra
.me
.REG
[4] = NEW_MMWriteImplementationMethod_syntax___syntax_base___MMWriteImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
7691 /* ./syntax//mmbuilder.nit:1061 */
7692 ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]) = fra
.me
.REG
[4];
7693 /* ./syntax//mmbuilder.nit:1062 */
7694 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7695 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
7697 stack_frame_head
= fra
.me
.prev
;
7700 void syntax___mmbuilder___AAttrPropdef___accept_property_verifier(val_t p0
, val_t p1
){
7701 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
7707 static val_t once_value_2
; /* Once value */
7708 static val_t once_value_3
; /* Once value */
7709 static val_t once_value_4
; /* Once value */
7710 static val_t once_value_5
; /* Once value */
7711 static val_t once_value_6
; /* Once value */
7712 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7713 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7715 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_verifier
;
7716 fra
.me
.has_broke
= 0;
7717 fra
.me
.REG_size
= 6;
7718 fra
.me
.REG
[0] = NIT_NULL
;
7719 fra
.me
.REG
[1] = NIT_NULL
;
7720 fra
.me
.REG
[2] = NIT_NULL
;
7721 fra
.me
.REG
[3] = NIT_NULL
;
7722 fra
.me
.REG
[4] = NIT_NULL
;
7723 fra
.me
.REG
[5] = NIT_NULL
;
7726 /* ./syntax//mmbuilder.nit:1066 */
7727 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7728 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7729 /* ./syntax//mmbuilder.nit:1068 */
7730 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7731 /* ./syntax//mmbuilder.nit:1070 */
7732 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7733 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7734 if (UNTAG_Bool(REGB0
)) {
7736 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7737 if (UNTAG_Bool(REGB1
)) {
7738 REGB1
= TAG_Bool(false);
7741 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7745 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7746 if (UNTAG_Bool(REGB0
)) {
7747 /* ./syntax//mmbuilder.nit:1071 */
7748 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7749 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7750 if (UNTAG_Bool(REGB0
)) {
7751 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1071);
7753 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
7754 /* ./syntax//mmbuilder.nit:1072 */
7755 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7756 if (UNTAG_Bool(REGB0
)) {
7758 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7759 if (UNTAG_Bool(REGB1
)) {
7760 REGB1
= TAG_Bool(false);
7763 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7767 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7768 if (UNTAG_Bool(REGB0
)) {
7773 /* ./syntax//mmbuilder.nit:1074 */
7775 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
7776 if (!once_value_2
) {
7777 fra
.me
.REG
[4] = BOX_NativeString("Not yet implemented: Attribute definition ");
7778 REGB0
= TAG_Int(42);
7779 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
7780 once_value_2
= fra
.me
.REG
[4];
7781 register_static_object(&once_value_2
);
7782 } else fra
.me
.REG
[4] = once_value_2
;
7783 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7785 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7786 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7787 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7789 if (!once_value_3
) {
7790 fra
.me
.REG
[4] = BOX_NativeString("::");
7792 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
7793 once_value_3
= fra
.me
.REG
[4];
7794 register_static_object(&once_value_3
);
7795 } else fra
.me
.REG
[4] = once_value_3
;
7796 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7798 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7799 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7800 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7801 if (!once_value_4
) {
7802 fra
.me
.REG
[4] = BOX_NativeString(" requires an explicit type.");
7803 REGB0
= TAG_Int(27);
7804 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
7805 once_value_4
= fra
.me
.REG
[4];
7806 register_static_object(&once_value_4
);
7807 } else fra
.me
.REG
[4] = once_value_4
;
7808 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7810 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7811 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
7812 /* ./syntax//mmbuilder.nit:1075 */
7815 /* ./syntax//mmbuilder.nit:1078 */
7816 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7817 /* ./syntax//mmbuilder.nit:1079 */
7818 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
7819 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7820 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
7821 fra
.me
.REG
[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[5]);
7822 /* ./syntax//mmbuilder.nit:1080 */
7823 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
7824 /* ./syntax//mmbuilder.nit:1081 */
7825 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7826 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7827 /* ./syntax//mmbuilder.nit:1082 */
7828 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7829 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7830 if (UNTAG_Bool(REGB1
)) {
7832 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7833 if (UNTAG_Bool(REGB2
)) {
7834 REGB2
= TAG_Bool(false);
7837 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
7841 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7842 if (UNTAG_Bool(REGB1
)) {
7843 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7844 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7845 if (UNTAG_Bool(REGB1
)) {
7847 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7848 if (UNTAG_Bool(REGB2
)) {
7849 REGB2
= TAG_Bool(false);
7852 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
7856 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7858 REGB2
= TAG_Bool(false);
7861 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB1
, REGB0
);
7862 /* ./syntax//mmbuilder.nit:1083 */
7863 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7864 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7865 if (UNTAG_Bool(REGB1
)) {
7867 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7868 if (UNTAG_Bool(REGB2
)) {
7869 REGB2
= TAG_Bool(false);
7872 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7876 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7877 if (UNTAG_Bool(REGB1
)) {
7878 REGB1
= TAG_Bool(true);
7880 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7881 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7882 if (UNTAG_Bool(REGB2
)) {
7884 REGB3
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7885 if (UNTAG_Bool(REGB3
)) {
7886 REGB3
= TAG_Bool(false);
7889 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7895 if (UNTAG_Bool(REGB1
)) {
7896 /* ./syntax//mmbuilder.nit:1084 */
7897 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]);
7898 REGB1
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7899 if (UNTAG_Bool(REGB1
)) {
7901 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1084);
7903 /* ./syntax//mmbuilder.nit:1085 */
7904 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
7905 /* ./syntax//mmbuilder.nit:1086 */
7906 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7907 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7908 if (UNTAG_Bool(REGB1
)) {
7910 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7911 if (UNTAG_Bool(REGB2
)) {
7912 REGB2
= TAG_Bool(false);
7915 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
7919 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7920 if (UNTAG_Bool(REGB1
)) {
7921 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7922 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7923 if (UNTAG_Bool(REGB1
)) {
7924 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1086);
7926 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAble___n_kwredef(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
7927 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7928 if (UNTAG_Bool(REGB1
)) {
7930 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7931 if (UNTAG_Bool(REGB2
)) {
7932 REGB2
= TAG_Bool(false);
7935 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
7939 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7941 REGB2
= TAG_Bool(false);
7944 if (UNTAG_Bool(REGB1
)) {
7945 REGB1
= TAG_Bool(true);
7947 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7948 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7949 if (UNTAG_Bool(REGB2
)) {
7951 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7952 if (UNTAG_Bool(REGB3
)) {
7953 REGB3
= TAG_Bool(false);
7956 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
7960 if (UNTAG_Bool(REGB2
)) {
7961 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7962 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7963 if (UNTAG_Bool(REGB2
)) {
7965 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7966 if (UNTAG_Bool(REGB3
)) {
7967 REGB3
= TAG_Bool(false);
7970 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
7974 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
7976 REGB3
= TAG_Bool(false);
7981 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB1
, REGB0
);
7982 /* ./syntax//mmbuilder.nit:1087 */
7983 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7984 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7985 if (UNTAG_Bool(REGB1
)) {
7986 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1087);
7988 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
7990 /* ./syntax//mmbuilder.nit:1089 */
7991 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7992 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7993 if (UNTAG_Bool(REGB1
)) {
7995 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7996 if (UNTAG_Bool(REGB2
)) {
7997 REGB2
= TAG_Bool(false);
8000 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8004 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8005 if (UNTAG_Bool(REGB1
)) {
8006 REGB1
= TAG_Bool(true);
8008 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8009 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8010 if (UNTAG_Bool(REGB2
)) {
8012 REGB3
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8013 if (UNTAG_Bool(REGB3
)) {
8014 REGB3
= TAG_Bool(false);
8017 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8023 if (UNTAG_Bool(REGB1
)) {
8024 /* ./syntax//mmbuilder.nit:1090 */
8025 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]);
8026 REGB1
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
8027 if (UNTAG_Bool(REGB1
)) {
8029 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1090);
8031 /* ./syntax//mmbuilder.nit:1091 */
8033 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8034 if (!once_value_5
) {
8035 if (!once_value_6
) {
8036 fra
.me
.REG
[4] = BOX_NativeString("value");
8038 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
8039 once_value_6
= fra
.me
.REG
[4];
8040 register_static_object(&once_value_6
);
8041 } else fra
.me
.REG
[4] = once_value_6
;
8042 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8043 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8044 once_value_5
= fra
.me
.REG
[4];
8045 register_static_object(&once_value_5
);
8046 } else fra
.me
.REG
[4] = once_value_5
;
8047 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8048 fra
.me
.REG
[4] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[1], fra
.me
.REG
[4]);
8049 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
8050 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_items(fra
.me
.REG
[5]);
8051 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8052 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8053 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[4]);
8054 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
8055 /* ./syntax//mmbuilder.nit:1093 */
8056 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8057 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8058 if (UNTAG_Bool(REGB1
)) {
8060 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8061 if (UNTAG_Bool(REGB2
)) {
8062 REGB2
= TAG_Bool(false);
8065 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8069 if (UNTAG_Bool(REGB1
)) {
8070 /* ./syntax//mmbuilder.nit:1094 */
8071 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8072 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8073 if (UNTAG_Bool(REGB1
)) {
8075 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8076 if (UNTAG_Bool(REGB2
)) {
8077 REGB2
= TAG_Bool(false);
8080 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8084 if (UNTAG_Bool(REGB1
)) {
8088 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8089 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8090 if (UNTAG_Bool(REGB1
)) {
8091 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1094);
8093 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAble___n_visibility(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8094 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8095 if (UNTAG_Bool(REGB1
)) {
8096 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1094);
8098 REGB1
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8102 /* ./syntax//mmbuilder.nit:1096 */
8103 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8104 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8105 if (UNTAG_Bool(REGB1
)) {
8107 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8108 if (UNTAG_Bool(REGB2
)) {
8109 REGB2
= TAG_Bool(false);
8112 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8116 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8117 if (UNTAG_Bool(REGB1
)) {
8118 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8119 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8120 if (UNTAG_Bool(REGB1
)) {
8121 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1096);
8123 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAble___n_kwredef(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8124 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8125 if (UNTAG_Bool(REGB1
)) {
8127 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8128 if (UNTAG_Bool(REGB2
)) {
8129 REGB2
= TAG_Bool(false);
8132 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8136 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8138 REGB2
= TAG_Bool(false);
8141 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB1
, REGB0
);
8142 /* ./syntax//mmbuilder.nit:1097 */
8143 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8144 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
8145 if (UNTAG_Bool(REGB0
)) {
8146 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1097);
8148 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
8151 stack_frame_head
= fra
.me
.prev
;
8154 void syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
8155 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8157 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8158 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8160 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
;
8161 fra
.me
.has_broke
= 0;
8162 fra
.me
.REG_size
= 4;
8163 fra
.me
.REG
[0] = NIT_NULL
;
8164 fra
.me
.REG
[1] = NIT_NULL
;
8165 fra
.me
.REG
[2] = NIT_NULL
;
8166 fra
.me
.REG
[3] = NIT_NULL
;
8169 /* ./syntax//mmbuilder.nit:1101 */
8170 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8171 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8172 /* ./syntax//mmbuilder.nit:1103 */
8173 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]);
8174 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
8175 /* ./syntax//mmbuilder.nit:1104 */
8176 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8177 /* ./syntax//mmbuilder.nit:1105 */
8178 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
8179 stack_frame_head
= fra
.me
.prev
;
8182 val_t
syntax___mmbuilder___AMethPropdef___name(val_t p0
){
8183 struct {struct stack_frame_t me
;} fra
;
8185 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8186 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8188 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___name
;
8189 fra
.me
.has_broke
= 0;
8190 fra
.me
.REG_size
= 1;
8191 fra
.me
.REG
[0] = NIT_NULL
;
8193 /* ./syntax//mmbuilder.nit:1110 */
8194 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethPropdef____name(fra
.me
.REG
[0]);
8195 stack_frame_head
= fra
.me
.prev
;
8196 return fra
.me
.REG
[0];
8198 val_t
syntax___mmbuilder___AMethPropdef___method(val_t p0
){
8199 struct {struct stack_frame_t me
;} fra
;
8202 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8203 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8205 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___method
;
8206 fra
.me
.has_broke
= 0;
8207 fra
.me
.REG_size
= 1;
8208 fra
.me
.REG
[0] = NIT_NULL
;
8210 /* ./syntax//mmbuilder.nit:1114 */
8211 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[0]);
8212 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
8213 if (UNTAG_Bool(REGB0
)) {
8215 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1114);
8219 stack_frame_head
= fra
.me
.prev
;
8220 return fra
.me
.REG
[0];
8222 void syntax___mmbuilder___AMethPropdef___accept_property_builder(val_t p0
, val_t p1
){
8223 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
8228 static val_t once_value_1
; /* Once value */
8229 static val_t once_value_2
; /* Once value */
8230 static val_t once_value_3
; /* Once value */
8231 static val_t once_value_4
; /* Once value */
8232 static val_t once_value_5
; /* Once value */
8233 static val_t once_value_6
; /* Once value */
8234 static val_t once_value_7
; /* Once value */
8235 static val_t once_value_8
; /* Once value */
8236 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8237 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8239 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_builder
;
8240 fra
.me
.has_broke
= 0;
8241 fra
.me
.REG_size
= 5;
8242 fra
.me
.REG
[0] = NIT_NULL
;
8243 fra
.me
.REG
[1] = NIT_NULL
;
8244 fra
.me
.REG
[2] = NIT_NULL
;
8245 fra
.me
.REG
[3] = NIT_NULL
;
8246 fra
.me
.REG
[4] = NIT_NULL
;
8249 /* ./syntax//mmbuilder.nit:1116 */
8250 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8251 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8252 /* ./syntax//mmbuilder.nit:1118 */
8253 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8254 /* ./syntax//mmbuilder.nit:1120 */
8255 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8256 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8257 if (UNTAG_Bool(REGB0
)) {
8259 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8260 if (UNTAG_Bool(REGB1
)) {
8261 REGB1
= TAG_Bool(false);
8264 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8268 if (UNTAG_Bool(REGB0
)) {
8269 /* ./syntax//mmbuilder.nit:1121 */
8270 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_parser___parser_nodes___AInitPropdef
, ID_parser___parser_nodes___AInitPropdef
)) /*cast AInitPropdef*/;
8271 if (UNTAG_Bool(REGB0
)) {
8272 /* ./syntax//mmbuilder.nit:1122 */
8273 if (!once_value_1
) {
8274 if (!once_value_2
) {
8275 fra
.me
.REG
[1] = BOX_NativeString("init");
8277 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
8278 once_value_2
= fra
.me
.REG
[1];
8279 register_static_object(&once_value_2
);
8280 } else fra
.me
.REG
[1] = once_value_2
;
8281 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8282 fra
.me
.REG
[1] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8283 once_value_1
= fra
.me
.REG
[1];
8284 register_static_object(&once_value_1
);
8285 } else fra
.me
.REG
[1] = once_value_1
;
8286 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8288 /* ./syntax//mmbuilder.nit:1124 */
8289 if (!once_value_3
) {
8290 if (!once_value_4
) {
8291 fra
.me
.REG
[0] = BOX_NativeString("main");
8293 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
8294 once_value_4
= fra
.me
.REG
[0];
8295 register_static_object(&once_value_4
);
8296 } else fra
.me
.REG
[0] = once_value_4
;
8297 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8298 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8299 once_value_3
= fra
.me
.REG
[0];
8300 register_static_object(&once_value_3
);
8301 } else fra
.me
.REG
[0] = once_value_3
;
8302 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8303 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8306 /* ./syntax//mmbuilder.nit:1127 */
8307 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8308 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8309 if (UNTAG_Bool(REGB0
)) {
8310 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1127);
8312 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AMethid___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8313 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
8314 if (UNTAG_Bool(REGB0
)) {
8316 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1127);
8318 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8319 /* ./syntax//mmbuilder.nit:1129 */
8320 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8321 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8322 if (UNTAG_Bool(REGB0
)) {
8323 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1129);
8325 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AMethid___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8326 if (!once_value_5
) {
8327 if (!once_value_6
) {
8328 fra
.me
.REG
[4] = BOX_NativeString("-");
8330 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8331 once_value_6
= fra
.me
.REG
[4];
8332 register_static_object(&once_value_6
);
8333 } else fra
.me
.REG
[4] = once_value_6
;
8334 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8335 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8336 once_value_5
= fra
.me
.REG
[4];
8337 register_static_object(&once_value_5
);
8338 } else fra
.me
.REG
[4] = once_value_5
;
8339 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8340 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[4],fra
.me
.REG
[0]));
8341 if (UNTAG_Bool(REGB0
)) {
8343 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8344 if (UNTAG_Bool(REGB1
)) {
8345 REGB1
= TAG_Bool(false);
8348 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
8352 if (UNTAG_Bool(REGB0
)) {
8353 /* ./syntax//mmbuilder.nit:1130 */
8354 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8355 /* ./syntax//mmbuilder.nit:1131 */
8356 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8357 if (UNTAG_Bool(REGB0
)) {
8359 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8360 if (UNTAG_Bool(REGB1
)) {
8361 REGB1
= TAG_Bool(false);
8364 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8368 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8369 if (UNTAG_Bool(REGB0
)) {
8370 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8371 if (UNTAG_Bool(REGB0
)) {
8372 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1131);
8374 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8375 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8377 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
8378 if (UNTAG_Bool(REGB2
)) {
8380 /* ./../lib/standard//kernel.nit:210 */
8381 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
8382 /* ./syntax//mmbuilder.nit:1131 */
8386 REGB1
= TAG_Bool(false);
8389 if (UNTAG_Bool(REGB2
)) {
8390 /* ./syntax//mmbuilder.nit:1132 */
8391 if (!once_value_7
) {
8392 if (!once_value_8
) {
8393 fra
.me
.REG
[4] = BOX_NativeString("unary -");
8395 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
8396 once_value_8
= fra
.me
.REG
[4];
8397 register_static_object(&once_value_8
);
8398 } else fra
.me
.REG
[4] = once_value_8
;
8399 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8400 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8401 once_value_7
= fra
.me
.REG
[4];
8402 register_static_object(&once_value_7
);
8403 } else fra
.me
.REG
[4] = once_value_7
;
8404 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8405 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8409 /* ./syntax//mmbuilder.nit:1136 */
8410 ATTR_syntax___mmbuilder___AMethPropdef____name(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
8411 /* ./syntax//mmbuilder.nit:1137 */
8412 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8413 fra
.me
.REG
[4] = NEW_MMMethSrcMethod_syntax___syntax_base___MMMethSrcMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8414 /* ./syntax//mmbuilder.nit:1138 */
8415 ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]) = fra
.me
.REG
[4];
8416 /* ./syntax//mmbuilder.nit:1139 */
8417 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8418 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8419 stack_frame_head
= fra
.me
.prev
;
8422 void syntax___mmbuilder___AMethPropdef___accept_property_verifier(val_t p0
, val_t p1
){
8423 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
8428 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8429 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8431 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_verifier
;
8432 fra
.me
.has_broke
= 0;
8433 fra
.me
.REG_size
= 5;
8434 fra
.me
.REG
[0] = NIT_NULL
;
8435 fra
.me
.REG
[1] = NIT_NULL
;
8436 fra
.me
.REG
[2] = NIT_NULL
;
8437 fra
.me
.REG
[3] = NIT_NULL
;
8438 fra
.me
.REG
[4] = NIT_NULL
;
8441 /* ./syntax//mmbuilder.nit:1142 */
8442 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8443 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8444 /* ./syntax//mmbuilder.nit:1144 */
8445 fra
.me
.REG
[4] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
8446 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
8447 /* ./syntax//mmbuilder.nit:1145 */
8448 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8449 /* ./syntax//mmbuilder.nit:1147 */
8450 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8451 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8452 if (UNTAG_Bool(REGB0
)) {
8455 /* ./syntax//mmbuilder.nit:1149 */
8456 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8457 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8458 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8459 if (UNTAG_Bool(REGB0
)) {
8461 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8462 if (UNTAG_Bool(REGB1
)) {
8463 REGB1
= TAG_Bool(false);
8466 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8470 if (UNTAG_Bool(REGB0
)) {
8472 /* ./syntax//mmbuilder.nit:1152 */
8473 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8474 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8475 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8476 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
8477 if (UNTAG_Bool(REGB0
)) {
8479 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1152);
8481 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
8483 /* ./syntax//mmbuilder.nit:1154 */
8485 /* ./syntax//mmbuilder.nit:1155 */
8486 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8487 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8488 if (UNTAG_Bool(REGB1
)) {
8490 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8491 if (UNTAG_Bool(REGB2
)) {
8492 REGB2
= TAG_Bool(false);
8495 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8499 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8500 if (UNTAG_Bool(REGB1
)) {
8501 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8502 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8503 if (UNTAG_Bool(REGB1
)) {
8504 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1155);
8506 REGB1
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8508 /* ./../lib/standard//kernel.nit:217 */
8509 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
8511 /* ./syntax//mmbuilder.nit:1155 */
8512 REGB1
= TAG_Bool(false);
8515 if (UNTAG_Bool(REGB2
)) {
8516 /* ./syntax//mmbuilder.nit:1156 */
8517 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8518 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8519 if (UNTAG_Bool(REGB2
)) {
8520 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1156);
8522 REGB2
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8525 /* ./syntax//mmbuilder.nit:1158 */
8526 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8527 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AMethPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8528 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8529 if (UNTAG_Bool(REGB2
)) {
8531 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8532 if (UNTAG_Bool(REGB1
)) {
8533 REGB1
= TAG_Bool(false);
8536 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8540 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
8541 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB2
, REGB0
);
8542 /* ./syntax//mmbuilder.nit:1159 */
8543 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8544 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8545 if (UNTAG_Bool(REGB0
)) {
8547 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8548 if (UNTAG_Bool(REGB2
)) {
8549 REGB2
= TAG_Bool(false);
8552 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8556 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8557 if (UNTAG_Bool(REGB0
)) {
8558 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8559 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8560 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8561 if (UNTAG_Bool(REGB0
)) {
8562 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1159);
8564 CALL_syntax___mmbuilder___ASignature___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[2]);
8567 stack_frame_head
= fra
.me
.prev
;
8570 void syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
8571 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8573 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8574 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8576 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor
;
8577 fra
.me
.has_broke
= 0;
8578 fra
.me
.REG_size
= 4;
8579 fra
.me
.REG
[0] = NIT_NULL
;
8580 fra
.me
.REG
[1] = NIT_NULL
;
8581 fra
.me
.REG
[2] = NIT_NULL
;
8582 fra
.me
.REG
[3] = NIT_NULL
;
8585 /* ./syntax//mmbuilder.nit:1162 */
8586 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8587 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8588 /* ./syntax//mmbuilder.nit:1164 */
8589 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]);
8590 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
8591 /* ./syntax//mmbuilder.nit:1165 */
8592 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8593 /* ./syntax//mmbuilder.nit:1166 */
8594 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
8595 stack_frame_head
= fra
.me
.prev
;
8598 void syntax___mmbuilder___AMainMethPropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
8599 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
8603 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8604 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8606 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMainMethPropdef___process_and_check
;
8607 fra
.me
.has_broke
= 0;
8608 fra
.me
.REG_size
= 3;
8609 fra
.me
.REG
[0] = NIT_NULL
;
8610 fra
.me
.REG
[1] = NIT_NULL
;
8611 fra
.me
.REG
[2] = NIT_NULL
;
8617 /* ./syntax//mmbuilder.nit:1173 */
8618 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8619 CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
8620 /* ./syntax//mmbuilder.nit:1174 */
8621 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
8622 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8623 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8624 fra
.me
.REG
[1] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[1]);
8625 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
8626 stack_frame_head
= fra
.me
.prev
;
8629 void syntax___mmbuilder___AExternPropdef___accept_property_verifier(val_t p0
, val_t p1
){
8630 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
8635 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8636 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8638 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExternPropdef___accept_property_verifier
;
8639 fra
.me
.has_broke
= 0;
8640 fra
.me
.REG_size
= 3;
8641 fra
.me
.REG
[0] = NIT_NULL
;
8642 fra
.me
.REG
[1] = NIT_NULL
;
8643 fra
.me
.REG
[2] = NIT_NULL
;
8646 /* ./syntax//mmbuilder.nit:1180 */
8647 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8648 /* ./syntax//mmbuilder.nit:1182 */
8649 CALL_SUPER_syntax___mmbuilder___AExternPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8650 /* ./syntax//mmbuilder.nit:1184 */
8651 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8652 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8653 if (UNTAG_Bool(REGB0
)) {
8655 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8656 if (UNTAG_Bool(REGB1
)) {
8657 REGB1
= TAG_Bool(false);
8660 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8664 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8665 if (UNTAG_Bool(REGB0
)) {
8666 /* ./syntax//mmbuilder.nit:1185 */
8667 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8668 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8669 if (UNTAG_Bool(REGB0
)) {
8670 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1185);
8672 fra
.me
.REG
[1] = CALL_parser___lexer___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8673 /* ./syntax//mmbuilder.nit:1186 */
8675 /* ./../lib/standard//collection//array.nit:23 */
8676 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
8677 if (UNTAG_Bool(REGB1
)) {
8679 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
8681 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
8682 /* ./syntax//mmbuilder.nit:1186 */
8684 /* ./../lib/standard//kernel.nit:220 */
8685 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
8686 /* ./syntax//mmbuilder.nit:1186 */
8687 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB2
);
8688 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8690 /* ./syntax//mmbuilder.nit:1188 */
8691 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8692 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___MMMethod___default_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8693 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8695 /* ./syntax//mmbuilder.nit:1190 */
8696 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8697 CALL_syntax___syntax_base___MMMethSrcMethod___extern_name__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
8698 stack_frame_head
= fra
.me
.prev
;
8701 val_t
syntax___mmbuilder___MMMethod___default_extern_name(val_t p0
){
8702 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
8705 static val_t once_value_1
; /* Once value */
8706 static val_t once_value_2
; /* Once value */
8707 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8708 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8710 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMMethod___default_extern_name
;
8711 fra
.me
.has_broke
= 0;
8712 fra
.me
.REG_size
= 3;
8713 fra
.me
.REG
[0] = NIT_NULL
;
8714 fra
.me
.REG
[1] = NIT_NULL
;
8715 fra
.me
.REG
[2] = NIT_NULL
;
8717 /* ./syntax//mmbuilder.nit:1197 */
8719 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
8720 if (!once_value_1
) {
8721 fra
.me
.REG
[2] = BOX_NativeString("");
8723 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
8724 once_value_1
= fra
.me
.REG
[2];
8725 register_static_object(&once_value_1
);
8726 } else fra
.me
.REG
[2] = once_value_1
;
8727 fra
.me
.REG
[2] = fra
.me
.REG
[2];
8728 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
8729 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8730 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___MMMethod___friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
8731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
8732 if (!once_value_2
) {
8733 fra
.me
.REG
[2] = BOX_NativeString("___impl");
8735 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
8736 once_value_2
= fra
.me
.REG
[2];
8737 register_static_object(&once_value_2
);
8738 } else fra
.me
.REG
[2] = once_value_2
;
8739 fra
.me
.REG
[2] = fra
.me
.REG
[2];
8740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
8741 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8744 stack_frame_head
= fra
.me
.prev
;
8745 return fra
.me
.REG
[1];
8747 val_t
syntax___mmbuilder___MMMethod___friendly_extern_name(val_t p0
, val_t p1
){
8748 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
8753 static val_t once_value_1
; /* Once value */
8754 static val_t once_value_2
; /* Once value */
8755 static val_t once_value_3
; /* Once value */
8756 static val_t once_value_4
; /* Once value */
8757 static val_t once_value_5
; /* Once value */
8758 static val_t once_value_6
; /* Once value */
8759 static val_t once_value_7
; /* Once value */
8760 static val_t once_value_8
; /* Once value */
8761 static val_t once_value_9
; /* Once value */
8762 static val_t once_value_10
; /* Once value */
8763 static val_t once_value_11
; /* Once value */
8764 static val_t once_value_12
; /* Once value */
8765 static val_t once_value_13
; /* Once value */
8766 static val_t once_value_14
; /* Once value */
8767 static val_t once_value_15
; /* Once value */
8768 static val_t once_value_16
; /* Once value */
8769 static val_t once_value_17
; /* Once value */
8770 static val_t once_value_18
; /* Once value */
8771 static val_t once_value_19
; /* Once value */
8772 static val_t once_value_20
; /* Once value */
8773 static val_t once_value_21
; /* Once value */
8774 static val_t once_value_22
; /* Once value */
8775 static val_t once_value_23
; /* Once value */
8776 static val_t once_value_24
; /* Once value */
8777 static val_t once_value_25
; /* Once value */
8778 static val_t once_value_26
; /* Once value */
8779 static val_t once_value_27
; /* Once value */
8780 static val_t once_value_28
; /* Once value */
8781 static val_t once_value_29
; /* Once value */
8782 static val_t once_value_30
; /* Once value */
8783 static val_t once_value_31
; /* Once value */
8784 static val_t once_value_32
; /* Once value */
8785 static val_t once_value_33
; /* Once value */
8786 static val_t once_value_34
; /* Once value */
8787 static val_t once_value_35
; /* Once value */
8788 static val_t once_value_36
; /* Once value */
8789 static val_t once_value_37
; /* Once value */
8790 static val_t once_value_39
; /* Once value */
8791 static val_t once_value_40
; /* Once value */
8792 static val_t once_value_41
; /* Once value */
8793 static val_t once_value_42
; /* Once value */
8794 static val_t once_value_43
; /* Once value */
8795 static val_t once_value_44
; /* Once value */
8796 static val_t once_value_45
; /* Once value */
8797 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8798 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8800 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMMethod___friendly_extern_name
;
8801 fra
.me
.has_broke
= 0;
8802 fra
.me
.REG_size
= 6;
8803 fra
.me
.REG
[0] = NIT_NULL
;
8804 fra
.me
.REG
[1] = NIT_NULL
;
8805 fra
.me
.REG
[2] = NIT_NULL
;
8806 fra
.me
.REG
[3] = NIT_NULL
;
8807 fra
.me
.REG
[4] = NIT_NULL
;
8808 fra
.me
.REG
[5] = NIT_NULL
;
8811 /* ./syntax//mmbuilder.nit:1204 */
8812 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8813 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8814 if (UNTAG_Bool(REGB0
)) {
8815 /* ./syntax//mmbuilder.nit:1206 */
8816 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8817 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8818 /* ./syntax//mmbuilder.nit:1207 */
8819 if (!once_value_1
) {
8820 fra
.me
.REG
[3] = BOX_NativeString("+");
8822 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
8823 once_value_1
= fra
.me
.REG
[3];
8824 register_static_object(&once_value_1
);
8825 } else fra
.me
.REG
[3] = once_value_1
;
8826 fra
.me
.REG
[3] = fra
.me
.REG
[3];
8827 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
8828 if (UNTAG_Bool(REGB0
)) {
8830 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
8833 if (UNTAG_Bool(REGB0
)) {
8834 /* ./syntax//mmbuilder.nit:1208 */
8835 if (!once_value_2
) {
8836 fra
.me
.REG
[3] = BOX_NativeString("_plus");
8838 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
8839 once_value_2
= fra
.me
.REG
[3];
8840 register_static_object(&once_value_2
);
8841 } else fra
.me
.REG
[3] = once_value_2
;
8842 fra
.me
.REG
[3] = fra
.me
.REG
[3];
8844 /* ./syntax//mmbuilder.nit:1209 */
8845 if (!once_value_3
) {
8846 fra
.me
.REG
[4] = BOX_NativeString("-");
8848 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8849 once_value_3
= fra
.me
.REG
[4];
8850 register_static_object(&once_value_3
);
8851 } else fra
.me
.REG
[4] = once_value_3
;
8852 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8853 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
8854 if (UNTAG_Bool(REGB0
)) {
8856 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
8859 if (UNTAG_Bool(REGB0
)) {
8860 /* ./syntax//mmbuilder.nit:1210 */
8861 if (!once_value_4
) {
8862 fra
.me
.REG
[4] = BOX_NativeString("_minus");
8864 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8865 once_value_4
= fra
.me
.REG
[4];
8866 register_static_object(&once_value_4
);
8867 } else fra
.me
.REG
[4] = once_value_4
;
8868 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8869 fra
.me
.REG
[3] = fra
.me
.REG
[4];
8871 /* ./syntax//mmbuilder.nit:1211 */
8872 if (!once_value_5
) {
8873 fra
.me
.REG
[4] = BOX_NativeString("*");
8875 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8876 once_value_5
= fra
.me
.REG
[4];
8877 register_static_object(&once_value_5
);
8878 } else fra
.me
.REG
[4] = once_value_5
;
8879 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8880 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
8881 if (UNTAG_Bool(REGB0
)) {
8883 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
8886 if (UNTAG_Bool(REGB0
)) {
8887 /* ./syntax//mmbuilder.nit:1212 */
8888 if (!once_value_6
) {
8889 fra
.me
.REG
[4] = BOX_NativeString("_star");
8891 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8892 once_value_6
= fra
.me
.REG
[4];
8893 register_static_object(&once_value_6
);
8894 } else fra
.me
.REG
[4] = once_value_6
;
8895 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8896 fra
.me
.REG
[3] = fra
.me
.REG
[4];
8898 /* ./syntax//mmbuilder.nit:1213 */
8899 if (!once_value_7
) {
8900 fra
.me
.REG
[4] = BOX_NativeString("/");
8902 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8903 once_value_7
= fra
.me
.REG
[4];
8904 register_static_object(&once_value_7
);
8905 } else fra
.me
.REG
[4] = once_value_7
;
8906 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8907 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
8908 if (UNTAG_Bool(REGB0
)) {
8910 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
8913 if (UNTAG_Bool(REGB0
)) {
8914 /* ./syntax//mmbuilder.nit:1214 */
8915 if (!once_value_8
) {
8916 fra
.me
.REG
[4] = BOX_NativeString("_slash");
8918 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8919 once_value_8
= fra
.me
.REG
[4];
8920 register_static_object(&once_value_8
);
8921 } else fra
.me
.REG
[4] = once_value_8
;
8922 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8923 fra
.me
.REG
[3] = fra
.me
.REG
[4];
8925 /* ./syntax//mmbuilder.nit:1215 */
8926 if (!once_value_9
) {
8927 fra
.me
.REG
[4] = BOX_NativeString("%");
8929 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8930 once_value_9
= fra
.me
.REG
[4];
8931 register_static_object(&once_value_9
);
8932 } else fra
.me
.REG
[4] = once_value_9
;
8933 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8934 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
8935 if (UNTAG_Bool(REGB0
)) {
8937 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
8940 if (UNTAG_Bool(REGB0
)) {
8941 /* ./syntax//mmbuilder.nit:1216 */
8942 if (!once_value_10
) {
8943 fra
.me
.REG
[4] = BOX_NativeString("_percent");
8945 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8946 once_value_10
= fra
.me
.REG
[4];
8947 register_static_object(&once_value_10
);
8948 } else fra
.me
.REG
[4] = once_value_10
;
8949 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8950 fra
.me
.REG
[3] = fra
.me
.REG
[4];
8952 /* ./syntax//mmbuilder.nit:1217 */
8953 if (!once_value_11
) {
8954 fra
.me
.REG
[4] = BOX_NativeString("[]");
8956 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8957 once_value_11
= fra
.me
.REG
[4];
8958 register_static_object(&once_value_11
);
8959 } else fra
.me
.REG
[4] = once_value_11
;
8960 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8961 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
8962 if (UNTAG_Bool(REGB0
)) {
8964 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
8967 if (UNTAG_Bool(REGB0
)) {
8968 /* ./syntax//mmbuilder.nit:1218 */
8969 if (!once_value_12
) {
8970 fra
.me
.REG
[4] = BOX_NativeString("_index");
8972 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8973 once_value_12
= fra
.me
.REG
[4];
8974 register_static_object(&once_value_12
);
8975 } else fra
.me
.REG
[4] = once_value_12
;
8976 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8977 fra
.me
.REG
[3] = fra
.me
.REG
[4];
8979 /* ./syntax//mmbuilder.nit:1219 */
8980 if (!once_value_13
) {
8981 fra
.me
.REG
[4] = BOX_NativeString("[]=");
8983 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
8984 once_value_13
= fra
.me
.REG
[4];
8985 register_static_object(&once_value_13
);
8986 } else fra
.me
.REG
[4] = once_value_13
;
8987 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8988 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
8989 if (UNTAG_Bool(REGB0
)) {
8991 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
8994 if (UNTAG_Bool(REGB0
)) {
8995 /* ./syntax//mmbuilder.nit:1220 */
8996 if (!once_value_14
) {
8997 fra
.me
.REG
[4] = BOX_NativeString("_index_assign");
8998 REGB0
= TAG_Int(13);
8999 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9000 once_value_14
= fra
.me
.REG
[4];
9001 register_static_object(&once_value_14
);
9002 } else fra
.me
.REG
[4] = once_value_14
;
9003 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9004 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9006 /* ./syntax//mmbuilder.nit:1221 */
9007 if (!once_value_15
) {
9008 fra
.me
.REG
[4] = BOX_NativeString("==");
9010 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9011 once_value_15
= fra
.me
.REG
[4];
9012 register_static_object(&once_value_15
);
9013 } else fra
.me
.REG
[4] = once_value_15
;
9014 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9015 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
9016 if (UNTAG_Bool(REGB0
)) {
9018 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9021 if (UNTAG_Bool(REGB0
)) {
9022 /* ./syntax//mmbuilder.nit:1222 */
9023 if (!once_value_16
) {
9024 fra
.me
.REG
[4] = BOX_NativeString("_equal");
9026 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9027 once_value_16
= fra
.me
.REG
[4];
9028 register_static_object(&once_value_16
);
9029 } else fra
.me
.REG
[4] = once_value_16
;
9030 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9031 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9033 /* ./syntax//mmbuilder.nit:1223 */
9034 if (!once_value_17
) {
9035 fra
.me
.REG
[4] = BOX_NativeString("<");
9037 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9038 once_value_17
= fra
.me
.REG
[4];
9039 register_static_object(&once_value_17
);
9040 } else fra
.me
.REG
[4] = once_value_17
;
9041 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9042 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
9043 if (UNTAG_Bool(REGB0
)) {
9045 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9048 if (UNTAG_Bool(REGB0
)) {
9049 /* ./syntax//mmbuilder.nit:1224 */
9050 if (!once_value_18
) {
9051 fra
.me
.REG
[4] = BOX_NativeString("_less");
9053 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9054 once_value_18
= fra
.me
.REG
[4];
9055 register_static_object(&once_value_18
);
9056 } else fra
.me
.REG
[4] = once_value_18
;
9057 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9058 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9060 /* ./syntax//mmbuilder.nit:1225 */
9061 if (!once_value_19
) {
9062 fra
.me
.REG
[4] = BOX_NativeString(">");
9064 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9065 once_value_19
= fra
.me
.REG
[4];
9066 register_static_object(&once_value_19
);
9067 } else fra
.me
.REG
[4] = once_value_19
;
9068 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9069 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
9070 if (UNTAG_Bool(REGB0
)) {
9072 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9075 if (UNTAG_Bool(REGB0
)) {
9076 /* ./syntax//mmbuilder.nit:1226 */
9077 if (!once_value_20
) {
9078 fra
.me
.REG
[4] = BOX_NativeString("_greater");
9080 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9081 once_value_20
= fra
.me
.REG
[4];
9082 register_static_object(&once_value_20
);
9083 } else fra
.me
.REG
[4] = once_value_20
;
9084 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9085 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9087 /* ./syntax//mmbuilder.nit:1227 */
9088 if (!once_value_21
) {
9089 fra
.me
.REG
[4] = BOX_NativeString("<=");
9091 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9092 once_value_21
= fra
.me
.REG
[4];
9093 register_static_object(&once_value_21
);
9094 } else fra
.me
.REG
[4] = once_value_21
;
9095 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9096 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
9097 if (UNTAG_Bool(REGB0
)) {
9099 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9102 if (UNTAG_Bool(REGB0
)) {
9103 /* ./syntax//mmbuilder.nit:1228 */
9104 if (!once_value_22
) {
9105 fra
.me
.REG
[4] = BOX_NativeString("_less_or_equal");
9106 REGB0
= TAG_Int(14);
9107 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9108 once_value_22
= fra
.me
.REG
[4];
9109 register_static_object(&once_value_22
);
9110 } else fra
.me
.REG
[4] = once_value_22
;
9111 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9112 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9114 /* ./syntax//mmbuilder.nit:1229 */
9115 if (!once_value_23
) {
9116 fra
.me
.REG
[4] = BOX_NativeString(">=");
9118 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9119 once_value_23
= fra
.me
.REG
[4];
9120 register_static_object(&once_value_23
);
9121 } else fra
.me
.REG
[4] = once_value_23
;
9122 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9123 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
9124 if (UNTAG_Bool(REGB0
)) {
9126 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9129 if (UNTAG_Bool(REGB0
)) {
9130 /* ./syntax//mmbuilder.nit:1230 */
9131 if (!once_value_24
) {
9132 fra
.me
.REG
[4] = BOX_NativeString("_ge");
9134 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9135 once_value_24
= fra
.me
.REG
[4];
9136 register_static_object(&once_value_24
);
9137 } else fra
.me
.REG
[4] = once_value_24
;
9138 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9139 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9141 /* ./syntax//mmbuilder.nit:1231 */
9142 if (!once_value_25
) {
9143 fra
.me
.REG
[4] = BOX_NativeString("!=");
9145 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9146 once_value_25
= fra
.me
.REG
[4];
9147 register_static_object(&once_value_25
);
9148 } else fra
.me
.REG
[4] = once_value_25
;
9149 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9150 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
9151 if (UNTAG_Bool(REGB0
)) {
9153 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9156 if (UNTAG_Bool(REGB0
)) {
9157 /* ./syntax//mmbuilder.nit:1232 */
9158 if (!once_value_26
) {
9159 fra
.me
.REG
[4] = BOX_NativeString("_not_equal");
9160 REGB0
= TAG_Int(10);
9161 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9162 once_value_26
= fra
.me
.REG
[4];
9163 register_static_object(&once_value_26
);
9164 } else fra
.me
.REG
[4] = once_value_26
;
9165 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9166 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9168 /* ./syntax//mmbuilder.nit:1233 */
9169 if (!once_value_27
) {
9170 fra
.me
.REG
[4] = BOX_NativeString(">>");
9172 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9173 once_value_27
= fra
.me
.REG
[4];
9174 register_static_object(&once_value_27
);
9175 } else fra
.me
.REG
[4] = once_value_27
;
9176 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9177 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
9178 if (UNTAG_Bool(REGB0
)) {
9180 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9183 if (UNTAG_Bool(REGB0
)) {
9184 /* ./syntax//mmbuilder.nit:1234 */
9185 if (!once_value_28
) {
9186 fra
.me
.REG
[4] = BOX_NativeString("_right");
9188 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9189 once_value_28
= fra
.me
.REG
[4];
9190 register_static_object(&once_value_28
);
9191 } else fra
.me
.REG
[4] = once_value_28
;
9192 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9193 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9195 /* ./syntax//mmbuilder.nit:1235 */
9196 if (!once_value_29
) {
9197 fra
.me
.REG
[4] = BOX_NativeString("<<");
9199 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9200 once_value_29
= fra
.me
.REG
[4];
9201 register_static_object(&once_value_29
);
9202 } else fra
.me
.REG
[4] = once_value_29
;
9203 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9204 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
9205 if (UNTAG_Bool(REGB0
)) {
9207 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9210 if (UNTAG_Bool(REGB0
)) {
9211 /* ./syntax//mmbuilder.nit:1236 */
9212 if (!once_value_30
) {
9213 fra
.me
.REG
[4] = BOX_NativeString("_left");
9215 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9216 once_value_30
= fra
.me
.REG
[4];
9217 register_static_object(&once_value_30
);
9218 } else fra
.me
.REG
[4] = once_value_30
;
9219 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9220 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9222 /* ./syntax//mmbuilder.nit:1237 */
9223 if (!once_value_31
) {
9224 fra
.me
.REG
[4] = BOX_NativeString("<=>");
9226 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9227 once_value_31
= fra
.me
.REG
[4];
9228 register_static_object(&once_value_31
);
9229 } else fra
.me
.REG
[4] = once_value_31
;
9230 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9231 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
9232 if (UNTAG_Bool(REGB0
)) {
9234 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9237 if (UNTAG_Bool(REGB0
)) {
9238 /* ./syntax//mmbuilder.nit:1238 */
9239 if (!once_value_32
) {
9240 fra
.me
.REG
[4] = BOX_NativeString("_starship");
9242 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
9243 once_value_32
= fra
.me
.REG
[4];
9244 register_static_object(&once_value_32
);
9245 } else fra
.me
.REG
[4] = once_value_32
;
9246 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9247 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9249 /* ./../lib/standard//collection//array.nit:23 */
9250 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
9251 if (UNTAG_Bool(REGB0
)) {
9253 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
9255 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
9256 /* ./syntax//mmbuilder.nit:1239 */
9258 /* ./../lib/standard//kernel.nit:220 */
9259 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
9260 /* ./syntax//mmbuilder.nit:1239 */
9261 REGB1
= CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
9262 REGB0
= TAG_Char('=');
9263 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
9264 if (UNTAG_Bool(REGB2
)) {
9266 /* ./../lib/standard//kernel.nit:350 */
9267 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
9268 /* ./syntax//mmbuilder.nit:1239 */
9271 if (UNTAG_Bool(REGB2
)) {
9272 /* ./syntax//mmbuilder.nit:1240 */
9274 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
9275 if (!once_value_33
) {
9276 fra
.me
.REG
[5] = BOX_NativeString("");
9278 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
9279 once_value_33
= fra
.me
.REG
[5];
9280 register_static_object(&once_value_33
);
9281 } else fra
.me
.REG
[5] = once_value_33
;
9282 fra
.me
.REG
[5] = fra
.me
.REG
[5];
9283 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
9285 /* ./../lib/standard//collection//array.nit:23 */
9286 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
9287 if (UNTAG_Bool(REGB0
)) {
9289 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
9291 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
9292 /* ./syntax//mmbuilder.nit:1240 */
9294 /* ./../lib/standard//kernel.nit:220 */
9295 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
9296 /* ./syntax//mmbuilder.nit:1240 */
9297 fra
.me
.REG
[5] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB1
);
9298 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
9299 if (!once_value_34
) {
9300 fra
.me
.REG
[5] = BOX_NativeString("__assign");
9302 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
9303 once_value_34
= fra
.me
.REG
[5];
9304 register_static_object(&once_value_34
);
9305 } else fra
.me
.REG
[5] = once_value_34
;
9306 fra
.me
.REG
[5] = fra
.me
.REG
[5];
9307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
9308 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9309 fra
.me
.REG
[3] = fra
.me
.REG
[4];
9311 /* ./syntax//mmbuilder.nit:1242 */
9312 fra
.me
.REG
[3] = fra
.me
.REG
[2];
9330 /* ./syntax//mmbuilder.nit:1245 */
9332 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9333 if (!once_value_35
) {
9334 fra
.me
.REG
[4] = BOX_NativeString("");
9336 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
9337 once_value_35
= fra
.me
.REG
[4];
9338 register_static_object(&once_value_35
);
9339 } else fra
.me
.REG
[4] = once_value_35
;
9340 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9342 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9343 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9344 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9345 if (!once_value_36
) {
9346 fra
.me
.REG
[4] = BOX_NativeString("_");
9348 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
9349 once_value_36
= fra
.me
.REG
[4];
9350 register_static_object(&once_value_36
);
9351 } else fra
.me
.REG
[4] = once_value_36
;
9352 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9353 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
9354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9355 if (!once_value_37
) {
9356 fra
.me
.REG
[3] = BOX_NativeString("");
9358 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
9359 once_value_37
= fra
.me
.REG
[3];
9360 register_static_object(&once_value_37
);
9361 } else fra
.me
.REG
[3] = once_value_37
;
9362 fra
.me
.REG
[3] = fra
.me
.REG
[3];
9363 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9364 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9367 /* ./syntax//mmbuilder.nit:1247 */
9368 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9369 if (!once_value_39
) {
9370 if (!once_value_40
) {
9371 fra
.me
.REG
[4] = BOX_NativeString("init");
9373 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
9374 once_value_40
= fra
.me
.REG
[4];
9375 register_static_object(&once_value_40
);
9376 } else fra
.me
.REG
[4] = once_value_40
;
9377 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9378 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9379 once_value_39
= fra
.me
.REG
[4];
9380 register_static_object(&once_value_39
);
9381 } else fra
.me
.REG
[4] = once_value_39
;
9382 fra
.me
.REG
[4] = fra
.me
.REG
[4];
9383 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
9384 if (UNTAG_Bool(REGB1
)) {
9386 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
9389 if (UNTAG_Bool(REGB1
)) {
9390 /* ./syntax//mmbuilder.nit:1248 */
9392 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9393 if (!once_value_41
) {
9394 fra
.me
.REG
[3] = BOX_NativeString("new_");
9396 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
9397 once_value_41
= fra
.me
.REG
[3];
9398 register_static_object(&once_value_41
);
9399 } else fra
.me
.REG
[3] = once_value_41
;
9400 fra
.me
.REG
[3] = fra
.me
.REG
[3];
9401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9402 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9403 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9405 if (!once_value_42
) {
9406 fra
.me
.REG
[3] = BOX_NativeString("");
9408 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
9409 once_value_42
= fra
.me
.REG
[3];
9410 register_static_object(&once_value_42
);
9411 } else fra
.me
.REG
[3] = once_value_42
;
9412 fra
.me
.REG
[3] = fra
.me
.REG
[3];
9413 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9414 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9415 fra
.me
.REG
[2] = fra
.me
.REG
[4];
9418 /* ./syntax//mmbuilder.nit:1250 */
9420 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
9421 if (!once_value_43
) {
9422 fra
.me
.REG
[3] = BOX_NativeString("new_");
9424 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
9425 once_value_43
= fra
.me
.REG
[3];
9426 register_static_object(&once_value_43
);
9427 } else fra
.me
.REG
[3] = once_value_43
;
9428 fra
.me
.REG
[3] = fra
.me
.REG
[3];
9429 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9430 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9431 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
9433 if (!once_value_44
) {
9434 fra
.me
.REG
[1] = BOX_NativeString("_");
9436 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
9437 once_value_44
= fra
.me
.REG
[1];
9438 register_static_object(&once_value_44
);
9439 } else fra
.me
.REG
[1] = once_value_44
;
9440 fra
.me
.REG
[1] = fra
.me
.REG
[1];
9441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
9442 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9443 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9444 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
9445 if (!once_value_45
) {
9446 fra
.me
.REG
[0] = BOX_NativeString("");
9448 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
9449 once_value_45
= fra
.me
.REG
[0];
9450 register_static_object(&once_value_45
);
9451 } else fra
.me
.REG
[0] = once_value_45
;
9452 fra
.me
.REG
[0] = fra
.me
.REG
[0];
9453 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
9454 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9455 fra
.me
.REG
[2] = fra
.me
.REG
[4];
9460 stack_frame_head
= fra
.me
.prev
;
9461 return fra
.me
.REG
[2];
9463 val_t
syntax___mmbuilder___ATypePropdef___prop(val_t p0
){
9464 struct {struct stack_frame_t me
;} fra
;
9467 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9468 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9470 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___prop
;
9471 fra
.me
.has_broke
= 0;
9472 fra
.me
.REG_size
= 1;
9473 fra
.me
.REG
[0] = NIT_NULL
;
9475 /* ./syntax//mmbuilder.nit:1257 */
9476 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[0]);
9477 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
9478 if (UNTAG_Bool(REGB0
)) {
9480 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1257);
9484 stack_frame_head
= fra
.me
.prev
;
9485 return fra
.me
.REG
[0];
9487 void syntax___mmbuilder___ATypePropdef___accept_property_builder(val_t p0
, val_t p1
){
9488 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9490 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9491 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9493 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_builder
;
9494 fra
.me
.has_broke
= 0;
9495 fra
.me
.REG_size
= 4;
9496 fra
.me
.REG
[0] = NIT_NULL
;
9497 fra
.me
.REG
[1] = NIT_NULL
;
9498 fra
.me
.REG
[2] = NIT_NULL
;
9499 fra
.me
.REG
[3] = NIT_NULL
;
9502 /* ./syntax//mmbuilder.nit:1260 */
9503 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9504 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9505 /* ./syntax//mmbuilder.nit:1262 */
9506 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9507 /* ./syntax//mmbuilder.nit:1263 */
9508 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ATypePropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9509 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9510 /* ./syntax//mmbuilder.nit:1264 */
9511 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9512 fra
.me
.REG
[0] = NEW_MMSrcTypeProperty_syntax___syntax_base___MMSrcTypeProperty___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
9513 /* ./syntax//mmbuilder.nit:1265 */
9514 ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
9515 /* ./syntax//mmbuilder.nit:1266 */
9516 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9517 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
9518 stack_frame_head
= fra
.me
.prev
;
9521 void syntax___mmbuilder___ATypePropdef___accept_property_verifier(val_t p0
, val_t p1
){
9522 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
9527 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9528 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9530 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_verifier
;
9531 fra
.me
.has_broke
= 0;
9532 fra
.me
.REG_size
= 5;
9533 fra
.me
.REG
[0] = NIT_NULL
;
9534 fra
.me
.REG
[1] = NIT_NULL
;
9535 fra
.me
.REG
[2] = NIT_NULL
;
9536 fra
.me
.REG
[3] = NIT_NULL
;
9537 fra
.me
.REG
[4] = NIT_NULL
;
9540 /* ./syntax//mmbuilder.nit:1269 */
9541 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9542 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9543 /* ./syntax//mmbuilder.nit:1271 */
9544 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9545 /* ./syntax//mmbuilder.nit:1272 */
9546 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
9547 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9548 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
9549 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9550 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9551 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
9552 /* ./syntax//mmbuilder.nit:1273 */
9553 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9554 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
9555 /* ./syntax//mmbuilder.nit:1274 */
9556 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ATypePropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9557 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9558 /* ./syntax//mmbuilder.nit:1275 */
9559 fra
.me
.REG
[4] = CALL_syntax___syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9560 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ATypePropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9561 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9562 if (UNTAG_Bool(REGB1
)) {
9564 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9565 if (UNTAG_Bool(REGB2
)) {
9566 REGB2
= TAG_Bool(false);
9569 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9573 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9574 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
);
9575 stack_frame_head
= fra
.me
.prev
;
9578 void syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
9579 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9581 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9582 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9584 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor
;
9585 fra
.me
.has_broke
= 0;
9586 fra
.me
.REG_size
= 4;
9587 fra
.me
.REG
[0] = NIT_NULL
;
9588 fra
.me
.REG
[1] = NIT_NULL
;
9589 fra
.me
.REG
[2] = NIT_NULL
;
9590 fra
.me
.REG
[3] = NIT_NULL
;
9593 /* ./syntax//mmbuilder.nit:1278 */
9594 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9595 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9596 /* ./syntax//mmbuilder.nit:1280 */
9597 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]);
9598 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9599 /* ./syntax//mmbuilder.nit:1281 */
9600 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9601 /* ./syntax//mmbuilder.nit:1282 */
9602 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9603 stack_frame_head
= fra
.me
.prev
;
9606 val_t
syntax___mmbuilder___MethidAccumulator___name(val_t p0
){
9607 struct {struct stack_frame_t me
;} fra
;
9610 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9611 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9613 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MethidAccumulator___name
;
9614 fra
.me
.has_broke
= 0;
9615 fra
.me
.REG_size
= 1;
9616 fra
.me
.REG
[0] = NIT_NULL
;
9618 /* ./syntax//mmbuilder.nit:1289 */
9619 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
9620 if (UNTAG_Bool(REGB0
)) {
9622 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder
, 1289);
9624 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
9625 stack_frame_head
= fra
.me
.prev
;
9626 return fra
.me
.REG
[0];
9628 void syntax___mmbuilder___MethidAccumulator___visit(val_t p0
, val_t p1
){
9629 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9632 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9633 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9635 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MethidAccumulator___visit
;
9636 fra
.me
.has_broke
= 0;
9637 fra
.me
.REG_size
= 4;
9638 fra
.me
.REG
[0] = NIT_NULL
;
9639 fra
.me
.REG
[1] = NIT_NULL
;
9640 fra
.me
.REG
[2] = NIT_NULL
;
9641 fra
.me
.REG
[3] = NIT_NULL
;
9644 /* ./syntax//mmbuilder.nit:1292 */
9645 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*/;
9646 if (UNTAG_Bool(REGB0
)) {
9647 /* ./syntax//mmbuilder.nit:1293 */
9648 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
9649 if (UNTAG_Bool(REGB0
)) {
9651 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder
, 1293);
9653 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
9654 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9655 if (UNTAG_Bool(REGB0
)) {
9656 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1293);
9658 fra
.me
.REG
[3] = CALL_parser___lexer___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9659 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9661 /* ./syntax//mmbuilder.nit:1295 */
9662 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9663 if (UNTAG_Bool(REGB0
)) {
9664 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1295);
9666 CALL_parser___parser_prod___ANode___visit_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
9668 stack_frame_head
= fra
.me
.prev
;
9671 val_t
syntax___mmbuilder___AMethid___name(val_t p0
){
9672 struct {struct stack_frame_t me
;} fra
;
9674 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9675 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9677 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethid___name
;
9678 fra
.me
.has_broke
= 0;
9679 fra
.me
.REG_size
= 1;
9680 fra
.me
.REG
[0] = NIT_NULL
;
9682 /* ./syntax//mmbuilder.nit:1301 */
9683 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethid____name(fra
.me
.REG
[0]);
9684 stack_frame_head
= fra
.me
.prev
;
9685 return fra
.me
.REG
[0];
9687 void syntax___mmbuilder___AMethid___accept_property_builder(val_t p0
, val_t p1
){
9688 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9690 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9691 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9693 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethid___accept_property_builder
;
9694 fra
.me
.has_broke
= 0;
9695 fra
.me
.REG_size
= 4;
9696 fra
.me
.REG
[0] = NIT_NULL
;
9697 fra
.me
.REG
[1] = NIT_NULL
;
9698 fra
.me
.REG
[2] = NIT_NULL
;
9699 fra
.me
.REG
[3] = NIT_NULL
;
9702 /* ./syntax//mmbuilder.nit:1303 */
9703 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9704 /* ./syntax//mmbuilder.nit:1305 */
9705 fra
.me
.REG
[3] = NEW_MethidAccumulator_parser___parser_prod___Visitor___init();
9706 /* ./syntax//mmbuilder.nit:1306 */
9707 CALL_parser___parser_prod___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9708 /* ./syntax//mmbuilder.nit:1307 */
9709 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___MethidAccumulator___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9710 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9711 fra
.me
.REG
[3] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9712 ATTR_syntax___mmbuilder___AMethid____name(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
9713 /* ./syntax//mmbuilder.nit:1308 */
9714 CALL_SUPER_syntax___mmbuilder___AMethid___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9715 stack_frame_head
= fra
.me
.prev
;
9718 void syntax___mmbuilder___ASignature___accept_property_verifier(val_t p0
, val_t p1
){
9719 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
9724 static val_t once_value_2
; /* Once value */
9725 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9726 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9728 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___accept_property_verifier
;
9729 fra
.me
.has_broke
= 0;
9730 fra
.me
.REG_size
= 7;
9731 fra
.me
.REG
[0] = NIT_NULL
;
9732 fra
.me
.REG
[1] = NIT_NULL
;
9733 fra
.me
.REG
[2] = NIT_NULL
;
9734 fra
.me
.REG
[3] = NIT_NULL
;
9735 fra
.me
.REG
[4] = NIT_NULL
;
9736 fra
.me
.REG
[5] = NIT_NULL
;
9737 fra
.me
.REG
[6] = NIT_NULL
;
9740 /* ./syntax//mmbuilder.nit:1313 */
9741 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9742 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9743 /* ./syntax//mmbuilder.nit:1315 */
9744 CALL_SUPER_syntax___mmbuilder___ASignature___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9745 /* ./syntax//mmbuilder.nit:1316 */
9746 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9747 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9748 if (UNTAG_Bool(REGB0
)) {
9749 /* ./syntax//mmbuilder.nit:1317 */
9752 /* ./syntax//mmbuilder.nit:1318 */
9753 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9754 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9755 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9756 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9757 if (UNTAG_Bool(REGB0
)) {
9758 /* ./syntax//mmbuilder.nit:1319 */
9759 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9760 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9761 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9762 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9763 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9764 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9765 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[1],fra
.me
.REG
[0]));
9766 if (UNTAG_Bool(REGB0
)) {
9768 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9769 if (UNTAG_Bool(REGB1
)) {
9770 REGB1
= TAG_Bool(false);
9773 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
9777 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9778 if (UNTAG_Bool(REGB0
)) {
9779 REGB0
= TAG_Bool(true);
9781 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9782 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9783 if (UNTAG_Bool(REGB1
)) {
9785 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9786 if (UNTAG_Bool(REGB2
)) {
9787 REGB2
= TAG_Bool(false);
9790 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9794 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9797 if (UNTAG_Bool(REGB0
)) {
9798 /* ./syntax//mmbuilder.nit:1320 */
9799 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9800 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9801 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9802 if (!once_value_2
) {
9803 fra
.me
.REG
[1] = BOX_NativeString("Syntax error: untyped parameter.");
9804 REGB0
= TAG_Int(32);
9805 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
9806 once_value_2
= fra
.me
.REG
[1];
9807 register_static_object(&once_value_2
);
9808 } else fra
.me
.REG
[1] = once_value_2
;
9809 fra
.me
.REG
[1] = fra
.me
.REG
[1];
9810 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0], fra
.me
.REG
[1]);
9811 /* ./syntax//mmbuilder.nit:1321 */
9815 /* ./syntax//mmbuilder.nit:1323 */
9816 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9817 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9818 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9819 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9820 if (UNTAG_Bool(REGB0
)) {
9821 REGB0
= TAG_Bool(true);
9823 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9824 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9825 if (UNTAG_Bool(REGB1
)) {
9827 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9828 if (UNTAG_Bool(REGB2
)) {
9829 REGB2
= TAG_Bool(false);
9832 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9836 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9839 if (UNTAG_Bool(REGB0
)) {
9840 /* ./syntax//mmbuilder.nit:1324 */
9841 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
9842 /* ./syntax//mmbuilder.nit:1325 */
9843 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9844 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9845 /* ./../lib/standard//collection//array.nit:234 */
9847 /* ./../lib/standard//collection//array.nit:235 */
9848 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
9849 if (UNTAG_Bool(REGB1
)) {
9851 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
9853 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
9854 /* ./../lib/standard//collection//array.nit:236 */
9855 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
9856 /* ./../lib/standard//collection//array.nit:237 */
9858 /* ./../lib/standard//collection//array.nit:23 */
9859 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
9860 if (UNTAG_Bool(REGB1
)) {
9862 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
9864 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
9865 /* ./../lib/standard//kernel.nit:215 */
9866 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
9867 /* ./../lib/standard//collection//array.nit:237 */
9868 if (UNTAG_Bool(REGB1
)) {
9869 /* ./../lib/standard//collection//array.nit:238 */
9870 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9871 if (UNTAG_Bool(REGB1
)) {
9872 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
9874 /* ./../lib/standard//collection//array.nit:654 */
9875 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
9876 /* ./syntax//mmbuilder.nit:1326 */
9877 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AParam___stype(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9878 REGB1
= TAG_Bool(fra
.me
.REG
[6]!=NIT_NULL
);
9879 if (UNTAG_Bool(REGB1
)) {
9881 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1326);
9883 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9884 fra
.me
.REG
[5] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9885 fra
.me
.REG
[5] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[6], fra
.me
.REG
[5]);
9886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
9887 /* ./../lib/standard//collection//array.nit:239 */
9889 /* ./../lib/standard//kernel.nit:218 */
9890 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
9891 /* ./../lib/standard//collection//array.nit:239 */
9894 /* ./../lib/standard//collection//array.nit:237 */
9899 /* ./syntax//mmbuilder.nit:1328 */
9900 fra
.me
.REG
[4] = NIT_NULL
;
9901 /* ./syntax//mmbuilder.nit:1329 */
9902 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9903 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9904 if (UNTAG_Bool(REGB0
)) {
9906 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9907 if (UNTAG_Bool(REGB1
)) {
9908 REGB1
= TAG_Bool(false);
9911 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9915 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9916 if (UNTAG_Bool(REGB0
)) {
9917 /* ./syntax//mmbuilder.nit:1330 */
9918 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9919 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
9920 if (UNTAG_Bool(REGB0
)) {
9921 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1330);
9923 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9924 fra
.me
.REG
[4] = fra
.me
.REG
[2];
9925 /* ./syntax//mmbuilder.nit:1331 */
9926 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9927 if (UNTAG_Bool(REGB0
)) {
9929 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9930 if (UNTAG_Bool(REGB1
)) {
9931 REGB1
= TAG_Bool(false);
9934 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9938 if (UNTAG_Bool(REGB0
)) {
9939 /* ./syntax//mmbuilder.nit:1332 */
9940 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9941 REGB0
= TAG_Bool(true);
9942 CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
9943 /* ./syntax//mmbuilder.nit:1333 */
9947 /* ./syntax//mmbuilder.nit:1336 */
9948 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9949 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9950 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9951 fra
.me
.REG
[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
9952 CALL_syntax___mmbuilder___SignatureBuilder___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
9953 /* ./syntax//mmbuilder.nit:1337 */
9954 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9955 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9957 /* ./../lib/standard//kernel.nit:216 */
9958 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
9959 /* ./syntax//mmbuilder.nit:1337 */
9960 if (UNTAG_Bool(REGB1
)) {
9961 /* ./syntax//mmbuilder.nit:1338 */
9962 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9963 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9964 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9965 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9966 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9967 if (UNTAG_Bool(REGB0
)) {
9968 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1338);
9970 CALL_metamodel___vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
9972 /* ./syntax//mmbuilder.nit:1340 */
9973 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9974 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9975 /* ./../lib/standard//collection//array.nit:234 */
9977 /* ./../lib/standard//collection//array.nit:235 */
9978 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
9979 if (UNTAG_Bool(REGB0
)) {
9981 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
9983 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
9984 /* ./../lib/standard//collection//array.nit:236 */
9985 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
9986 /* ./../lib/standard//collection//array.nit:237 */
9988 /* ./../lib/standard//collection//array.nit:23 */
9989 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
9990 if (UNTAG_Bool(REGB0
)) {
9992 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
9994 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
9995 /* ./../lib/standard//kernel.nit:215 */
9996 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
9997 /* ./../lib/standard//collection//array.nit:237 */
9998 if (UNTAG_Bool(REGB0
)) {
9999 /* ./../lib/standard//collection//array.nit:238 */
10000 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
10001 if (UNTAG_Bool(REGB0
)) {
10002 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
10004 /* ./../lib/standard//collection//array.nit:654 */
10005 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
10006 /* ./syntax//mmbuilder.nit:1341 */
10007 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10008 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10009 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10010 if (UNTAG_Bool(REGB0
)) {
10011 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1341);
10013 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10014 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AClosureDecl___variable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10015 fra
.me
.REG
[4] = CALL_syntax___syntax_base___ClosureVariable___closure(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
10017 /* ./../lib/standard//collection//array.nit:239 */
10018 REGB0
= TAG_Int(1);
10019 /* ./../lib/standard//kernel.nit:218 */
10020 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
10021 /* ./../lib/standard//collection//array.nit:239 */
10024 /* ./../lib/standard//collection//array.nit:237 */
10033 stack_frame_head
= fra
.me
.prev
;
10036 void syntax___mmbuilder___ASignature___check_visibility(val_t p0
, val_t p1
, val_t p2
){
10037 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
10041 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10042 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10043 fra
.me
.line
= 1346;
10044 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___check_visibility
;
10045 fra
.me
.has_broke
= 0;
10046 fra
.me
.REG_size
= 4;
10047 fra
.me
.REG
[0] = NIT_NULL
;
10048 fra
.me
.REG
[1] = NIT_NULL
;
10049 fra
.me
.REG
[2] = NIT_NULL
;
10050 fra
.me
.REG
[3] = NIT_NULL
;
10051 fra
.me
.REG
[0] = p0
;
10052 fra
.me
.REG
[1] = p1
;
10053 fra
.me
.REG
[2] = p2
;
10054 /* ./syntax//mmbuilder.nit:1349 */
10055 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10056 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10057 REGB1
= TAG_Int(3);
10058 /* ./../lib/standard//kernel.nit:216 */
10059 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
10060 /* ./syntax//mmbuilder.nit:1349 */
10061 if (UNTAG_Bool(REGB1
)) {
10064 /* ./syntax//mmbuilder.nit:1350 */
10065 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10066 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
));
10067 /* ./syntax//mmbuilder.nit:1353 */
10068 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10069 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10070 if (UNTAG_Bool(REGB1
)) {
10072 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10073 if (UNTAG_Bool(REGB0
)) {
10074 REGB0
= TAG_Bool(false);
10077 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
10081 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
10082 if (UNTAG_Bool(REGB1
)) {
10083 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10084 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10085 if (UNTAG_Bool(REGB1
)) {
10086 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1353);
10088 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
10091 stack_frame_head
= fra
.me
.prev
;
10094 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
){
10095 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10100 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10101 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10103 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___check_visibility
;
10104 fra
.me
.has_broke
= 0;
10105 fra
.me
.REG_size
= 2;
10106 fra
.me
.REG
[0] = NIT_NULL
;
10107 fra
.me
.REG
[1] = NIT_NULL
;
10108 fra
.me
.closure_ctx
= closctx_param
;
10109 fra
.me
.closure_funs
= CREG
;
10110 fra
.me
.REG
[0] = p0
;
10111 CREG
[0] = clos_fun0
;
10112 /* ./syntax//mmbuilder.nit:1351 */
10113 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10114 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10115 if (UNTAG_Bool(REGB0
)) {
10117 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10118 if (UNTAG_Bool(REGB1
)) {
10119 REGB1
= TAG_Bool(false);
10122 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
10126 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10127 if (UNTAG_Bool(REGB0
)) {
10128 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10129 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10130 if (UNTAG_Bool(REGB0
)) {
10131 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1351);
10133 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
10135 stack_frame_head
= fra
.me
.prev
;
10138 val_t
syntax___mmbuilder___AParam___position(val_t p0
){
10139 struct {struct stack_frame_t me
;} fra
;
10142 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10143 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10144 fra
.me
.line
= 1358;
10145 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___position
;
10146 fra
.me
.has_broke
= 0;
10147 fra
.me
.REG_size
= 1;
10148 fra
.me
.REG
[0] = NIT_NULL
;
10149 fra
.me
.REG
[0] = p0
;
10150 /* ./syntax//mmbuilder.nit:1358 */
10151 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[0])!=NIT_NULL
);
10152 if (UNTAG_Bool(REGB0
)) {
10154 nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder
, 1358);
10156 REGB0
= ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[0]);
10157 stack_frame_head
= fra
.me
.prev
;
10160 val_t
syntax___mmbuilder___AParam___variable(val_t p0
){
10161 struct {struct stack_frame_t me
;} fra
;
10164 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10165 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10166 fra
.me
.line
= 1360;
10167 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___variable
;
10168 fra
.me
.has_broke
= 0;
10169 fra
.me
.REG_size
= 1;
10170 fra
.me
.REG
[0] = NIT_NULL
;
10171 fra
.me
.REG
[0] = p0
;
10172 /* ./syntax//mmbuilder.nit:1360 */
10173 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AParam____variable(fra
.me
.REG
[0]);
10174 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
10175 if (UNTAG_Bool(REGB0
)) {
10177 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1360);
10181 stack_frame_head
= fra
.me
.prev
;
10182 return fra
.me
.REG
[0];
10184 val_t
syntax___mmbuilder___AParam___stype(val_t p0
){
10185 struct {struct stack_frame_t me
;} fra
;
10187 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10188 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10189 fra
.me
.line
= 1363;
10190 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___stype
;
10191 fra
.me
.has_broke
= 0;
10192 fra
.me
.REG_size
= 1;
10193 fra
.me
.REG
[0] = NIT_NULL
;
10194 fra
.me
.REG
[0] = p0
;
10195 /* ./syntax//mmbuilder.nit:1363 */
10196 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AParam____stype(fra
.me
.REG
[0]);
10197 stack_frame_head
= fra
.me
.prev
;
10198 return fra
.me
.REG
[0];
10200 void syntax___mmbuilder___AParam___stype__eq(val_t p0
, val_t p1
){
10201 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10203 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10204 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10205 fra
.me
.line
= 1363;
10206 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___stype__eq
;
10207 fra
.me
.has_broke
= 0;
10208 fra
.me
.REG_size
= 2;
10209 fra
.me
.REG
[0] = NIT_NULL
;
10210 fra
.me
.REG
[1] = NIT_NULL
;
10211 fra
.me
.REG
[0] = p0
;
10212 fra
.me
.REG
[1] = p1
;
10213 /* ./syntax//mmbuilder.nit:1363 */
10214 ATTR_syntax___mmbuilder___AParam____stype(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
10215 stack_frame_head
= fra
.me
.prev
;
10218 void syntax___mmbuilder___AParam___accept_property_verifier(val_t p0
, val_t p1
){
10219 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
10225 static val_t once_value_2
; /* Once value */
10226 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10227 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10228 fra
.me
.line
= 1366;
10229 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___accept_property_verifier
;
10230 fra
.me
.has_broke
= 0;
10231 fra
.me
.REG_size
= 7;
10232 fra
.me
.REG
[0] = NIT_NULL
;
10233 fra
.me
.REG
[1] = NIT_NULL
;
10234 fra
.me
.REG
[2] = NIT_NULL
;
10235 fra
.me
.REG
[3] = NIT_NULL
;
10236 fra
.me
.REG
[4] = NIT_NULL
;
10237 fra
.me
.REG
[5] = NIT_NULL
;
10238 fra
.me
.REG
[6] = NIT_NULL
;
10239 fra
.me
.REG
[0] = p0
;
10240 fra
.me
.REG
[1] = p1
;
10241 /* ./syntax//mmbuilder.nit:1366 */
10242 fra
.me
.REG
[2] = fra
.me
.REG
[0];
10243 fra
.me
.REG
[3] = fra
.me
.REG
[1];
10244 /* ./syntax//mmbuilder.nit:1368 */
10245 CALL_SUPER_syntax___mmbuilder___AParam___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10246 /* ./syntax//mmbuilder.nit:1369 */
10247 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10248 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10249 /* ./../lib/standard//collection//array.nit:23 */
10250 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10251 if (UNTAG_Bool(REGB0
)) {
10253 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
10255 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10256 /* ./syntax//mmbuilder.nit:1369 */
10257 ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[2]) = REGB0
;
10258 /* ./syntax//mmbuilder.nit:1370 */
10259 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10260 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10261 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10262 fra
.me
.REG
[0] = NEW_ParamVariable_syntax___syntax_base___ParamVariable___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
10263 ATTR_syntax___mmbuilder___AParam____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
10264 /* ./syntax//mmbuilder.nit:1371 */
10265 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10266 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
10268 /* ./syntax//mmbuilder.nit:1372 */
10269 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10270 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
10272 /* ./syntax//mmbuilder.nit:1373 */
10273 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10274 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10275 if (UNTAG_Bool(REGB0
)) {
10277 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10278 if (UNTAG_Bool(REGB1
)) {
10279 REGB1
= TAG_Bool(false);
10282 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10286 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10287 if (UNTAG_Bool(REGB0
)) {
10288 /* ./syntax//mmbuilder.nit:1374 */
10289 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10290 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10291 if (UNTAG_Bool(REGB0
)) {
10292 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1374);
10294 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
10295 /* ./syntax//mmbuilder.nit:1375 */
10296 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10297 if (UNTAG_Bool(REGB0
)) {
10299 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10300 if (UNTAG_Bool(REGB1
)) {
10301 REGB1
= TAG_Bool(false);
10304 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10308 if (UNTAG_Bool(REGB0
)) {
10309 /* ./syntax//mmbuilder.nit:1376 */
10310 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10311 REGB0
= TAG_Bool(true);
10312 CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
10313 /* ./syntax//mmbuilder.nit:1377 */
10316 /* ./syntax//mmbuilder.nit:1379 */
10317 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10318 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10319 /* ./../lib/standard//collection//array.nit:234 */
10320 REGB0
= TAG_Int(0);
10321 /* ./../lib/standard//collection//array.nit:235 */
10322 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10323 if (UNTAG_Bool(REGB1
)) {
10325 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
10327 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10328 /* ./../lib/standard//collection//array.nit:236 */
10329 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
10330 /* ./../lib/standard//collection//array.nit:237 */
10332 /* ./../lib/standard//collection//array.nit:23 */
10333 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10334 if (UNTAG_Bool(REGB1
)) {
10336 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
10338 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10339 /* ./../lib/standard//kernel.nit:215 */
10340 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
10341 /* ./../lib/standard//collection//array.nit:237 */
10342 if (UNTAG_Bool(REGB1
)) {
10343 /* ./../lib/standard//collection//array.nit:238 */
10344 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
10345 if (UNTAG_Bool(REGB1
)) {
10346 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
10348 /* ./../lib/standard//collection//array.nit:654 */
10349 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
10350 /* ./syntax//mmbuilder.nit:1380 */
10351 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10352 /* ./syntax//mmbuilder.nit:1381 */
10353 REGB1
= CALL_syntax___mmbuilder___AParam___is_vararg(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10354 if (UNTAG_Bool(REGB1
)) {
10355 /* ./syntax//mmbuilder.nit:1382 */
10356 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10357 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10358 REGB2
= TAG_Int(1);
10359 /* ./../lib/standard//kernel.nit:219 */
10360 REGB2
= TAG_Int(-UNTAG_Int(REGB2
));
10361 /* ./syntax//mmbuilder.nit:1382 */
10362 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
10363 if (UNTAG_Bool(REGB3
)) {
10365 /* ./../lib/standard//kernel.nit:210 */
10366 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
10367 /* ./syntax//mmbuilder.nit:1382 */
10370 if (UNTAG_Bool(REGB3
)) {
10371 /* ./syntax//mmbuilder.nit:1383 */
10372 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10373 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10374 CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
10376 /* ./syntax//mmbuilder.nit:1385 */
10377 if (!once_value_2
) {
10378 fra
.me
.REG
[6] = BOX_NativeString("Error: A vararg parameter is already defined.");
10379 REGB3
= TAG_Int(45);
10380 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB3
);
10381 once_value_2
= fra
.me
.REG
[6];
10382 register_static_object(&once_value_2
);
10383 } else fra
.me
.REG
[6] = once_value_2
;
10384 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10385 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
10387 /* ./syntax//mmbuilder.nit:1387 */
10388 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
10389 fra
.me
.REG
[0] = fra
.me
.REG
[6];
10391 /* ./syntax//mmbuilder.nit:1389 */
10392 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10393 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10394 /* ./../lib/standard//collection//array.nit:239 */
10395 REGB3
= TAG_Int(1);
10396 /* ./../lib/standard//kernel.nit:218 */
10397 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
10398 /* ./../lib/standard//collection//array.nit:239 */
10401 /* ./../lib/standard//collection//array.nit:237 */
10406 /* ./syntax//mmbuilder.nit:1391 */
10407 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10408 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10409 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10412 stack_frame_head
= fra
.me
.prev
;
10415 val_t
syntax___mmbuilder___AParam___is_vararg(val_t p0
){
10416 struct {struct stack_frame_t me
;} fra
;
10420 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10421 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10422 fra
.me
.line
= 1395;
10423 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___is_vararg
;
10424 fra
.me
.has_broke
= 0;
10425 fra
.me
.REG_size
= 1;
10426 fra
.me
.REG
[0] = NIT_NULL
;
10427 fra
.me
.REG
[0] = p0
;
10428 /* ./syntax//mmbuilder.nit:1395 */
10429 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_dotdotdot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10430 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10431 if (UNTAG_Bool(REGB0
)) {
10433 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10434 if (UNTAG_Bool(REGB1
)) {
10435 REGB1
= TAG_Bool(false);
10438 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10442 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10445 stack_frame_head
= fra
.me
.prev
;
10448 val_t
syntax___mmbuilder___AClosureDecl___position(val_t p0
){
10449 struct {struct stack_frame_t me
;} fra
;
10452 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10453 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10454 fra
.me
.line
= 1399;
10455 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___position
;
10456 fra
.me
.has_broke
= 0;
10457 fra
.me
.REG_size
= 1;
10458 fra
.me
.REG
[0] = NIT_NULL
;
10459 fra
.me
.REG
[0] = p0
;
10460 /* ./syntax//mmbuilder.nit:1399 */
10461 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[0])!=NIT_NULL
);
10462 if (UNTAG_Bool(REGB0
)) {
10464 nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder
, 1399);
10466 REGB0
= ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[0]);
10467 stack_frame_head
= fra
.me
.prev
;
10470 val_t
syntax___mmbuilder___AClosureDecl___variable(val_t p0
){
10471 struct {struct stack_frame_t me
;} fra
;
10474 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10475 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10476 fra
.me
.line
= 1401;
10477 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___variable
;
10478 fra
.me
.has_broke
= 0;
10479 fra
.me
.REG_size
= 1;
10480 fra
.me
.REG
[0] = NIT_NULL
;
10481 fra
.me
.REG
[0] = p0
;
10482 /* ./syntax//mmbuilder.nit:1401 */
10483 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClosureDecl____variable(fra
.me
.REG
[0]);
10484 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
10485 if (UNTAG_Bool(REGB0
)) {
10487 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1401);
10491 stack_frame_head
= fra
.me
.prev
;
10492 return fra
.me
.REG
[0];
10494 void syntax___mmbuilder___AClosureDecl___accept_property_verifier(val_t p0
, val_t p1
){
10495 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
10500 static val_t once_value_2
; /* Once value */
10501 static val_t once_value_3
; /* Once value */
10502 static val_t once_value_4
; /* Once value */
10503 static val_t once_value_5
; /* Once value */
10504 static val_t once_value_6
; /* Once value */
10505 static val_t once_value_7
; /* Once value */
10506 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10507 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10508 fra
.me
.line
= 1404;
10509 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___accept_property_verifier
;
10510 fra
.me
.has_broke
= 0;
10511 fra
.me
.REG_size
= 11;
10512 fra
.me
.REG
[0] = NIT_NULL
;
10513 fra
.me
.REG
[1] = NIT_NULL
;
10514 fra
.me
.REG
[2] = NIT_NULL
;
10515 fra
.me
.REG
[3] = NIT_NULL
;
10516 fra
.me
.REG
[4] = NIT_NULL
;
10517 fra
.me
.REG
[5] = NIT_NULL
;
10518 fra
.me
.REG
[6] = NIT_NULL
;
10519 fra
.me
.REG
[7] = NIT_NULL
;
10520 fra
.me
.REG
[8] = NIT_NULL
;
10521 fra
.me
.REG
[9] = NIT_NULL
;
10522 fra
.me
.REG
[10] = NIT_NULL
;
10523 fra
.me
.REG
[0] = p0
;
10524 fra
.me
.REG
[1] = p1
;
10525 /* ./syntax//mmbuilder.nit:1404 */
10526 fra
.me
.REG
[2] = fra
.me
.REG
[0];
10527 fra
.me
.REG
[3] = fra
.me
.REG
[1];
10528 /* ./syntax//mmbuilder.nit:1406 */
10529 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10530 /* ./syntax//mmbuilder.nit:1407 */
10531 fra
.me
.REG
[5] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
10532 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
10533 /* ./syntax//mmbuilder.nit:1408 */
10534 CALL_SUPER_syntax___mmbuilder___AClosureDecl___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10535 /* ./syntax//mmbuilder.nit:1409 */
10536 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10537 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10538 if (UNTAG_Bool(REGB0
)) {
10539 /* ./syntax//mmbuilder.nit:1410 */
10542 /* ./syntax//mmbuilder.nit:1412 */
10543 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10544 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10545 /* ./syntax//mmbuilder.nit:1413 */
10546 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10547 if (UNTAG_Bool(REGB0
)) {
10549 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10550 if (UNTAG_Bool(REGB1
)) {
10551 REGB1
= TAG_Bool(false);
10554 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
10558 if (UNTAG_Bool(REGB0
)) {
10559 /* ./syntax//mmbuilder.nit:1414 */
10560 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
10561 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10562 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10563 fra
.me
.REG
[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[5]);
10564 fra
.me
.REG
[1] = fra
.me
.REG
[5];
10566 /* ./syntax//mmbuilder.nit:1416 */
10567 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10568 if (UNTAG_Bool(REGB0
)) {
10569 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1416);
10571 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10572 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10573 if (UNTAG_Bool(REGB0
)) {
10575 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10576 if (UNTAG_Bool(REGB1
)) {
10577 REGB1
= TAG_Bool(false);
10580 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10584 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10585 if (UNTAG_Bool(REGB0
)) {
10586 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10587 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10588 if (UNTAG_Bool(REGB0
)) {
10590 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10591 if (UNTAG_Bool(REGB1
)) {
10592 REGB1
= TAG_Bool(false);
10595 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10599 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10601 REGB1
= TAG_Bool(false);
10604 if (UNTAG_Bool(REGB0
)) {
10605 /* ./syntax//mmbuilder.nit:1417 */
10606 if (!once_value_2
) {
10607 fra
.me
.REG
[5] = BOX_NativeString("Syntax Error: A break block cannot have a return value.");
10608 REGB0
= TAG_Int(55);
10609 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10610 once_value_2
= fra
.me
.REG
[5];
10611 register_static_object(&once_value_2
);
10612 } else fra
.me
.REG
[5] = once_value_2
;
10613 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10614 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[5]);
10616 /* ./syntax//mmbuilder.nit:1421 */
10617 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
10618 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10619 fra
.me
.REG
[0] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10620 fra
.me
.REG
[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[0]);
10621 /* ./syntax//mmbuilder.nit:1422 */
10622 if (!once_value_3
) {
10623 if (!once_value_4
) {
10624 fra
.me
.REG
[5] = BOX_NativeString("break");
10625 REGB0
= TAG_Int(5);
10626 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10627 once_value_4
= fra
.me
.REG
[5];
10628 register_static_object(&once_value_4
);
10629 } else fra
.me
.REG
[5] = once_value_4
;
10630 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10631 fra
.me
.REG
[5] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10632 once_value_3
= fra
.me
.REG
[5];
10633 register_static_object(&once_value_3
);
10634 } else fra
.me
.REG
[5] = once_value_3
;
10635 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10636 REGB0
= TAG_Bool(false);
10637 REGB1
= TAG_Bool(true);
10638 fra
.me
.REG
[0] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra
.me
.REG
[5], fra
.me
.REG
[0], REGB0
, REGB1
);
10639 /* ./syntax//mmbuilder.nit:1423 */
10640 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10641 if (UNTAG_Bool(REGB1
)) {
10642 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1423);
10644 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10645 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10646 /* ./syntax//mmbuilder.nit:1425 */
10647 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10648 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10649 /* ./syntax//mmbuilder.nit:1426 */
10650 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10651 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10652 if (UNTAG_Bool(REGB1
)) {
10654 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10655 if (UNTAG_Bool(REGB0
)) {
10656 REGB0
= TAG_Bool(false);
10659 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10663 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
10664 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10665 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10666 if (UNTAG_Bool(REGB0
)) {
10668 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10669 if (UNTAG_Bool(REGB2
)) {
10670 REGB2
= TAG_Bool(false);
10673 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10677 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10678 fra
.me
.REG
[1] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
, REGB0
);
10679 /* ./syntax//mmbuilder.nit:1427 */
10680 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10681 /* ./../lib/standard//collection//array.nit:234 */
10682 REGB0
= TAG_Int(0);
10683 /* ./../lib/standard//collection//array.nit:235 */
10684 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
10685 if (UNTAG_Bool(REGB1
)) {
10687 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 235);
10689 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
10690 /* ./../lib/standard//collection//array.nit:236 */
10691 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
10692 /* ./../lib/standard//collection//array.nit:237 */
10694 /* ./../lib/standard//collection//array.nit:23 */
10695 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
10696 if (UNTAG_Bool(REGB1
)) {
10698 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
10700 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
10701 /* ./../lib/standard//kernel.nit:215 */
10702 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
10703 /* ./../lib/standard//collection//array.nit:237 */
10704 if (UNTAG_Bool(REGB1
)) {
10705 /* ./../lib/standard//collection//array.nit:238 */
10706 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
10707 if (UNTAG_Bool(REGB1
)) {
10708 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 238);
10710 /* ./../lib/standard//collection//array.nit:654 */
10711 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
10712 /* ./syntax//mmbuilder.nit:1428 */
10713 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10714 fra
.me
.REG
[8] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
10715 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[8],fra
.me
.REG
[0]));
10716 if (UNTAG_Bool(REGB1
)) {
10718 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
10721 if (UNTAG_Bool(REGB1
)) {
10722 /* ./syntax//mmbuilder.nit:1429 */
10723 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10724 REGB1
= TAG_Int(5);
10725 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10726 if (!once_value_5
) {
10727 fra
.me
.REG
[10] = BOX_NativeString("A closure '!");
10728 REGB1
= TAG_Int(12);
10729 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10730 once_value_5
= fra
.me
.REG
[10];
10731 register_static_object(&once_value_5
);
10732 } else fra
.me
.REG
[10] = once_value_5
;
10733 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10735 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10736 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10737 if (!once_value_6
) {
10738 fra
.me
.REG
[10] = BOX_NativeString("' already defined at ");
10739 REGB1
= TAG_Int(21);
10740 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10741 once_value_6
= fra
.me
.REG
[10];
10742 register_static_object(&once_value_6
);
10743 } else fra
.me
.REG
[10] = once_value_6
;
10744 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10745 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10746 fra
.me
.REG
[7] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10747 fra
.me
.REG
[7] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10748 fra
.me
.REG
[10] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10749 fra
.me
.REG
[10] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
10750 fra
.me
.REG
[10] = CALL_location___Location___relative_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
10751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10752 if (!once_value_7
) {
10753 fra
.me
.REG
[10] = BOX_NativeString(".");
10754 REGB1
= TAG_Int(1);
10755 fra
.me
.REG
[10] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[10], REGB1
);
10756 once_value_7
= fra
.me
.REG
[10];
10757 register_static_object(&once_value_7
);
10758 } else fra
.me
.REG
[10] = once_value_7
;
10759 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10760 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10761 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
10762 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8], fra
.me
.REG
[9]);
10763 /* ./syntax//mmbuilder.nit:1430 */
10766 /* ./../lib/standard//collection//array.nit:239 */
10767 REGB1
= TAG_Int(1);
10768 /* ./../lib/standard//kernel.nit:218 */
10769 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
10770 /* ./../lib/standard//collection//array.nit:239 */
10773 /* ./../lib/standard//collection//array.nit:237 */
10778 /* ./syntax//mmbuilder.nit:1433 */
10779 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
10780 /* ./syntax//mmbuilder.nit:1434 */
10781 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10782 /* ./../lib/standard//collection//array.nit:23 */
10783 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
10784 if (UNTAG_Bool(REGB0
)) {
10786 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
10788 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
10789 /* ./syntax//mmbuilder.nit:1434 */
10790 ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[2]) = REGB0
;
10791 /* ./syntax//mmbuilder.nit:1435 */
10792 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10793 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
10794 /* ./syntax//mmbuilder.nit:1436 */
10795 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10796 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10797 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10798 fra
.me
.REG
[1] = NEW_ClosureVariable_syntax___syntax_base___ClosureVariable___init(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[1]);
10799 ATTR_syntax___mmbuilder___AClosureDecl____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
10801 stack_frame_head
= fra
.me
.prev
;
10804 void syntax___mmbuilder___AType___check_visibility(val_t p0
, val_t p1
, val_t p2
){
10805 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
10809 static val_t once_value_2
; /* Once value */
10810 static val_t once_value_3
; /* Once value */
10811 static val_t once_value_4
; /* Once value */
10812 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10813 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10814 fra
.me
.line
= 1441;
10815 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AType___check_visibility
;
10816 fra
.me
.has_broke
= 0;
10817 fra
.me
.REG_size
= 6;
10818 fra
.me
.REG
[0] = NIT_NULL
;
10819 fra
.me
.REG
[1] = NIT_NULL
;
10820 fra
.me
.REG
[2] = NIT_NULL
;
10821 fra
.me
.REG
[3] = NIT_NULL
;
10822 fra
.me
.REG
[4] = NIT_NULL
;
10823 fra
.me
.REG
[5] = NIT_NULL
;
10824 fra
.me
.REG
[0] = p0
;
10825 fra
.me
.REG
[1] = p1
;
10826 fra
.me
.REG
[2] = p2
;
10827 /* ./syntax//mmbuilder.nit:1444 */
10828 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10829 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10830 REGB1
= TAG_Int(3);
10831 /* ./../lib/standard//kernel.nit:216 */
10832 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
10833 /* ./syntax//mmbuilder.nit:1444 */
10834 if (UNTAG_Bool(REGB1
)) {
10837 /* ./syntax//mmbuilder.nit:1445 */
10838 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10839 /* ./syntax//mmbuilder.nit:1446 */
10840 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10841 if (UNTAG_Bool(REGB1
)) {
10843 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10844 if (UNTAG_Bool(REGB0
)) {
10845 REGB0
= TAG_Bool(false);
10848 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
10852 if (UNTAG_Bool(REGB1
)) {
10855 /* ./syntax//mmbuilder.nit:1447 */
10856 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10857 if (UNTAG_Bool(REGB1
)) {
10858 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1447);
10860 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10861 /* ./syntax//mmbuilder.nit:1448 */
10862 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10863 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10864 REGB0
= TAG_Int(3);
10865 /* ./../lib/standard//kernel.nit:216 */
10866 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
10867 /* ./syntax//mmbuilder.nit:1448 */
10868 if (UNTAG_Bool(REGB0
)) {
10869 /* ./syntax//mmbuilder.nit:1449 */
10870 REGB0
= TAG_Int(5);
10871 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
10872 if (!once_value_2
) {
10873 fra
.me
.REG
[5] = BOX_NativeString("Access error: Class ");
10874 REGB0
= TAG_Int(20);
10875 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
10876 once_value_2
= fra
.me
.REG
[5];
10877 register_static_object(&once_value_2
);
10878 } else fra
.me
.REG
[5] = once_value_2
;
10879 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10880 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
10881 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10883 if (!once_value_3
) {
10884 fra
.me
.REG
[3] = BOX_NativeString(" is private and cannot be used in the signature of the non-private property ");
10885 REGB0
= TAG_Int(76);
10886 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
10887 once_value_3
= fra
.me
.REG
[3];
10888 register_static_object(&once_value_3
);
10889 } else fra
.me
.REG
[3] = once_value_3
;
10890 fra
.me
.REG
[3] = fra
.me
.REG
[3];
10891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10892 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10893 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10894 if (!once_value_4
) {
10895 fra
.me
.REG
[3] = BOX_NativeString(".");
10896 REGB0
= TAG_Int(1);
10897 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
10898 once_value_4
= fra
.me
.REG
[3];
10899 register_static_object(&once_value_4
);
10900 } else fra
.me
.REG
[3] = once_value_4
;
10901 fra
.me
.REG
[3] = fra
.me
.REG
[3];
10902 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10903 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10904 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
10906 /* ./syntax//mmbuilder.nit:1451 */
10907 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10908 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
));
10910 stack_frame_head
= fra
.me
.prev
;
10913 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
){
10914 struct {struct stack_frame_t me
;} fra
;
10917 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10918 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10920 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AType___check_visibility
;
10921 fra
.me
.has_broke
= 0;
10922 fra
.me
.REG_size
= 1;
10923 fra
.me
.REG
[0] = NIT_NULL
;
10924 fra
.me
.closure_ctx
= closctx_param
;
10925 fra
.me
.closure_funs
= CREG
;
10926 fra
.me
.REG
[0] = p0
;
10927 CREG
[0] = clos_fun0
;
10928 /* ./syntax//mmbuilder.nit:1452 */
10929 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
10930 stack_frame_head
= fra
.me
.prev
;
10933 void syntax___mmbuilder___AExpr___accept_class_builder(val_t p0
, val_t p1
){
10934 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10936 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10937 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10938 fra
.me
.line
= 1458;
10939 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_class_builder
;
10940 fra
.me
.has_broke
= 0;
10941 fra
.me
.REG_size
= 2;
10942 fra
.me
.REG
[0] = NIT_NULL
;
10943 fra
.me
.REG
[1] = NIT_NULL
;
10944 fra
.me
.REG
[0] = p0
;
10945 fra
.me
.REG
[1] = p1
;
10946 stack_frame_head
= fra
.me
.prev
;
10949 void syntax___mmbuilder___AExpr___accept_property_builder(val_t p0
, val_t p1
){
10950 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10952 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10953 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10954 fra
.me
.line
= 1459;
10955 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_property_builder
;
10956 fra
.me
.has_broke
= 0;
10957 fra
.me
.REG_size
= 2;
10958 fra
.me
.REG
[0] = NIT_NULL
;
10959 fra
.me
.REG
[1] = NIT_NULL
;
10960 fra
.me
.REG
[0] = p0
;
10961 fra
.me
.REG
[1] = p1
;
10962 stack_frame_head
= fra
.me
.prev
;
10965 void syntax___mmbuilder___AExpr___accept_property_verifier(val_t p0
, val_t p1
){
10966 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10968 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10969 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10970 fra
.me
.line
= 1460;
10971 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_property_verifier
;
10972 fra
.me
.has_broke
= 0;
10973 fra
.me
.REG_size
= 2;
10974 fra
.me
.REG
[0] = NIT_NULL
;
10975 fra
.me
.REG
[1] = NIT_NULL
;
10976 fra
.me
.REG
[0] = p0
;
10977 fra
.me
.REG
[1] = p1
;
10978 stack_frame_head
= fra
.me
.prev
;