1 /* This C file is generated by NIT to compile module mmbuilder. */
2 #include "mmbuilder._sep.h"
3 val_t
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_mmbuilder
;
11 fra
.me
.meth
= LOCATE_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_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
22 REGB0
= CALL_partial_order___PartialOrderElement___rank(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
23 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
24 REGB1
= CALL_partial_order___PartialOrderElement___rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
25 REGB1
= CALL_kernel___Comparable_____leqg(REGB0
)(REGB0
, REGB1
);
28 stack_frame_head
= fra
.me
.prev
;
31 void mmbuilder___CSHSorter___init(val_t p0
, int* init_table
){
32 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_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_mmbuilder
;
39 fra
.me
.meth
= LOCATE_mmbuilder___CSHSorter___init
;
42 fra
.me
.REG
[0] = NIT_NULL
;
44 /* ./syntax//mmbuilder.nit:32 */
45 CALL_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 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_mmbuilder
;
60 fra
.me
.meth
= LOCATE_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_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_mmbuilder___ClassBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
77 /* ./syntax//mmbuilder.nit:45 */
78 fra
.me
.REG
[3] = CALL_syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
79 CALL_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_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_mmbuilder
, 48);
88 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
89 REGB0
= CALL_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_mmbuilder___MMSrcModule___process_default_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
94 /* ./syntax//mmbuilder.nit:53 */
95 CALL_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_mmbuilder___ClassSpecializationBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
98 /* ./syntax//mmbuilder.nit:57 */
99 fra
.me
.REG
[2] = CALL_syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
100 CALL_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_abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
105 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_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_abstractmetamodel___MMModule___class_specialization_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
110 fra
.me
.REG
[2] = CALL_array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
111 /* ./syntax//mmbuilder.nit:75 */
113 fra
.me
.REG
[3] = NEW_CSHSorter_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_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_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_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
128 if (UNTAG_Bool(REGB1
)) {
130 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
132 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
133 /* ./../lib/standard//collection//array.nit:236 */
134 fra
.me
.REG
[5] = ATTR_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_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
139 if (UNTAG_Bool(REGB1
)) {
141 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
143 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
144 /* ./../lib/standard//kernel.nit:212 */
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_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_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_inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
161 /* ./../lib/standard//collection//array.nit:239 */
163 /* ./../lib/standard//kernel.nit:215 */
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_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_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
181 if (UNTAG_Bool(REGB1
)) {
183 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
185 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
186 /* ./../lib/standard//collection//array.nit:236 */
187 fra
.me
.REG
[4] = ATTR_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_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
192 if (UNTAG_Bool(REGB1
)) {
194 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
196 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
197 /* ./../lib/standard//kernel.nit:212 */
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_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_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:215 */
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_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_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
232 if (UNTAG_Bool(REGB1
)) {
234 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
236 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
237 /* ./../lib/standard//collection//array.nit:236 */
238 fra
.me
.REG
[5] = ATTR_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_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
243 if (UNTAG_Bool(REGB1
)) {
245 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
247 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
248 /* ./../lib/standard//kernel.nit:212 */
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_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_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_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
263 if (UNTAG_Bool(REGB1
)) {
264 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
265 fra
.me
.REG
[7] = CALL_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_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_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
278 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_universal(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_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
286 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_interface(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 /* ./syntax//mmbuilder.nit:101 */
294 CALL_mmbuilder___MMSrcLocalClass___process_default_constructors(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
296 /* ./../lib/standard//collection//array.nit:239 */
298 /* ./../lib/standard//kernel.nit:215 */
299 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
300 /* ./../lib/standard//collection//array.nit:239 */
303 /* ./../lib/standard//collection//array.nit:237 */
308 /* ./syntax//mmbuilder.nit:106 */
309 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
310 /* ./syntax//mmbuilder.nit:109 */
311 fra
.me
.REG
[0] = NEW_PropertyVerifierVisitor_mmbuilder___PropertyVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
312 /* ./../lib/standard//collection//array.nit:234 */
314 /* ./../lib/standard//collection//array.nit:235 */
315 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
316 if (UNTAG_Bool(REGB1
)) {
318 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
320 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
321 /* ./../lib/standard//collection//array.nit:236 */
322 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[2]);
323 /* ./../lib/standard//collection//array.nit:237 */
325 /* ./../lib/standard//collection//array.nit:23 */
326 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
327 if (UNTAG_Bool(REGB1
)) {
329 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
331 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
332 /* ./../lib/standard//kernel.nit:212 */
333 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
334 /* ./../lib/standard//collection//array.nit:237 */
335 if (UNTAG_Bool(REGB1
)) {
336 /* ./../lib/standard//collection//array.nit:238 */
337 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
338 if (UNTAG_Bool(REGB1
)) {
339 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
341 /* ./../lib/standard//collection//array.nit:654 */
342 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
343 /* ./syntax//mmbuilder.nit:111 */
344 CALL_mmbuilder___MMLocalClass___accept_properties_visitor(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
345 /* ./../lib/standard//collection//array.nit:239 */
347 /* ./../lib/standard//kernel.nit:215 */
348 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
349 /* ./../lib/standard//collection//array.nit:239 */
352 /* ./../lib/standard//collection//array.nit:237 */
357 /* ./syntax//mmbuilder.nit:114 */
358 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
359 stack_frame_head
= fra
.me
.prev
;
362 void OC_mmbuilder___MMSrcModule___do_mmbuilder_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
363 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
368 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
369 fra
.me
.file
= LOCATE_mmbuilder
;
371 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcModule___do_mmbuilder
;
372 fra
.me
.has_broke
= 0;
374 fra
.me
.REG
[0] = NIT_NULL
;
375 fra
.me
.REG
[1] = NIT_NULL
;
376 fra
.me
.closure_ctx
= closctx_param
;
377 fra
.me
.closure_funs
= CREG
;
380 /* ./syntax//mmbuilder.nit:62 */
381 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
382 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
383 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
384 REGB0
= CALL_abstractmetamodel___MMModule___visibility_for(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
385 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
386 REGB1
= CALL_abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
387 /* ./../lib/standard//kernel.nit:212 */
388 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
389 /* ./syntax//mmbuilder.nit:62 */
390 if (UNTAG_Bool(REGB1
)) {
391 /* ./syntax//mmbuilder.nit:63 */
394 /* ./syntax//mmbuilder.nit:65 */
395 CALL_inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
397 stack_frame_head
= fra
.me
.prev
;
400 void mmbuilder___MMSrcModule___process_default_classes(val_t p0
, val_t p1
){
401 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
404 static val_t once_value_1
; /* Once value */
405 static val_t once_value_2
; /* Once value */
406 static val_t once_value_3
; /* Once value */
407 static val_t once_value_4
; /* Once value */
408 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
409 fra
.me
.file
= LOCATE_mmbuilder
;
411 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcModule___process_default_classes
;
412 fra
.me
.has_broke
= 0;
414 fra
.me
.REG
[0] = NIT_NULL
;
415 fra
.me
.REG
[1] = NIT_NULL
;
416 fra
.me
.REG
[2] = NIT_NULL
;
417 fra
.me
.REG
[3] = NIT_NULL
;
420 /* ./syntax//mmbuilder.nit:120 */
423 fra
.me
.REG
[1] = BOX_NativeString("Object");
425 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
426 once_value_2
= fra
.me
.REG
[1];
427 register_static_object(&once_value_2
);
428 } else fra
.me
.REG
[1] = once_value_2
;
429 fra
.me
.REG
[1] = fra
.me
.REG
[1];
430 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
431 once_value_1
= fra
.me
.REG
[1];
432 register_static_object(&once_value_1
);
433 } else fra
.me
.REG
[1] = once_value_1
;
434 fra
.me
.REG
[1] = fra
.me
.REG
[1];
435 /* ./syntax//mmbuilder.nit:121 */
436 REGB0
= CALL_abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
437 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
438 if (UNTAG_Bool(REGB0
)) {
439 /* ./syntax//mmbuilder.nit:122 */
441 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
442 /* ./syntax//mmbuilder.nit:123 */
443 CALL_abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
444 /* ./syntax//mmbuilder.nit:124 */
445 fra
.me
.REG
[3] = CALL_syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
446 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[2]);
448 /* ./syntax//mmbuilder.nit:126 */
451 fra
.me
.REG
[2] = BOX_NativeString("Bool");
453 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
454 once_value_4
= fra
.me
.REG
[2];
455 register_static_object(&once_value_4
);
456 } else fra
.me
.REG
[2] = once_value_4
;
457 fra
.me
.REG
[2] = fra
.me
.REG
[2];
458 fra
.me
.REG
[2] = CALL_symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
459 once_value_3
= fra
.me
.REG
[2];
460 register_static_object(&once_value_3
);
461 } else fra
.me
.REG
[2] = once_value_3
;
462 fra
.me
.REG
[2] = fra
.me
.REG
[2];
463 fra
.me
.REG
[1] = fra
.me
.REG
[2];
464 /* ./syntax//mmbuilder.nit:127 */
465 REGB0
= CALL_abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
466 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
467 if (UNTAG_Bool(REGB0
)) {
468 /* ./syntax//mmbuilder.nit:128 */
470 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
471 /* ./syntax//mmbuilder.nit:129 */
472 CALL_abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
473 /* ./syntax//mmbuilder.nit:130 */
474 fra
.me
.REG
[0] = CALL_syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
475 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
477 stack_frame_head
= fra
.me
.prev
;
480 void mmbuilder___MMLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
481 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
483 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
484 fra
.me
.file
= LOCATE_mmbuilder
;
486 fra
.me
.meth
= LOCATE_mmbuilder___MMLocalClass___accept_class_visitor
;
487 fra
.me
.has_broke
= 0;
489 fra
.me
.REG
[0] = NIT_NULL
;
490 fra
.me
.REG
[1] = NIT_NULL
;
493 stack_frame_head
= fra
.me
.prev
;
496 void mmbuilder___MMLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
497 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
499 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
500 fra
.me
.file
= LOCATE_mmbuilder
;
502 fra
.me
.meth
= LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor
;
503 fra
.me
.has_broke
= 0;
505 fra
.me
.REG
[0] = NIT_NULL
;
506 fra
.me
.REG
[1] = NIT_NULL
;
509 stack_frame_head
= fra
.me
.prev
;
512 void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
513 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
517 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
518 fra
.me
.file
= LOCATE_mmbuilder
;
520 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor
;
521 fra
.me
.has_broke
= 0;
523 fra
.me
.REG
[0] = NIT_NULL
;
524 fra
.me
.REG
[1] = NIT_NULL
;
525 fra
.me
.REG
[2] = NIT_NULL
;
528 /* ./syntax//mmbuilder.nit:150 */
529 fra
.me
.REG
[0] = CALL_syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
530 /* ./syntax//mmbuilder.nit:151 */
532 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
533 if (UNTAG_Bool(REGB0
)) {
535 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
536 if (UNTAG_Bool(REGB1
)) {
537 REGB1
= TAG_Bool(false);
540 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
544 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
545 if (UNTAG_Bool(REGB0
)) {
546 /* ./syntax//mmbuilder.nit:152 */
547 CALL_parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
548 /* ./syntax//mmbuilder.nit:153 */
549 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
550 if (UNTAG_Bool(REGB0
)) {
551 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 153);
553 fra
.me
.REG
[2] = CALL_syntax_base___AClassdef___next_node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
554 fra
.me
.REG
[0] = fra
.me
.REG
[2];
556 /* ./syntax//mmbuilder.nit:151 */
561 stack_frame_head
= fra
.me
.prev
;
564 void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
565 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
569 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
570 fra
.me
.file
= LOCATE_mmbuilder
;
572 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
573 fra
.me
.has_broke
= 0;
575 fra
.me
.REG
[0] = NIT_NULL
;
576 fra
.me
.REG
[1] = NIT_NULL
;
577 fra
.me
.REG
[2] = NIT_NULL
;
578 fra
.me
.REG
[3] = NIT_NULL
;
581 /* ./syntax//mmbuilder.nit:160 */
582 fra
.me
.REG
[2] = CALL_syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
583 /* ./syntax//mmbuilder.nit:161 */
585 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
586 if (UNTAG_Bool(REGB0
)) {
588 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
589 if (UNTAG_Bool(REGB1
)) {
590 REGB1
= TAG_Bool(false);
593 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
597 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
598 if (UNTAG_Bool(REGB0
)) {
599 /* ./syntax//mmbuilder.nit:162 */
600 CALL_parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
601 /* ./syntax//mmbuilder.nit:163 */
602 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
603 if (UNTAG_Bool(REGB0
)) {
604 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 163);
606 fra
.me
.REG
[3] = CALL_syntax_base___AClassdef___next_node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
607 fra
.me
.REG
[2] = fra
.me
.REG
[3];
609 /* ./syntax//mmbuilder.nit:161 */
614 /* ./syntax//mmbuilder.nit:166 */
615 fra
.me
.REG
[0] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
616 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___accept_properties_visitor_2
));
617 stack_frame_head
= fra
.me
.prev
;
620 void OC_mmbuilder___MMSrcLocalClass___accept_properties_visitor_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
621 struct {struct stack_frame_t me
;} fra
;
624 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
625 fra
.me
.file
= LOCATE_mmbuilder
;
627 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
628 fra
.me
.has_broke
= 0;
630 fra
.me
.REG
[0] = NIT_NULL
;
631 fra
.me
.closure_ctx
= closctx_param
;
632 fra
.me
.closure_funs
= CREG
;
635 /* ./syntax//mmbuilder.nit:167 */
636 CALL_mmbuilder___MMLocalProperty___accept_property_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
637 stack_frame_head
= fra
.me
.prev
;
640 void mmbuilder___MMSrcLocalClass___process_default_constructors(val_t p0
, val_t p1
){
641 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
646 static val_t once_value_7
; /* Once value */
647 static val_t once_value_8
; /* Once value */
648 static val_t once_value_13
; /* Once value */
649 static val_t once_value_14
; /* Once value */
650 static val_t once_value_15
; /* Once value */
651 static val_t once_value_16
; /* Once value */
652 static val_t once_value_17
; /* Once value */
653 static val_t once_value_18
; /* Once value */
654 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
655 fra
.me
.file
= LOCATE_mmbuilder
;
657 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
658 fra
.me
.has_broke
= 0;
659 fra
.me
.REG_size
= 10;
660 fra
.me
.REG
[0] = NIT_NULL
;
661 fra
.me
.REG
[1] = NIT_NULL
;
662 fra
.me
.REG
[2] = NIT_NULL
;
663 fra
.me
.REG
[3] = NIT_NULL
;
664 fra
.me
.REG
[4] = NIT_NULL
;
665 fra
.me
.REG
[5] = NIT_NULL
;
666 fra
.me
.REG
[6] = NIT_NULL
;
667 fra
.me
.REG
[7] = NIT_NULL
;
668 fra
.me
.REG
[8] = NIT_NULL
;
669 fra
.me
.REG
[9] = NIT_NULL
;
672 /* ./syntax//mmbuilder.nit:175 */
673 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
674 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___process_default_constructors_1
));
675 switch ((&(fra
.me
))->has_broke
) {
677 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
679 /* ./syntax//mmbuilder.nit:183 */
680 fra
.me
.REG
[2] = NEW_ArraySet_array___ArraySet___init();
681 /* ./syntax//mmbuilder.nit:184 */
682 fra
.me
.REG
[3] = NEW_ArraySet_array___ArraySet___init();
683 /* ./syntax//mmbuilder.nit:185 */
684 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
685 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
686 /* ./../lib/standard//collection//array.nit:234 */
688 /* ./../lib/standard//collection//array.nit:235 */
689 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
690 if (UNTAG_Bool(REGB1
)) {
692 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
694 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
695 /* ./../lib/standard//collection//array.nit:236 */
696 fra
.me
.REG
[5] = ATTR_array___Array____items(fra
.me
.REG
[4]);
697 /* ./../lib/standard//collection//array.nit:237 */
699 /* ./../lib/standard//collection//array.nit:23 */
700 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
701 if (UNTAG_Bool(REGB1
)) {
703 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
705 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
706 /* ./../lib/standard//kernel.nit:212 */
707 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
708 /* ./../lib/standard//collection//array.nit:237 */
709 if (UNTAG_Bool(REGB1
)) {
710 /* ./../lib/standard//collection//array.nit:238 */
711 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
712 if (UNTAG_Bool(REGB1
)) {
713 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
715 /* ./../lib/standard//collection//array.nit:654 */
716 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
717 /* ./syntax//mmbuilder.nit:186 */
718 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
719 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_universal(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
720 if (UNTAG_Bool(REGB1
)) {
721 REGB1
= TAG_Bool(true);
723 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
724 REGB2
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
727 if (UNTAG_Bool(REGB1
)) {
730 /* ./syntax//mmbuilder.nit:187 */
731 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
732 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[7])(fra
.me
.REG
[7], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___process_default_constructors_5
));
733 /* ./syntax//mmbuilder.nit:191 */
736 fra
.me
.REG
[7] = BOX_NativeString("init");
738 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
739 once_value_8
= fra
.me
.REG
[7];
740 register_static_object(&once_value_8
);
741 } else fra
.me
.REG
[7] = once_value_8
;
742 fra
.me
.REG
[7] = fra
.me
.REG
[7];
743 fra
.me
.REG
[7] = CALL_symbol___String___to_symbol(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
744 once_value_7
= fra
.me
.REG
[7];
745 register_static_object(&once_value_7
);
746 } else fra
.me
.REG
[7] = once_value_7
;
747 fra
.me
.REG
[7] = fra
.me
.REG
[7];
748 /* ./syntax//mmbuilder.nit:192 */
749 REGB1
= CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
750 if (UNTAG_Bool(REGB1
)) {
751 /* ./syntax//mmbuilder.nit:193 */
752 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
753 /* ./syntax//mmbuilder.nit:194 */
754 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7]);
755 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
758 /* ./../lib/standard//collection//array.nit:239 */
760 /* ./../lib/standard//kernel.nit:215 */
761 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
762 /* ./../lib/standard//collection//array.nit:239 */
765 /* ./../lib/standard//collection//array.nit:237 */
770 /* ./syntax//mmbuilder.nit:199 */
771 fra
.me
.REG
[5] = NEW_Array_array___Array___init();
772 /* ./syntax//mmbuilder.nit:200 */
773 fra
.me
.REG
[4] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
774 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___process_default_constructors_10
));
775 /* ./syntax//mmbuilder.nit:207 */
776 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
777 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
778 if (UNTAG_Bool(REGB0
)) {
779 /* ./syntax//mmbuilder.nit:210 */
780 fra
.me
.REG
[4] = NEW_Array_array___Array___init();
781 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___process_default_constructors_11
));
782 /* ./syntax//mmbuilder.nit:218 */
783 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
784 fra
.me
.REG
[7] = CALL_partial_order___PartialOrderElement___order(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
785 fra
.me
.REG
[7] = CALL_partial_order___PartialOrder___select_smallests(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
786 fra
.me
.REG
[4] = fra
.me
.REG
[7];
787 /* ./syntax//mmbuilder.nit:221 */
788 fra
.me
.REG
[7] = NIT_NULL
;
789 /* ./../lib/standard//collection//array.nit:23 */
790 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
791 if (UNTAG_Bool(REGB0
)) {
793 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
795 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
796 /* ./syntax//mmbuilder.nit:223 */
798 /* ./../lib/standard//kernel.nit:214 */
799 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
800 /* ./syntax//mmbuilder.nit:223 */
801 if (UNTAG_Bool(REGB1
)) {
802 /* ./syntax//mmbuilder.nit:224 */
803 fra
.me
.REG
[6] = CALL_syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
805 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB1
);
806 if (!once_value_13
) {
807 fra
.me
.REG
[9] = BOX_NativeString("Error: Explicit constructor required in ");
809 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
810 once_value_13
= fra
.me
.REG
[9];
811 register_static_object(&once_value_13
);
812 } else fra
.me
.REG
[9] = once_value_13
;
813 fra
.me
.REG
[9] = fra
.me
.REG
[9];
814 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
815 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
816 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
817 if (!once_value_14
) {
818 fra
.me
.REG
[9] = BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are ");
820 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
821 once_value_14
= fra
.me
.REG
[9];
822 register_static_object(&once_value_14
);
823 } else fra
.me
.REG
[9] = once_value_14
;
824 fra
.me
.REG
[9] = fra
.me
.REG
[9];
825 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
826 if (!once_value_15
) {
827 fra
.me
.REG
[9] = BOX_NativeString(", ");
829 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
830 once_value_15
= fra
.me
.REG
[9];
831 register_static_object(&once_value_15
);
832 } else fra
.me
.REG
[9] = once_value_15
;
833 fra
.me
.REG
[9] = fra
.me
.REG
[9];
834 fra
.me
.REG
[9] = CALL_string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[9]);
835 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
836 if (!once_value_16
) {
837 fra
.me
.REG
[9] = BOX_NativeString(". Costructors are ");
839 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
840 once_value_16
= fra
.me
.REG
[9];
841 register_static_object(&once_value_16
);
842 } else fra
.me
.REG
[9] = once_value_16
;
843 fra
.me
.REG
[9] = fra
.me
.REG
[9];
844 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
845 if (!once_value_17
) {
846 fra
.me
.REG
[9] = BOX_NativeString(", ");
848 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
849 once_value_17
= fra
.me
.REG
[9];
850 register_static_object(&once_value_17
);
851 } else fra
.me
.REG
[9] = once_value_17
;
852 fra
.me
.REG
[9] = fra
.me
.REG
[9];
853 fra
.me
.REG
[9] = CALL_string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[9]);
854 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
855 if (!once_value_18
) {
856 fra
.me
.REG
[9] = BOX_NativeString(".");
858 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
859 once_value_18
= fra
.me
.REG
[9];
860 register_static_object(&once_value_18
);
861 } else fra
.me
.REG
[9] = once_value_18
;
862 fra
.me
.REG
[9] = fra
.me
.REG
[9];
863 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
864 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
865 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6], fra
.me
.REG
[8]);
866 /* ./syntax//mmbuilder.nit:225 */
869 /* ./../lib/standard//collection//array.nit:23 */
870 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
871 if (UNTAG_Bool(REGB1
)) {
873 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
875 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
876 /* ./syntax//mmbuilder.nit:226 */
878 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
879 if (UNTAG_Bool(REGB2
)) {
881 /* ./../lib/standard//kernel.nit:207 */
882 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
883 /* ./syntax//mmbuilder.nit:226 */
886 if (UNTAG_Bool(REGB2
)) {
887 /* ./syntax//mmbuilder.nit:227 */
888 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
889 fra
.me
.REG
[7] = fra
.me
.REG
[4];
892 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___process_default_constructors_19
));
893 /* ./syntax//mmbuilder.nit:236 */
894 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
895 REGB2
= TAG_Bool(fra
.me
.REG
[7]!=NIT_NULL
);
896 if (UNTAG_Bool(REGB2
)) {
898 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 236);
900 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
901 if (UNTAG_Bool(REGB2
)) {
902 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 236);
904 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
905 CALL_abstractmetamodel___MMGlobalClass___mixin_of__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
907 /* ./syntax//mmbuilder.nit:241 */
908 fra
.me
.REG
[2] = CALL_array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
909 fra
.me
.REG
[2] = NEW_MMImplicitInit_syntax_base___MMImplicitInit___init(fra
.me
.REG
[0], fra
.me
.REG
[5], fra
.me
.REG
[2]);
910 /* ./syntax//mmbuilder.nit:242 */
911 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
914 stack_frame_head
= fra
.me
.prev
;
917 void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
918 struct {struct stack_frame_t me
;} fra
;
923 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
924 fra
.me
.file
= LOCATE_mmbuilder
;
926 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
927 fra
.me
.has_broke
= 0;
929 fra
.me
.REG
[0] = NIT_NULL
;
930 fra
.me
.closure_ctx
= closctx_param
;
931 fra
.me
.closure_funs
= CREG
;
934 /* ./syntax//mmbuilder.nit:176 */
935 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
936 if (UNTAG_Bool(REGB0
)) {
937 /* ./syntax//mmbuilder.nit:178 */
938 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
939 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
940 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],closctx
->REG
[0]));
941 if (UNTAG_Bool(REGB0
)) {
943 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
946 if (UNTAG_Bool(REGB0
)) {
947 closctx
->has_broke
= 1;
952 stack_frame_head
= fra
.me
.prev
;
955 void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_5(struct stack_frame_t
*closctx
, val_t p0
){
956 struct {struct stack_frame_t me
;} fra
;
959 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
960 fra
.me
.file
= LOCATE_mmbuilder
;
962 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
963 fra
.me
.has_broke
= 0;
965 fra
.me
.REG
[0] = NIT_NULL
;
967 /* ./syntax//mmbuilder.nit:188 */
968 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
969 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
970 if (UNTAG_Bool(REGB0
)) {
973 /* ./syntax//mmbuilder.nit:189 */
974 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
976 stack_frame_head
= fra
.me
.prev
;
979 void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_10(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
980 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
985 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
986 fra
.me
.file
= LOCATE_mmbuilder
;
988 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
989 fra
.me
.has_broke
= 0;
991 fra
.me
.REG
[0] = NIT_NULL
;
992 fra
.me
.REG
[1] = NIT_NULL
;
993 fra
.me
.closure_ctx
= closctx_param
;
994 fra
.me
.closure_funs
= CREG
;
997 /* ./syntax//mmbuilder.nit:201 */
998 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
999 if (UNTAG_Bool(REGB0
)) {
1000 /* ./syntax//mmbuilder.nit:202 */
1001 fra
.me
.REG
[1] = CALL_syntax_base___MMLocalProperty___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1002 /* ./syntax//mmbuilder.nit:203 */
1003 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1004 if (UNTAG_Bool(REGB0
)) {
1005 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 203);
1007 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1008 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1009 if (UNTAG_Bool(REGB0
)) {
1011 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1012 if (UNTAG_Bool(REGB1
)) {
1013 REGB1
= TAG_Bool(false);
1016 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1020 if (UNTAG_Bool(REGB0
)) {
1021 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1024 stack_frame_head
= fra
.me
.prev
;
1027 void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_11(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1028 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1032 /* ./syntax//mmbuilder.nit:211 */
1033 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1034 fra
.me
.file
= LOCATE_mmbuilder
;
1036 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
1037 fra
.me
.has_broke
= 0;
1038 fra
.me
.REG_size
= 2;
1039 fra
.me
.REG
[0] = NIT_NULL
;
1040 fra
.me
.REG
[1] = NIT_NULL
;
1041 fra
.me
.closure_ctx
= closctx_param
;
1042 fra
.me
.closure_funs
= CREG
;
1044 CREG
[0] = clos_fun0
;
1045 /* ./syntax//mmbuilder.nit:212 */
1046 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1047 /* ./syntax//mmbuilder.nit:213 */
1048 REGB0
= CALL_abstract_collection___Collection___has(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1049 if (UNTAG_Bool(REGB0
)) {
1052 /* ./syntax//mmbuilder.nit:214 */
1053 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1054 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_mixin(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1055 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1056 if (UNTAG_Bool(REGB0
)) {
1057 /* ./syntax//mmbuilder.nit:215 */
1058 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1061 stack_frame_head
= fra
.me
.prev
;
1064 void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_19(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1065 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1071 /* ./syntax//mmbuilder.nit:230 */
1072 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1073 fra
.me
.file
= LOCATE_mmbuilder
;
1075 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
1076 fra
.me
.has_broke
= 0;
1077 fra
.me
.REG_size
= 2;
1078 fra
.me
.REG
[0] = NIT_NULL
;
1079 fra
.me
.REG
[1] = NIT_NULL
;
1080 fra
.me
.closure_ctx
= closctx_param
;
1081 fra
.me
.closure_funs
= CREG
;
1083 CREG
[0] = clos_fun0
;
1084 /* ./syntax//mmbuilder.nit:232 */
1085 REGB0
= TAG_Bool(closctx
->REG
[7]==NIT_NULL
);
1086 if (UNTAG_Bool(REGB0
)) {
1088 REGB1
= TAG_Bool(closctx
->REG
[7]==NIT_NULL
);
1089 if (UNTAG_Bool(REGB1
)) {
1090 REGB1
= TAG_Bool(false);
1093 REGB1
= CALL_kernel___Object_____eqeq(closctx
->REG
[7])(closctx
->REG
[7], NIT_NULL
);
1097 if (UNTAG_Bool(REGB0
)) {
1098 REGB0
= TAG_Bool(true);
1100 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1101 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],closctx
->REG
[7]));
1102 if (UNTAG_Bool(REGB1
)) {
1104 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[7]);
1109 if (UNTAG_Bool(REGB0
)) {
1110 /* ./syntax//mmbuilder.nit:233 */
1111 CALL_inheritance___MMLocalClass___make_visible_an_inherited_global_property(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
1113 stack_frame_head
= fra
.me
.prev
;
1116 void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t p0
, val_t p1
, val_t p2
){
1117 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1120 static val_t once_value_1
; /* Once value */
1121 static val_t once_value_2
; /* Once value */
1122 static val_t once_value_3
; /* Once value */
1123 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1124 fra
.me
.file
= LOCATE_mmbuilder
;
1126 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property
;
1127 fra
.me
.has_broke
= 0;
1128 fra
.me
.REG_size
= 7;
1129 fra
.me
.REG
[0] = NIT_NULL
;
1130 fra
.me
.REG
[1] = NIT_NULL
;
1131 fra
.me
.REG
[2] = NIT_NULL
;
1132 fra
.me
.REG
[3] = NIT_NULL
;
1133 fra
.me
.REG
[4] = NIT_NULL
;
1134 fra
.me
.REG
[5] = NIT_NULL
;
1135 fra
.me
.REG
[6] = NIT_NULL
;
1139 /* ./syntax//mmbuilder.nit:251 */
1140 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1141 /* ./syntax//mmbuilder.nit:253 */
1142 fra
.me
.REG
[4] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1143 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1144 if (UNTAG_Bool(REGB0
)) {
1145 /* ./syntax//mmbuilder.nit:254 */
1146 fra
.me
.REG
[4] = CALL_syntax_base___MMLocalProperty___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1148 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
1149 if (!once_value_1
) {
1150 fra
.me
.REG
[6] = BOX_NativeString("Error: A property ");
1151 REGB0
= TAG_Int(18);
1152 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1153 once_value_1
= fra
.me
.REG
[6];
1154 register_static_object(&once_value_1
);
1155 } else fra
.me
.REG
[6] = once_value_1
;
1156 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1157 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1158 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1159 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1160 if (!once_value_2
) {
1161 fra
.me
.REG
[6] = BOX_NativeString(" is already defined in class ");
1162 REGB0
= TAG_Int(29);
1163 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1164 once_value_2
= fra
.me
.REG
[6];
1165 register_static_object(&once_value_2
);
1166 } else fra
.me
.REG
[6] = once_value_2
;
1167 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1168 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1169 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1170 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1171 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1172 if (!once_value_3
) {
1173 fra
.me
.REG
[6] = BOX_NativeString(".");
1175 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1176 once_value_3
= fra
.me
.REG
[6];
1177 register_static_object(&once_value_3
);
1178 } else fra
.me
.REG
[6] = once_value_3
;
1179 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1180 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1181 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1182 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[5]);
1183 /* ./syntax//mmbuilder.nit:255 */
1186 /* ./syntax//mmbuilder.nit:257 */
1187 fra
.me
.REG
[5] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1188 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[2]);
1189 /* ./syntax//mmbuilder.nit:260 */
1190 REGB0
= CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1191 if (UNTAG_Bool(REGB0
)) {
1192 /* ./syntax//mmbuilder.nit:261 */
1193 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1194 /* ./syntax//mmbuilder.nit:262 */
1195 CALL_inheritance___MMLocalProperty___inherit_global(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1197 /* ./syntax//mmbuilder.nit:265 */
1198 REGB0
= CALL_abstractmetamodel___MMLocalProperty___is_global_set(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1199 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1200 if (UNTAG_Bool(REGB0
)) {
1201 /* ./syntax//mmbuilder.nit:266 */
1202 CALL_abstractmetamodel___MMLocalProperty___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1203 /* ./syntax//mmbuilder.nit:267 */
1204 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1205 REGB0
= CALL_syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1206 CALL_abstractmetamodel___MMGlobalProperty___is_init__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1209 stack_frame_head
= fra
.me
.prev
;
1212 void mmbuilder___MMLocalProperty___accept_property_visitor(val_t p0
, val_t p1
){
1213 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1215 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1216 fra
.me
.file
= LOCATE_mmbuilder
;
1218 fra
.me
.meth
= LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor
;
1219 fra
.me
.has_broke
= 0;
1220 fra
.me
.REG_size
= 2;
1221 fra
.me
.REG
[0] = NIT_NULL
;
1222 fra
.me
.REG
[1] = NIT_NULL
;
1225 stack_frame_head
= fra
.me
.prev
;
1228 val_t
mmbuilder___MMImplicitInit___super_init(val_t p0
){
1229 struct {struct stack_frame_t me
;} fra
;
1231 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1232 fra
.me
.file
= LOCATE_mmbuilder
;
1234 fra
.me
.meth
= LOCATE_mmbuilder___MMImplicitInit___super_init
;
1235 fra
.me
.has_broke
= 0;
1236 fra
.me
.REG_size
= 1;
1237 fra
.me
.REG
[0] = NIT_NULL
;
1239 /* ./syntax//mmbuilder.nit:279 */
1240 fra
.me
.REG
[0] = ATTR_mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[0]);
1241 stack_frame_head
= fra
.me
.prev
;
1242 return fra
.me
.REG
[0];
1244 void mmbuilder___MMImplicitInit___accept_property_visitor(val_t p0
, val_t p1
){
1245 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1251 static val_t once_value_1
; /* Once value */
1252 static val_t once_value_2
; /* Once value */
1253 static val_t once_value_3
; /* Once value */
1254 static val_t once_value_4
; /* Once value */
1255 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1256 fra
.me
.file
= LOCATE_mmbuilder
;
1258 fra
.me
.meth
= LOCATE_mmbuilder___MMImplicitInit___accept_property_visitor
;
1259 fra
.me
.has_broke
= 0;
1260 fra
.me
.REG_size
= 8;
1261 fra
.me
.REG
[0] = NIT_NULL
;
1262 fra
.me
.REG
[1] = NIT_NULL
;
1263 fra
.me
.REG
[2] = NIT_NULL
;
1264 fra
.me
.REG
[3] = NIT_NULL
;
1265 fra
.me
.REG
[4] = NIT_NULL
;
1266 fra
.me
.REG
[5] = NIT_NULL
;
1267 fra
.me
.REG
[6] = NIT_NULL
;
1268 fra
.me
.REG
[7] = NIT_NULL
;
1271 /* ./syntax//mmbuilder.nit:282 */
1272 fra
.me
.REG
[2] = NIT_NULL
;
1273 /* ./syntax//mmbuilder.nit:283 */
1274 fra
.me
.REG
[3] = CALL_syntax_base___MMImplicitInit___super_inits(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1275 /* ./../lib/standard//collection//array.nit:234 */
1277 /* ./../lib/standard//collection//array.nit:235 */
1278 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1279 if (UNTAG_Bool(REGB1
)) {
1281 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1283 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1284 /* ./../lib/standard//collection//array.nit:236 */
1285 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[3]);
1286 /* ./../lib/standard//collection//array.nit:237 */
1288 /* ./../lib/standard//collection//array.nit:23 */
1289 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1290 if (UNTAG_Bool(REGB1
)) {
1292 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1294 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1295 /* ./../lib/standard//kernel.nit:212 */
1296 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1297 /* ./../lib/standard//collection//array.nit:237 */
1298 if (UNTAG_Bool(REGB1
)) {
1299 /* ./../lib/standard//collection//array.nit:238 */
1300 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1301 if (UNTAG_Bool(REGB1
)) {
1302 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1304 /* ./../lib/standard//collection//array.nit:654 */
1305 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1306 /* ./syntax//mmbuilder.nit:284 */
1307 fra
.me
.REG
[6] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1308 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1309 if (UNTAG_Bool(REGB1
)) {
1310 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 284);
1312 REGB1
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1314 /* ./../lib/standard//kernel.nit:214 */
1315 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
1316 /* ./syntax//mmbuilder.nit:284 */
1317 if (UNTAG_Bool(REGB2
)) {
1318 /* ./syntax//mmbuilder.nit:285 */
1319 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1320 if (UNTAG_Bool(REGB2
)) {
1322 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1323 if (UNTAG_Bool(REGB1
)) {
1324 REGB1
= TAG_Bool(false);
1327 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1331 if (UNTAG_Bool(REGB2
)) {
1332 /* ./syntax//mmbuilder.nit:286 */
1333 fra
.me
.REG
[2] = fra
.me
.REG
[5];
1335 /* ./syntax//mmbuilder.nit:288 */
1337 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
1338 if (!once_value_1
) {
1339 fra
.me
.REG
[7] = BOX_NativeString("Error: explicit constructor needed in ");
1340 REGB2
= TAG_Int(38);
1341 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
1342 once_value_1
= fra
.me
.REG
[7];
1343 register_static_object(&once_value_1
);
1344 } else fra
.me
.REG
[7] = once_value_1
;
1345 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1346 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1347 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1348 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1349 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1350 if (!once_value_2
) {
1351 fra
.me
.REG
[7] = BOX_NativeString(" since both super-constructor ");
1352 REGB2
= TAG_Int(30);
1353 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
1354 once_value_2
= fra
.me
.REG
[7];
1355 register_static_object(&once_value_2
);
1356 } else fra
.me
.REG
[7] = once_value_2
;
1357 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1358 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1359 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1360 if (UNTAG_Bool(REGB2
)) {
1361 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 288);
1363 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1364 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1365 if (!once_value_3
) {
1366 fra
.me
.REG
[7] = BOX_NativeString(" and ");
1368 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
1369 once_value_3
= fra
.me
.REG
[7];
1370 register_static_object(&once_value_3
);
1371 } else fra
.me
.REG
[7] = once_value_3
;
1372 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1373 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1374 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1375 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1376 if (!once_value_4
) {
1377 fra
.me
.REG
[5] = BOX_NativeString(" have paramters");
1378 REGB2
= TAG_Int(15);
1379 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
1380 once_value_4
= fra
.me
.REG
[5];
1381 register_static_object(&once_value_4
);
1382 } else fra
.me
.REG
[5] = once_value_4
;
1383 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1384 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1385 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1386 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[6]);
1387 /* ./syntax//mmbuilder.nit:289 */
1391 /* ./../lib/standard//collection//array.nit:239 */
1393 /* ./../lib/standard//kernel.nit:215 */
1394 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1395 /* ./../lib/standard//collection//array.nit:239 */
1398 /* ./../lib/standard//collection//array.nit:237 */
1403 /* ./syntax//mmbuilder.nit:293 */
1404 ATTR_mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1405 /* ./syntax//mmbuilder.nit:295 */
1406 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
1407 /* ./syntax//mmbuilder.nit:296 */
1408 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1409 if (UNTAG_Bool(REGB0
)) {
1411 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1412 if (UNTAG_Bool(REGB2
)) {
1413 REGB2
= TAG_Bool(false);
1416 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1420 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1421 if (UNTAG_Bool(REGB0
)) {
1422 /* ./syntax//mmbuilder.nit:297 */
1423 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1424 if (UNTAG_Bool(REGB0
)) {
1425 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 297);
1427 fra
.me
.REG
[2] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1428 /* ./syntax//mmbuilder.nit:298 */
1430 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1431 if (UNTAG_Bool(REGB2
)) {
1432 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 298);
1434 REGB2
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1435 /* ./../lib/standard//kernel.nit:332 */
1437 /* ./../lib/standard//kernel.nit:212 */
1438 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1439 /* ./../lib/standard//kernel.nit:332 */
1440 if (UNTAG_Bool(REGB1
)) {
1441 /* ./syntax//mmbuilder.nit:298 */
1443 /* ./syntax//mmbuilder.nit:299 */
1444 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1445 if (UNTAG_Bool(REGB3
)) {
1446 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 299);
1448 fra
.me
.REG
[4] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
1449 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
1450 /* ./../lib/standard//kernel.nit:334 */
1452 /* ./../lib/standard//kernel.nit:215 */
1453 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1454 /* ./../lib/standard//kernel.nit:334 */
1457 /* ./../lib/standard//kernel.nit:332 */
1463 /* ./syntax//mmbuilder.nit:302 */
1464 fra
.me
.REG
[2] = CALL_syntax_base___MMImplicitInit___unassigned_attributes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1465 /* ./../lib/standard//collection//array.nit:234 */
1467 /* ./../lib/standard//collection//array.nit:235 */
1468 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1469 if (UNTAG_Bool(REGB2
)) {
1471 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1473 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1474 /* ./../lib/standard//collection//array.nit:236 */
1475 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[2]);
1476 /* ./../lib/standard//collection//array.nit:237 */
1478 /* ./../lib/standard//collection//array.nit:23 */
1479 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1480 if (UNTAG_Bool(REGB2
)) {
1482 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1484 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1485 /* ./../lib/standard//kernel.nit:212 */
1486 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1487 /* ./../lib/standard//collection//array.nit:237 */
1488 if (UNTAG_Bool(REGB2
)) {
1489 /* ./../lib/standard//collection//array.nit:238 */
1490 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1491 if (UNTAG_Bool(REGB2
)) {
1492 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1494 /* ./../lib/standard//collection//array.nit:654 */
1495 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1496 /* ./syntax//mmbuilder.nit:303 */
1497 fra
.me
.REG
[3] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1498 /* ./syntax//mmbuilder.nit:304 */
1499 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1500 if (UNTAG_Bool(REGB2
)) {
1502 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1503 if (UNTAG_Bool(REGB1
)) {
1504 REGB1
= TAG_Bool(false);
1507 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1511 if (UNTAG_Bool(REGB2
)) {
1514 /* ./syntax//mmbuilder.nit:305 */
1515 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1516 if (UNTAG_Bool(REGB2
)) {
1517 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 305);
1519 fra
.me
.REG
[3] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1520 REGB2
= TAG_Bool((fra
.me
.REG
[3]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[3], COLOR_MMType
, ID_MMType
)) /*cast MMType*/;
1521 if (UNTAG_Bool(REGB2
)) {
1523 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 305);
1525 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1526 /* ./../lib/standard//collection//array.nit:239 */
1528 /* ./../lib/standard//kernel.nit:215 */
1529 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1530 /* ./../lib/standard//collection//array.nit:239 */
1533 /* ./../lib/standard//collection//array.nit:237 */
1538 /* ./syntax//mmbuilder.nit:307 */
1539 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1540 fra
.me
.REG
[4] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1541 fra
.me
.REG
[4] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[4]);
1542 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
1544 stack_frame_head
= fra
.me
.prev
;
1547 val_t
mmbuilder___MMSrcAncestor___local_class(val_t p0
){
1548 struct {struct stack_frame_t me
;} fra
;
1551 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1552 fra
.me
.file
= LOCATE_mmbuilder
;
1554 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcAncestor___local_class
;
1555 fra
.me
.has_broke
= 0;
1556 fra
.me
.REG_size
= 1;
1557 fra
.me
.REG
[0] = NIT_NULL
;
1559 /* ./syntax//mmbuilder.nit:315 */
1560 REGB0
= TAG_Bool(ATTR_mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
1561 if (UNTAG_Bool(REGB0
)) {
1563 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_mmbuilder
, 315);
1565 fra
.me
.REG
[0] = ATTR_mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0]);
1566 stack_frame_head
= fra
.me
.prev
;
1567 return fra
.me
.REG
[0];
1569 void mmbuilder___MMSrcAncestor___init(val_t p0
, val_t p1
, int* init_table
){
1570 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_MMSrcAncestor
].i
;
1571 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1573 if (init_table
[itpos1
]) return;
1574 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1575 fra
.me
.file
= LOCATE_mmbuilder
;
1577 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcAncestor___init
;
1578 fra
.me
.has_broke
= 0;
1579 fra
.me
.REG_size
= 3;
1580 fra
.me
.REG
[0] = NIT_NULL
;
1581 fra
.me
.REG
[1] = NIT_NULL
;
1582 fra
.me
.REG
[2] = NIT_NULL
;
1585 /* ./syntax//mmbuilder.nit:317 */
1586 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1587 CALL_static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1588 /* ./syntax//mmbuilder.nit:319 */
1589 ATTR_mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
1590 stack_frame_head
= fra
.me
.prev
;
1591 init_table
[itpos1
] = 1;
1594 val_t
mmbuilder___ClassBuilderVisitor___local_class_arity(val_t p0
){
1595 struct {struct stack_frame_t me
;} fra
;
1598 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1599 fra
.me
.file
= LOCATE_mmbuilder
;
1601 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity
;
1602 fra
.me
.has_broke
= 0;
1603 fra
.me
.REG_size
= 1;
1604 fra
.me
.REG
[0] = NIT_NULL
;
1606 /* ./syntax//mmbuilder.nit:330 */
1607 REGB0
= TAG_Bool(ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0])!=NIT_NULL
);
1608 if (UNTAG_Bool(REGB0
)) {
1610 nit_abort("Uninitialized attribute %s", "_local_class_arity", LOCATE_mmbuilder
, 330);
1612 REGB0
= ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]);
1613 stack_frame_head
= fra
.me
.prev
;
1616 void mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t p0
, val_t p1
){
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_mmbuilder
;
1623 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq
;
1624 fra
.me
.has_broke
= 0;
1625 fra
.me
.REG_size
= 1;
1626 fra
.me
.REG
[0] = NIT_NULL
;
1629 /* ./syntax//mmbuilder.nit:330 */
1630 ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]) = REGB0
;
1631 stack_frame_head
= fra
.me
.prev
;
1634 val_t
mmbuilder___ClassBuilderVisitor___formals(val_t p0
){
1635 struct {struct stack_frame_t me
;} fra
;
1637 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1638 fra
.me
.file
= LOCATE_mmbuilder
;
1640 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___formals
;
1641 fra
.me
.has_broke
= 0;
1642 fra
.me
.REG_size
= 1;
1643 fra
.me
.REG
[0] = NIT_NULL
;
1645 /* ./syntax//mmbuilder.nit:333 */
1646 fra
.me
.REG
[0] = ATTR_mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]);
1647 stack_frame_head
= fra
.me
.prev
;
1648 return fra
.me
.REG
[0];
1650 void mmbuilder___ClassBuilderVisitor___formals__eq(val_t p0
, val_t p1
){
1651 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1653 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1654 fra
.me
.file
= LOCATE_mmbuilder
;
1656 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq
;
1657 fra
.me
.has_broke
= 0;
1658 fra
.me
.REG_size
= 2;
1659 fra
.me
.REG
[0] = NIT_NULL
;
1660 fra
.me
.REG
[1] = NIT_NULL
;
1663 /* ./syntax//mmbuilder.nit:333 */
1664 ATTR_mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1665 stack_frame_head
= fra
.me
.prev
;
1668 void mmbuilder___ClassBuilderVisitor___visit(val_t p0
, val_t p1
){
1669 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1672 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1673 fra
.me
.file
= LOCATE_mmbuilder
;
1675 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___visit
;
1676 fra
.me
.has_broke
= 0;
1677 fra
.me
.REG_size
= 2;
1678 fra
.me
.REG
[0] = NIT_NULL
;
1679 fra
.me
.REG
[1] = NIT_NULL
;
1682 /* ./syntax//mmbuilder.nit:336 */
1683 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1684 if (UNTAG_Bool(REGB0
)) {
1685 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 336);
1687 CALL_mmbuilder___ANode___accept_class_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1688 stack_frame_head
= fra
.me
.prev
;
1691 void mmbuilder___ClassBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1692 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ClassBuilderVisitor
].i
;
1693 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1695 if (init_table
[itpos2
]) return;
1696 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1697 fra
.me
.file
= LOCATE_mmbuilder
;
1699 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___init
;
1700 fra
.me
.has_broke
= 0;
1701 fra
.me
.REG_size
= 3;
1702 fra
.me
.REG
[0] = NIT_NULL
;
1703 fra
.me
.REG
[1] = NIT_NULL
;
1704 fra
.me
.REG
[2] = NIT_NULL
;
1708 /* ./syntax//mmbuilder.nit:337 */
1709 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1710 stack_frame_head
= fra
.me
.prev
;
1711 init_table
[itpos2
] = 1;
1714 void mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t p0
, val_t p1
){
1715 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1718 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1719 fra
.me
.file
= LOCATE_mmbuilder
;
1721 fra
.me
.meth
= LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit
;
1722 fra
.me
.has_broke
= 0;
1723 fra
.me
.REG_size
= 2;
1724 fra
.me
.REG
[0] = NIT_NULL
;
1725 fra
.me
.REG
[1] = NIT_NULL
;
1728 /* ./syntax//mmbuilder.nit:344 */
1729 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1730 if (UNTAG_Bool(REGB0
)) {
1731 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 344);
1733 CALL_mmbuilder___ANode___accept_class_specialization_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1734 stack_frame_head
= fra
.me
.prev
;
1737 void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1738 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ClassSpecializationBuilderVisitor
].i
;
1739 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1741 if (init_table
[itpos3
]) return;
1742 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1743 fra
.me
.file
= LOCATE_mmbuilder
;
1745 fra
.me
.meth
= LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init
;
1746 fra
.me
.has_broke
= 0;
1747 fra
.me
.REG_size
= 3;
1748 fra
.me
.REG
[0] = NIT_NULL
;
1749 fra
.me
.REG
[1] = NIT_NULL
;
1750 fra
.me
.REG
[2] = NIT_NULL
;
1754 /* ./syntax//mmbuilder.nit:345 */
1755 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1756 stack_frame_head
= fra
.me
.prev
;
1757 init_table
[itpos3
] = 1;
1760 void mmbuilder___ClassAncestorBuilder___visit(val_t p0
, val_t p1
){
1761 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1764 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1765 fra
.me
.file
= LOCATE_mmbuilder
;
1767 fra
.me
.meth
= LOCATE_mmbuilder___ClassAncestorBuilder___visit
;
1768 fra
.me
.has_broke
= 0;
1769 fra
.me
.REG_size
= 2;
1770 fra
.me
.REG
[0] = NIT_NULL
;
1771 fra
.me
.REG
[1] = NIT_NULL
;
1774 /* ./syntax//mmbuilder.nit:352 */
1775 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1776 if (UNTAG_Bool(REGB0
)) {
1777 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 352);
1779 CALL_mmbuilder___ANode___accept_class_ancestor_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1780 stack_frame_head
= fra
.me
.prev
;
1783 void mmbuilder___ClassAncestorBuilder___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1784 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ClassAncestorBuilder
].i
;
1785 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1787 if (init_table
[itpos4
]) return;
1788 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1789 fra
.me
.file
= LOCATE_mmbuilder
;
1791 fra
.me
.meth
= LOCATE_mmbuilder___ClassAncestorBuilder___init
;
1792 fra
.me
.has_broke
= 0;
1793 fra
.me
.REG_size
= 3;
1794 fra
.me
.REG
[0] = NIT_NULL
;
1795 fra
.me
.REG
[1] = NIT_NULL
;
1796 fra
.me
.REG
[2] = NIT_NULL
;
1800 /* ./syntax//mmbuilder.nit:353 */
1801 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1802 stack_frame_head
= fra
.me
.prev
;
1803 init_table
[itpos4
] = 1;
1806 void mmbuilder___ClassVerifierVisitor___visit(val_t p0
, val_t p1
){
1807 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1810 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1811 fra
.me
.file
= LOCATE_mmbuilder
;
1813 fra
.me
.meth
= LOCATE_mmbuilder___ClassVerifierVisitor___visit
;
1814 fra
.me
.has_broke
= 0;
1815 fra
.me
.REG_size
= 2;
1816 fra
.me
.REG
[0] = NIT_NULL
;
1817 fra
.me
.REG
[1] = NIT_NULL
;
1820 /* ./syntax//mmbuilder.nit:360 */
1821 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1822 if (UNTAG_Bool(REGB0
)) {
1823 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 360);
1825 CALL_mmbuilder___ANode___accept_class_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1826 stack_frame_head
= fra
.me
.prev
;
1829 void mmbuilder___ClassVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1830 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ClassVerifierVisitor
].i
;
1831 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1833 if (init_table
[itpos5
]) return;
1834 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1835 fra
.me
.file
= LOCATE_mmbuilder
;
1837 fra
.me
.meth
= LOCATE_mmbuilder___ClassVerifierVisitor___init
;
1838 fra
.me
.has_broke
= 0;
1839 fra
.me
.REG_size
= 3;
1840 fra
.me
.REG
[0] = NIT_NULL
;
1841 fra
.me
.REG
[1] = NIT_NULL
;
1842 fra
.me
.REG
[2] = NIT_NULL
;
1846 /* ./syntax//mmbuilder.nit:361 */
1847 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1848 stack_frame_head
= fra
.me
.prev
;
1849 init_table
[itpos5
] = 1;
1852 void mmbuilder___PropertyBuilderVisitor___visit(val_t p0
, val_t p1
){
1853 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1856 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1857 fra
.me
.file
= LOCATE_mmbuilder
;
1859 fra
.me
.meth
= LOCATE_mmbuilder___PropertyBuilderVisitor___visit
;
1860 fra
.me
.has_broke
= 0;
1861 fra
.me
.REG_size
= 2;
1862 fra
.me
.REG
[0] = NIT_NULL
;
1863 fra
.me
.REG
[1] = NIT_NULL
;
1866 /* ./syntax//mmbuilder.nit:371 */
1867 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1868 if (UNTAG_Bool(REGB0
)) {
1869 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 371);
1871 CALL_mmbuilder___ANode___accept_property_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1872 stack_frame_head
= fra
.me
.prev
;
1875 void mmbuilder___PropertyBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1876 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_PropertyBuilderVisitor
].i
;
1877 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1879 if (init_table
[itpos6
]) return;
1880 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1881 fra
.me
.file
= LOCATE_mmbuilder
;
1883 fra
.me
.meth
= LOCATE_mmbuilder___PropertyBuilderVisitor___init
;
1884 fra
.me
.has_broke
= 0;
1885 fra
.me
.REG_size
= 3;
1886 fra
.me
.REG
[0] = NIT_NULL
;
1887 fra
.me
.REG
[1] = NIT_NULL
;
1888 fra
.me
.REG
[2] = NIT_NULL
;
1892 /* ./syntax//mmbuilder.nit:372 */
1893 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1894 stack_frame_head
= fra
.me
.prev
;
1895 init_table
[itpos6
] = 1;
1898 val_t
mmbuilder___PropertyVerifierVisitor___signature_builder(val_t p0
){
1899 struct {struct stack_frame_t me
;} fra
;
1902 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1903 fra
.me
.file
= LOCATE_mmbuilder
;
1905 fra
.me
.meth
= LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder
;
1906 fra
.me
.has_broke
= 0;
1907 fra
.me
.REG_size
= 1;
1908 fra
.me
.REG
[0] = NIT_NULL
;
1910 /* ./syntax//mmbuilder.nit:380 */
1911 REGB0
= TAG_Bool(ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0])!=NIT_NULL
);
1912 if (UNTAG_Bool(REGB0
)) {
1914 nit_abort("Uninitialized attribute %s", "_signature_builder", LOCATE_mmbuilder
, 380);
1916 fra
.me
.REG
[0] = ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]);
1917 stack_frame_head
= fra
.me
.prev
;
1918 return fra
.me
.REG
[0];
1920 void mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t p0
, val_t p1
){
1921 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1923 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1924 fra
.me
.file
= LOCATE_mmbuilder
;
1926 fra
.me
.meth
= LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder__eq
;
1927 fra
.me
.has_broke
= 0;
1928 fra
.me
.REG_size
= 2;
1929 fra
.me
.REG
[0] = NIT_NULL
;
1930 fra
.me
.REG
[1] = NIT_NULL
;
1933 /* ./syntax//mmbuilder.nit:380 */
1934 ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1935 stack_frame_head
= fra
.me
.prev
;
1938 void mmbuilder___PropertyVerifierVisitor___visit(val_t p0
, val_t p1
){
1939 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1942 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1943 fra
.me
.file
= LOCATE_mmbuilder
;
1945 fra
.me
.meth
= LOCATE_mmbuilder___PropertyVerifierVisitor___visit
;
1946 fra
.me
.has_broke
= 0;
1947 fra
.me
.REG_size
= 2;
1948 fra
.me
.REG
[0] = NIT_NULL
;
1949 fra
.me
.REG
[1] = NIT_NULL
;
1952 /* ./syntax//mmbuilder.nit:383 */
1953 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1954 if (UNTAG_Bool(REGB0
)) {
1955 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 383);
1957 CALL_mmbuilder___ANode___accept_property_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1958 stack_frame_head
= fra
.me
.prev
;
1961 void mmbuilder___PropertyVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1962 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_PropertyVerifierVisitor
].i
;
1963 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1965 if (init_table
[itpos7
]) return;
1966 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1967 fra
.me
.file
= LOCATE_mmbuilder
;
1969 fra
.me
.meth
= LOCATE_mmbuilder___PropertyVerifierVisitor___init
;
1970 fra
.me
.has_broke
= 0;
1971 fra
.me
.REG_size
= 4;
1972 fra
.me
.REG
[0] = NIT_NULL
;
1973 fra
.me
.REG
[1] = NIT_NULL
;
1974 fra
.me
.REG
[2] = NIT_NULL
;
1975 fra
.me
.REG
[3] = NIT_NULL
;
1979 /* ./syntax//mmbuilder.nit:385 */
1980 fra
.me
.REG
[3] = fra
.me
.REG
[0];
1981 /* ./syntax//mmbuilder.nit:387 */
1982 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1983 /* ./syntax//mmbuilder.nit:388 */
1984 fra
.me
.REG
[2] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init();
1985 ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
1986 stack_frame_head
= fra
.me
.prev
;
1987 init_table
[itpos7
] = 1;
1990 val_t
mmbuilder___SignatureBuilder___params(val_t p0
){
1991 struct {struct stack_frame_t me
;} fra
;
1994 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1995 fra
.me
.file
= LOCATE_mmbuilder
;
1997 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___params
;
1998 fra
.me
.has_broke
= 0;
1999 fra
.me
.REG_size
= 1;
2000 fra
.me
.REG
[0] = NIT_NULL
;
2002 /* ./syntax//mmbuilder.nit:394 */
2003 REGB0
= TAG_Bool(ATTR_mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0])!=NIT_NULL
);
2004 if (UNTAG_Bool(REGB0
)) {
2006 nit_abort("Uninitialized attribute %s", "_params", LOCATE_mmbuilder
, 394);
2008 fra
.me
.REG
[0] = ATTR_mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]);
2009 stack_frame_head
= fra
.me
.prev
;
2010 return fra
.me
.REG
[0];
2012 void mmbuilder___SignatureBuilder___params__eq(val_t p0
, val_t p1
){
2013 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2015 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2016 fra
.me
.file
= LOCATE_mmbuilder
;
2018 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___params__eq
;
2019 fra
.me
.has_broke
= 0;
2020 fra
.me
.REG_size
= 2;
2021 fra
.me
.REG
[0] = NIT_NULL
;
2022 fra
.me
.REG
[1] = NIT_NULL
;
2025 /* ./syntax//mmbuilder.nit:394 */
2026 ATTR_mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2027 stack_frame_head
= fra
.me
.prev
;
2030 val_t
mmbuilder___SignatureBuilder___untyped_params(val_t p0
){
2031 struct {struct stack_frame_t me
;} fra
;
2034 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2035 fra
.me
.file
= LOCATE_mmbuilder
;
2037 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___untyped_params
;
2038 fra
.me
.has_broke
= 0;
2039 fra
.me
.REG_size
= 1;
2040 fra
.me
.REG
[0] = NIT_NULL
;
2042 /* ./syntax//mmbuilder.nit:397 */
2043 REGB0
= TAG_Bool(ATTR_mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0])!=NIT_NULL
);
2044 if (UNTAG_Bool(REGB0
)) {
2046 nit_abort("Uninitialized attribute %s", "_untyped_params", LOCATE_mmbuilder
, 397);
2048 fra
.me
.REG
[0] = ATTR_mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]);
2049 stack_frame_head
= fra
.me
.prev
;
2050 return fra
.me
.REG
[0];
2052 void mmbuilder___SignatureBuilder___untyped_params__eq(val_t p0
, val_t p1
){
2053 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2055 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2056 fra
.me
.file
= LOCATE_mmbuilder
;
2058 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___untyped_params__eq
;
2059 fra
.me
.has_broke
= 0;
2060 fra
.me
.REG_size
= 2;
2061 fra
.me
.REG
[0] = NIT_NULL
;
2062 fra
.me
.REG
[1] = NIT_NULL
;
2065 /* ./syntax//mmbuilder.nit:397 */
2066 ATTR_mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2067 stack_frame_head
= fra
.me
.prev
;
2070 val_t
mmbuilder___SignatureBuilder___vararg_rank(val_t p0
){
2071 struct {struct stack_frame_t me
;} fra
;
2074 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2075 fra
.me
.file
= LOCATE_mmbuilder
;
2077 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___vararg_rank
;
2078 fra
.me
.has_broke
= 0;
2079 fra
.me
.REG_size
= 1;
2080 fra
.me
.REG
[0] = NIT_NULL
;
2082 /* ./syntax//mmbuilder.nit:400 */
2083 REGB0
= TAG_Bool(ATTR_mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
2084 if (UNTAG_Bool(REGB0
)) {
2086 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_mmbuilder
, 400);
2088 REGB0
= ATTR_mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]);
2089 stack_frame_head
= fra
.me
.prev
;
2092 void mmbuilder___SignatureBuilder___vararg_rank__eq(val_t p0
, val_t p1
){
2093 struct {struct stack_frame_t me
;} fra
;
2096 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2097 fra
.me
.file
= LOCATE_mmbuilder
;
2099 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___vararg_rank__eq
;
2100 fra
.me
.has_broke
= 0;
2101 fra
.me
.REG_size
= 1;
2102 fra
.me
.REG
[0] = NIT_NULL
;
2105 /* ./syntax//mmbuilder.nit:400 */
2106 ATTR_mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
2107 stack_frame_head
= fra
.me
.prev
;
2110 val_t
mmbuilder___SignatureBuilder___closure_decls(val_t p0
){
2111 struct {struct stack_frame_t me
;} fra
;
2114 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2115 fra
.me
.file
= LOCATE_mmbuilder
;
2117 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___closure_decls
;
2118 fra
.me
.has_broke
= 0;
2119 fra
.me
.REG_size
= 1;
2120 fra
.me
.REG
[0] = NIT_NULL
;
2122 /* ./syntax//mmbuilder.nit:403 */
2123 REGB0
= TAG_Bool(ATTR_mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0])!=NIT_NULL
);
2124 if (UNTAG_Bool(REGB0
)) {
2126 nit_abort("Uninitialized attribute %s", "_closure_decls", LOCATE_mmbuilder
, 403);
2128 fra
.me
.REG
[0] = ATTR_mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]);
2129 stack_frame_head
= fra
.me
.prev
;
2130 return fra
.me
.REG
[0];
2132 void mmbuilder___SignatureBuilder___closure_decls__eq(val_t p0
, val_t p1
){
2133 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2135 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2136 fra
.me
.file
= LOCATE_mmbuilder
;
2138 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___closure_decls__eq
;
2139 fra
.me
.has_broke
= 0;
2140 fra
.me
.REG_size
= 2;
2141 fra
.me
.REG
[0] = NIT_NULL
;
2142 fra
.me
.REG
[1] = NIT_NULL
;
2145 /* ./syntax//mmbuilder.nit:403 */
2146 ATTR_mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2147 stack_frame_head
= fra
.me
.prev
;
2150 val_t
mmbuilder___SignatureBuilder___has_error_occured(val_t p0
){
2151 struct {struct stack_frame_t me
;} fra
;
2154 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2155 fra
.me
.file
= LOCATE_mmbuilder
;
2157 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___has_error_occured
;
2158 fra
.me
.has_broke
= 0;
2159 fra
.me
.REG_size
= 1;
2160 fra
.me
.REG
[0] = NIT_NULL
;
2162 /* ./syntax//mmbuilder.nit:406 */
2163 REGB0
= TAG_Bool(ATTR_mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0])!=NIT_NULL
);
2164 if (UNTAG_Bool(REGB0
)) {
2166 nit_abort("Uninitialized attribute %s", "_has_error_occured", LOCATE_mmbuilder
, 406);
2168 REGB0
= ATTR_mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]);
2169 stack_frame_head
= fra
.me
.prev
;
2172 void mmbuilder___SignatureBuilder___has_error_occured__eq(val_t p0
, val_t p1
){
2173 struct {struct stack_frame_t me
;} fra
;
2176 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2177 fra
.me
.file
= LOCATE_mmbuilder
;
2179 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___has_error_occured__eq
;
2180 fra
.me
.has_broke
= 0;
2181 fra
.me
.REG_size
= 1;
2182 fra
.me
.REG
[0] = NIT_NULL
;
2185 /* ./syntax//mmbuilder.nit:406 */
2186 ATTR_mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]) = REGB0
;
2187 stack_frame_head
= fra
.me
.prev
;
2190 val_t
mmbuilder___SignatureBuilder___signature(val_t p0
){
2191 struct {struct stack_frame_t me
;} fra
;
2193 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2194 fra
.me
.file
= LOCATE_mmbuilder
;
2196 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___signature
;
2197 fra
.me
.has_broke
= 0;
2198 fra
.me
.REG_size
= 1;
2199 fra
.me
.REG
[0] = NIT_NULL
;
2201 /* ./syntax//mmbuilder.nit:409 */
2202 fra
.me
.REG
[0] = ATTR_mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]);
2203 stack_frame_head
= fra
.me
.prev
;
2204 return fra
.me
.REG
[0];
2206 void mmbuilder___SignatureBuilder___signature__eq(val_t p0
, val_t p1
){
2207 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2209 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2210 fra
.me
.file
= LOCATE_mmbuilder
;
2212 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___signature__eq
;
2213 fra
.me
.has_broke
= 0;
2214 fra
.me
.REG_size
= 2;
2215 fra
.me
.REG
[0] = NIT_NULL
;
2216 fra
.me
.REG
[1] = NIT_NULL
;
2219 /* ./syntax//mmbuilder.nit:409 */
2220 ATTR_mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2221 stack_frame_head
= fra
.me
.prev
;
2224 void mmbuilder___SignatureBuilder___init(val_t p0
, int* init_table
){
2225 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_SignatureBuilder
].i
;
2226 struct {struct stack_frame_t me
;} fra
;
2228 if (init_table
[itpos8
]) return;
2229 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2230 fra
.me
.file
= LOCATE_mmbuilder
;
2232 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___init
;
2233 fra
.me
.has_broke
= 0;
2234 fra
.me
.REG_size
= 0;
2235 stack_frame_head
= fra
.me
.prev
;
2236 init_table
[itpos8
] = 1;
2239 void mmbuilder___ANode___accept_class_builder(val_t p0
, val_t p1
){
2240 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2242 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2243 fra
.me
.file
= LOCATE_mmbuilder
;
2245 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_class_builder
;
2246 fra
.me
.has_broke
= 0;
2247 fra
.me
.REG_size
= 2;
2248 fra
.me
.REG
[0] = NIT_NULL
;
2249 fra
.me
.REG
[1] = NIT_NULL
;
2252 /* ./syntax//mmbuilder.nit:416 */
2253 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2254 stack_frame_head
= fra
.me
.prev
;
2257 void mmbuilder___ANode___accept_class_specialization_builder(val_t p0
, val_t p1
){
2258 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2260 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2261 fra
.me
.file
= LOCATE_mmbuilder
;
2263 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_class_specialization_builder
;
2264 fra
.me
.has_broke
= 0;
2265 fra
.me
.REG_size
= 2;
2266 fra
.me
.REG
[0] = NIT_NULL
;
2267 fra
.me
.REG
[1] = NIT_NULL
;
2270 /* ./syntax//mmbuilder.nit:417 */
2271 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2272 stack_frame_head
= fra
.me
.prev
;
2275 void mmbuilder___ANode___accept_class_ancestor_builder(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_mmbuilder
;
2281 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_class_ancestor_builder
;
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:418 */
2289 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2290 stack_frame_head
= fra
.me
.prev
;
2293 void mmbuilder___ANode___accept_class_verifier(val_t p0
, val_t p1
){
2294 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2296 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2297 fra
.me
.file
= LOCATE_mmbuilder
;
2299 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_class_verifier
;
2300 fra
.me
.has_broke
= 0;
2301 fra
.me
.REG_size
= 2;
2302 fra
.me
.REG
[0] = NIT_NULL
;
2303 fra
.me
.REG
[1] = NIT_NULL
;
2306 /* ./syntax//mmbuilder.nit:419 */
2307 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2308 stack_frame_head
= fra
.me
.prev
;
2311 void mmbuilder___ANode___accept_property_builder(val_t p0
, val_t p1
){
2312 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2314 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2315 fra
.me
.file
= LOCATE_mmbuilder
;
2317 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_property_builder
;
2318 fra
.me
.has_broke
= 0;
2319 fra
.me
.REG_size
= 2;
2320 fra
.me
.REG
[0] = NIT_NULL
;
2321 fra
.me
.REG
[1] = NIT_NULL
;
2324 /* ./syntax//mmbuilder.nit:420 */
2325 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2326 stack_frame_head
= fra
.me
.prev
;
2329 void mmbuilder___ANode___accept_property_verifier(val_t p0
, val_t p1
){
2330 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2332 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2333 fra
.me
.file
= LOCATE_mmbuilder
;
2335 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_property_verifier
;
2336 fra
.me
.has_broke
= 0;
2337 fra
.me
.REG_size
= 2;
2338 fra
.me
.REG
[0] = NIT_NULL
;
2339 fra
.me
.REG
[1] = NIT_NULL
;
2342 /* ./syntax//mmbuilder.nit:421 */
2343 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2344 stack_frame_head
= fra
.me
.prev
;
2347 void mmbuilder___AModule___import_super_modules(val_t p0
, val_t p1
, val_t p2
){
2348 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
2352 static val_t once_value_2
; /* Once value */
2353 static val_t once_value_3
; /* Once value */
2354 static val_t once_value_4
; /* Once value */
2355 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2356 fra
.me
.file
= LOCATE_mmbuilder
;
2358 fra
.me
.meth
= LOCATE_mmbuilder___AModule___import_super_modules
;
2359 fra
.me
.has_broke
= 0;
2360 fra
.me
.REG_size
= 7;
2361 fra
.me
.REG
[0] = NIT_NULL
;
2362 fra
.me
.REG
[1] = NIT_NULL
;
2363 fra
.me
.REG
[2] = NIT_NULL
;
2364 fra
.me
.REG
[3] = NIT_NULL
;
2365 fra
.me
.REG
[4] = NIT_NULL
;
2366 fra
.me
.REG
[5] = NIT_NULL
;
2367 fra
.me
.REG
[6] = NIT_NULL
;
2371 /* ./syntax//mmbuilder.nit:429 */
2372 fra
.me
.REG
[3] = NEW_Array_array___Array___init();
2373 /* ./syntax//mmbuilder.nit:430 */
2374 fra
.me
.REG
[4] = NEW_HashMap_hash_collection___HashMap___init();
2375 /* ./syntax//mmbuilder.nit:431 */
2376 fra
.me
.REG
[5] = NIT_NULL
;
2377 /* ./syntax//mmbuilder.nit:432 */
2378 fra
.me
.REG
[0] = CALL_parser_nodes___AModule___n_imports(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2379 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___AModule___import_super_modules_1
));
2380 /* ./syntax//mmbuilder.nit:441 */
2381 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2382 if (UNTAG_Bool(REGB0
)) {
2384 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2385 if (UNTAG_Bool(REGB1
)) {
2386 REGB1
= TAG_Bool(false);
2389 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
2393 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2394 if (UNTAG_Bool(REGB0
)) {
2395 /* ./syntax//mmbuilder.nit:442 */
2396 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2397 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2398 if (UNTAG_Bool(REGB0
)) {
2399 /* ./syntax//mmbuilder.nit:443 */
2400 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2401 if (UNTAG_Bool(REGB0
)) {
2402 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 443);
2404 fra
.me
.REG
[5] = CALL_parser_nodes___ANode___location(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2405 if (!once_value_2
) {
2406 fra
.me
.REG
[0] = BOX_NativeString("Error: Top modules cannot import other modules.");
2407 REGB0
= TAG_Int(47);
2408 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2409 once_value_2
= fra
.me
.REG
[0];
2410 register_static_object(&once_value_2
);
2411 } else fra
.me
.REG
[0] = once_value_2
;
2412 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2413 CALL_mmloader___ToolContext___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5], fra
.me
.REG
[0]);
2416 /* ./syntax//mmbuilder.nit:445 */
2417 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2418 if (UNTAG_Bool(REGB0
)) {
2419 /* ./syntax//mmbuilder.nit:446 */
2420 if (!once_value_3
) {
2421 if (!once_value_4
) {
2422 fra
.me
.REG
[0] = BOX_NativeString("standard");
2424 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2425 once_value_4
= fra
.me
.REG
[0];
2426 register_static_object(&once_value_4
);
2427 } else fra
.me
.REG
[0] = once_value_4
;
2428 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2429 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2430 once_value_3
= fra
.me
.REG
[0];
2431 register_static_object(&once_value_3
);
2432 } else fra
.me
.REG
[0] = once_value_3
;
2433 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2434 /* ./syntax//mmbuilder.nit:447 */
2435 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2436 /* ./syntax//mmbuilder.nit:448 */
2438 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0], REGB0
);
2441 /* ./syntax//mmbuilder.nit:451 */
2442 CALL_mmloader___MMModule___import_supers_modules(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2443 /* ./../lib/standard//collection//array.nit:234 */
2445 /* ./../lib/standard//collection//array.nit:235 */
2446 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2447 if (UNTAG_Bool(REGB1
)) {
2449 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
2451 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2452 /* ./../lib/standard//collection//array.nit:236 */
2453 fra
.me
.REG
[0] = ATTR_array___Array____items(fra
.me
.REG
[3]);
2454 /* ./../lib/standard//collection//array.nit:237 */
2456 /* ./../lib/standard//collection//array.nit:23 */
2457 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2458 if (UNTAG_Bool(REGB1
)) {
2460 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
2462 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2463 /* ./../lib/standard//kernel.nit:212 */
2464 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2465 /* ./../lib/standard//collection//array.nit:237 */
2466 if (UNTAG_Bool(REGB1
)) {
2467 /* ./../lib/standard//collection//array.nit:238 */
2468 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2469 if (UNTAG_Bool(REGB1
)) {
2470 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
2472 /* ./../lib/standard//collection//array.nit:654 */
2473 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
2474 /* ./syntax//mmbuilder.nit:454 */
2475 fra
.me
.REG
[6] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2476 REGB1
= fra
.me
.REG
[6];
2477 /* ./syntax//mmbuilder.nit:455 */
2478 fra
.me
.REG
[5] = CALL_mmloader___ToolContext___get_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5], fra
.me
.REG
[2]);
2479 /* ./syntax//mmbuilder.nit:456 */
2480 CALL_abstractmetamodel___MMModule___add_super_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5], REGB1
);
2481 /* ./../lib/standard//collection//array.nit:239 */
2483 /* ./../lib/standard//kernel.nit:215 */
2484 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2485 /* ./../lib/standard//collection//array.nit:239 */
2488 /* ./../lib/standard//collection//array.nit:237 */
2493 stack_frame_head
= fra
.me
.prev
;
2496 void OC_mmbuilder___AModule___import_super_modules_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2497 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2502 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2503 fra
.me
.file
= LOCATE_mmbuilder
;
2505 fra
.me
.meth
= LOCATE_mmbuilder___AModule___import_super_modules
;
2506 fra
.me
.has_broke
= 0;
2507 fra
.me
.REG_size
= 2;
2508 fra
.me
.REG
[0] = NIT_NULL
;
2509 fra
.me
.REG
[1] = NIT_NULL
;
2510 fra
.me
.closure_ctx
= closctx_param
;
2511 fra
.me
.closure_funs
= CREG
;
2513 CREG
[0] = clos_fun0
;
2514 /* ./syntax//mmbuilder.nit:433 */
2515 fra
.me
.REG
[1] = CALL_mmbuilder___AImport___module_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2516 /* ./syntax//mmbuilder.nit:434 */
2517 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2518 if (UNTAG_Bool(REGB0
)) {
2520 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2521 if (UNTAG_Bool(REGB1
)) {
2522 REGB1
= TAG_Bool(false);
2525 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2529 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2530 if (UNTAG_Bool(REGB0
)) {
2531 /* ./syntax//mmbuilder.nit:435 */
2532 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
2533 /* ./syntax//mmbuilder.nit:436 */
2534 REGB0
= CALL_mmbuilder___AImport___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2535 CALL_abstract_collection___Map_____braeq(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[1], REGB0
);
2537 /* ./syntax//mmbuilder.nit:438 */
2538 closctx
->REG
[5] = fra
.me
.REG
[0];
2540 stack_frame_head
= fra
.me
.prev
;
2543 void mmbuilder___AModuledecl___accept_class_builder(val_t p0
, val_t p1
){
2544 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2548 static val_t once_value_1
; /* Once value */
2549 static val_t once_value_2
; /* Once value */
2550 static val_t once_value_3
; /* Once value */
2551 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2552 fra
.me
.file
= LOCATE_mmbuilder
;
2554 fra
.me
.meth
= LOCATE_mmbuilder___AModuledecl___accept_class_builder
;
2555 fra
.me
.has_broke
= 0;
2556 fra
.me
.REG_size
= 5;
2557 fra
.me
.REG
[0] = NIT_NULL
;
2558 fra
.me
.REG
[1] = NIT_NULL
;
2559 fra
.me
.REG
[2] = NIT_NULL
;
2560 fra
.me
.REG
[3] = NIT_NULL
;
2561 fra
.me
.REG
[4] = NIT_NULL
;
2564 /* ./syntax//mmbuilder.nit:464 */
2565 fra
.me
.REG
[2] = CALL_parser_nodes___AModuledecl___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2566 fra
.me
.REG
[2] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2567 fra
.me
.REG
[3] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2568 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2569 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
2570 if (UNTAG_Bool(REGB0
)) {
2572 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2575 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2576 if (UNTAG_Bool(REGB0
)) {
2577 /* ./syntax//mmbuilder.nit:465 */
2578 fra
.me
.REG
[3] = CALL_parser_nodes___AModuledecl___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2580 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2581 if (!once_value_1
) {
2582 fra
.me
.REG
[4] = BOX_NativeString("Error: Package name missmatch between ");
2583 REGB0
= TAG_Int(38);
2584 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2585 once_value_1
= fra
.me
.REG
[4];
2586 register_static_object(&once_value_1
);
2587 } else fra
.me
.REG
[4] = once_value_1
;
2588 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2589 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2590 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2591 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2592 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2593 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2594 if (!once_value_2
) {
2595 fra
.me
.REG
[4] = BOX_NativeString(" and ");
2597 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2598 once_value_2
= fra
.me
.REG
[4];
2599 register_static_object(&once_value_2
);
2600 } else fra
.me
.REG
[4] = once_value_2
;
2601 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2602 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2603 fra
.me
.REG
[0] = CALL_parser_nodes___AModuledecl___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2604 fra
.me
.REG
[0] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2605 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2606 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2607 if (!once_value_3
) {
2608 fra
.me
.REG
[0] = BOX_NativeString("");
2610 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2611 once_value_3
= fra
.me
.REG
[0];
2612 register_static_object(&once_value_3
);
2613 } else fra
.me
.REG
[0] = once_value_3
;
2614 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2615 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2616 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2617 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3], fra
.me
.REG
[2]);
2619 stack_frame_head
= fra
.me
.prev
;
2622 val_t
mmbuilder___AImport___module_name(val_t p0
){
2623 struct {struct stack_frame_t me
;} fra
;
2625 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2626 fra
.me
.file
= LOCATE_mmbuilder
;
2628 fra
.me
.meth
= LOCATE_mmbuilder___AImport___module_name
;
2629 fra
.me
.has_broke
= 0;
2630 fra
.me
.REG_size
= 0;
2631 /* ./syntax//mmbuilder.nit:471 */
2632 nit_abort("Deferred method called", NULL
, LOCATE_mmbuilder
, 471);
2633 stack_frame_head
= fra
.me
.prev
;
2636 val_t
mmbuilder___AImport___visibility_level(val_t p0
){
2637 struct {struct stack_frame_t me
;} fra
;
2639 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2640 fra
.me
.file
= LOCATE_mmbuilder
;
2642 fra
.me
.meth
= LOCATE_mmbuilder___AImport___visibility_level
;
2643 fra
.me
.has_broke
= 0;
2644 fra
.me
.REG_size
= 0;
2645 /* ./syntax//mmbuilder.nit:474 */
2646 nit_abort("Deferred method called", NULL
, LOCATE_mmbuilder
, 474);
2647 stack_frame_head
= fra
.me
.prev
;
2650 val_t
mmbuilder___AStdImport___module_name(val_t p0
){
2651 struct {struct stack_frame_t me
;} fra
;
2653 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2654 fra
.me
.file
= LOCATE_mmbuilder
;
2656 fra
.me
.meth
= LOCATE_mmbuilder___AStdImport___module_name
;
2657 fra
.me
.has_broke
= 0;
2658 fra
.me
.REG_size
= 1;
2659 fra
.me
.REG
[0] = NIT_NULL
;
2661 /* ./syntax//mmbuilder.nit:480 */
2662 fra
.me
.REG
[0] = CALL_parser_nodes___AStdImport___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2663 fra
.me
.REG
[0] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2666 stack_frame_head
= fra
.me
.prev
;
2667 return fra
.me
.REG
[0];
2669 val_t
mmbuilder___AStdImport___visibility_level(val_t p0
){
2670 struct {struct stack_frame_t me
;} fra
;
2673 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2674 fra
.me
.file
= LOCATE_mmbuilder
;
2676 fra
.me
.meth
= LOCATE_mmbuilder___AStdImport___visibility_level
;
2677 fra
.me
.has_broke
= 0;
2678 fra
.me
.REG_size
= 1;
2679 fra
.me
.REG
[0] = NIT_NULL
;
2681 /* ./syntax//mmbuilder.nit:484 */
2682 fra
.me
.REG
[0] = CALL_parser_nodes___AStdImport___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2683 REGB0
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2686 stack_frame_head
= fra
.me
.prev
;
2689 val_t
mmbuilder___ANoImport___module_name(val_t p0
){
2690 struct {struct stack_frame_t me
;} fra
;
2692 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2693 fra
.me
.file
= LOCATE_mmbuilder
;
2695 fra
.me
.meth
= LOCATE_mmbuilder___ANoImport___module_name
;
2696 fra
.me
.has_broke
= 0;
2697 fra
.me
.REG_size
= 1;
2698 fra
.me
.REG
[0] = NIT_NULL
;
2700 /* ./syntax//mmbuilder.nit:490 */
2701 fra
.me
.REG
[0] = NIT_NULL
;
2704 stack_frame_head
= fra
.me
.prev
;
2705 return fra
.me
.REG
[0];
2707 val_t
mmbuilder___AVisibility___level(val_t p0
){
2708 struct {struct stack_frame_t me
;} fra
;
2710 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2711 fra
.me
.file
= LOCATE_mmbuilder
;
2713 fra
.me
.meth
= LOCATE_mmbuilder___AVisibility___level
;
2714 fra
.me
.has_broke
= 0;
2715 fra
.me
.REG_size
= 0;
2716 /* ./syntax//mmbuilder.nit:495 */
2717 nit_abort("Deferred method called", NULL
, LOCATE_mmbuilder
, 495);
2718 stack_frame_head
= fra
.me
.prev
;
2721 val_t
mmbuilder___APublicVisibility___level(val_t p0
){
2722 struct {struct stack_frame_t me
;} fra
;
2725 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2726 fra
.me
.file
= LOCATE_mmbuilder
;
2728 fra
.me
.meth
= LOCATE_mmbuilder___APublicVisibility___level
;
2729 fra
.me
.has_broke
= 0;
2730 fra
.me
.REG_size
= 1;
2731 fra
.me
.REG
[0] = NIT_NULL
;
2733 /* ./syntax//mmbuilder.nit:499 */
2737 stack_frame_head
= fra
.me
.prev
;
2740 val_t
mmbuilder___AProtectedVisibility___level(val_t p0
){
2741 struct {struct stack_frame_t me
;} fra
;
2744 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2745 fra
.me
.file
= LOCATE_mmbuilder
;
2747 fra
.me
.meth
= LOCATE_mmbuilder___AProtectedVisibility___level
;
2748 fra
.me
.has_broke
= 0;
2749 fra
.me
.REG_size
= 1;
2750 fra
.me
.REG
[0] = NIT_NULL
;
2752 /* ./syntax//mmbuilder.nit:502 */
2756 stack_frame_head
= fra
.me
.prev
;
2759 val_t
mmbuilder___APrivateVisibility___level(val_t p0
){
2760 struct {struct stack_frame_t me
;} fra
;
2763 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2764 fra
.me
.file
= LOCATE_mmbuilder
;
2766 fra
.me
.meth
= LOCATE_mmbuilder___APrivateVisibility___level
;
2767 fra
.me
.has_broke
= 0;
2768 fra
.me
.REG_size
= 1;
2769 fra
.me
.REG
[0] = NIT_NULL
;
2771 /* ./syntax//mmbuilder.nit:505 */
2775 stack_frame_head
= fra
.me
.prev
;
2778 val_t
mmbuilder___AIntrudeVisibility___level(val_t p0
){
2779 struct {struct stack_frame_t me
;} fra
;
2782 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2783 fra
.me
.file
= LOCATE_mmbuilder
;
2785 fra
.me
.meth
= LOCATE_mmbuilder___AIntrudeVisibility___level
;
2786 fra
.me
.has_broke
= 0;
2787 fra
.me
.REG_size
= 1;
2788 fra
.me
.REG
[0] = NIT_NULL
;
2790 /* ./syntax//mmbuilder.nit:508 */
2794 stack_frame_head
= fra
.me
.prev
;
2797 val_t
mmbuilder___AClassdef___local_class(val_t p0
){
2798 struct {struct stack_frame_t me
;} fra
;
2801 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2802 fra
.me
.file
= LOCATE_mmbuilder
;
2804 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___local_class
;
2805 fra
.me
.has_broke
= 0;
2806 fra
.me
.REG_size
= 1;
2807 fra
.me
.REG
[0] = NIT_NULL
;
2809 /* ./syntax//mmbuilder.nit:513 */
2810 fra
.me
.REG
[0] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
2811 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
2812 if (UNTAG_Bool(REGB0
)) {
2814 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 513);
2818 stack_frame_head
= fra
.me
.prev
;
2819 return fra
.me
.REG
[0];
2821 val_t
mmbuilder___AClassdef___name(val_t p0
){
2822 struct {struct stack_frame_t me
;} fra
;
2824 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2825 fra
.me
.file
= LOCATE_mmbuilder
;
2827 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___name
;
2828 fra
.me
.has_broke
= 0;
2829 fra
.me
.REG_size
= 0;
2830 /* ./syntax//mmbuilder.nit:516 */
2831 nit_abort("Deferred method called", NULL
, LOCATE_mmbuilder
, 516);
2832 stack_frame_head
= fra
.me
.prev
;
2835 val_t
mmbuilder___AClassdef___arity(val_t p0
){
2836 struct {struct stack_frame_t me
;} fra
;
2839 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2840 fra
.me
.file
= LOCATE_mmbuilder
;
2842 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___arity
;
2843 fra
.me
.has_broke
= 0;
2844 fra
.me
.REG_size
= 1;
2845 fra
.me
.REG
[0] = NIT_NULL
;
2847 /* ./syntax//mmbuilder.nit:520 */
2851 stack_frame_head
= fra
.me
.prev
;
2854 val_t
mmbuilder___AClassdef___visibility_level(val_t p0
){
2855 struct {struct stack_frame_t me
;} fra
;
2858 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2859 fra
.me
.file
= LOCATE_mmbuilder
;
2861 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___visibility_level
;
2862 fra
.me
.has_broke
= 0;
2863 fra
.me
.REG_size
= 1;
2864 fra
.me
.REG
[0] = NIT_NULL
;
2866 /* ./syntax//mmbuilder.nit:523 */
2870 stack_frame_head
= fra
.me
.prev
;
2873 void mmbuilder___AClassdef___accept_class_builder(val_t p0
, val_t p1
){
2874 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
2878 static val_t once_value_1
; /* Once value */
2879 static val_t once_value_2
; /* Once value */
2880 static val_t once_value_3
; /* Once value */
2881 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2882 fra
.me
.file
= LOCATE_mmbuilder
;
2884 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___accept_class_builder
;
2885 fra
.me
.has_broke
= 0;
2886 fra
.me
.REG_size
= 9;
2887 fra
.me
.REG
[0] = NIT_NULL
;
2888 fra
.me
.REG
[1] = NIT_NULL
;
2889 fra
.me
.REG
[2] = NIT_NULL
;
2890 fra
.me
.REG
[3] = NIT_NULL
;
2891 fra
.me
.REG
[4] = NIT_NULL
;
2892 fra
.me
.REG
[5] = NIT_NULL
;
2893 fra
.me
.REG
[6] = NIT_NULL
;
2894 fra
.me
.REG
[7] = NIT_NULL
;
2895 fra
.me
.REG
[8] = NIT_NULL
;
2898 /* ./syntax//mmbuilder.nit:525 */
2899 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2900 fra
.me
.REG
[3] = fra
.me
.REG
[1];
2901 /* ./syntax//mmbuilder.nit:528 */
2902 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2903 /* ./syntax//mmbuilder.nit:529 */
2904 fra
.me
.REG
[5] = CALL_syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2905 /* ./syntax//mmbuilder.nit:530 */
2906 fra
.me
.REG
[6] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2907 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2908 if (UNTAG_Bool(REGB0
)) {
2909 /* ./syntax//mmbuilder.nit:531 */
2910 fra
.me
.REG
[6] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2911 fra
.me
.REG
[6] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2912 /* ./syntax//mmbuilder.nit:532 */
2913 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_AStdClassdef
, ID_AStdClassdef
)) /*cast AStdClassdef*/;
2914 if (UNTAG_Bool(REGB0
)) {
2915 /* ./syntax//mmbuilder.nit:534 */
2917 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
2918 if (!once_value_1
) {
2919 fra
.me
.REG
[8] = BOX_NativeString("Error: A class ");
2920 REGB0
= TAG_Int(15);
2921 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2922 once_value_1
= fra
.me
.REG
[8];
2923 register_static_object(&once_value_1
);
2924 } else fra
.me
.REG
[8] = once_value_1
;
2925 fra
.me
.REG
[8] = fra
.me
.REG
[8];
2926 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2927 fra
.me
.REG
[8] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2928 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2929 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2930 if (!once_value_2
) {
2931 fra
.me
.REG
[8] = BOX_NativeString(" is already defined at line ");
2932 REGB0
= TAG_Int(28);
2933 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2934 once_value_2
= fra
.me
.REG
[8];
2935 register_static_object(&once_value_2
);
2936 } else fra
.me
.REG
[8] = once_value_2
;
2937 fra
.me
.REG
[8] = fra
.me
.REG
[8];
2938 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2939 fra
.me
.REG
[8] = CALL_syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2940 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
2941 if (UNTAG_Bool(REGB0
)) {
2942 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 534);
2944 fra
.me
.REG
[8] = CALL_parser_nodes___ANode___location(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2945 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2946 fra
.me
.REG
[8] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2947 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2948 if (!once_value_3
) {
2949 fra
.me
.REG
[8] = BOX_NativeString(".");
2951 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2952 once_value_3
= fra
.me
.REG
[8];
2953 register_static_object(&once_value_3
);
2954 } else fra
.me
.REG
[8] = once_value_3
;
2955 fra
.me
.REG
[8] = fra
.me
.REG
[8];
2956 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2957 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2958 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
2959 /* ./syntax//mmbuilder.nit:535 */
2962 /* ./syntax//mmbuilder.nit:538 */
2963 fra
.me
.REG
[7] = CALL_syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2964 /* ./syntax//mmbuilder.nit:539 */
2966 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2967 if (UNTAG_Bool(REGB0
)) {
2968 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 539);
2970 fra
.me
.REG
[8] = CALL_syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2971 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
2972 if (UNTAG_Bool(REGB0
)) {
2974 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
2975 if (UNTAG_Bool(REGB1
)) {
2976 REGB1
= TAG_Bool(false);
2979 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
2983 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2984 if (UNTAG_Bool(REGB0
)) {
2985 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2986 if (UNTAG_Bool(REGB0
)) {
2987 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 539);
2989 fra
.me
.REG
[8] = CALL_syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2990 fra
.me
.REG
[7] = fra
.me
.REG
[8];
2996 /* ./syntax//mmbuilder.nit:540 */
2997 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
2998 if (UNTAG_Bool(REGB0
)) {
2999 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 540);
3001 CALL_syntax_base___AClassdef___next_node__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3003 /* ./syntax//mmbuilder.nit:542 */
3004 fra
.me
.REG
[7] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3005 REGB0
= CALL_mmbuilder___AClassdef___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3006 fra
.me
.REG
[7] = NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[4], fra
.me
.REG
[7], fra
.me
.REG
[2], REGB0
);
3007 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3008 /* ./syntax//mmbuilder.nit:543 */
3009 fra
.me
.REG
[7] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3010 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7], fra
.me
.REG
[6]);
3011 /* ./syntax//mmbuilder.nit:544 */
3012 fra
.me
.REG
[7] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3013 REGB0
= CALL_abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3014 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3015 if (UNTAG_Bool(REGB0
)) {
3016 /* ./syntax//mmbuilder.nit:545 */
3017 CALL_abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3019 /* ./syntax//mmbuilder.nit:547 */
3020 fra
.me
.REG
[7] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3021 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMModule___global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3022 CALL_abstractmetamodel___MMLocalClass___set_global(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3025 /* ./syntax//mmbuilder.nit:551 */
3026 ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3027 /* ./syntax//mmbuilder.nit:552 */
3029 CALL_mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
3030 /* ./syntax//mmbuilder.nit:553 */
3031 fra
.me
.REG
[6] = CALL_syntax_base___MMSrcLocalClass___formal_dict(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3032 CALL_mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3033 /* ./syntax//mmbuilder.nit:556 */
3034 CALL_SUPER_mmbuilder___AClassdef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3035 /* ./syntax//mmbuilder.nit:559 */
3036 CALL_mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3038 stack_frame_head
= fra
.me
.prev
;
3041 void mmbuilder___AClassdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
3042 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3044 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3045 fra
.me
.file
= LOCATE_mmbuilder
;
3047 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___accept_abs_syntax_visitor
;
3048 fra
.me
.has_broke
= 0;
3049 fra
.me
.REG_size
= 4;
3050 fra
.me
.REG
[0] = NIT_NULL
;
3051 fra
.me
.REG
[1] = NIT_NULL
;
3052 fra
.me
.REG
[2] = NIT_NULL
;
3053 fra
.me
.REG
[3] = NIT_NULL
;
3056 /* ./syntax//mmbuilder.nit:562 */
3057 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3058 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3059 /* ./syntax//mmbuilder.nit:564 */
3060 fra
.me
.REG
[2] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3061 CALL_syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3062 /* ./syntax//mmbuilder.nit:565 */
3063 CALL_SUPER_mmbuilder___AClassdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3064 /* ./syntax//mmbuilder.nit:566 */
3065 CALL_syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3066 stack_frame_head
= fra
.me
.prev
;
3069 val_t
mmbuilder___AClasskind___is_interface(val_t p0
){
3070 struct {struct stack_frame_t me
;} fra
;
3073 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3074 fra
.me
.file
= LOCATE_mmbuilder
;
3076 fra
.me
.meth
= LOCATE_mmbuilder___AClasskind___is_interface
;
3077 fra
.me
.has_broke
= 0;
3078 fra
.me
.REG_size
= 1;
3079 fra
.me
.REG
[0] = NIT_NULL
;
3081 /* ./syntax//mmbuilder.nit:571 */
3082 REGB0
= TAG_Bool(false);
3085 stack_frame_head
= fra
.me
.prev
;
3088 val_t
mmbuilder___AClasskind___is_universal(val_t p0
){
3089 struct {struct stack_frame_t me
;} fra
;
3092 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3093 fra
.me
.file
= LOCATE_mmbuilder
;
3095 fra
.me
.meth
= LOCATE_mmbuilder___AClasskind___is_universal
;
3096 fra
.me
.has_broke
= 0;
3097 fra
.me
.REG_size
= 1;
3098 fra
.me
.REG
[0] = NIT_NULL
;
3100 /* ./syntax//mmbuilder.nit:572 */
3101 REGB0
= TAG_Bool(false);
3104 stack_frame_head
= fra
.me
.prev
;
3107 val_t
mmbuilder___AClasskind___is_abstract(val_t p0
){
3108 struct {struct stack_frame_t me
;} fra
;
3111 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3112 fra
.me
.file
= LOCATE_mmbuilder
;
3114 fra
.me
.meth
= LOCATE_mmbuilder___AClasskind___is_abstract
;
3115 fra
.me
.has_broke
= 0;
3116 fra
.me
.REG_size
= 1;
3117 fra
.me
.REG
[0] = NIT_NULL
;
3119 /* ./syntax//mmbuilder.nit:573 */
3120 REGB0
= TAG_Bool(false);
3123 stack_frame_head
= fra
.me
.prev
;
3126 val_t
mmbuilder___AInterfaceClasskind___is_interface(val_t p0
){
3127 struct {struct stack_frame_t me
;} fra
;
3130 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3131 fra
.me
.file
= LOCATE_mmbuilder
;
3133 fra
.me
.meth
= LOCATE_mmbuilder___AInterfaceClasskind___is_interface
;
3134 fra
.me
.has_broke
= 0;
3135 fra
.me
.REG_size
= 1;
3136 fra
.me
.REG
[0] = NIT_NULL
;
3138 /* ./syntax//mmbuilder.nit:577 */
3139 REGB0
= TAG_Bool(true);
3142 stack_frame_head
= fra
.me
.prev
;
3145 val_t
mmbuilder___AUniversalClasskind___is_universal(val_t p0
){
3146 struct {struct stack_frame_t me
;} fra
;
3149 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3150 fra
.me
.file
= LOCATE_mmbuilder
;
3152 fra
.me
.meth
= LOCATE_mmbuilder___AUniversalClasskind___is_universal
;
3153 fra
.me
.has_broke
= 0;
3154 fra
.me
.REG_size
= 1;
3155 fra
.me
.REG
[0] = NIT_NULL
;
3157 /* ./syntax//mmbuilder.nit:580 */
3158 REGB0
= TAG_Bool(true);
3161 stack_frame_head
= fra
.me
.prev
;
3164 val_t
mmbuilder___AAbstractClasskind___is_abstract(val_t p0
){
3165 struct {struct stack_frame_t me
;} fra
;
3168 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3169 fra
.me
.file
= LOCATE_mmbuilder
;
3171 fra
.me
.meth
= LOCATE_mmbuilder___AAbstractClasskind___is_abstract
;
3172 fra
.me
.has_broke
= 0;
3173 fra
.me
.REG_size
= 1;
3174 fra
.me
.REG
[0] = NIT_NULL
;
3176 /* ./syntax//mmbuilder.nit:583 */
3177 REGB0
= TAG_Bool(true);
3180 stack_frame_head
= fra
.me
.prev
;
3183 val_t
mmbuilder___AStdClassdef___name(val_t p0
){
3184 struct {struct stack_frame_t me
;} fra
;
3187 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3188 fra
.me
.file
= LOCATE_mmbuilder
;
3190 fra
.me
.meth
= LOCATE_mmbuilder___AStdClassdef___name
;
3191 fra
.me
.has_broke
= 0;
3192 fra
.me
.REG_size
= 1;
3193 fra
.me
.REG
[0] = NIT_NULL
;
3195 /* ./syntax//mmbuilder.nit:589 */
3196 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3197 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3198 if (UNTAG_Bool(REGB0
)) {
3199 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 589);
3201 fra
.me
.REG
[0] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3204 stack_frame_head
= fra
.me
.prev
;
3205 return fra
.me
.REG
[0];
3207 val_t
mmbuilder___AStdClassdef___arity(val_t p0
){
3208 struct {struct stack_frame_t me
;} fra
;
3211 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3212 fra
.me
.file
= LOCATE_mmbuilder
;
3214 fra
.me
.meth
= LOCATE_mmbuilder___AStdClassdef___arity
;
3215 fra
.me
.has_broke
= 0;
3216 fra
.me
.REG_size
= 1;
3217 fra
.me
.REG
[0] = NIT_NULL
;
3219 /* ./syntax//mmbuilder.nit:593 */
3220 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_formaldefs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3221 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3224 stack_frame_head
= fra
.me
.prev
;
3227 void mmbuilder___AStdClassdef___accept_class_verifier(val_t p0
, val_t p1
){
3228 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3233 static val_t once_value_1
; /* Once value */
3234 static val_t once_value_2
; /* Once value */
3235 static val_t once_value_3
; /* Once value */
3236 static val_t once_value_4
; /* Once value */
3237 static val_t once_value_5
; /* Once value */
3238 static val_t once_value_6
; /* Once value */
3239 static val_t once_value_7
; /* Once value */
3240 static val_t once_value_8
; /* Once value */
3241 static val_t once_value_9
; /* Once value */
3242 static val_t once_value_10
; /* Once value */
3243 static val_t once_value_11
; /* Once value */
3244 static val_t once_value_12
; /* Once value */
3245 static val_t once_value_13
; /* Once value */
3246 static val_t once_value_14
; /* Once value */
3247 static val_t once_value_17
; /* Once value */
3248 static val_t once_value_18
; /* Once value */
3249 static val_t once_value_19
; /* Once value */
3250 static val_t once_value_20
; /* Once value */
3251 static val_t once_value_21
; /* Once value */
3252 static val_t once_value_22
; /* Once value */
3253 static val_t once_value_23
; /* Once value */
3254 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3255 fra
.me
.file
= LOCATE_mmbuilder
;
3257 fra
.me
.meth
= LOCATE_mmbuilder___AStdClassdef___accept_class_verifier
;
3258 fra
.me
.has_broke
= 0;
3259 fra
.me
.REG_size
= 9;
3260 fra
.me
.REG
[0] = NIT_NULL
;
3261 fra
.me
.REG
[1] = NIT_NULL
;
3262 fra
.me
.REG
[2] = NIT_NULL
;
3263 fra
.me
.REG
[3] = NIT_NULL
;
3264 fra
.me
.REG
[4] = NIT_NULL
;
3265 fra
.me
.REG
[5] = NIT_NULL
;
3266 fra
.me
.REG
[6] = NIT_NULL
;
3267 fra
.me
.REG
[7] = NIT_NULL
;
3268 fra
.me
.REG
[8] = NIT_NULL
;
3271 /* ./syntax//mmbuilder.nit:595 */
3272 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3273 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3274 /* ./syntax//mmbuilder.nit:597 */
3275 CALL_SUPER_mmbuilder___AStdClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3276 /* ./syntax//mmbuilder.nit:598 */
3277 fra
.me
.REG
[1] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3278 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3279 if (UNTAG_Bool(REGB0
)) {
3280 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 598);
3282 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3283 /* ./syntax//mmbuilder.nit:599 */
3284 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3285 fra
.me
.REG
[4] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3286 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
3287 if (UNTAG_Bool(REGB0
)) {
3289 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3292 if (UNTAG_Bool(REGB0
)) {
3293 /* ./syntax//mmbuilder.nit:601 */
3294 REGB0
= CALL_mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3295 CALL_abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3296 /* ./syntax//mmbuilder.nit:602 */
3297 fra
.me
.REG
[4] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3298 REGB0
= CALL_mmbuilder___AClasskind___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3299 CALL_abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3300 /* ./syntax//mmbuilder.nit:603 */
3301 fra
.me
.REG
[4] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3302 REGB0
= CALL_mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3303 CALL_abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3304 /* ./syntax//mmbuilder.nit:604 */
3305 fra
.me
.REG
[4] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3306 REGB0
= CALL_mmbuilder___AClasskind___is_universal(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3307 CALL_abstractmetamodel___MMGlobalClass___is_universal__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3308 /* ./syntax//mmbuilder.nit:605 */
3309 fra
.me
.REG
[4] = CALL_parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3310 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3311 if (UNTAG_Bool(REGB0
)) {
3313 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3314 if (UNTAG_Bool(REGB1
)) {
3315 REGB1
= TAG_Bool(false);
3318 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
3322 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3323 if (UNTAG_Bool(REGB0
)) {
3324 /* ./syntax//mmbuilder.nit:606 */
3326 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
3327 if (!once_value_1
) {
3328 fra
.me
.REG
[0] = BOX_NativeString("Redef error: No class ");
3329 REGB0
= TAG_Int(22);
3330 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3331 once_value_1
= fra
.me
.REG
[0];
3332 register_static_object(&once_value_1
);
3333 } else fra
.me
.REG
[0] = once_value_1
;
3334 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3335 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3336 fra
.me
.REG
[0] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3337 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3338 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3339 if (!once_value_2
) {
3340 fra
.me
.REG
[0] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
3341 REGB0
= TAG_Int(61);
3342 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3343 once_value_2
= fra
.me
.REG
[0];
3344 register_static_object(&once_value_2
);
3345 } else fra
.me
.REG
[0] = once_value_2
;
3346 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3347 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3348 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3349 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
3351 /* ./syntax//mmbuilder.nit:609 */
3352 fra
.me
.REG
[4] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3353 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3354 if (UNTAG_Bool(REGB0
)) {
3355 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 609);
3357 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3358 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3359 /* ./../lib/standard//collection//array.nit:234 */
3361 /* ./../lib/standard//collection//array.nit:235 */
3362 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
3363 if (UNTAG_Bool(REGB1
)) {
3365 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
3367 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
3368 /* ./../lib/standard//collection//array.nit:236 */
3369 fra
.me
.REG
[0] = ATTR_array___Array____items(fra
.me
.REG
[4]);
3370 /* ./../lib/standard//collection//array.nit:237 */
3372 /* ./../lib/standard//collection//array.nit:23 */
3373 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
3374 if (UNTAG_Bool(REGB1
)) {
3376 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
3378 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
3379 /* ./../lib/standard//kernel.nit:212 */
3380 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3381 /* ./../lib/standard//collection//array.nit:237 */
3382 if (UNTAG_Bool(REGB1
)) {
3383 /* ./../lib/standard//collection//array.nit:238 */
3384 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3385 if (UNTAG_Bool(REGB1
)) {
3386 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
3388 /* ./../lib/standard//collection//array.nit:654 */
3389 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
3390 /* ./syntax//mmbuilder.nit:610 */
3391 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3392 /* ./syntax//mmbuilder.nit:611 */
3393 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3394 if (UNTAG_Bool(REGB1
)) {
3395 /* ./syntax//mmbuilder.nit:612 */
3396 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_universal(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3397 if (UNTAG_Bool(REGB1
)) {
3398 /* ./syntax//mmbuilder.nit:613 */
3400 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
3401 if (!once_value_3
) {
3402 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3403 REGB1
= TAG_Int(25);
3404 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3405 once_value_3
= fra
.me
.REG
[8];
3406 register_static_object(&once_value_3
);
3407 } else fra
.me
.REG
[8] = once_value_3
;
3408 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3409 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3410 fra
.me
.REG
[8] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3411 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3412 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3413 if (!once_value_4
) {
3414 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise universal class ");
3415 REGB1
= TAG_Int(35);
3416 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3417 once_value_4
= fra
.me
.REG
[8];
3418 register_static_object(&once_value_4
);
3419 } else fra
.me
.REG
[8] = once_value_4
;
3420 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3421 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3422 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3423 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3424 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3425 if (!once_value_5
) {
3426 fra
.me
.REG
[8] = BOX_NativeString(".");
3428 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3429 once_value_5
= fra
.me
.REG
[8];
3430 register_static_object(&once_value_5
);
3431 } else fra
.me
.REG
[8] = once_value_5
;
3432 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3433 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3434 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3435 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3437 /* ./syntax//mmbuilder.nit:614 */
3438 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3439 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3440 if (UNTAG_Bool(REGB1
)) {
3441 /* ./syntax//mmbuilder.nit:615 */
3443 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
3444 if (!once_value_6
) {
3445 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3446 REGB1
= TAG_Int(25);
3447 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3448 once_value_6
= fra
.me
.REG
[8];
3449 register_static_object(&once_value_6
);
3450 } else fra
.me
.REG
[8] = once_value_6
;
3451 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3452 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3453 fra
.me
.REG
[8] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3454 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3455 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3456 if (!once_value_7
) {
3457 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3458 REGB1
= TAG_Int(25);
3459 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3460 once_value_7
= fra
.me
.REG
[8];
3461 register_static_object(&once_value_7
);
3462 } else fra
.me
.REG
[8] = once_value_7
;
3463 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3464 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3465 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3466 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3467 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3468 if (!once_value_8
) {
3469 fra
.me
.REG
[8] = BOX_NativeString(".");
3471 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3472 once_value_8
= fra
.me
.REG
[8];
3473 register_static_object(&once_value_8
);
3474 } else fra
.me
.REG
[8] = once_value_8
;
3475 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3476 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3477 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3478 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3482 /* ./syntax//mmbuilder.nit:617 */
3483 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_universal(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3484 if (UNTAG_Bool(REGB1
)) {
3485 /* ./syntax//mmbuilder.nit:618 */
3486 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3487 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3488 if (UNTAG_Bool(REGB1
)) {
3489 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_universal(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3490 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3492 REGB2
= TAG_Bool(false);
3495 if (UNTAG_Bool(REGB1
)) {
3496 /* ./syntax//mmbuilder.nit:619 */
3498 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
3499 if (!once_value_9
) {
3500 fra
.me
.REG
[8] = BOX_NativeString("Special error: Universal class ");
3501 REGB1
= TAG_Int(31);
3502 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3503 once_value_9
= fra
.me
.REG
[8];
3504 register_static_object(&once_value_9
);
3505 } else fra
.me
.REG
[8] = once_value_9
;
3506 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3507 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3508 fra
.me
.REG
[8] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3509 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3510 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3511 if (!once_value_10
) {
3512 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3513 REGB1
= TAG_Int(25);
3514 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3515 once_value_10
= fra
.me
.REG
[8];
3516 register_static_object(&once_value_10
);
3517 } else fra
.me
.REG
[8] = once_value_10
;
3518 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3519 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3520 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3521 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3522 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3523 if (!once_value_11
) {
3524 fra
.me
.REG
[8] = BOX_NativeString(".");
3526 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3527 once_value_11
= fra
.me
.REG
[8];
3528 register_static_object(&once_value_11
);
3529 } else fra
.me
.REG
[8] = once_value_11
;
3530 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3531 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3532 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3533 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3536 /* ./syntax//mmbuilder.nit:622 */
3537 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_universal(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3538 if (UNTAG_Bool(REGB1
)) {
3539 /* ./syntax//mmbuilder.nit:623 */
3541 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
3542 if (!once_value_12
) {
3543 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
3544 REGB1
= TAG_Int(21);
3545 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
3546 once_value_12
= fra
.me
.REG
[7];
3547 register_static_object(&once_value_12
);
3548 } else fra
.me
.REG
[7] = once_value_12
;
3549 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3550 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3551 fra
.me
.REG
[7] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3552 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3553 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3554 if (!once_value_13
) {
3555 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise universal class ");
3556 REGB1
= TAG_Int(35);
3557 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
3558 once_value_13
= fra
.me
.REG
[7];
3559 register_static_object(&once_value_13
);
3560 } else fra
.me
.REG
[7] = once_value_13
;
3561 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3562 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3563 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3564 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3565 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3566 if (!once_value_14
) {
3567 fra
.me
.REG
[5] = BOX_NativeString(".");
3569 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
3570 once_value_14
= fra
.me
.REG
[5];
3571 register_static_object(&once_value_14
);
3572 } else fra
.me
.REG
[5] = once_value_14
;
3573 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3574 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3575 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3576 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
3580 /* ./../lib/standard//collection//array.nit:239 */
3582 /* ./../lib/standard//kernel.nit:215 */
3583 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3584 /* ./../lib/standard//collection//array.nit:239 */
3587 /* ./../lib/standard//collection//array.nit:237 */
3592 /* ./syntax//mmbuilder.nit:628 */
3595 /* ./syntax//mmbuilder.nit:633 */
3596 fra
.me
.REG
[0] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3597 CALL_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]);
3598 /* ./syntax//mmbuilder.nit:634 */
3599 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3600 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3601 if (UNTAG_Bool(REGB0
)) {
3603 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3604 if (UNTAG_Bool(REGB1
)) {
3605 REGB1
= TAG_Bool(false);
3608 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
3612 if (UNTAG_Bool(REGB0
)) {
3613 /* ./syntax//mmbuilder.nit:635 */
3615 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
3616 if (!once_value_17
) {
3617 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
3618 REGB0
= TAG_Int(13);
3619 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3620 once_value_17
= fra
.me
.REG
[4];
3621 register_static_object(&once_value_17
);
3622 } else fra
.me
.REG
[4] = once_value_17
;
3623 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3624 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3625 fra
.me
.REG
[4] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3626 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3627 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3628 if (!once_value_18
) {
3629 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
3630 REGB0
= TAG_Int(58);
3631 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3632 once_value_18
= fra
.me
.REG
[4];
3633 register_static_object(&once_value_18
);
3634 } else fra
.me
.REG
[4] = once_value_18
;
3635 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3636 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3637 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3638 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3639 /* ./syntax//mmbuilder.nit:636 */
3642 /* ./syntax//mmbuilder.nit:639 */
3643 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3644 REGB0
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3645 fra
.me
.REG
[0] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3646 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3647 if (UNTAG_Bool(REGB1
)) {
3648 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 639);
3650 REGB1
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3651 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
3652 if (UNTAG_Bool(REGB2
)) {
3654 /* ./../lib/standard//kernel.nit:207 */
3655 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
3656 /* ./syntax//mmbuilder.nit:639 */
3659 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3660 if (UNTAG_Bool(REGB2
)) {
3661 /* ./syntax//mmbuilder.nit:640 */
3663 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB2
);
3664 if (!once_value_19
) {
3665 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity missmatch; got ");
3666 REGB2
= TAG_Int(51);
3667 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3668 once_value_19
= fra
.me
.REG
[4];
3669 register_static_object(&once_value_19
);
3670 } else fra
.me
.REG
[4] = once_value_19
;
3671 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3672 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3673 fra
.me
.REG
[4] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3674 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3675 if (UNTAG_Bool(REGB2
)) {
3676 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 640);
3678 REGB2
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3679 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB2
)(REGB2
);
3680 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3681 if (!once_value_20
) {
3682 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
3683 REGB2
= TAG_Int(11);
3684 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3685 once_value_20
= fra
.me
.REG
[4];
3686 register_static_object(&once_value_20
);
3687 } else fra
.me
.REG
[4] = once_value_20
;
3688 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3689 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3690 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3691 REGB2
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3692 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB2
)(REGB2
);
3693 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3694 if (!once_value_21
) {
3695 fra
.me
.REG
[4] = BOX_NativeString(".");
3697 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3698 once_value_21
= fra
.me
.REG
[4];
3699 register_static_object(&once_value_21
);
3700 } else fra
.me
.REG
[4] = once_value_21
;
3701 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3702 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3703 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3704 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3706 /* ./syntax//mmbuilder.nit:644 */
3707 REGB2
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3708 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3709 if (UNTAG_Bool(REGB2
)) {
3710 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3711 REGB2
= CALL_mmbuilder___AClasskind___is_interface(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3713 REGB1
= TAG_Bool(false);
3716 if (UNTAG_Bool(REGB2
)) {
3717 REGB2
= TAG_Bool(true);
3719 /* ./syntax//mmbuilder.nit:645 */
3720 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3721 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3722 /* ./syntax//mmbuilder.nit:644 */
3725 if (UNTAG_Bool(REGB2
)) {
3726 /* ./syntax//mmbuilder.nit:645 */
3727 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3728 REGB2
= CALL_mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3730 /* ./syntax//mmbuilder.nit:644 */
3731 REGB1
= TAG_Bool(false);
3734 if (UNTAG_Bool(REGB2
)) {
3735 REGB2
= TAG_Bool(true);
3737 /* ./syntax//mmbuilder.nit:646 */
3738 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_universal(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3739 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3740 /* ./syntax//mmbuilder.nit:644 */
3743 if (UNTAG_Bool(REGB2
)) {
3744 /* ./syntax//mmbuilder.nit:646 */
3745 fra
.me
.REG
[1] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3746 REGB2
= CALL_mmbuilder___AClasskind___is_universal(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3748 /* ./syntax//mmbuilder.nit:644 */
3749 REGB1
= TAG_Bool(false);
3752 /* ./syntax//mmbuilder.nit:643 */
3753 if (UNTAG_Bool(REGB2
)) {
3754 /* ./syntax//mmbuilder.nit:648 */
3756 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB2
);
3757 if (!once_value_22
) {
3758 fra
.me
.REG
[0] = BOX_NativeString("Redef error: cannot change kind of class ");
3759 REGB2
= TAG_Int(41);
3760 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB2
);
3761 once_value_22
= fra
.me
.REG
[0];
3762 register_static_object(&once_value_22
);
3763 } else fra
.me
.REG
[0] = once_value_22
;
3764 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3765 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3766 fra
.me
.REG
[0] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3767 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3768 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3769 if (!once_value_23
) {
3770 fra
.me
.REG
[0] = BOX_NativeString(".");
3772 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB2
);
3773 once_value_23
= fra
.me
.REG
[0];
3774 register_static_object(&once_value_23
);
3775 } else fra
.me
.REG
[0] = once_value_23
;
3776 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3777 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3778 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3779 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[1]);
3782 stack_frame_head
= fra
.me
.prev
;
3785 val_t
mmbuilder___AStdClassdef___visibility_level(val_t p0
){
3786 struct {struct stack_frame_t me
;} fra
;
3789 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3790 fra
.me
.file
= LOCATE_mmbuilder
;
3792 fra
.me
.meth
= LOCATE_mmbuilder___AStdClassdef___visibility_level
;
3793 fra
.me
.has_broke
= 0;
3794 fra
.me
.REG_size
= 1;
3795 fra
.me
.REG
[0] = NIT_NULL
;
3797 /* ./syntax//mmbuilder.nit:654 */
3798 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3799 REGB0
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3802 stack_frame_head
= fra
.me
.prev
;
3805 val_t
mmbuilder___AMainClassdef___name(val_t p0
){
3806 struct {struct stack_frame_t me
;} fra
;
3809 static val_t once_value_1
; /* Once value */
3810 static val_t once_value_2
; /* Once value */
3811 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3812 fra
.me
.file
= LOCATE_mmbuilder
;
3814 fra
.me
.meth
= LOCATE_mmbuilder___AMainClassdef___name
;
3815 fra
.me
.has_broke
= 0;
3816 fra
.me
.REG_size
= 1;
3817 fra
.me
.REG
[0] = NIT_NULL
;
3819 /* ./syntax//mmbuilder.nit:661 */
3820 if (!once_value_1
) {
3821 if (!once_value_2
) {
3822 fra
.me
.REG
[0] = BOX_NativeString("Sys");
3824 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3825 once_value_2
= fra
.me
.REG
[0];
3826 register_static_object(&once_value_2
);
3827 } else fra
.me
.REG
[0] = once_value_2
;
3828 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3829 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3830 once_value_1
= fra
.me
.REG
[0];
3831 register_static_object(&once_value_1
);
3832 } else fra
.me
.REG
[0] = once_value_1
;
3833 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3836 stack_frame_head
= fra
.me
.prev
;
3837 return fra
.me
.REG
[0];
3839 val_t
mmbuilder___ATopClassdef___name(val_t p0
){
3840 struct {struct stack_frame_t me
;} fra
;
3843 static val_t once_value_1
; /* Once value */
3844 static val_t once_value_2
; /* Once value */
3845 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3846 fra
.me
.file
= LOCATE_mmbuilder
;
3848 fra
.me
.meth
= LOCATE_mmbuilder___ATopClassdef___name
;
3849 fra
.me
.has_broke
= 0;
3850 fra
.me
.REG_size
= 1;
3851 fra
.me
.REG
[0] = NIT_NULL
;
3853 /* ./syntax//mmbuilder.nit:668 */
3854 if (!once_value_1
) {
3855 if (!once_value_2
) {
3856 fra
.me
.REG
[0] = BOX_NativeString("Object");
3858 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3859 once_value_2
= fra
.me
.REG
[0];
3860 register_static_object(&once_value_2
);
3861 } else fra
.me
.REG
[0] = once_value_2
;
3862 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3863 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3864 once_value_1
= fra
.me
.REG
[0];
3865 register_static_object(&once_value_1
);
3866 } else fra
.me
.REG
[0] = once_value_1
;
3867 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3870 stack_frame_head
= fra
.me
.prev
;
3871 return fra
.me
.REG
[0];
3873 void mmbuilder___AFormaldef___accept_class_builder(val_t p0
, val_t p1
){
3874 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3878 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3879 fra
.me
.file
= LOCATE_mmbuilder
;
3881 fra
.me
.meth
= LOCATE_mmbuilder___AFormaldef___accept_class_builder
;
3882 fra
.me
.has_broke
= 0;
3883 fra
.me
.REG_size
= 6;
3884 fra
.me
.REG
[0] = NIT_NULL
;
3885 fra
.me
.REG
[1] = NIT_NULL
;
3886 fra
.me
.REG
[2] = NIT_NULL
;
3887 fra
.me
.REG
[3] = NIT_NULL
;
3888 fra
.me
.REG
[4] = NIT_NULL
;
3889 fra
.me
.REG
[5] = NIT_NULL
;
3892 /* ./syntax//mmbuilder.nit:676 */
3893 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3894 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3895 /* ./syntax//mmbuilder.nit:678 */
3896 fra
.me
.REG
[4] = CALL_parser_nodes___AFormaldef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3897 fra
.me
.REG
[4] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3898 /* ./syntax//mmbuilder.nit:679 */
3899 REGB0
= CALL_mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3900 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3901 fra
.me
.REG
[5] = NEW_MMTypeFormalParameter_genericity___MMTypeFormalParameter___init(fra
.me
.REG
[4], REGB0
, fra
.me
.REG
[5]);
3902 /* ./syntax//mmbuilder.nit:680 */
3903 ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]) = fra
.me
.REG
[5];
3904 /* ./syntax//mmbuilder.nit:681 */
3905 REGB0
= CALL_mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3907 /* ./../lib/standard//kernel.nit:215 */
3908 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3909 /* ./syntax//mmbuilder.nit:681 */
3910 CALL_mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
3911 /* ./syntax//mmbuilder.nit:682 */
3912 fra
.me
.REG
[2] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3913 CALL_genericity___MMLocalClass___register_formal(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
3914 /* ./syntax//mmbuilder.nit:683 */
3915 fra
.me
.REG
[3] = CALL_mmbuilder___ClassBuilderVisitor___formals(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3916 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3917 if (UNTAG_Bool(REGB1
)) {
3918 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 683);
3920 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
3921 /* ./syntax//mmbuilder.nit:684 */
3922 CALL_SUPER_mmbuilder___AFormaldef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3923 stack_frame_head
= fra
.me
.prev
;
3926 void mmbuilder___AFormaldef___accept_class_verifier(val_t p0
, val_t p1
){
3927 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3931 static val_t once_value_2
; /* Once value */
3932 static val_t once_value_3
; /* Once value */
3933 static val_t once_value_4
; /* Once value */
3934 static val_t once_value_5
; /* Once value */
3935 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3936 fra
.me
.file
= LOCATE_mmbuilder
;
3938 fra
.me
.meth
= LOCATE_mmbuilder___AFormaldef___accept_class_verifier
;
3939 fra
.me
.has_broke
= 0;
3940 fra
.me
.REG_size
= 6;
3941 fra
.me
.REG
[0] = NIT_NULL
;
3942 fra
.me
.REG
[1] = NIT_NULL
;
3943 fra
.me
.REG
[2] = NIT_NULL
;
3944 fra
.me
.REG
[3] = NIT_NULL
;
3945 fra
.me
.REG
[4] = NIT_NULL
;
3946 fra
.me
.REG
[5] = NIT_NULL
;
3949 /* ./syntax//mmbuilder.nit:687 */
3950 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3951 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3952 /* ./syntax//mmbuilder.nit:689 */
3953 CALL_SUPER_mmbuilder___AFormaldef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3954 /* ./syntax//mmbuilder.nit:690 */
3955 fra
.me
.REG
[1] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3956 /* ./syntax//mmbuilder.nit:691 */
3957 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3958 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3959 /* ./syntax//mmbuilder.nit:692 */
3960 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
3961 if (UNTAG_Bool(REGB0
)) {
3963 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3966 if (UNTAG_Bool(REGB0
)) {
3967 /* ./syntax//mmbuilder.nit:693 */
3968 fra
.me
.REG
[4] = CALL_parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3969 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3970 if (UNTAG_Bool(REGB0
)) {
3972 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3973 if (UNTAG_Bool(REGB1
)) {
3974 REGB1
= TAG_Bool(false);
3977 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
3981 if (UNTAG_Bool(REGB0
)) {
3982 /* ./syntax//mmbuilder.nit:694 */
3983 fra
.me
.REG
[4] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
3984 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3985 fra
.me
.REG
[5] = CALL_inheritance___MMModule___type_any(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3986 fra
.me
.REG
[5] = CALL_static_type___MMType___as_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3987 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3988 if (UNTAG_Bool(REGB0
)) {
3989 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 694);
3991 CALL_genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
3993 /* ./syntax//mmbuilder.nit:696 */
3994 fra
.me
.REG
[5] = CALL_parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3995 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
3996 if (UNTAG_Bool(REGB0
)) {
3997 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 696);
3999 fra
.me
.REG
[5] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4000 /* ./syntax//mmbuilder.nit:697 */
4001 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4002 if (UNTAG_Bool(REGB0
)) {
4004 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4005 if (UNTAG_Bool(REGB1
)) {
4006 REGB1
= TAG_Bool(false);
4009 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4013 if (UNTAG_Bool(REGB0
)) {
4016 /* ./syntax//mmbuilder.nit:698 */
4017 fra
.me
.REG
[4] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4018 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4019 if (UNTAG_Bool(REGB0
)) {
4020 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 698);
4022 CALL_genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4025 /* ./syntax//mmbuilder.nit:701 */
4026 fra
.me
.REG
[5] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4027 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4028 if (UNTAG_Bool(REGB0
)) {
4029 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 701);
4031 REGB0
= CALL_genericity___MMTypeFormalParameter___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4032 fra
.me
.REG
[0] = CALL_genericity___MMLocalClass___get_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
4033 fra
.me
.REG
[0] = CALL_type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4034 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4035 fra
.me
.REG
[5] = CALL_static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4036 /* ./syntax//mmbuilder.nit:702 */
4037 fra
.me
.REG
[0] = CALL_parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4038 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4039 if (UNTAG_Bool(REGB0
)) {
4041 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4042 if (UNTAG_Bool(REGB1
)) {
4043 REGB1
= TAG_Bool(false);
4046 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4050 if (UNTAG_Bool(REGB0
)) {
4051 /* ./syntax//mmbuilder.nit:703 */
4052 fra
.me
.REG
[0] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4053 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4054 if (UNTAG_Bool(REGB0
)) {
4055 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 703);
4057 CALL_genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4059 /* ./syntax//mmbuilder.nit:705 */
4060 fra
.me
.REG
[0] = CALL_parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4061 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4062 if (UNTAG_Bool(REGB0
)) {
4063 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 705);
4065 fra
.me
.REG
[0] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4066 /* ./syntax//mmbuilder.nit:706 */
4067 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4068 if (UNTAG_Bool(REGB0
)) {
4070 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4071 if (UNTAG_Bool(REGB1
)) {
4072 REGB1
= TAG_Bool(false);
4075 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4079 if (UNTAG_Bool(REGB0
)) {
4082 /* ./syntax//mmbuilder.nit:707 */
4083 fra
.me
.REG
[4] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4084 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4085 if (UNTAG_Bool(REGB0
)) {
4086 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 707);
4088 CALL_genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4089 /* ./syntax//mmbuilder.nit:708 */
4090 fra
.me
.REG
[0] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4091 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4092 if (UNTAG_Bool(REGB0
)) {
4093 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 708);
4095 fra
.me
.REG
[0] = CALL_type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4096 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[5]));
4097 if (UNTAG_Bool(REGB0
)) {
4099 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4102 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4103 if (UNTAG_Bool(REGB0
)) {
4104 /* ./syntax//mmbuilder.nit:709 */
4106 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
4107 if (!once_value_2
) {
4108 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Cannot change formal parameter type of class ");
4109 REGB0
= TAG_Int(58);
4110 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4111 once_value_2
= fra
.me
.REG
[4];
4112 register_static_object(&once_value_2
);
4113 } else fra
.me
.REG
[4] = once_value_2
;
4114 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4115 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4116 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4117 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4118 if (!once_value_3
) {
4119 fra
.me
.REG
[1] = BOX_NativeString("; got ");
4121 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
4122 once_value_3
= fra
.me
.REG
[1];
4123 register_static_object(&once_value_3
);
4124 } else fra
.me
.REG
[1] = once_value_3
;
4125 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4126 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4127 fra
.me
.REG
[1] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4128 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4129 if (UNTAG_Bool(REGB0
)) {
4130 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 709);
4132 fra
.me
.REG
[1] = CALL_type_formal___MMTypeFormal___bound(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4133 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4134 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4135 if (!once_value_4
) {
4136 fra
.me
.REG
[1] = BOX_NativeString(", expected ");
4137 REGB0
= TAG_Int(11);
4138 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
4139 once_value_4
= fra
.me
.REG
[1];
4140 register_static_object(&once_value_4
);
4141 } else fra
.me
.REG
[1] = once_value_4
;
4142 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4143 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4144 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4145 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4146 if (!once_value_5
) {
4147 fra
.me
.REG
[5] = BOX_NativeString(".");
4149 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4150 once_value_5
= fra
.me
.REG
[5];
4151 register_static_object(&once_value_5
);
4152 } else fra
.me
.REG
[5] = once_value_5
;
4153 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4154 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4155 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4156 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4161 stack_frame_head
= fra
.me
.prev
;
4164 val_t
mmbuilder___ASuperclass___ancestor(val_t p0
){
4165 struct {struct stack_frame_t me
;} fra
;
4167 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4168 fra
.me
.file
= LOCATE_mmbuilder
;
4170 fra
.me
.meth
= LOCATE_mmbuilder___ASuperclass___ancestor
;
4171 fra
.me
.has_broke
= 0;
4172 fra
.me
.REG_size
= 1;
4173 fra
.me
.REG
[0] = NIT_NULL
;
4175 /* ./syntax//mmbuilder.nit:717 */
4176 fra
.me
.REG
[0] = ATTR_mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[0]);
4177 stack_frame_head
= fra
.me
.prev
;
4178 return fra
.me
.REG
[0];
4180 void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t p0
, val_t p1
){
4181 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4185 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4186 fra
.me
.file
= LOCATE_mmbuilder
;
4188 fra
.me
.meth
= LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder
;
4189 fra
.me
.has_broke
= 0;
4190 fra
.me
.REG_size
= 4;
4191 fra
.me
.REG
[0] = NIT_NULL
;
4192 fra
.me
.REG
[1] = NIT_NULL
;
4193 fra
.me
.REG
[2] = NIT_NULL
;
4194 fra
.me
.REG
[3] = NIT_NULL
;
4197 /* ./syntax//mmbuilder.nit:719 */
4198 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4199 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4200 /* ./syntax//mmbuilder.nit:721 */
4201 CALL_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4202 /* ./syntax//mmbuilder.nit:722 */
4203 fra
.me
.REG
[1] = CALL_parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4204 fra
.me
.REG
[1] = CALL_syntax_base___AType___get_local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4205 /* ./syntax//mmbuilder.nit:723 */
4206 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4207 if (UNTAG_Bool(REGB0
)) {
4209 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4210 if (UNTAG_Bool(REGB1
)) {
4211 REGB1
= TAG_Bool(false);
4214 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
4218 if (UNTAG_Bool(REGB0
)) {
4221 /* ./syntax//mmbuilder.nit:724 */
4222 fra
.me
.REG
[1] = NEW_MMSrcAncestor_mmbuilder___MMSrcAncestor___init(fra
.me
.REG
[1]);
4223 /* ./syntax//mmbuilder.nit:725 */
4224 ATTR_mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
4225 /* ./syntax//mmbuilder.nit:726 */
4226 fra
.me
.REG
[3] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4227 CALL_inheritance___MMLocalClass___add_direct_parent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
4229 stack_frame_head
= fra
.me
.prev
;
4232 void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t p0
, val_t p1
){
4233 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4236 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4237 fra
.me
.file
= LOCATE_mmbuilder
;
4239 fra
.me
.meth
= LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder
;
4240 fra
.me
.has_broke
= 0;
4241 fra
.me
.REG_size
= 4;
4242 fra
.me
.REG
[0] = NIT_NULL
;
4243 fra
.me
.REG
[1] = NIT_NULL
;
4244 fra
.me
.REG
[2] = NIT_NULL
;
4245 fra
.me
.REG
[3] = NIT_NULL
;
4248 /* ./syntax//mmbuilder.nit:729 */
4249 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4250 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4251 /* ./syntax//mmbuilder.nit:731 */
4252 CALL_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4253 /* ./syntax//mmbuilder.nit:732 */
4254 fra
.me
.REG
[1] = ATTR_mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
4255 fra
.me
.REG
[0] = CALL_parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4256 fra
.me
.REG
[0] = CALL_syntax_base___AType___get_unchecked_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4257 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4258 if (UNTAG_Bool(REGB0
)) {
4259 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 732);
4261 CALL_static_type___MMAncestor___stype__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4262 /* ./syntax//mmbuilder.nit:733 */
4263 fra
.me
.REG
[2] = ATTR_mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
4264 fra
.me
.REG
[3] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4265 fra
.me
.REG
[3] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4266 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4267 if (UNTAG_Bool(REGB0
)) {
4268 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 733);
4270 CALL_static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4271 stack_frame_head
= fra
.me
.prev
;
4274 void mmbuilder___ASuperclass___accept_class_verifier(val_t p0
, val_t p1
){
4275 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4277 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4278 fra
.me
.file
= LOCATE_mmbuilder
;
4280 fra
.me
.meth
= LOCATE_mmbuilder___ASuperclass___accept_class_verifier
;
4281 fra
.me
.has_broke
= 0;
4282 fra
.me
.REG_size
= 4;
4283 fra
.me
.REG
[0] = NIT_NULL
;
4284 fra
.me
.REG
[1] = NIT_NULL
;
4285 fra
.me
.REG
[2] = NIT_NULL
;
4286 fra
.me
.REG
[3] = NIT_NULL
;
4289 /* ./syntax//mmbuilder.nit:736 */
4290 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4291 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4292 /* ./syntax//mmbuilder.nit:738 */
4293 CALL_SUPER_mmbuilder___ASuperclass___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4294 /* ./syntax//mmbuilder.nit:739 */
4295 fra
.me
.REG
[2] = CALL_parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4296 CALL_syntax_base___AType___check_conform(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4297 stack_frame_head
= fra
.me
.prev
;
4300 void mmbuilder___APropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
4301 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4307 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4308 fra
.me
.file
= LOCATE_mmbuilder
;
4310 fra
.me
.meth
= LOCATE_mmbuilder___APropdef___process_and_check
;
4311 fra
.me
.has_broke
= 0;
4312 fra
.me
.REG_size
= 4;
4313 fra
.me
.REG
[0] = NIT_NULL
;
4314 fra
.me
.REG
[1] = NIT_NULL
;
4315 fra
.me
.REG
[2] = NIT_NULL
;
4316 fra
.me
.REG
[3] = NIT_NULL
;
4322 /* ./syntax//mmbuilder.nit:752 */
4323 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4324 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4325 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[2]));
4326 if (UNTAG_Bool(REGB2
)) {
4328 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4331 if (UNTAG_Bool(REGB2
)) {
4332 /* ./syntax//mmbuilder.nit:753 */
4333 CALL_mmbuilder___APropdef___do_and_check_intro(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
, REGB1
);
4335 /* ./syntax//mmbuilder.nit:755 */
4336 CALL_mmbuilder___APropdef___do_and_check_redef(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
, REGB1
);
4338 stack_frame_head
= fra
.me
.prev
;
4341 void mmbuilder___APropdef___do_and_check_intro(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
4342 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
4348 static val_t once_value_1
; /* Once value */
4349 static val_t once_value_2
; /* Once value */
4350 static val_t once_value_3
; /* Once value */
4351 static val_t once_value_4
; /* Once value */
4352 static val_t once_value_5
; /* Once value */
4353 static val_t once_value_6
; /* Once value */
4354 static val_t once_value_7
; /* Once value */
4355 static val_t once_value_8
; /* Once value */
4356 static val_t once_value_9
; /* Once value */
4357 static val_t once_value_10
; /* Once value */
4358 static val_t once_value_11
; /* Once value */
4359 static val_t once_value_12
; /* Once value */
4360 static val_t once_value_13
; /* Once value */
4361 static val_t once_value_14
; /* Once value */
4362 static val_t once_value_15
; /* Once value */
4363 static val_t once_value_16
; /* Once value */
4364 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4365 fra
.me
.file
= LOCATE_mmbuilder
;
4367 fra
.me
.meth
= LOCATE_mmbuilder___APropdef___do_and_check_intro
;
4368 fra
.me
.has_broke
= 0;
4369 fra
.me
.REG_size
= 7;
4370 fra
.me
.REG
[0] = NIT_NULL
;
4371 fra
.me
.REG
[1] = NIT_NULL
;
4372 fra
.me
.REG
[2] = NIT_NULL
;
4373 fra
.me
.REG
[3] = NIT_NULL
;
4374 fra
.me
.REG
[4] = NIT_NULL
;
4375 fra
.me
.REG
[5] = NIT_NULL
;
4376 fra
.me
.REG
[6] = NIT_NULL
;
4382 /* ./syntax//mmbuilder.nit:762 */
4383 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4384 /* ./syntax//mmbuilder.nit:763 */
4385 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4386 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4387 /* ./syntax//mmbuilder.nit:764 */
4388 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4389 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4390 REGB2
= CALL_abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4392 /* ./../lib/standard//kernel.nit:213 */
4393 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
4394 /* ./syntax//mmbuilder.nit:764 */
4395 if (UNTAG_Bool(REGB3
)) {
4396 /* ./syntax//mmbuilder.nit:766 */
4400 /* ./syntax//mmbuilder.nit:768 */
4401 CALL_abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
4402 /* ./syntax//mmbuilder.nit:769 */
4403 if (UNTAG_Bool(REGB0
)) {
4404 /* ./syntax//mmbuilder.nit:770 */
4406 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4407 if (!once_value_1
) {
4408 fra
.me
.REG
[6] = BOX_NativeString("Error: No property ");
4409 REGB0
= TAG_Int(19);
4410 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4411 once_value_1
= fra
.me
.REG
[6];
4412 register_static_object(&once_value_1
);
4413 } else fra
.me
.REG
[6] = once_value_1
;
4414 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4415 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4416 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4417 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4418 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4419 if (!once_value_2
) {
4420 fra
.me
.REG
[6] = BOX_NativeString("::");
4422 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4423 once_value_2
= fra
.me
.REG
[6];
4424 register_static_object(&once_value_2
);
4425 } else fra
.me
.REG
[6] = once_value_2
;
4426 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4427 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4428 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4429 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4430 if (!once_value_3
) {
4431 fra
.me
.REG
[6] = BOX_NativeString(" is inherited. Remove the redef keyword to define a new property.");
4432 REGB0
= TAG_Int(65);
4433 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4434 once_value_3
= fra
.me
.REG
[6];
4435 register_static_object(&once_value_3
);
4436 } else fra
.me
.REG
[6] = once_value_3
;
4437 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4438 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4439 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4440 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
4442 /* ./syntax//mmbuilder.nit:772 */
4443 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_attribute(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4444 if (UNTAG_Bool(REGB0
)) {
4445 /* ./syntax//mmbuilder.nit:773 */
4446 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4447 if (UNTAG_Bool(REGB0
)) {
4448 /* ./syntax//mmbuilder.nit:774 */
4450 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4451 if (!once_value_4
) {
4452 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
4453 REGB0
= TAG_Int(35);
4454 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4455 once_value_4
= fra
.me
.REG
[6];
4456 register_static_object(&once_value_4
);
4457 } else fra
.me
.REG
[6] = once_value_4
;
4458 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4459 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4460 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4461 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4462 if (!once_value_5
) {
4463 fra
.me
.REG
[6] = BOX_NativeString(" in the interface ");
4464 REGB0
= TAG_Int(18);
4465 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4466 once_value_5
= fra
.me
.REG
[6];
4467 register_static_object(&once_value_5
);
4468 } else fra
.me
.REG
[6] = once_value_5
;
4469 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4470 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4471 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4472 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4473 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4474 if (!once_value_6
) {
4475 fra
.me
.REG
[6] = BOX_NativeString(".");
4477 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4478 once_value_6
= fra
.me
.REG
[6];
4479 register_static_object(&once_value_6
);
4480 } else fra
.me
.REG
[6] = once_value_6
;
4481 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4482 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4483 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4484 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
4486 /* ./syntax//mmbuilder.nit:775 */
4487 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_universal(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4488 if (UNTAG_Bool(REGB0
)) {
4489 /* ./syntax//mmbuilder.nit:776 */
4491 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4492 if (!once_value_7
) {
4493 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
4494 REGB0
= TAG_Int(35);
4495 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4496 once_value_7
= fra
.me
.REG
[6];
4497 register_static_object(&once_value_7
);
4498 } else fra
.me
.REG
[6] = once_value_7
;
4499 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4500 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4501 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4502 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4503 if (!once_value_8
) {
4504 fra
.me
.REG
[6] = BOX_NativeString(" in the universal class ");
4505 REGB0
= TAG_Int(24);
4506 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4507 once_value_8
= fra
.me
.REG
[6];
4508 register_static_object(&once_value_8
);
4509 } else fra
.me
.REG
[6] = once_value_8
;
4510 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4511 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4512 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4513 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4514 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4515 if (!once_value_9
) {
4516 fra
.me
.REG
[6] = BOX_NativeString(".");
4518 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4519 once_value_9
= fra
.me
.REG
[6];
4520 register_static_object(&once_value_9
);
4521 } else fra
.me
.REG
[6] = once_value_9
;
4522 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4523 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4524 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4525 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
4529 /* ./syntax//mmbuilder.nit:778 */
4530 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4531 if (UNTAG_Bool(REGB0
)) {
4532 /* ./syntax//mmbuilder.nit:779 */
4533 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4534 if (UNTAG_Bool(REGB0
)) {
4535 /* ./syntax//mmbuilder.nit:780 */
4537 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4538 if (!once_value_10
) {
4539 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define a constructor ");
4540 REGB0
= TAG_Int(39);
4541 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4542 once_value_10
= fra
.me
.REG
[6];
4543 register_static_object(&once_value_10
);
4544 } else fra
.me
.REG
[6] = once_value_10
;
4545 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4546 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4547 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4548 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4549 if (!once_value_11
) {
4550 fra
.me
.REG
[6] = BOX_NativeString(" in the class ");
4551 REGB0
= TAG_Int(14);
4552 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4553 once_value_11
= fra
.me
.REG
[6];
4554 register_static_object(&once_value_11
);
4555 } else fra
.me
.REG
[6] = once_value_11
;
4556 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4557 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4558 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4559 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4560 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4561 if (!once_value_12
) {
4562 fra
.me
.REG
[6] = BOX_NativeString(".");
4564 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4565 once_value_12
= fra
.me
.REG
[6];
4566 register_static_object(&once_value_12
);
4567 } else fra
.me
.REG
[6] = once_value_12
;
4568 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4569 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4570 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4571 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
4573 /* ./syntax//mmbuilder.nit:781 */
4574 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_universal(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4575 if (UNTAG_Bool(REGB0
)) {
4576 /* ./syntax//mmbuilder.nit:782 */
4578 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
4579 if (!once_value_13
) {
4580 fra
.me
.REG
[5] = BOX_NativeString("Error: Attempt to define a constructor ");
4581 REGB0
= TAG_Int(39);
4582 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4583 once_value_13
= fra
.me
.REG
[5];
4584 register_static_object(&once_value_13
);
4585 } else fra
.me
.REG
[5] = once_value_13
;
4586 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4587 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4588 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4589 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4590 if (!once_value_14
) {
4591 fra
.me
.REG
[5] = BOX_NativeString(" in the universal ");
4592 REGB0
= TAG_Int(18);
4593 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4594 once_value_14
= fra
.me
.REG
[5];
4595 register_static_object(&once_value_14
);
4596 } else fra
.me
.REG
[5] = once_value_14
;
4597 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4598 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4599 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4600 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4601 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4602 if (!once_value_15
) {
4603 fra
.me
.REG
[5] = BOX_NativeString(".");
4605 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4606 once_value_15
= fra
.me
.REG
[5];
4607 register_static_object(&once_value_15
);
4608 } else fra
.me
.REG
[5] = once_value_15
;
4609 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4610 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4611 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4612 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
4617 /* ./syntax//mmbuilder.nit:785 */
4618 fra
.me
.REG
[4] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4619 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4620 if (UNTAG_Bool(REGB0
)) {
4622 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4623 if (UNTAG_Bool(REGB1
)) {
4624 REGB1
= TAG_Bool(false);
4627 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4631 if (UNTAG_Bool(REGB0
)) {
4632 /* ./syntax//mmbuilder.nit:786 */
4633 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4634 if (UNTAG_Bool(REGB0
)) {
4635 /* ./syntax//mmbuilder.nit:787 */
4636 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4637 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4638 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___super_methods_named(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4639 /* ./syntax//mmbuilder.nit:788 */
4640 CALL_mmbuilder___APropdef___inherit_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[4]);
4642 /* ./syntax//mmbuilder.nit:790 */
4643 fra
.me
.REG
[4] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4644 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4645 if (UNTAG_Bool(REGB0
)) {
4647 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4648 if (UNTAG_Bool(REGB1
)) {
4649 REGB1
= TAG_Bool(false);
4652 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4656 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4657 if (UNTAG_Bool(REGB0
)) {
4658 REGB0
= TAG_Bool(true);
4660 fra
.me
.REG
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4661 REGB1
= CALL_mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4664 if (UNTAG_Bool(REGB0
)) {
4666 /* ./syntax//mmbuilder.nit:792 */
4667 fra
.me
.REG
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4668 fra
.me
.REG
[4] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4669 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4670 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4671 if (UNTAG_Bool(REGB0
)) {
4672 /* ./syntax//mmbuilder.nit:793 */
4673 fra
.me
.REG
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4674 fra
.me
.REG
[4] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4675 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4676 if (!once_value_16
) {
4677 fra
.me
.REG
[0] = BOX_NativeString("Error: Untyped parameter.");
4678 REGB0
= TAG_Int(25);
4679 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4680 once_value_16
= fra
.me
.REG
[0];
4681 register_static_object(&once_value_16
);
4682 } else fra
.me
.REG
[0] = once_value_16
;
4683 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4684 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
4686 /* ./syntax//mmbuilder.nit:795 */
4687 fra
.me
.REG
[0] = NEW_Array_array___Array___init();
4688 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4689 fra
.me
.REG
[4] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4690 fra
.me
.REG
[4] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[4]);
4691 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4692 /* ./syntax//mmbuilder.nit:796 */
4693 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4694 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4695 /* ./../lib/standard//collection//array.nit:234 */
4697 /* ./../lib/standard//collection//array.nit:235 */
4698 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
4699 if (UNTAG_Bool(REGB1
)) {
4701 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
4703 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
4704 /* ./../lib/standard//collection//array.nit:236 */
4705 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[1]);
4706 /* ./../lib/standard//collection//array.nit:237 */
4708 /* ./../lib/standard//collection//array.nit:23 */
4709 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
4710 if (UNTAG_Bool(REGB1
)) {
4712 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
4714 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
4715 /* ./../lib/standard//kernel.nit:212 */
4716 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4717 /* ./../lib/standard//collection//array.nit:237 */
4718 if (UNTAG_Bool(REGB1
)) {
4719 /* ./../lib/standard//collection//array.nit:238 */
4720 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4721 if (UNTAG_Bool(REGB1
)) {
4722 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
4724 /* ./../lib/standard//collection//array.nit:654 */
4725 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
4726 /* ./syntax//mmbuilder.nit:797 */
4727 fra
.me
.REG
[3] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4728 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4729 if (UNTAG_Bool(REGB1
)) {
4730 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 797);
4732 fra
.me
.REG
[3] = CALL_static_type___MMSignature___closures(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4733 fra
.me
.REG
[0] = CALL_syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4734 fra
.me
.REG
[0] = CALL_syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4735 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
4736 /* ./../lib/standard//collection//array.nit:239 */
4738 /* ./../lib/standard//kernel.nit:215 */
4739 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4740 /* ./../lib/standard//collection//array.nit:239 */
4743 /* ./../lib/standard//collection//array.nit:237 */
4751 stack_frame_head
= fra
.me
.prev
;
4754 void mmbuilder___APropdef___inherit_signature(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
4755 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
4762 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4763 fra
.me
.file
= LOCATE_mmbuilder
;
4765 fra
.me
.meth
= LOCATE_mmbuilder___APropdef___inherit_signature
;
4766 fra
.me
.has_broke
= 0;
4767 fra
.me
.REG_size
= 11;
4768 fra
.me
.REG
[0] = NIT_NULL
;
4769 fra
.me
.REG
[1] = NIT_NULL
;
4770 fra
.me
.REG
[2] = NIT_NULL
;
4771 fra
.me
.REG
[3] = NIT_NULL
;
4772 fra
.me
.REG
[4] = NIT_NULL
;
4773 fra
.me
.REG
[5] = NIT_NULL
;
4774 fra
.me
.REG
[6] = NIT_NULL
;
4775 fra
.me
.REG
[7] = NIT_NULL
;
4776 fra
.me
.REG
[8] = NIT_NULL
;
4777 fra
.me
.REG
[9] = NIT_NULL
;
4778 fra
.me
.REG
[10] = NIT_NULL
;
4783 /* ./syntax//mmbuilder.nit:805 */
4784 fra
.me
.REG
[0] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4785 /* ./../lib/standard//collection//array.nit:234 */
4787 /* ./../lib/standard//collection//array.nit:235 */
4788 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
4789 if (UNTAG_Bool(REGB1
)) {
4791 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
4793 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
4794 /* ./../lib/standard//collection//array.nit:236 */
4795 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[3]);
4796 /* ./../lib/standard//collection//array.nit:237 */
4798 /* ./../lib/standard//collection//array.nit:23 */
4799 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
4800 if (UNTAG_Bool(REGB1
)) {
4802 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
4804 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
4805 /* ./../lib/standard//kernel.nit:212 */
4806 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4807 /* ./../lib/standard//collection//array.nit:237 */
4808 if (UNTAG_Bool(REGB1
)) {
4809 /* ./../lib/standard//collection//array.nit:238 */
4810 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4811 if (UNTAG_Bool(REGB1
)) {
4812 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
4814 /* ./../lib/standard//collection//array.nit:654 */
4815 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
4816 /* ./syntax//mmbuilder.nit:807 */
4817 fra
.me
.REG
[5] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4818 fra
.me
.REG
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4819 fra
.me
.REG
[6] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4820 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4821 if (UNTAG_Bool(REGB1
)) {
4822 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 807);
4824 fra
.me
.REG
[6] = CALL_static_type___MMSignature___adaptation_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4825 /* ./syntax//mmbuilder.nit:809 */
4826 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4827 if (UNTAG_Bool(REGB1
)) {
4829 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4830 if (UNTAG_Bool(REGB2
)) {
4831 REGB2
= TAG_Bool(false);
4834 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4838 if (UNTAG_Bool(REGB1
)) {
4839 /* ./syntax//mmbuilder.nit:810 */
4840 fra
.me
.REG
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4841 fra
.me
.REG
[5] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4842 /* ./../lib/standard//collection//array.nit:23 */
4843 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
4844 if (UNTAG_Bool(REGB1
)) {
4846 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
4848 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
4849 /* ./syntax//mmbuilder.nit:810 */
4850 REGB2
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4851 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
4852 if (UNTAG_Bool(REGB3
)) {
4854 /* ./../lib/standard//kernel.nit:207 */
4855 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
4856 /* ./syntax//mmbuilder.nit:810 */
4859 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
4860 if (UNTAG_Bool(REGB3
)) {
4861 /* ./syntax//mmbuilder.nit:811 */
4864 /* ./syntax//mmbuilder.nit:813 */
4865 fra
.me
.REG
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4866 fra
.me
.REG
[5] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4867 /* ./../lib/standard//collection//array.nit:234 */
4869 /* ./../lib/standard//collection//array.nit:235 */
4870 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
4871 if (UNTAG_Bool(REGB2
)) {
4873 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
4875 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
4876 /* ./../lib/standard//collection//array.nit:236 */
4877 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[5]);
4878 /* ./../lib/standard//collection//array.nit:237 */
4880 /* ./../lib/standard//collection//array.nit:23 */
4881 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
4882 if (UNTAG_Bool(REGB2
)) {
4884 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
4886 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
4887 /* ./../lib/standard//kernel.nit:212 */
4888 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
4889 /* ./../lib/standard//collection//array.nit:237 */
4890 if (UNTAG_Bool(REGB2
)) {
4891 /* ./../lib/standard//collection//array.nit:238 */
4892 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
4893 if (UNTAG_Bool(REGB2
)) {
4894 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
4896 /* ./../lib/standard//collection//array.nit:654 */
4897 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB3
)];
4898 /* ./syntax//mmbuilder.nit:814 */
4899 REGB2
= CALL_syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4900 fra
.me
.REG
[9] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
4901 /* ./syntax//mmbuilder.nit:815 */
4902 CALL_mmbuilder___AParam___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
4903 /* ./syntax//mmbuilder.nit:816 */
4904 REGB2
= CALL_syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4905 REGB1
= CALL_vararg___MMSignature___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4906 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
4907 if (UNTAG_Bool(REGB4
)) {
4909 /* ./../lib/standard//kernel.nit:207 */
4910 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
4911 /* ./syntax//mmbuilder.nit:816 */
4914 if (UNTAG_Bool(REGB4
)) {
4915 /* ./syntax//mmbuilder.nit:817 */
4916 fra
.me
.REG
[10] = CALL_syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[9]);
4917 fra
.me
.REG
[9] = fra
.me
.REG
[10];
4919 /* ./syntax//mmbuilder.nit:819 */
4920 fra
.me
.REG
[8] = CALL_syntax_base___AParam___variable(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4921 CALL_syntax_base___Variable___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
4922 /* ./../lib/standard//collection//array.nit:239 */
4924 /* ./../lib/standard//kernel.nit:215 */
4925 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
4926 /* ./../lib/standard//collection//array.nit:239 */
4929 /* ./../lib/standard//collection//array.nit:237 */
4934 /* ./syntax//mmbuilder.nit:822 */
4935 fra
.me
.REG
[0] = fra
.me
.REG
[6];
4936 /* ./syntax//mmbuilder.nit:823 */
4937 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
4939 /* ./../lib/standard//collection//array.nit:239 */
4941 /* ./../lib/standard//kernel.nit:215 */
4942 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
4943 /* ./../lib/standard//collection//array.nit:239 */
4946 /* ./../lib/standard//collection//array.nit:237 */
4952 stack_frame_head
= fra
.me
.prev
;
4955 void mmbuilder___APropdef___do_and_check_redef(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
4956 struct {struct stack_frame_t me
; val_t MORE_REG
[13];} fra
;
4966 static val_t once_value_1
; /* Once value */
4967 static val_t once_value_2
; /* Once value */
4968 static val_t once_value_3
; /* Once value */
4969 static val_t once_value_5
; /* Once value */
4970 static val_t once_value_6
; /* Once value */
4971 static val_t once_value_7
; /* Once value */
4972 static val_t once_value_8
; /* Once value */
4973 static val_t once_value_9
; /* Once value */
4974 static val_t once_value_10
; /* Once value */
4975 static val_t once_value_11
; /* Once value */
4976 static val_t once_value_12
; /* Once value */
4977 static val_t once_value_13
; /* Once value */
4978 static val_t once_value_14
; /* Once value */
4979 static val_t once_value_15
; /* Once value */
4980 static val_t once_value_16
; /* Once value */
4981 static val_t once_value_17
; /* Once value */
4982 static val_t once_value_18
; /* Once value */
4983 static val_t once_value_19
; /* Once value */
4984 static val_t once_value_20
; /* Once value */
4985 static val_t once_value_21
; /* Once value */
4986 static val_t once_value_22
; /* Once value */
4987 static val_t once_value_24
; /* Once value */
4988 static val_t once_value_25
; /* Once value */
4989 static val_t once_value_26
; /* Once value */
4990 static val_t once_value_27
; /* Once value */
4991 static val_t once_value_28
; /* Once value */
4992 static val_t once_value_29
; /* Once value */
4993 static val_t once_value_30
; /* Once value */
4994 static val_t once_value_31
; /* Once value */
4995 static val_t once_value_32
; /* Once value */
4996 static val_t once_value_33
; /* Once value */
4997 static val_t once_value_34
; /* Once value */
4998 static val_t once_value_35
; /* Once value */
4999 static val_t once_value_36
; /* Once value */
5000 static val_t once_value_38
; /* Once value */
5001 static val_t once_value_39
; /* Once value */
5002 static val_t once_value_40
; /* Once value */
5003 static val_t once_value_41
; /* Once value */
5004 static val_t once_value_42
; /* Once value */
5005 static val_t once_value_43
; /* Once value */
5006 static val_t once_value_44
; /* Once value */
5007 static val_t once_value_45
; /* Once value */
5008 static val_t once_value_46
; /* Once value */
5009 static val_t once_value_47
; /* Once value */
5010 static val_t once_value_48
; /* Once value */
5011 static val_t once_value_49
; /* Once value */
5012 static val_t once_value_50
; /* Once value */
5013 static val_t once_value_51
; /* Once value */
5014 static val_t once_value_52
; /* Once value */
5015 static val_t once_value_53
; /* Once value */
5016 static val_t once_value_54
; /* Once value */
5017 static val_t once_value_55
; /* Once value */
5018 static val_t once_value_56
; /* Once value */
5019 static val_t once_value_57
; /* Once value */
5020 static val_t once_value_58
; /* Once value */
5021 static val_t once_value_59
; /* Once value */
5022 static val_t once_value_60
; /* Once value */
5023 static val_t once_value_61
; /* Once value */
5024 static val_t once_value_62
; /* Once value */
5025 static val_t once_value_63
; /* Once value */
5026 static val_t once_value_64
; /* Once value */
5027 static val_t once_value_65
; /* Once value */
5028 static val_t once_value_66
; /* Once value */
5029 static val_t once_value_68
; /* Once value */
5030 static val_t once_value_69
; /* Once value */
5031 static val_t once_value_70
; /* Once value */
5032 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5033 fra
.me
.file
= LOCATE_mmbuilder
;
5035 fra
.me
.meth
= LOCATE_mmbuilder___APropdef___do_and_check_redef
;
5036 fra
.me
.has_broke
= 0;
5037 fra
.me
.REG_size
= 14;
5038 fra
.me
.REG
[0] = NIT_NULL
;
5039 fra
.me
.REG
[1] = NIT_NULL
;
5040 fra
.me
.REG
[2] = NIT_NULL
;
5041 fra
.me
.REG
[3] = NIT_NULL
;
5042 fra
.me
.REG
[4] = NIT_NULL
;
5043 fra
.me
.REG
[5] = NIT_NULL
;
5044 fra
.me
.REG
[6] = NIT_NULL
;
5045 fra
.me
.REG
[7] = NIT_NULL
;
5046 fra
.me
.REG
[8] = NIT_NULL
;
5047 fra
.me
.REG
[9] = NIT_NULL
;
5048 fra
.me
.REG
[10] = NIT_NULL
;
5049 fra
.me
.REG
[11] = NIT_NULL
;
5050 fra
.me
.REG
[12] = NIT_NULL
;
5051 fra
.me
.REG
[13] = NIT_NULL
;
5057 /* ./syntax//mmbuilder.nit:831 */
5058 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_AConcreteInitPropdef
, ID_AConcreteInitPropdef
)) /*cast AConcreteInitPropdef*/;
5059 /* ./syntax//mmbuilder.nit:832 */
5060 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5061 /* ./syntax//mmbuilder.nit:834 */
5062 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5063 if (UNTAG_Bool(REGB0
)) {
5064 /* ./syntax//mmbuilder.nit:835 */
5066 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
5067 if (!once_value_1
) {
5068 fra
.me
.REG
[5] = BOX_NativeString("Redef error: ");
5069 REGB0
= TAG_Int(13);
5070 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5071 once_value_1
= fra
.me
.REG
[5];
5072 register_static_object(&once_value_1
);
5073 } else fra
.me
.REG
[5] = once_value_1
;
5074 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5075 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5076 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5077 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5078 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5079 if (!once_value_2
) {
5080 fra
.me
.REG
[5] = BOX_NativeString("::");
5082 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5083 once_value_2
= fra
.me
.REG
[5];
5084 register_static_object(&once_value_2
);
5085 } else fra
.me
.REG
[5] = once_value_2
;
5086 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5087 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5088 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5089 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5090 if (!once_value_3
) {
5091 fra
.me
.REG
[5] = BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword.");
5092 REGB0
= TAG_Int(65);
5093 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5094 once_value_3
= fra
.me
.REG
[5];
5095 register_static_object(&once_value_3
);
5096 } else fra
.me
.REG
[5] = once_value_3
;
5097 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5098 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5099 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5100 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5101 /* ./syntax//mmbuilder.nit:836 */
5104 /* ./syntax//mmbuilder.nit:838 */
5105 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5106 if (UNTAG_Bool(REGB0
)) {
5107 REGB0
= TAG_Bool(!UNTAG_Bool(REGB2
));
5109 REGB3
= TAG_Bool(false);
5112 if (UNTAG_Bool(REGB0
)) {
5113 /* ./syntax//mmbuilder.nit:839 */
5115 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
5116 if (!once_value_5
) {
5117 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A method ");
5118 REGB0
= TAG_Int(22);
5119 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5120 once_value_5
= fra
.me
.REG
[5];
5121 register_static_object(&once_value_5
);
5122 } else fra
.me
.REG
[5] = once_value_5
;
5123 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5124 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5125 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5126 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5127 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5128 if (!once_value_6
) {
5129 fra
.me
.REG
[5] = BOX_NativeString("::");
5131 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5132 once_value_6
= fra
.me
.REG
[5];
5133 register_static_object(&once_value_6
);
5134 } else fra
.me
.REG
[5] = once_value_6
;
5135 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5136 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5137 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5138 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5139 if (!once_value_7
) {
5140 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a constructor.");
5141 REGB0
= TAG_Int(31);
5142 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5143 once_value_7
= fra
.me
.REG
[5];
5144 register_static_object(&once_value_7
);
5145 } else fra
.me
.REG
[5] = once_value_7
;
5146 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5147 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5148 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5149 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5151 /* ./syntax//mmbuilder.nit:840 */
5152 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5153 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5154 if (UNTAG_Bool(REGB0
)) {
5156 REGB0
= TAG_Bool(false);
5159 if (UNTAG_Bool(REGB2
)) {
5160 /* ./syntax//mmbuilder.nit:841 */
5162 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
5163 if (!once_value_8
) {
5164 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A constructor ");
5165 REGB2
= TAG_Int(27);
5166 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
5167 once_value_8
= fra
.me
.REG
[5];
5168 register_static_object(&once_value_8
);
5169 } else fra
.me
.REG
[5] = once_value_8
;
5170 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5171 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5172 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5173 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5174 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5175 if (!once_value_9
) {
5176 fra
.me
.REG
[5] = BOX_NativeString("::");
5178 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
5179 once_value_9
= fra
.me
.REG
[5];
5180 register_static_object(&once_value_9
);
5181 } else fra
.me
.REG
[5] = once_value_9
;
5182 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5183 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5184 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5185 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5186 if (!once_value_10
) {
5187 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a method.");
5188 REGB2
= TAG_Int(26);
5189 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
5190 once_value_10
= fra
.me
.REG
[5];
5191 register_static_object(&once_value_10
);
5192 } else fra
.me
.REG
[5] = once_value_10
;
5193 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5194 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5195 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5196 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5199 /* ./syntax//mmbuilder.nit:844 */
5200 fra
.me
.REG
[4] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5201 /* ./syntax//mmbuilder.nit:846 */
5202 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___prhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5203 fra
.me
.REG
[5] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5204 /* ./../lib/standard//collection//array.nit:234 */
5206 /* ./../lib/standard//collection//array.nit:235 */
5207 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
5208 if (UNTAG_Bool(REGB0
)) {
5210 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
5212 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
5213 /* ./../lib/standard//collection//array.nit:236 */
5214 fra
.me
.REG
[6] = ATTR_array___Array____items(fra
.me
.REG
[5]);
5215 /* ./../lib/standard//collection//array.nit:237 */
5217 /* ./../lib/standard//collection//array.nit:23 */
5218 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
5219 if (UNTAG_Bool(REGB0
)) {
5221 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5223 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
5224 /* ./../lib/standard//kernel.nit:212 */
5225 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
5226 /* ./../lib/standard//collection//array.nit:237 */
5227 if (UNTAG_Bool(REGB0
)) {
5228 /* ./../lib/standard//collection//array.nit:238 */
5229 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5230 if (UNTAG_Bool(REGB0
)) {
5231 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
5233 /* ./../lib/standard//collection//array.nit:654 */
5234 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
5235 /* ./syntax//mmbuilder.nit:847 */
5236 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5237 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5238 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
5239 /* ./syntax//mmbuilder.nit:848 */
5240 fra
.me
.REG
[7] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5241 fra
.me
.REG
[8] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5242 fra
.me
.REG
[8] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5243 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5244 if (UNTAG_Bool(REGB0
)) {
5245 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 848);
5247 fra
.me
.REG
[8] = CALL_static_type___MMSignature___adaptation_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5248 /* ./syntax//mmbuilder.nit:850 */
5249 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5250 if (UNTAG_Bool(REGB0
)) {
5252 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5253 if (UNTAG_Bool(REGB3
)) {
5254 REGB3
= TAG_Bool(false);
5257 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5261 if (UNTAG_Bool(REGB0
)) {
5262 /* ./syntax//mmbuilder.nit:852 */
5263 fra
.me
.REG
[7] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5264 fra
.me
.REG
[7] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5265 /* ./../lib/standard//collection//array.nit:23 */
5266 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5267 if (UNTAG_Bool(REGB0
)) {
5269 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5271 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5272 /* ./syntax//mmbuilder.nit:852 */
5273 REGB3
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5274 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
5275 if (UNTAG_Bool(REGB4
)) {
5277 /* ./../lib/standard//kernel.nit:207 */
5278 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
5279 /* ./syntax//mmbuilder.nit:852 */
5282 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
5283 if (UNTAG_Bool(REGB4
)) {
5284 /* ./syntax//mmbuilder.nit:853 */
5285 REGB4
= TAG_Int(11);
5286 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB4
);
5287 if (!once_value_11
) {
5288 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
5289 REGB4
= TAG_Int(13);
5290 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5291 once_value_11
= fra
.me
.REG
[10];
5292 register_static_object(&once_value_11
);
5293 } else fra
.me
.REG
[10] = once_value_11
;
5294 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5295 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5296 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5297 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5298 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5299 if (!once_value_12
) {
5300 fra
.me
.REG
[10] = BOX_NativeString("::");
5302 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5303 once_value_12
= fra
.me
.REG
[10];
5304 register_static_object(&once_value_12
);
5305 } else fra
.me
.REG
[10] = once_value_12
;
5306 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5307 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5308 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5309 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5310 if (!once_value_13
) {
5311 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
5312 REGB4
= TAG_Int(11);
5313 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5314 once_value_13
= fra
.me
.REG
[10];
5315 register_static_object(&once_value_13
);
5316 } else fra
.me
.REG
[10] = once_value_13
;
5317 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5318 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5319 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5320 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5321 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5322 if (!once_value_14
) {
5323 fra
.me
.REG
[10] = BOX_NativeString("::");
5325 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5326 once_value_14
= fra
.me
.REG
[10];
5327 register_static_object(&once_value_14
);
5328 } else fra
.me
.REG
[10] = once_value_14
;
5329 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5330 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5331 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5332 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5333 if (!once_value_15
) {
5334 fra
.me
.REG
[10] = BOX_NativeString(" with ");
5336 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5337 once_value_15
= fra
.me
.REG
[10];
5338 register_static_object(&once_value_15
);
5339 } else fra
.me
.REG
[10] = once_value_15
;
5340 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5341 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5342 REGB4
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5343 fra
.me
.REG
[10] = CALL_string___Object___to_s(REGB4
)(REGB4
);
5344 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5345 if (!once_value_16
) {
5346 fra
.me
.REG
[10] = BOX_NativeString(" parameter(s).");
5347 REGB4
= TAG_Int(14);
5348 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5349 once_value_16
= fra
.me
.REG
[10];
5350 register_static_object(&once_value_16
);
5351 } else fra
.me
.REG
[10] = once_value_16
;
5352 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5353 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5354 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5355 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
5356 /* ./syntax//mmbuilder.nit:854 */
5359 /* ./syntax//mmbuilder.nit:856 */
5360 fra
.me
.REG
[7] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5361 fra
.me
.REG
[7] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5362 /* ./../lib/standard//collection//array.nit:23 */
5363 REGB4
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5364 if (UNTAG_Bool(REGB4
)) {
5366 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5368 REGB4
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5369 /* ./syntax//mmbuilder.nit:856 */
5370 fra
.me
.REG
[7] = CALL_static_type___MMSignature___closures(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5371 /* ./../lib/standard//collection//array.nit:23 */
5372 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5373 if (UNTAG_Bool(REGB3
)) {
5375 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5377 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5378 /* ./syntax//mmbuilder.nit:856 */
5379 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB3
));
5380 if (UNTAG_Bool(REGB0
)) {
5382 /* ./../lib/standard//kernel.nit:207 */
5383 REGB3
= TAG_Bool((REGB4
)==(REGB3
));
5384 /* ./syntax//mmbuilder.nit:856 */
5387 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5388 if (UNTAG_Bool(REGB0
)) {
5389 /* ./syntax//mmbuilder.nit:857 */
5390 REGB0
= TAG_Int(11);
5391 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
5392 if (!once_value_17
) {
5393 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
5394 REGB0
= TAG_Int(13);
5395 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5396 once_value_17
= fra
.me
.REG
[10];
5397 register_static_object(&once_value_17
);
5398 } else fra
.me
.REG
[10] = once_value_17
;
5399 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5400 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5401 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5402 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5403 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5404 if (!once_value_18
) {
5405 fra
.me
.REG
[10] = BOX_NativeString("::");
5407 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5408 once_value_18
= fra
.me
.REG
[10];
5409 register_static_object(&once_value_18
);
5410 } else fra
.me
.REG
[10] = once_value_18
;
5411 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5412 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5413 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5414 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5415 if (!once_value_19
) {
5416 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
5417 REGB0
= TAG_Int(11);
5418 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5419 once_value_19
= fra
.me
.REG
[10];
5420 register_static_object(&once_value_19
);
5421 } else fra
.me
.REG
[10] = once_value_19
;
5422 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5423 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5424 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5425 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5426 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5427 if (!once_value_20
) {
5428 fra
.me
.REG
[10] = BOX_NativeString("::");
5430 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5431 once_value_20
= fra
.me
.REG
[10];
5432 register_static_object(&once_value_20
);
5433 } else fra
.me
.REG
[10] = once_value_20
;
5434 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5435 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5436 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5437 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5438 if (!once_value_21
) {
5439 fra
.me
.REG
[10] = BOX_NativeString(" with ");
5441 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5442 once_value_21
= fra
.me
.REG
[10];
5443 register_static_object(&once_value_21
);
5444 } else fra
.me
.REG
[10] = once_value_21
;
5445 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5446 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5447 REGB0
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5448 fra
.me
.REG
[10] = CALL_string___Object___to_s(REGB0
)(REGB0
);
5449 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5450 if (!once_value_22
) {
5451 fra
.me
.REG
[10] = BOX_NativeString(" closure(s).");
5452 REGB0
= TAG_Int(12);
5453 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5454 once_value_22
= fra
.me
.REG
[10];
5455 register_static_object(&once_value_22
);
5456 } else fra
.me
.REG
[10] = once_value_22
;
5457 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5458 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5459 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5460 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
5461 /* ./syntax//mmbuilder.nit:858 */
5464 /* ./syntax//mmbuilder.nit:860 */
5465 fra
.me
.REG
[7] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5466 fra
.me
.REG
[7] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5467 /* ./../lib/standard//collection//array.nit:234 */
5469 /* ./../lib/standard//collection//array.nit:235 */
5470 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5471 if (UNTAG_Bool(REGB3
)) {
5473 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
5475 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5476 /* ./../lib/standard//collection//array.nit:236 */
5477 fra
.me
.REG
[10] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5478 /* ./../lib/standard//collection//array.nit:237 */
5480 /* ./../lib/standard//collection//array.nit:23 */
5481 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5482 if (UNTAG_Bool(REGB3
)) {
5484 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5486 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5487 /* ./../lib/standard//kernel.nit:212 */
5488 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
5489 /* ./../lib/standard//collection//array.nit:237 */
5490 if (UNTAG_Bool(REGB3
)) {
5491 /* ./../lib/standard//collection//array.nit:238 */
5492 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
5493 if (UNTAG_Bool(REGB3
)) {
5494 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
5496 /* ./../lib/standard//collection//array.nit:654 */
5497 fra
.me
.REG
[11] = ((Nit_NativeArray
)fra
.me
.REG
[10])->val
[UNTAG_Int(REGB0
)];
5498 /* ./syntax//mmbuilder.nit:861 */
5499 REGB3
= CALL_syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
5500 fra
.me
.REG
[12] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB3
);
5501 /* ./syntax//mmbuilder.nit:862 */
5502 CALL_mmbuilder___AParam___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
5503 /* ./syntax//mmbuilder.nit:863 */
5504 REGB3
= CALL_syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
5505 REGB4
= CALL_vararg___MMSignature___vararg_rank(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5506 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB4
));
5507 if (UNTAG_Bool(REGB5
)) {
5509 /* ./../lib/standard//kernel.nit:207 */
5510 REGB4
= TAG_Bool((REGB3
)==(REGB4
));
5511 /* ./syntax//mmbuilder.nit:863 */
5514 if (UNTAG_Bool(REGB5
)) {
5515 /* ./syntax//mmbuilder.nit:864 */
5516 fra
.me
.REG
[13] = CALL_syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[12]);
5517 fra
.me
.REG
[12] = fra
.me
.REG
[13];
5519 /* ./syntax//mmbuilder.nit:866 */
5520 fra
.me
.REG
[11] = CALL_syntax_base___AParam___variable(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
5521 CALL_syntax_base___Variable___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
5522 /* ./../lib/standard//collection//array.nit:239 */
5524 /* ./../lib/standard//kernel.nit:215 */
5525 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
5526 /* ./../lib/standard//collection//array.nit:239 */
5529 /* ./../lib/standard//collection//array.nit:237 */
5534 /* ./syntax//mmbuilder.nit:868 */
5535 fra
.me
.REG
[4] = fra
.me
.REG
[8];
5536 /* ./syntax//mmbuilder.nit:869 */
5537 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
5539 /* ./syntax//mmbuilder.nit:873 */
5540 fra
.me
.REG
[10] = CALL_syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5541 REGB0
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5542 /* ./syntax//mmbuilder.nit:881 */
5543 REGB5
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5544 if (UNTAG_Bool(REGB5
)) {
5545 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 881);
5547 REGB5
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5548 REGB4
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5549 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB5
,REGB4
));
5550 if (UNTAG_Bool(REGB3
)) {
5552 /* ./../lib/standard//kernel.nit:207 */
5553 REGB4
= TAG_Bool((REGB5
)==(REGB4
));
5554 /* ./syntax//mmbuilder.nit:881 */
5557 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
5558 if (UNTAG_Bool(REGB3
)) {
5559 /* ./syntax//mmbuilder.nit:882 */
5560 REGB3
= TAG_Int(11);
5561 fra
.me
.REG
[10] = NEW_Array_array___Array___with_capacity(REGB3
);
5562 if (!once_value_24
) {
5563 fra
.me
.REG
[7] = BOX_NativeString("Redef error: ");
5564 REGB3
= TAG_Int(13);
5565 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5566 once_value_24
= fra
.me
.REG
[7];
5567 register_static_object(&once_value_24
);
5568 } else fra
.me
.REG
[7] = once_value_24
;
5569 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5570 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5571 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5572 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5573 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5574 if (!once_value_25
) {
5575 fra
.me
.REG
[7] = BOX_NativeString("::");
5577 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5578 once_value_25
= fra
.me
.REG
[7];
5579 register_static_object(&once_value_25
);
5580 } else fra
.me
.REG
[7] = once_value_25
;
5581 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5582 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5583 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5584 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5585 if (!once_value_26
) {
5586 fra
.me
.REG
[7] = BOX_NativeString(" redefines ");
5587 REGB3
= TAG_Int(11);
5588 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5589 once_value_26
= fra
.me
.REG
[7];
5590 register_static_object(&once_value_26
);
5591 } else fra
.me
.REG
[7] = once_value_26
;
5592 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5593 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5594 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5595 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5596 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5597 if (!once_value_27
) {
5598 fra
.me
.REG
[7] = BOX_NativeString("::");
5600 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5601 once_value_27
= fra
.me
.REG
[7];
5602 register_static_object(&once_value_27
);
5603 } else fra
.me
.REG
[7] = once_value_27
;
5604 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5605 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5606 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5607 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5608 if (!once_value_28
) {
5609 fra
.me
.REG
[7] = BOX_NativeString(" with ");
5611 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5612 once_value_28
= fra
.me
.REG
[7];
5613 register_static_object(&once_value_28
);
5614 } else fra
.me
.REG
[7] = once_value_28
;
5615 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5616 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5617 REGB3
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5618 fra
.me
.REG
[7] = CALL_string___Object___to_s(REGB3
)(REGB3
);
5619 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5620 if (!once_value_29
) {
5621 fra
.me
.REG
[7] = BOX_NativeString(" parameter(s).");
5622 REGB3
= TAG_Int(14);
5623 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5624 once_value_29
= fra
.me
.REG
[7];
5625 register_static_object(&once_value_29
);
5626 } else fra
.me
.REG
[7] = once_value_29
;
5627 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5628 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5629 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5630 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
5632 /* ./syntax//mmbuilder.nit:884 */
5634 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5635 if (UNTAG_Bool(REGB4
)) {
5636 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 884);
5638 REGB4
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5639 /* ./../lib/standard//kernel.nit:332 */
5641 /* ./../lib/standard//kernel.nit:212 */
5642 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
5643 /* ./../lib/standard//kernel.nit:332 */
5644 if (UNTAG_Bool(REGB5
)) {
5645 /* ./syntax//mmbuilder.nit:884 */
5647 /* ./syntax//mmbuilder.nit:885 */
5648 REGB6
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5649 if (UNTAG_Bool(REGB6
)) {
5650 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 885);
5652 fra
.me
.REG
[10] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB5
);
5653 fra
.me
.REG
[7] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB5
);
5654 REGB6
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[7]));
5655 if (UNTAG_Bool(REGB6
)) {
5657 REGB7
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5660 REGB6
= TAG_Bool(!UNTAG_Bool(REGB6
));
5661 if (UNTAG_Bool(REGB6
)) {
5662 /* ./syntax//mmbuilder.nit:886 */
5663 REGB6
= TAG_Int(13);
5664 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB6
);
5665 if (!once_value_30
) {
5666 fra
.me
.REG
[10] = BOX_NativeString("Redef error: Expected ");
5667 REGB6
= TAG_Int(22);
5668 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB6
);
5669 once_value_30
= fra
.me
.REG
[10];
5670 register_static_object(&once_value_30
);
5671 } else fra
.me
.REG
[10] = once_value_30
;
5672 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5673 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5674 fra
.me
.REG
[10] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB5
);
5675 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5676 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5677 if (!once_value_31
) {
5678 fra
.me
.REG
[10] = BOX_NativeString(" (as in ");
5680 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB6
);
5681 once_value_31
= fra
.me
.REG
[10];
5682 register_static_object(&once_value_31
);
5683 } else fra
.me
.REG
[10] = once_value_31
;
5684 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5685 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5686 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5687 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5688 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5689 if (!once_value_32
) {
5690 fra
.me
.REG
[10] = BOX_NativeString("::");
5692 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB6
);
5693 once_value_32
= fra
.me
.REG
[10];
5694 register_static_object(&once_value_32
);
5695 } else fra
.me
.REG
[10] = once_value_32
;
5696 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5697 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5698 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5699 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5700 if (!once_value_33
) {
5701 fra
.me
.REG
[10] = BOX_NativeString("), got ");
5703 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB6
);
5704 once_value_33
= fra
.me
.REG
[10];
5705 register_static_object(&once_value_33
);
5706 } else fra
.me
.REG
[10] = once_value_33
;
5707 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5708 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5709 REGB6
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5710 if (UNTAG_Bool(REGB6
)) {
5711 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 886);
5713 fra
.me
.REG
[10] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB5
);
5714 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5715 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5716 if (!once_value_34
) {
5717 fra
.me
.REG
[10] = BOX_NativeString(" in ");
5719 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB5
);
5720 once_value_34
= fra
.me
.REG
[10];
5721 register_static_object(&once_value_34
);
5722 } else fra
.me
.REG
[10] = once_value_34
;
5723 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5724 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5725 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5726 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5727 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5728 if (!once_value_35
) {
5729 fra
.me
.REG
[10] = BOX_NativeString("::");
5731 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB5
);
5732 once_value_35
= fra
.me
.REG
[10];
5733 register_static_object(&once_value_35
);
5734 } else fra
.me
.REG
[10] = once_value_35
;
5735 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5736 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5737 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5738 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5739 if (!once_value_36
) {
5740 fra
.me
.REG
[10] = BOX_NativeString(".");
5742 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB5
);
5743 once_value_36
= fra
.me
.REG
[10];
5744 register_static_object(&once_value_36
);
5745 } else fra
.me
.REG
[10] = once_value_36
;
5746 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5747 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5748 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5749 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
5751 /* ./../lib/standard//kernel.nit:334 */
5753 /* ./../lib/standard//kernel.nit:215 */
5754 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
5755 /* ./../lib/standard//kernel.nit:334 */
5758 /* ./../lib/standard//kernel.nit:332 */
5764 /* ./syntax//mmbuilder.nit:891 */
5765 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5766 if (UNTAG_Bool(REGB3
)) {
5767 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 891);
5769 fra
.me
.REG
[7] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5770 /* ./syntax//mmbuilder.nit:892 */
5771 fra
.me
.REG
[10] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5772 /* ./syntax//mmbuilder.nit:893 */
5773 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5774 if (UNTAG_Bool(REGB3
)) {
5776 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5777 if (UNTAG_Bool(REGB4
)) {
5778 REGB4
= TAG_Bool(false);
5781 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
5785 if (UNTAG_Bool(REGB3
)) {
5786 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
5787 if (UNTAG_Bool(REGB3
)) {
5789 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
5790 if (UNTAG_Bool(REGB4
)) {
5791 REGB4
= TAG_Bool(false);
5794 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
5798 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
5800 REGB4
= TAG_Bool(false);
5803 if (UNTAG_Bool(REGB3
)) {
5804 /* ./syntax//mmbuilder.nit:894 */
5806 fra
.me
.REG
[12] = NEW_Array_array___Array___with_capacity(REGB3
);
5807 if (!once_value_38
) {
5808 fra
.me
.REG
[11] = BOX_NativeString("Redef error: The procedure ");
5809 REGB3
= TAG_Int(27);
5810 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
5811 once_value_38
= fra
.me
.REG
[11];
5812 register_static_object(&once_value_38
);
5813 } else fra
.me
.REG
[11] = once_value_38
;
5814 fra
.me
.REG
[11] = fra
.me
.REG
[11];
5815 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5816 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5817 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
5818 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5819 if (!once_value_39
) {
5820 fra
.me
.REG
[11] = BOX_NativeString("::");
5822 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
5823 once_value_39
= fra
.me
.REG
[11];
5824 register_static_object(&once_value_39
);
5825 } else fra
.me
.REG
[11] = once_value_39
;
5826 fra
.me
.REG
[11] = fra
.me
.REG
[11];
5827 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5828 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5829 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5830 if (!once_value_40
) {
5831 fra
.me
.REG
[11] = BOX_NativeString(" redefines the function ");
5832 REGB3
= TAG_Int(24);
5833 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
5834 once_value_40
= fra
.me
.REG
[11];
5835 register_static_object(&once_value_40
);
5836 } else fra
.me
.REG
[11] = once_value_40
;
5837 fra
.me
.REG
[11] = fra
.me
.REG
[11];
5838 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5839 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5840 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
5841 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5842 if (!once_value_41
) {
5843 fra
.me
.REG
[11] = BOX_NativeString("::");
5845 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
5846 once_value_41
= fra
.me
.REG
[11];
5847 register_static_object(&once_value_41
);
5848 } else fra
.me
.REG
[11] = once_value_41
;
5849 fra
.me
.REG
[11] = fra
.me
.REG
[11];
5850 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5851 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5852 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5853 if (!once_value_42
) {
5854 fra
.me
.REG
[11] = BOX_NativeString(".");
5856 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
5857 once_value_42
= fra
.me
.REG
[11];
5858 register_static_object(&once_value_42
);
5859 } else fra
.me
.REG
[11] = once_value_42
;
5860 fra
.me
.REG
[11] = fra
.me
.REG
[11];
5861 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5862 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
5863 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[12]);
5865 /* ./syntax//mmbuilder.nit:895 */
5866 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5867 if (UNTAG_Bool(REGB3
)) {
5869 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5870 if (UNTAG_Bool(REGB4
)) {
5871 REGB4
= TAG_Bool(false);
5874 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
5878 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
5879 if (UNTAG_Bool(REGB3
)) {
5880 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
5881 if (UNTAG_Bool(REGB3
)) {
5883 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
5884 if (UNTAG_Bool(REGB4
)) {
5885 REGB4
= TAG_Bool(false);
5888 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
5893 REGB4
= TAG_Bool(false);
5896 if (UNTAG_Bool(REGB3
)) {
5897 /* ./syntax//mmbuilder.nit:896 */
5899 fra
.me
.REG
[12] = NEW_Array_array___Array___with_capacity(REGB3
);
5900 if (!once_value_43
) {
5901 fra
.me
.REG
[11] = BOX_NativeString("Redef error: The function ");
5902 REGB3
= TAG_Int(26);
5903 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
5904 once_value_43
= fra
.me
.REG
[11];
5905 register_static_object(&once_value_43
);
5906 } else fra
.me
.REG
[11] = once_value_43
;
5907 fra
.me
.REG
[11] = fra
.me
.REG
[11];
5908 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5909 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5910 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
5911 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5912 if (!once_value_44
) {
5913 fra
.me
.REG
[11] = BOX_NativeString("::");
5915 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
5916 once_value_44
= fra
.me
.REG
[11];
5917 register_static_object(&once_value_44
);
5918 } else fra
.me
.REG
[11] = once_value_44
;
5919 fra
.me
.REG
[11] = fra
.me
.REG
[11];
5920 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5921 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5922 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5923 if (!once_value_45
) {
5924 fra
.me
.REG
[11] = BOX_NativeString(" redefines the procedure ");
5925 REGB3
= TAG_Int(25);
5926 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
5927 once_value_45
= fra
.me
.REG
[11];
5928 register_static_object(&once_value_45
);
5929 } else fra
.me
.REG
[11] = once_value_45
;
5930 fra
.me
.REG
[11] = fra
.me
.REG
[11];
5931 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5932 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5933 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
5934 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5935 if (!once_value_46
) {
5936 fra
.me
.REG
[11] = BOX_NativeString("::");
5938 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
5939 once_value_46
= fra
.me
.REG
[11];
5940 register_static_object(&once_value_46
);
5941 } else fra
.me
.REG
[11] = once_value_46
;
5942 fra
.me
.REG
[11] = fra
.me
.REG
[11];
5943 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5944 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5945 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5946 if (!once_value_47
) {
5947 fra
.me
.REG
[11] = BOX_NativeString(".");
5949 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
5950 once_value_47
= fra
.me
.REG
[11];
5951 register_static_object(&once_value_47
);
5952 } else fra
.me
.REG
[11] = once_value_47
;
5953 fra
.me
.REG
[11] = fra
.me
.REG
[11];
5954 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
5955 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
5956 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[12]);
5958 /* ./syntax//mmbuilder.nit:897 */
5959 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5960 if (UNTAG_Bool(REGB3
)) {
5962 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5963 if (UNTAG_Bool(REGB4
)) {
5964 REGB4
= TAG_Bool(false);
5967 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
5971 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
5972 if (UNTAG_Bool(REGB3
)) {
5973 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
5974 if (UNTAG_Bool(REGB3
)) {
5976 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
5977 if (UNTAG_Bool(REGB4
)) {
5978 REGB4
= TAG_Bool(false);
5981 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
5985 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
5987 REGB4
= TAG_Bool(false);
5990 if (UNTAG_Bool(REGB3
)) {
5991 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5992 if (UNTAG_Bool(REGB3
)) {
5993 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 897);
5995 REGB3
= CALL_static_type___MMType_____l(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5996 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
5998 REGB4
= TAG_Bool(false);
6001 if (UNTAG_Bool(REGB3
)) {
6002 /* ./syntax//mmbuilder.nit:898 */
6003 REGB3
= TAG_Int(13);
6004 fra
.me
.REG
[12] = NEW_Array_array___Array___with_capacity(REGB3
);
6005 if (!once_value_48
) {
6006 fra
.me
.REG
[11] = BOX_NativeString("Redef error: Expected ");
6007 REGB3
= TAG_Int(22);
6008 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6009 once_value_48
= fra
.me
.REG
[11];
6010 register_static_object(&once_value_48
);
6011 } else fra
.me
.REG
[11] = once_value_48
;
6012 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6013 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6014 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6015 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6016 if (!once_value_49
) {
6017 fra
.me
.REG
[11] = BOX_NativeString(" (as in ");
6019 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6020 once_value_49
= fra
.me
.REG
[11];
6021 register_static_object(&once_value_49
);
6022 } else fra
.me
.REG
[11] = once_value_49
;
6023 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6024 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6025 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6026 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6027 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6028 if (!once_value_50
) {
6029 fra
.me
.REG
[11] = BOX_NativeString("::");
6031 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6032 once_value_50
= fra
.me
.REG
[11];
6033 register_static_object(&once_value_50
);
6034 } else fra
.me
.REG
[11] = once_value_50
;
6035 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6036 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6037 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6038 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6039 if (!once_value_51
) {
6040 fra
.me
.REG
[11] = BOX_NativeString("), got ");
6042 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6043 once_value_51
= fra
.me
.REG
[11];
6044 register_static_object(&once_value_51
);
6045 } else fra
.me
.REG
[11] = once_value_51
;
6046 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6047 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6048 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6049 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6050 if (!once_value_52
) {
6051 fra
.me
.REG
[11] = BOX_NativeString(" in ");
6053 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6054 once_value_52
= fra
.me
.REG
[11];
6055 register_static_object(&once_value_52
);
6056 } else fra
.me
.REG
[11] = once_value_52
;
6057 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6058 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6059 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6060 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6061 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6062 if (!once_value_53
) {
6063 fra
.me
.REG
[11] = BOX_NativeString("::");
6065 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6066 once_value_53
= fra
.me
.REG
[11];
6067 register_static_object(&once_value_53
);
6068 } else fra
.me
.REG
[11] = once_value_53
;
6069 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6070 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6071 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6072 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6073 if (!once_value_54
) {
6074 fra
.me
.REG
[11] = BOX_NativeString(".");
6076 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6077 once_value_54
= fra
.me
.REG
[11];
6078 register_static_object(&once_value_54
);
6079 } else fra
.me
.REG
[11] = once_value_54
;
6080 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6081 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6082 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6083 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[12]);
6085 /* ./syntax//mmbuilder.nit:899 */
6086 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6087 if (UNTAG_Bool(REGB3
)) {
6088 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 899);
6090 REGB3
= CALL_static_type___MMSignature_____l(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
6091 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6092 if (UNTAG_Bool(REGB3
)) {
6093 fra
.me
.REG
[8] = CALL_syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6094 REGB3
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6095 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
6096 if (UNTAG_Bool(REGB4
)) {
6098 /* ./../lib/standard//kernel.nit:207 */
6099 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
6100 /* ./syntax//mmbuilder.nit:899 */
6104 REGB3
= TAG_Bool(false);
6107 if (UNTAG_Bool(REGB4
)) {
6108 /* ./syntax//mmbuilder.nit:901 */
6110 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB4
);
6111 if (!once_value_55
) {
6112 fra
.me
.REG
[12] = BOX_NativeString("Redef error: Incompatible redefinition of ");
6113 REGB4
= TAG_Int(42);
6114 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6115 once_value_55
= fra
.me
.REG
[12];
6116 register_static_object(&once_value_55
);
6117 } else fra
.me
.REG
[12] = once_value_55
;
6118 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6119 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6120 fra
.me
.REG
[12] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6121 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6122 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6123 if (!once_value_56
) {
6124 fra
.me
.REG
[12] = BOX_NativeString("::");
6126 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6127 once_value_56
= fra
.me
.REG
[12];
6128 register_static_object(&once_value_56
);
6129 } else fra
.me
.REG
[12] = once_value_56
;
6130 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6131 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6132 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6133 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6134 if (!once_value_57
) {
6135 fra
.me
.REG
[12] = BOX_NativeString(" with ");
6137 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6138 once_value_57
= fra
.me
.REG
[12];
6139 register_static_object(&once_value_57
);
6140 } else fra
.me
.REG
[12] = once_value_57
;
6141 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6142 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6143 fra
.me
.REG
[12] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6144 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6145 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6146 if (!once_value_58
) {
6147 fra
.me
.REG
[12] = BOX_NativeString("::");
6149 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6150 once_value_58
= fra
.me
.REG
[12];
6151 register_static_object(&once_value_58
);
6152 } else fra
.me
.REG
[12] = once_value_58
;
6153 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6154 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6155 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6156 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6157 if (!once_value_59
) {
6158 fra
.me
.REG
[12] = BOX_NativeString("");
6160 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6161 once_value_59
= fra
.me
.REG
[12];
6162 register_static_object(&once_value_59
);
6163 } else fra
.me
.REG
[12] = once_value_59
;
6164 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6165 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6166 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6167 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6169 /* ./syntax//mmbuilder.nit:902 */
6170 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6171 if (UNTAG_Bool(REGB4
)) {
6173 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6174 if (UNTAG_Bool(REGB3
)) {
6175 REGB3
= TAG_Bool(false);
6178 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
6182 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6183 if (UNTAG_Bool(REGB4
)) {
6184 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6185 if (UNTAG_Bool(REGB4
)) {
6187 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6188 if (UNTAG_Bool(REGB3
)) {
6189 REGB3
= TAG_Bool(false);
6192 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
6196 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6198 REGB3
= TAG_Bool(false);
6201 if (UNTAG_Bool(REGB4
)) {
6202 REGB4
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[7],fra
.me
.REG
[10]));
6203 if (UNTAG_Bool(REGB4
)) {
6205 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6206 if (UNTAG_Bool(REGB3
)) {
6207 REGB3
= TAG_Bool(false);
6210 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
6214 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6216 REGB3
= TAG_Bool(false);
6219 if (UNTAG_Bool(REGB4
)) {
6220 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
6222 REGB3
= TAG_Bool(false);
6225 if (UNTAG_Bool(REGB4
)) {
6226 /* ./syntax//mmbuilder.nit:904 */
6227 REGB4
= TAG_Int(13);
6228 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB4
);
6229 if (!once_value_60
) {
6230 fra
.me
.REG
[12] = BOX_NativeString("Redef warning: Expected ");
6231 REGB4
= TAG_Int(24);
6232 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6233 once_value_60
= fra
.me
.REG
[12];
6234 register_static_object(&once_value_60
);
6235 } else fra
.me
.REG
[12] = once_value_60
;
6236 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6237 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6238 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6239 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6240 if (!once_value_61
) {
6241 fra
.me
.REG
[10] = BOX_NativeString(" (as in ");
6243 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
6244 once_value_61
= fra
.me
.REG
[10];
6245 register_static_object(&once_value_61
);
6246 } else fra
.me
.REG
[10] = once_value_61
;
6247 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6248 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6249 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6250 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6251 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6252 if (!once_value_62
) {
6253 fra
.me
.REG
[10] = BOX_NativeString("::");
6255 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
6256 once_value_62
= fra
.me
.REG
[10];
6257 register_static_object(&once_value_62
);
6258 } else fra
.me
.REG
[10] = once_value_62
;
6259 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6260 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6261 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6262 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6263 if (!once_value_63
) {
6264 fra
.me
.REG
[9] = BOX_NativeString("), got ");
6266 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB4
);
6267 once_value_63
= fra
.me
.REG
[9];
6268 register_static_object(&once_value_63
);
6269 } else fra
.me
.REG
[9] = once_value_63
;
6270 fra
.me
.REG
[9] = fra
.me
.REG
[9];
6271 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6272 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6273 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6274 if (!once_value_64
) {
6275 fra
.me
.REG
[7] = BOX_NativeString(" in ");
6277 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB4
);
6278 once_value_64
= fra
.me
.REG
[7];
6279 register_static_object(&once_value_64
);
6280 } else fra
.me
.REG
[7] = once_value_64
;
6281 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6282 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6283 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6284 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6285 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6286 if (!once_value_65
) {
6287 fra
.me
.REG
[7] = BOX_NativeString("::");
6289 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB4
);
6290 once_value_65
= fra
.me
.REG
[7];
6291 register_static_object(&once_value_65
);
6292 } else fra
.me
.REG
[7] = once_value_65
;
6293 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6294 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6295 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6296 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6297 if (!once_value_66
) {
6298 fra
.me
.REG
[7] = BOX_NativeString(".");
6300 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB4
);
6301 once_value_66
= fra
.me
.REG
[7];
6302 register_static_object(&once_value_66
);
6303 } else fra
.me
.REG
[7] = once_value_66
;
6304 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6305 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6306 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6307 CALL_syntax_base___AbsSyntaxVisitor___warning(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6313 /* ./../lib/standard//collection//array.nit:239 */
6315 /* ./../lib/standard//kernel.nit:215 */
6316 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
6317 /* ./../lib/standard//collection//array.nit:239 */
6320 /* ./../lib/standard//collection//array.nit:237 */
6325 /* ./syntax//mmbuilder.nit:908 */
6327 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
6328 if (UNTAG_Bool(REGB4
)) {
6330 /* ./../lib/standard//kernel.nit:207 */
6331 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
6332 /* ./syntax//mmbuilder.nit:908 */
6335 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6336 if (UNTAG_Bool(REGB4
)) {
6337 REGB4
= CALL_abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6338 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB1
));
6339 if (UNTAG_Bool(REGB2
)) {
6341 /* ./../lib/standard//kernel.nit:207 */
6342 REGB1
= TAG_Bool((REGB4
)==(REGB1
));
6343 /* ./syntax//mmbuilder.nit:908 */
6346 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
6348 REGB1
= TAG_Bool(false);
6351 if (UNTAG_Bool(REGB2
)) {
6352 /* ./syntax//mmbuilder.nit:909 */
6354 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
6355 if (!once_value_68
) {
6356 fra
.me
.REG
[6] = BOX_NativeString("Redef error: ");
6357 REGB2
= TAG_Int(13);
6358 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
6359 once_value_68
= fra
.me
.REG
[6];
6360 register_static_object(&once_value_68
);
6361 } else fra
.me
.REG
[6] = once_value_68
;
6362 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6363 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
6364 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6365 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6366 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
6367 if (!once_value_69
) {
6368 fra
.me
.REG
[6] = BOX_NativeString("::");
6370 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
6371 once_value_69
= fra
.me
.REG
[6];
6372 register_static_object(&once_value_69
);
6373 } else fra
.me
.REG
[6] = once_value_69
;
6374 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6375 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
6376 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6377 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
6378 if (!once_value_70
) {
6379 fra
.me
.REG
[2] = BOX_NativeString(" redefinition cannot change visibility.");
6380 REGB2
= TAG_Int(39);
6381 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
6382 once_value_70
= fra
.me
.REG
[2];
6383 register_static_object(&once_value_70
);
6384 } else fra
.me
.REG
[2] = once_value_70
;
6385 fra
.me
.REG
[2] = fra
.me
.REG
[2];
6386 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
6387 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6388 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6390 /* ./syntax//mmbuilder.nit:911 */
6391 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6392 REGB2
= TAG_Bool(true);
6393 CALL_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
);
6395 stack_frame_head
= fra
.me
.prev
;
6398 val_t
mmbuilder___AAttrPropdef___readmethod(val_t p0
){
6399 struct {struct stack_frame_t me
;} fra
;
6401 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6402 fra
.me
.file
= LOCATE_mmbuilder
;
6404 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___readmethod
;
6405 fra
.me
.has_broke
= 0;
6406 fra
.me
.REG_size
= 1;
6407 fra
.me
.REG
[0] = NIT_NULL
;
6409 /* ./syntax//mmbuilder.nit:916 */
6410 fra
.me
.REG
[0] = ATTR_mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[0]);
6411 stack_frame_head
= fra
.me
.prev
;
6412 return fra
.me
.REG
[0];
6414 val_t
mmbuilder___AAttrPropdef___writemethod(val_t p0
){
6415 struct {struct stack_frame_t me
;} fra
;
6417 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6418 fra
.me
.file
= LOCATE_mmbuilder
;
6420 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___writemethod
;
6421 fra
.me
.has_broke
= 0;
6422 fra
.me
.REG_size
= 1;
6423 fra
.me
.REG
[0] = NIT_NULL
;
6425 /* ./syntax//mmbuilder.nit:917 */
6426 fra
.me
.REG
[0] = ATTR_mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[0]);
6427 stack_frame_head
= fra
.me
.prev
;
6428 return fra
.me
.REG
[0];
6430 val_t
mmbuilder___AAttrPropdef___prop(val_t p0
){
6431 struct {struct stack_frame_t me
;} fra
;
6434 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6435 fra
.me
.file
= LOCATE_mmbuilder
;
6437 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___prop
;
6438 fra
.me
.has_broke
= 0;
6439 fra
.me
.REG_size
= 1;
6440 fra
.me
.REG
[0] = NIT_NULL
;
6442 /* ./syntax//mmbuilder.nit:919 */
6443 fra
.me
.REG
[0] = ATTR_mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[0]);
6444 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
6445 if (UNTAG_Bool(REGB0
)) {
6447 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 919);
6451 stack_frame_head
= fra
.me
.prev
;
6452 return fra
.me
.REG
[0];
6454 void mmbuilder___AAttrPropdef___accept_property_builder(val_t p0
, val_t p1
){
6455 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
6460 static val_t once_value_1
; /* Once value */
6461 static val_t once_value_2
; /* Once value */
6462 static val_t once_value_3
; /* Once value */
6463 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6464 fra
.me
.file
= LOCATE_mmbuilder
;
6466 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___accept_property_builder
;
6467 fra
.me
.has_broke
= 0;
6468 fra
.me
.REG_size
= 6;
6469 fra
.me
.REG
[0] = NIT_NULL
;
6470 fra
.me
.REG
[1] = NIT_NULL
;
6471 fra
.me
.REG
[2] = NIT_NULL
;
6472 fra
.me
.REG
[3] = NIT_NULL
;
6473 fra
.me
.REG
[4] = NIT_NULL
;
6474 fra
.me
.REG
[5] = NIT_NULL
;
6477 /* ./syntax//mmbuilder.nit:921 */
6478 fra
.me
.REG
[2] = fra
.me
.REG
[0];
6479 fra
.me
.REG
[3] = fra
.me
.REG
[1];
6480 /* ./syntax//mmbuilder.nit:923 */
6481 CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
6482 /* ./syntax//mmbuilder.nit:925 */
6483 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6484 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6485 if (UNTAG_Bool(REGB0
)) {
6487 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6488 if (UNTAG_Bool(REGB1
)) {
6489 REGB1
= TAG_Bool(false);
6492 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
6496 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6497 if (UNTAG_Bool(REGB0
)) {
6498 /* ./syntax//mmbuilder.nit:926 */
6499 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6500 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6501 if (UNTAG_Bool(REGB0
)) {
6502 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 926);
6504 fra
.me
.REG
[1] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6506 /* ./syntax//mmbuilder.nit:928 */
6507 if (!once_value_1
) {
6508 fra
.me
.REG
[0] = BOX_NativeString("@");
6510 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
6511 once_value_1
= fra
.me
.REG
[0];
6512 register_static_object(&once_value_1
);
6513 } else fra
.me
.REG
[0] = once_value_1
;
6514 fra
.me
.REG
[0] = fra
.me
.REG
[0];
6515 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6516 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6517 if (UNTAG_Bool(REGB0
)) {
6518 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 928);
6520 fra
.me
.REG
[4] = CALL_lexer___Token___text(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6521 fra
.me
.REG
[4] = CALL_string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
6522 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6523 fra
.me
.REG
[1] = fra
.me
.REG
[4];
6525 /* ./syntax//mmbuilder.nit:930 */
6526 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6527 /* ./syntax//mmbuilder.nit:931 */
6528 fra
.me
.REG
[0] = NEW_MMSrcAttribute_syntax_base___MMSrcAttribute___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
6529 /* ./syntax//mmbuilder.nit:932 */
6530 ATTR_mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
6531 /* ./syntax//mmbuilder.nit:933 */
6532 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6533 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
6534 /* ./syntax//mmbuilder.nit:935 */
6535 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6536 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6537 if (UNTAG_Bool(REGB0
)) {
6539 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6540 if (UNTAG_Bool(REGB1
)) {
6541 REGB1
= TAG_Bool(false);
6544 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6548 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6549 if (UNTAG_Bool(REGB0
)) {
6550 REGB0
= TAG_Bool(true);
6552 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6553 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6554 if (UNTAG_Bool(REGB1
)) {
6556 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6557 if (UNTAG_Bool(REGB2
)) {
6558 REGB2
= TAG_Bool(false);
6561 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6567 if (UNTAG_Bool(REGB0
)) {
6568 /* ./syntax//mmbuilder.nit:936 */
6569 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6570 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6571 if (UNTAG_Bool(REGB0
)) {
6573 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6574 if (UNTAG_Bool(REGB1
)) {
6575 REGB1
= TAG_Bool(false);
6578 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6582 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6583 if (UNTAG_Bool(REGB0
)) {
6584 /* ./syntax//mmbuilder.nit:937 */
6585 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6586 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6587 if (UNTAG_Bool(REGB0
)) {
6588 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 937);
6590 fra
.me
.REG
[0] = CALL_lexer___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6592 fra
.me
.REG
[0] = CALL_string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
6593 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6594 fra
.me
.REG
[1] = fra
.me
.REG
[0];
6596 /* ./syntax//mmbuilder.nit:939 */
6597 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6598 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6599 if (UNTAG_Bool(REGB0
)) {
6600 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 939);
6602 fra
.me
.REG
[0] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6603 fra
.me
.REG
[1] = fra
.me
.REG
[0];
6605 /* ./syntax//mmbuilder.nit:941 */
6606 fra
.me
.REG
[0] = NEW_MMReadImplementationMethod_syntax_base___MMReadImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
6607 /* ./syntax//mmbuilder.nit:942 */
6608 ATTR_mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
6609 /* ./syntax//mmbuilder.nit:943 */
6610 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6611 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
6613 /* ./syntax//mmbuilder.nit:945 */
6614 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6615 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6616 if (UNTAG_Bool(REGB0
)) {
6618 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6619 if (UNTAG_Bool(REGB1
)) {
6620 REGB1
= TAG_Bool(false);
6623 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6627 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6628 if (UNTAG_Bool(REGB0
)) {
6629 REGB0
= TAG_Bool(true);
6631 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6632 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6633 if (UNTAG_Bool(REGB1
)) {
6635 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6636 if (UNTAG_Bool(REGB2
)) {
6637 REGB2
= TAG_Bool(false);
6640 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6646 if (UNTAG_Bool(REGB0
)) {
6647 /* ./syntax//mmbuilder.nit:946 */
6648 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6649 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6650 if (UNTAG_Bool(REGB0
)) {
6652 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6653 if (UNTAG_Bool(REGB1
)) {
6654 REGB1
= TAG_Bool(false);
6657 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6661 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6662 if (UNTAG_Bool(REGB0
)) {
6663 /* ./syntax//mmbuilder.nit:947 */
6664 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6665 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6666 if (UNTAG_Bool(REGB0
)) {
6667 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 947);
6669 fra
.me
.REG
[0] = CALL_lexer___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6671 fra
.me
.REG
[0] = CALL_string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
6672 if (!once_value_2
) {
6673 fra
.me
.REG
[5] = BOX_NativeString("=");
6675 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
6676 once_value_2
= fra
.me
.REG
[5];
6677 register_static_object(&once_value_2
);
6678 } else fra
.me
.REG
[5] = once_value_2
;
6679 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6680 fra
.me
.REG
[5] = CALL_string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
6681 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6682 fra
.me
.REG
[1] = fra
.me
.REG
[5];
6684 /* ./syntax//mmbuilder.nit:949 */
6685 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6686 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6687 if (UNTAG_Bool(REGB0
)) {
6688 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 949);
6690 fra
.me
.REG
[5] = CALL_lexer___Token___text(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6691 if (!once_value_3
) {
6692 fra
.me
.REG
[0] = BOX_NativeString("=");
6694 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
6695 once_value_3
= fra
.me
.REG
[0];
6696 register_static_object(&once_value_3
);
6697 } else fra
.me
.REG
[0] = once_value_3
;
6698 fra
.me
.REG
[0] = fra
.me
.REG
[0];
6699 fra
.me
.REG
[0] = CALL_string___String_____plus(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
6700 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6701 fra
.me
.REG
[1] = fra
.me
.REG
[0];
6703 /* ./syntax//mmbuilder.nit:951 */
6704 fra
.me
.REG
[4] = NEW_MMWriteImplementationMethod_syntax_base___MMWriteImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
6705 /* ./syntax//mmbuilder.nit:952 */
6706 ATTR_mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]) = fra
.me
.REG
[4];
6707 /* ./syntax//mmbuilder.nit:953 */
6708 fra
.me
.REG
[2] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6709 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
6711 stack_frame_head
= fra
.me
.prev
;
6714 void mmbuilder___AAttrPropdef___accept_property_verifier(val_t p0
, val_t p1
){
6715 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
6721 static val_t once_value_2
; /* Once value */
6722 static val_t once_value_3
; /* Once value */
6723 static val_t once_value_4
; /* Once value */
6724 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6725 fra
.me
.file
= LOCATE_mmbuilder
;
6727 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier
;
6728 fra
.me
.has_broke
= 0;
6729 fra
.me
.REG_size
= 6;
6730 fra
.me
.REG
[0] = NIT_NULL
;
6731 fra
.me
.REG
[1] = NIT_NULL
;
6732 fra
.me
.REG
[2] = NIT_NULL
;
6733 fra
.me
.REG
[3] = NIT_NULL
;
6734 fra
.me
.REG
[4] = NIT_NULL
;
6735 fra
.me
.REG
[5] = NIT_NULL
;
6738 /* ./syntax//mmbuilder.nit:957 */
6739 fra
.me
.REG
[2] = fra
.me
.REG
[0];
6740 fra
.me
.REG
[3] = fra
.me
.REG
[1];
6741 /* ./syntax//mmbuilder.nit:959 */
6742 CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
6743 /* ./syntax//mmbuilder.nit:961 */
6744 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6745 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6746 if (UNTAG_Bool(REGB0
)) {
6748 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6749 if (UNTAG_Bool(REGB1
)) {
6750 REGB1
= TAG_Bool(false);
6753 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
6757 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6758 if (UNTAG_Bool(REGB0
)) {
6759 /* ./syntax//mmbuilder.nit:962 */
6760 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6761 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6762 if (UNTAG_Bool(REGB0
)) {
6763 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 962);
6765 fra
.me
.REG
[1] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
6766 /* ./syntax//mmbuilder.nit:963 */
6767 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6768 if (UNTAG_Bool(REGB0
)) {
6770 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6771 if (UNTAG_Bool(REGB1
)) {
6772 REGB1
= TAG_Bool(false);
6775 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
6779 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6780 if (UNTAG_Bool(REGB0
)) {
6785 /* ./syntax//mmbuilder.nit:965 */
6787 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
6788 if (!once_value_2
) {
6789 fra
.me
.REG
[4] = BOX_NativeString("Not yet implemented: Attribute definition ");
6790 REGB0
= TAG_Int(42);
6791 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
6792 once_value_2
= fra
.me
.REG
[4];
6793 register_static_object(&once_value_2
);
6794 } else fra
.me
.REG
[4] = once_value_2
;
6795 fra
.me
.REG
[4] = fra
.me
.REG
[4];
6796 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
6797 fra
.me
.REG
[4] = CALL_syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6798 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6799 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6800 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
6801 if (!once_value_3
) {
6802 fra
.me
.REG
[4] = BOX_NativeString("::");
6804 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
6805 once_value_3
= fra
.me
.REG
[4];
6806 register_static_object(&once_value_3
);
6807 } else fra
.me
.REG
[4] = once_value_3
;
6808 fra
.me
.REG
[4] = fra
.me
.REG
[4];
6809 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
6810 fra
.me
.REG
[4] = CALL_syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6811 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6812 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
6813 if (!once_value_4
) {
6814 fra
.me
.REG
[4] = BOX_NativeString(" requires an explicit type.");
6815 REGB0
= TAG_Int(27);
6816 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
6817 once_value_4
= fra
.me
.REG
[4];
6818 register_static_object(&once_value_4
);
6819 } else fra
.me
.REG
[4] = once_value_4
;
6820 fra
.me
.REG
[4] = fra
.me
.REG
[4];
6821 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
6822 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6823 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
6824 /* ./syntax//mmbuilder.nit:966 */
6827 /* ./syntax//mmbuilder.nit:969 */
6828 fra
.me
.REG
[0] = CALL_syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6829 /* ./syntax//mmbuilder.nit:970 */
6830 fra
.me
.REG
[4] = NEW_Array_array___Array___init();
6831 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6832 fra
.me
.REG
[5] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6833 fra
.me
.REG
[5] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[5]);
6834 /* ./syntax//mmbuilder.nit:971 */
6835 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
6836 /* ./syntax//mmbuilder.nit:972 */
6837 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6838 REGB0
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6839 /* ./syntax//mmbuilder.nit:973 */
6840 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6841 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6842 if (UNTAG_Bool(REGB1
)) {
6844 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6845 if (UNTAG_Bool(REGB2
)) {
6846 REGB2
= TAG_Bool(false);
6849 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6853 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
6854 if (UNTAG_Bool(REGB1
)) {
6855 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6856 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6857 if (UNTAG_Bool(REGB1
)) {
6859 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6860 if (UNTAG_Bool(REGB2
)) {
6861 REGB2
= TAG_Bool(false);
6864 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6868 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
6870 REGB2
= TAG_Bool(false);
6873 CALL_mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB1
, REGB0
);
6874 /* ./syntax//mmbuilder.nit:974 */
6875 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6876 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6877 if (UNTAG_Bool(REGB1
)) {
6879 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6880 if (UNTAG_Bool(REGB2
)) {
6881 REGB2
= TAG_Bool(false);
6884 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6888 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
6889 if (UNTAG_Bool(REGB1
)) {
6890 REGB1
= TAG_Bool(true);
6892 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6893 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6894 if (UNTAG_Bool(REGB2
)) {
6896 REGB3
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6897 if (UNTAG_Bool(REGB3
)) {
6898 REGB3
= TAG_Bool(false);
6901 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6907 if (UNTAG_Bool(REGB1
)) {
6908 /* ./syntax//mmbuilder.nit:975 */
6909 fra
.me
.REG
[0] = ATTR_mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]);
6910 REGB1
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
6911 if (UNTAG_Bool(REGB1
)) {
6913 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 975);
6915 /* ./syntax//mmbuilder.nit:976 */
6916 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
6917 /* ./syntax//mmbuilder.nit:977 */
6918 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6919 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6920 if (UNTAG_Bool(REGB1
)) {
6922 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6923 if (UNTAG_Bool(REGB2
)) {
6924 REGB2
= TAG_Bool(false);
6927 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
6931 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
6932 if (UNTAG_Bool(REGB1
)) {
6933 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6934 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6935 if (UNTAG_Bool(REGB1
)) {
6936 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 977);
6938 fra
.me
.REG
[5] = CALL_parser_nodes___AAble___n_kwredef(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6939 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6940 if (UNTAG_Bool(REGB1
)) {
6942 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6943 if (UNTAG_Bool(REGB2
)) {
6944 REGB2
= TAG_Bool(false);
6947 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
6951 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
6953 REGB2
= TAG_Bool(false);
6956 if (UNTAG_Bool(REGB1
)) {
6957 REGB1
= TAG_Bool(true);
6959 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6960 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6961 if (UNTAG_Bool(REGB2
)) {
6963 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6964 if (UNTAG_Bool(REGB3
)) {
6965 REGB3
= TAG_Bool(false);
6968 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
6972 if (UNTAG_Bool(REGB2
)) {
6973 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6974 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6975 if (UNTAG_Bool(REGB2
)) {
6977 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6978 if (UNTAG_Bool(REGB3
)) {
6979 REGB3
= TAG_Bool(false);
6982 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
6986 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
6988 REGB3
= TAG_Bool(false);
6993 CALL_mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB1
, REGB0
);
6994 /* ./syntax//mmbuilder.nit:978 */
6995 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6996 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6997 if (UNTAG_Bool(REGB1
)) {
6998 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 978);
7000 CALL_mmbuilder___AType___check_visibility(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
7002 /* ./syntax//mmbuilder.nit:980 */
7003 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7004 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7005 if (UNTAG_Bool(REGB1
)) {
7007 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7008 if (UNTAG_Bool(REGB2
)) {
7009 REGB2
= TAG_Bool(false);
7012 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7016 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7017 if (UNTAG_Bool(REGB1
)) {
7018 REGB1
= TAG_Bool(true);
7020 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7021 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7022 if (UNTAG_Bool(REGB2
)) {
7024 REGB3
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7025 if (UNTAG_Bool(REGB3
)) {
7026 REGB3
= TAG_Bool(false);
7029 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7035 if (UNTAG_Bool(REGB1
)) {
7036 /* ./syntax//mmbuilder.nit:981 */
7037 fra
.me
.REG
[0] = ATTR_mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]);
7038 REGB1
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7039 if (UNTAG_Bool(REGB1
)) {
7041 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 981);
7043 /* ./syntax//mmbuilder.nit:982 */
7045 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB1
);
7046 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
7047 fra
.me
.REG
[5] = NEW_Array_array___Array___with_items(fra
.me
.REG
[5]);
7048 fra
.me
.REG
[1] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7049 fra
.me
.REG
[1] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7050 fra
.me
.REG
[1] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[1]);
7051 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7052 /* ./syntax//mmbuilder.nit:984 */
7053 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7054 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7055 if (UNTAG_Bool(REGB1
)) {
7057 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7058 if (UNTAG_Bool(REGB2
)) {
7059 REGB2
= TAG_Bool(false);
7062 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7066 if (UNTAG_Bool(REGB1
)) {
7067 /* ./syntax//mmbuilder.nit:985 */
7068 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7069 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7070 if (UNTAG_Bool(REGB1
)) {
7072 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7073 if (UNTAG_Bool(REGB2
)) {
7074 REGB2
= TAG_Bool(false);
7077 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7081 if (UNTAG_Bool(REGB1
)) {
7085 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7086 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7087 if (UNTAG_Bool(REGB1
)) {
7088 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 985);
7090 fra
.me
.REG
[1] = CALL_parser_nodes___AAble___n_visibility(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7091 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7092 if (UNTAG_Bool(REGB1
)) {
7093 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 985);
7095 REGB1
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7099 /* ./syntax//mmbuilder.nit:987 */
7100 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7101 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7102 if (UNTAG_Bool(REGB1
)) {
7104 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7105 if (UNTAG_Bool(REGB2
)) {
7106 REGB2
= TAG_Bool(false);
7109 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7113 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7114 if (UNTAG_Bool(REGB1
)) {
7115 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7116 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7117 if (UNTAG_Bool(REGB1
)) {
7118 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 987);
7120 fra
.me
.REG
[1] = CALL_parser_nodes___AAble___n_kwredef(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7121 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7122 if (UNTAG_Bool(REGB1
)) {
7124 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7125 if (UNTAG_Bool(REGB2
)) {
7126 REGB2
= TAG_Bool(false);
7129 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7133 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7135 REGB2
= TAG_Bool(false);
7138 CALL_mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB1
, REGB0
);
7139 /* ./syntax//mmbuilder.nit:988 */
7140 fra
.me
.REG
[2] = CALL_parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7141 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
7142 if (UNTAG_Bool(REGB0
)) {
7143 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 988);
7145 CALL_mmbuilder___AType___check_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
7148 stack_frame_head
= fra
.me
.prev
;
7151 void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
7152 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
7154 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7155 fra
.me
.file
= LOCATE_mmbuilder
;
7157 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
;
7158 fra
.me
.has_broke
= 0;
7159 fra
.me
.REG_size
= 4;
7160 fra
.me
.REG
[0] = NIT_NULL
;
7161 fra
.me
.REG
[1] = NIT_NULL
;
7162 fra
.me
.REG
[2] = NIT_NULL
;
7163 fra
.me
.REG
[3] = NIT_NULL
;
7166 /* ./syntax//mmbuilder.nit:992 */
7167 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7168 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7169 /* ./syntax//mmbuilder.nit:994 */
7170 fra
.me
.REG
[2] = ATTR_mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]);
7171 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
7172 /* ./syntax//mmbuilder.nit:995 */
7173 CALL_SUPER_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7174 /* ./syntax//mmbuilder.nit:996 */
7175 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
7176 stack_frame_head
= fra
.me
.prev
;
7179 val_t
mmbuilder___AMethPropdef___name(val_t p0
){
7180 struct {struct stack_frame_t me
;} fra
;
7182 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7183 fra
.me
.file
= LOCATE_mmbuilder
;
7185 fra
.me
.meth
= LOCATE_mmbuilder___AMethPropdef___name
;
7186 fra
.me
.has_broke
= 0;
7187 fra
.me
.REG_size
= 1;
7188 fra
.me
.REG
[0] = NIT_NULL
;
7190 /* ./syntax//mmbuilder.nit:1001 */
7191 fra
.me
.REG
[0] = ATTR_mmbuilder___AMethPropdef____name(fra
.me
.REG
[0]);
7192 stack_frame_head
= fra
.me
.prev
;
7193 return fra
.me
.REG
[0];
7195 val_t
mmbuilder___AMethPropdef___method(val_t p0
){
7196 struct {struct stack_frame_t me
;} fra
;
7199 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7200 fra
.me
.file
= LOCATE_mmbuilder
;
7202 fra
.me
.meth
= LOCATE_mmbuilder___AMethPropdef___method
;
7203 fra
.me
.has_broke
= 0;
7204 fra
.me
.REG_size
= 1;
7205 fra
.me
.REG
[0] = NIT_NULL
;
7207 /* ./syntax//mmbuilder.nit:1005 */
7208 fra
.me
.REG
[0] = ATTR_mmbuilder___AMethPropdef____method(fra
.me
.REG
[0]);
7209 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7210 if (UNTAG_Bool(REGB0
)) {
7212 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1005);
7216 stack_frame_head
= fra
.me
.prev
;
7217 return fra
.me
.REG
[0];
7219 void mmbuilder___AMethPropdef___accept_property_builder(val_t p0
, val_t p1
){
7220 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
7225 static val_t once_value_1
; /* Once value */
7226 static val_t once_value_2
; /* Once value */
7227 static val_t once_value_3
; /* Once value */
7228 static val_t once_value_4
; /* Once value */
7229 static val_t once_value_5
; /* Once value */
7230 static val_t once_value_6
; /* Once value */
7231 static val_t once_value_7
; /* Once value */
7232 static val_t once_value_8
; /* Once value */
7233 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7234 fra
.me
.file
= LOCATE_mmbuilder
;
7236 fra
.me
.meth
= LOCATE_mmbuilder___AMethPropdef___accept_property_builder
;
7237 fra
.me
.has_broke
= 0;
7238 fra
.me
.REG_size
= 5;
7239 fra
.me
.REG
[0] = NIT_NULL
;
7240 fra
.me
.REG
[1] = NIT_NULL
;
7241 fra
.me
.REG
[2] = NIT_NULL
;
7242 fra
.me
.REG
[3] = NIT_NULL
;
7243 fra
.me
.REG
[4] = NIT_NULL
;
7246 /* ./syntax//mmbuilder.nit:1007 */
7247 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7248 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7249 /* ./syntax//mmbuilder.nit:1009 */
7250 CALL_SUPER_mmbuilder___AMethPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7251 /* ./syntax//mmbuilder.nit:1011 */
7252 fra
.me
.REG
[1] = CALL_parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7253 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7254 if (UNTAG_Bool(REGB0
)) {
7256 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7257 if (UNTAG_Bool(REGB1
)) {
7258 REGB1
= TAG_Bool(false);
7261 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7265 if (UNTAG_Bool(REGB0
)) {
7266 /* ./syntax//mmbuilder.nit:1012 */
7267 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_AConcreteInitPropdef
, ID_AConcreteInitPropdef
)) /*cast AConcreteInitPropdef*/;
7268 if (UNTAG_Bool(REGB0
)) {
7269 /* ./syntax//mmbuilder.nit:1013 */
7270 if (!once_value_1
) {
7271 if (!once_value_2
) {
7272 fra
.me
.REG
[1] = BOX_NativeString("init");
7274 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
7275 once_value_2
= fra
.me
.REG
[1];
7276 register_static_object(&once_value_2
);
7277 } else fra
.me
.REG
[1] = once_value_2
;
7278 fra
.me
.REG
[1] = fra
.me
.REG
[1];
7279 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7280 once_value_1
= fra
.me
.REG
[1];
7281 register_static_object(&once_value_1
);
7282 } else fra
.me
.REG
[1] = once_value_1
;
7283 fra
.me
.REG
[1] = fra
.me
.REG
[1];
7285 /* ./syntax//mmbuilder.nit:1015 */
7286 if (!once_value_3
) {
7287 if (!once_value_4
) {
7288 fra
.me
.REG
[0] = BOX_NativeString("main");
7290 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
7291 once_value_4
= fra
.me
.REG
[0];
7292 register_static_object(&once_value_4
);
7293 } else fra
.me
.REG
[0] = once_value_4
;
7294 fra
.me
.REG
[0] = fra
.me
.REG
[0];
7295 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7296 once_value_3
= fra
.me
.REG
[0];
7297 register_static_object(&once_value_3
);
7298 } else fra
.me
.REG
[0] = once_value_3
;
7299 fra
.me
.REG
[0] = fra
.me
.REG
[0];
7300 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7303 /* ./syntax//mmbuilder.nit:1018 */
7304 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7305 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7306 if (UNTAG_Bool(REGB0
)) {
7307 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1018);
7309 fra
.me
.REG
[0] = CALL_mmbuilder___AMethid___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7310 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7311 if (UNTAG_Bool(REGB0
)) {
7313 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1018);
7315 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7316 /* ./syntax//mmbuilder.nit:1020 */
7317 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7318 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7319 if (UNTAG_Bool(REGB0
)) {
7320 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1020);
7322 fra
.me
.REG
[0] = CALL_mmbuilder___AMethid___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7323 if (!once_value_5
) {
7324 if (!once_value_6
) {
7325 fra
.me
.REG
[4] = BOX_NativeString("-");
7327 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
7328 once_value_6
= fra
.me
.REG
[4];
7329 register_static_object(&once_value_6
);
7330 } else fra
.me
.REG
[4] = once_value_6
;
7331 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7332 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7333 once_value_5
= fra
.me
.REG
[4];
7334 register_static_object(&once_value_5
);
7335 } else fra
.me
.REG
[4] = once_value_5
;
7336 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7337 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[4],fra
.me
.REG
[0]));
7338 if (UNTAG_Bool(REGB0
)) {
7340 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7341 if (UNTAG_Bool(REGB1
)) {
7342 REGB1
= TAG_Bool(false);
7345 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7349 if (UNTAG_Bool(REGB0
)) {
7350 /* ./syntax//mmbuilder.nit:1021 */
7351 fra
.me
.REG
[4] = CALL_parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7352 /* ./syntax//mmbuilder.nit:1022 */
7353 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7354 if (UNTAG_Bool(REGB0
)) {
7356 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7357 if (UNTAG_Bool(REGB1
)) {
7358 REGB1
= TAG_Bool(false);
7361 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
7365 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7366 if (UNTAG_Bool(REGB0
)) {
7367 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7368 if (UNTAG_Bool(REGB0
)) {
7369 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1022);
7371 fra
.me
.REG
[4] = CALL_parser_nodes___ASignature___n_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7372 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7374 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
7375 if (UNTAG_Bool(REGB2
)) {
7377 /* ./../lib/standard//kernel.nit:207 */
7378 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
7379 /* ./syntax//mmbuilder.nit:1022 */
7383 REGB1
= TAG_Bool(false);
7386 if (UNTAG_Bool(REGB2
)) {
7387 /* ./syntax//mmbuilder.nit:1023 */
7388 if (!once_value_7
) {
7389 if (!once_value_8
) {
7390 fra
.me
.REG
[4] = BOX_NativeString("unary -");
7392 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
7393 once_value_8
= fra
.me
.REG
[4];
7394 register_static_object(&once_value_8
);
7395 } else fra
.me
.REG
[4] = once_value_8
;
7396 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7397 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7398 once_value_7
= fra
.me
.REG
[4];
7399 register_static_object(&once_value_7
);
7400 } else fra
.me
.REG
[4] = once_value_7
;
7401 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7402 fra
.me
.REG
[1] = fra
.me
.REG
[4];
7406 /* ./syntax//mmbuilder.nit:1027 */
7407 ATTR_mmbuilder___AMethPropdef____name(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
7408 /* ./syntax//mmbuilder.nit:1028 */
7409 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7410 fra
.me
.REG
[4] = NEW_MMMethSrcMethod_syntax_base___MMMethSrcMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
7411 /* ./syntax//mmbuilder.nit:1029 */
7412 ATTR_mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]) = fra
.me
.REG
[4];
7413 /* ./syntax//mmbuilder.nit:1030 */
7414 fra
.me
.REG
[2] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7415 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
7416 stack_frame_head
= fra
.me
.prev
;
7419 void mmbuilder___AMethPropdef___accept_property_verifier(val_t p0
, val_t p1
){
7420 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
7425 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7426 fra
.me
.file
= LOCATE_mmbuilder
;
7428 fra
.me
.meth
= LOCATE_mmbuilder___AMethPropdef___accept_property_verifier
;
7429 fra
.me
.has_broke
= 0;
7430 fra
.me
.REG_size
= 5;
7431 fra
.me
.REG
[0] = NIT_NULL
;
7432 fra
.me
.REG
[1] = NIT_NULL
;
7433 fra
.me
.REG
[2] = NIT_NULL
;
7434 fra
.me
.REG
[3] = NIT_NULL
;
7435 fra
.me
.REG
[4] = NIT_NULL
;
7438 /* ./syntax//mmbuilder.nit:1033 */
7439 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7440 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7441 /* ./syntax//mmbuilder.nit:1035 */
7442 fra
.me
.REG
[4] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init();
7443 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
7444 /* ./syntax//mmbuilder.nit:1036 */
7445 CALL_SUPER_mmbuilder___AMethPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7446 /* ./syntax//mmbuilder.nit:1038 */
7447 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7448 REGB0
= CALL_mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7449 if (UNTAG_Bool(REGB0
)) {
7452 /* ./syntax//mmbuilder.nit:1040 */
7453 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7454 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7455 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7456 if (UNTAG_Bool(REGB0
)) {
7458 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7459 if (UNTAG_Bool(REGB1
)) {
7460 REGB1
= TAG_Bool(false);
7463 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7467 if (UNTAG_Bool(REGB0
)) {
7469 /* ./syntax//mmbuilder.nit:1043 */
7470 fra
.me
.REG
[1] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7471 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7472 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7473 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7474 if (UNTAG_Bool(REGB0
)) {
7476 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1043);
7478 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
7480 /* ./syntax//mmbuilder.nit:1045 */
7482 /* ./syntax//mmbuilder.nit:1046 */
7483 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7484 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7485 if (UNTAG_Bool(REGB1
)) {
7487 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7488 if (UNTAG_Bool(REGB2
)) {
7489 REGB2
= TAG_Bool(false);
7492 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7496 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7497 if (UNTAG_Bool(REGB1
)) {
7498 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7499 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7500 if (UNTAG_Bool(REGB1
)) {
7501 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1046);
7503 REGB1
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7505 /* ./../lib/standard//kernel.nit:214 */
7506 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
7508 /* ./syntax//mmbuilder.nit:1046 */
7509 REGB1
= TAG_Bool(false);
7512 if (UNTAG_Bool(REGB2
)) {
7513 /* ./syntax//mmbuilder.nit:1047 */
7514 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7515 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7516 if (UNTAG_Bool(REGB2
)) {
7517 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1047);
7519 REGB2
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7522 /* ./syntax//mmbuilder.nit:1049 */
7523 fra
.me
.REG
[0] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7524 fra
.me
.REG
[1] = CALL_parser_nodes___AMethPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7525 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7526 if (UNTAG_Bool(REGB2
)) {
7528 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7529 if (UNTAG_Bool(REGB1
)) {
7530 REGB1
= TAG_Bool(false);
7533 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7537 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
7538 CALL_mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB2
, REGB0
);
7539 /* ./syntax//mmbuilder.nit:1050 */
7540 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7541 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7542 if (UNTAG_Bool(REGB0
)) {
7544 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7545 if (UNTAG_Bool(REGB2
)) {
7546 REGB2
= TAG_Bool(false);
7549 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7553 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7554 if (UNTAG_Bool(REGB0
)) {
7555 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7556 fra
.me
.REG
[2] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7557 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7558 if (UNTAG_Bool(REGB0
)) {
7559 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1050);
7561 CALL_mmbuilder___ASignature___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[2]);
7564 stack_frame_head
= fra
.me
.prev
;
7567 void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
7568 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
7570 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7571 fra
.me
.file
= LOCATE_mmbuilder
;
7573 fra
.me
.meth
= LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor
;
7574 fra
.me
.has_broke
= 0;
7575 fra
.me
.REG_size
= 4;
7576 fra
.me
.REG
[0] = NIT_NULL
;
7577 fra
.me
.REG
[1] = NIT_NULL
;
7578 fra
.me
.REG
[2] = NIT_NULL
;
7579 fra
.me
.REG
[3] = NIT_NULL
;
7582 /* ./syntax//mmbuilder.nit:1053 */
7583 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7584 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7585 /* ./syntax//mmbuilder.nit:1055 */
7586 fra
.me
.REG
[2] = ATTR_mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]);
7587 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
7588 /* ./syntax//mmbuilder.nit:1056 */
7589 CALL_SUPER_mmbuilder___AMethPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7590 /* ./syntax//mmbuilder.nit:1057 */
7591 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
7592 stack_frame_head
= fra
.me
.prev
;
7595 void mmbuilder___AMainMethPropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
7596 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
7600 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7601 fra
.me
.file
= LOCATE_mmbuilder
;
7603 fra
.me
.meth
= LOCATE_mmbuilder___AMainMethPropdef___process_and_check
;
7604 fra
.me
.has_broke
= 0;
7605 fra
.me
.REG_size
= 3;
7606 fra
.me
.REG
[0] = NIT_NULL
;
7607 fra
.me
.REG
[1] = NIT_NULL
;
7608 fra
.me
.REG
[2] = NIT_NULL
;
7614 /* ./syntax//mmbuilder.nit:1064 */
7615 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7616 CALL_abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
7617 /* ./syntax//mmbuilder.nit:1065 */
7618 fra
.me
.REG
[0] = NEW_Array_array___Array___init();
7619 fra
.me
.REG
[1] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7620 fra
.me
.REG
[1] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7621 fra
.me
.REG
[1] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[1]);
7622 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
7623 stack_frame_head
= fra
.me
.prev
;
7626 void mmbuilder___AExternMethPropdef___accept_property_verifier(val_t p0
, val_t p1
){
7627 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
7632 static val_t once_value_1
; /* Once value */
7633 static val_t once_value_2
; /* Once value */
7634 static val_t once_value_3
; /* Once value */
7635 static val_t once_value_4
; /* Once value */
7636 static val_t once_value_5
; /* Once value */
7637 static val_t once_value_6
; /* Once value */
7638 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7639 fra
.me
.file
= LOCATE_mmbuilder
;
7641 fra
.me
.meth
= LOCATE_mmbuilder___AExternMethPropdef___accept_property_verifier
;
7642 fra
.me
.has_broke
= 0;
7643 fra
.me
.REG_size
= 4;
7644 fra
.me
.REG
[0] = NIT_NULL
;
7645 fra
.me
.REG
[1] = NIT_NULL
;
7646 fra
.me
.REG
[2] = NIT_NULL
;
7647 fra
.me
.REG
[3] = NIT_NULL
;
7650 /* ./syntax//mmbuilder.nit:1071 */
7651 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7652 /* ./syntax//mmbuilder.nit:1073 */
7653 CALL_SUPER_mmbuilder___AExternMethPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7654 /* ./syntax//mmbuilder.nit:1075 */
7655 fra
.me
.REG
[1] = CALL_parser_nodes___AExternMethPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7656 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7657 if (UNTAG_Bool(REGB0
)) {
7659 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7660 if (UNTAG_Bool(REGB1
)) {
7661 REGB1
= TAG_Bool(false);
7664 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7668 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7669 if (UNTAG_Bool(REGB0
)) {
7670 /* ./syntax//mmbuilder.nit:1076 */
7671 fra
.me
.REG
[1] = CALL_parser_nodes___AExternMethPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7672 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7673 if (UNTAG_Bool(REGB0
)) {
7674 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1076);
7676 fra
.me
.REG
[1] = CALL_lexer___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7677 /* ./syntax//mmbuilder.nit:1077 */
7679 /* ./../lib/standard//collection//array.nit:23 */
7680 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
7681 if (UNTAG_Bool(REGB1
)) {
7683 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
7685 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
7686 /* ./syntax//mmbuilder.nit:1077 */
7688 /* ./../lib/standard//kernel.nit:217 */
7689 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
7690 /* ./syntax//mmbuilder.nit:1077 */
7691 fra
.me
.REG
[0] = CALL_string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB2
);
7692 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7694 /* ./syntax//mmbuilder.nit:1079 */
7695 REGB2
= TAG_Int(11);
7696 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB2
);
7697 if (!once_value_1
) {
7698 fra
.me
.REG
[3] = BOX_NativeString("");
7700 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
7701 once_value_1
= fra
.me
.REG
[3];
7702 register_static_object(&once_value_1
);
7703 } else fra
.me
.REG
[3] = once_value_1
;
7704 fra
.me
.REG
[3] = fra
.me
.REG
[3];
7705 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7706 fra
.me
.REG
[3] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7707 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7708 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7709 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7710 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7711 if (!once_value_2
) {
7712 fra
.me
.REG
[3] = BOX_NativeString("_");
7714 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
7715 once_value_2
= fra
.me
.REG
[3];
7716 register_static_object(&once_value_2
);
7717 } else fra
.me
.REG
[3] = once_value_2
;
7718 fra
.me
.REG
[3] = fra
.me
.REG
[3];
7719 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7720 fra
.me
.REG
[3] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7721 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7722 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7723 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7724 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7725 if (!once_value_3
) {
7726 fra
.me
.REG
[3] = BOX_NativeString("_");
7728 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
7729 once_value_3
= fra
.me
.REG
[3];
7730 register_static_object(&once_value_3
);
7731 } else fra
.me
.REG
[3] = once_value_3
;
7732 fra
.me
.REG
[3] = fra
.me
.REG
[3];
7733 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7734 fra
.me
.REG
[3] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7735 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7736 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7737 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7738 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7739 if (!once_value_4
) {
7740 fra
.me
.REG
[3] = BOX_NativeString("_");
7742 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
7743 once_value_4
= fra
.me
.REG
[3];
7744 register_static_object(&once_value_4
);
7745 } else fra
.me
.REG
[3] = once_value_4
;
7746 fra
.me
.REG
[3] = fra
.me
.REG
[3];
7747 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7748 fra
.me
.REG
[3] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7749 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7750 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7751 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7752 if (!once_value_5
) {
7753 fra
.me
.REG
[3] = BOX_NativeString("_");
7755 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
7756 once_value_5
= fra
.me
.REG
[3];
7757 register_static_object(&once_value_5
);
7758 } else fra
.me
.REG
[3] = once_value_5
;
7759 fra
.me
.REG
[3] = fra
.me
.REG
[3];
7760 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7761 fra
.me
.REG
[3] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7762 fra
.me
.REG
[3] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7763 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
7764 if (UNTAG_Bool(REGB2
)) {
7765 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1079);
7767 REGB2
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7768 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB2
)(REGB2
);
7769 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7770 if (!once_value_6
) {
7771 fra
.me
.REG
[3] = BOX_NativeString("");
7773 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
7774 once_value_6
= fra
.me
.REG
[3];
7775 register_static_object(&once_value_6
);
7776 } else fra
.me
.REG
[3] = once_value_6
;
7777 fra
.me
.REG
[3] = fra
.me
.REG
[3];
7778 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7779 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7780 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7782 /* ./syntax//mmbuilder.nit:1081 */
7783 fra
.me
.REG
[2] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7784 CALL_syntax_base___MMMethSrcMethod___extern_name__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
7785 stack_frame_head
= fra
.me
.prev
;
7788 val_t
mmbuilder___ATypePropdef___prop(val_t p0
){
7789 struct {struct stack_frame_t me
;} fra
;
7792 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7793 fra
.me
.file
= LOCATE_mmbuilder
;
7795 fra
.me
.meth
= LOCATE_mmbuilder___ATypePropdef___prop
;
7796 fra
.me
.has_broke
= 0;
7797 fra
.me
.REG_size
= 1;
7798 fra
.me
.REG
[0] = NIT_NULL
;
7800 /* ./syntax//mmbuilder.nit:1086 */
7801 fra
.me
.REG
[0] = ATTR_mmbuilder___ATypePropdef____prop(fra
.me
.REG
[0]);
7802 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7803 if (UNTAG_Bool(REGB0
)) {
7805 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1086);
7809 stack_frame_head
= fra
.me
.prev
;
7810 return fra
.me
.REG
[0];
7812 void mmbuilder___ATypePropdef___accept_property_builder(val_t p0
, val_t p1
){
7813 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
7815 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7816 fra
.me
.file
= LOCATE_mmbuilder
;
7818 fra
.me
.meth
= LOCATE_mmbuilder___ATypePropdef___accept_property_builder
;
7819 fra
.me
.has_broke
= 0;
7820 fra
.me
.REG_size
= 4;
7821 fra
.me
.REG
[0] = NIT_NULL
;
7822 fra
.me
.REG
[1] = NIT_NULL
;
7823 fra
.me
.REG
[2] = NIT_NULL
;
7824 fra
.me
.REG
[3] = NIT_NULL
;
7827 /* ./syntax//mmbuilder.nit:1089 */
7828 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7829 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7830 /* ./syntax//mmbuilder.nit:1091 */
7831 CALL_SUPER_mmbuilder___ATypePropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7832 /* ./syntax//mmbuilder.nit:1092 */
7833 fra
.me
.REG
[1] = CALL_parser_nodes___ATypePropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7834 fra
.me
.REG
[1] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7835 /* ./syntax//mmbuilder.nit:1093 */
7836 fra
.me
.REG
[0] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7837 fra
.me
.REG
[0] = NEW_MMSrcTypeProperty_syntax_base___MMSrcTypeProperty___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
7838 /* ./syntax//mmbuilder.nit:1094 */
7839 ATTR_mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
7840 /* ./syntax//mmbuilder.nit:1095 */
7841 fra
.me
.REG
[2] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7842 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
7843 stack_frame_head
= fra
.me
.prev
;
7846 void mmbuilder___ATypePropdef___accept_property_verifier(val_t p0
, val_t p1
){
7847 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
7852 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7853 fra
.me
.file
= LOCATE_mmbuilder
;
7855 fra
.me
.meth
= LOCATE_mmbuilder___ATypePropdef___accept_property_verifier
;
7856 fra
.me
.has_broke
= 0;
7857 fra
.me
.REG_size
= 5;
7858 fra
.me
.REG
[0] = NIT_NULL
;
7859 fra
.me
.REG
[1] = NIT_NULL
;
7860 fra
.me
.REG
[2] = NIT_NULL
;
7861 fra
.me
.REG
[3] = NIT_NULL
;
7862 fra
.me
.REG
[4] = NIT_NULL
;
7865 /* ./syntax//mmbuilder.nit:1098 */
7866 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7867 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7868 /* ./syntax//mmbuilder.nit:1100 */
7869 CALL_SUPER_mmbuilder___ATypePropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7870 /* ./syntax//mmbuilder.nit:1101 */
7871 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
7872 fra
.me
.REG
[0] = CALL_parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7873 fra
.me
.REG
[0] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
7874 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7875 fra
.me
.REG
[4] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7876 fra
.me
.REG
[4] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
7877 /* ./syntax//mmbuilder.nit:1102 */
7878 fra
.me
.REG
[0] = CALL_syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7879 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7880 /* ./syntax//mmbuilder.nit:1103 */
7881 fra
.me
.REG
[4] = CALL_parser_nodes___ATypePropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7882 REGB0
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7883 /* ./syntax//mmbuilder.nit:1104 */
7884 fra
.me
.REG
[4] = CALL_syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7885 fra
.me
.REG
[0] = CALL_parser_nodes___ATypePropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7886 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7887 if (UNTAG_Bool(REGB1
)) {
7889 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7890 if (UNTAG_Bool(REGB2
)) {
7891 REGB2
= TAG_Bool(false);
7894 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7898 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7899 CALL_mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB1
, REGB0
);
7900 stack_frame_head
= fra
.me
.prev
;
7903 void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
7904 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
7906 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7907 fra
.me
.file
= LOCATE_mmbuilder
;
7909 fra
.me
.meth
= LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor
;
7910 fra
.me
.has_broke
= 0;
7911 fra
.me
.REG_size
= 4;
7912 fra
.me
.REG
[0] = NIT_NULL
;
7913 fra
.me
.REG
[1] = NIT_NULL
;
7914 fra
.me
.REG
[2] = NIT_NULL
;
7915 fra
.me
.REG
[3] = NIT_NULL
;
7918 /* ./syntax//mmbuilder.nit:1107 */
7919 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7920 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7921 /* ./syntax//mmbuilder.nit:1109 */
7922 fra
.me
.REG
[2] = ATTR_mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]);
7923 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
7924 /* ./syntax//mmbuilder.nit:1110 */
7925 CALL_SUPER_mmbuilder___ATypePropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7926 /* ./syntax//mmbuilder.nit:1111 */
7927 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
7928 stack_frame_head
= fra
.me
.prev
;
7931 val_t
mmbuilder___MethidAccumulator___name(val_t p0
){
7932 struct {struct stack_frame_t me
;} fra
;
7935 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7936 fra
.me
.file
= LOCATE_mmbuilder
;
7938 fra
.me
.meth
= LOCATE_mmbuilder___MethidAccumulator___name
;
7939 fra
.me
.has_broke
= 0;
7940 fra
.me
.REG_size
= 1;
7941 fra
.me
.REG
[0] = NIT_NULL
;
7943 /* ./syntax//mmbuilder.nit:1118 */
7944 REGB0
= TAG_Bool(ATTR_mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
7945 if (UNTAG_Bool(REGB0
)) {
7947 nit_abort("Uninitialized attribute %s", "_name", LOCATE_mmbuilder
, 1118);
7949 fra
.me
.REG
[0] = ATTR_mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
7950 stack_frame_head
= fra
.me
.prev
;
7951 return fra
.me
.REG
[0];
7953 void mmbuilder___MethidAccumulator___visit(val_t p0
, val_t p1
){
7954 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
7957 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7958 fra
.me
.file
= LOCATE_mmbuilder
;
7960 fra
.me
.meth
= LOCATE_mmbuilder___MethidAccumulator___visit
;
7961 fra
.me
.has_broke
= 0;
7962 fra
.me
.REG_size
= 4;
7963 fra
.me
.REG
[0] = NIT_NULL
;
7964 fra
.me
.REG
[1] = NIT_NULL
;
7965 fra
.me
.REG
[2] = NIT_NULL
;
7966 fra
.me
.REG
[3] = NIT_NULL
;
7969 /* ./syntax//mmbuilder.nit:1121 */
7970 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_Token
, ID_Token
)) /*cast Token*/;
7971 if (UNTAG_Bool(REGB0
)) {
7972 /* ./syntax//mmbuilder.nit:1122 */
7973 REGB0
= TAG_Bool(ATTR_mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
7974 if (UNTAG_Bool(REGB0
)) {
7976 nit_abort("Uninitialized attribute %s", "_name", LOCATE_mmbuilder
, 1122);
7978 fra
.me
.REG
[2] = ATTR_mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
7979 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7980 if (UNTAG_Bool(REGB0
)) {
7981 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1122);
7983 fra
.me
.REG
[3] = CALL_lexer___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7984 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
7986 /* ./syntax//mmbuilder.nit:1124 */
7987 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7988 if (UNTAG_Bool(REGB0
)) {
7989 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1124);
7991 CALL_parser_prod___ANode___visit_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
7993 stack_frame_head
= fra
.me
.prev
;
7996 val_t
mmbuilder___AMethid___name(val_t p0
){
7997 struct {struct stack_frame_t me
;} fra
;
7999 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8000 fra
.me
.file
= LOCATE_mmbuilder
;
8002 fra
.me
.meth
= LOCATE_mmbuilder___AMethid___name
;
8003 fra
.me
.has_broke
= 0;
8004 fra
.me
.REG_size
= 1;
8005 fra
.me
.REG
[0] = NIT_NULL
;
8007 /* ./syntax//mmbuilder.nit:1130 */
8008 fra
.me
.REG
[0] = ATTR_mmbuilder___AMethid____name(fra
.me
.REG
[0]);
8009 stack_frame_head
= fra
.me
.prev
;
8010 return fra
.me
.REG
[0];
8012 void mmbuilder___AMethid___accept_property_builder(val_t p0
, val_t p1
){
8013 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8015 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8016 fra
.me
.file
= LOCATE_mmbuilder
;
8018 fra
.me
.meth
= LOCATE_mmbuilder___AMethid___accept_property_builder
;
8019 fra
.me
.has_broke
= 0;
8020 fra
.me
.REG_size
= 4;
8021 fra
.me
.REG
[0] = NIT_NULL
;
8022 fra
.me
.REG
[1] = NIT_NULL
;
8023 fra
.me
.REG
[2] = NIT_NULL
;
8024 fra
.me
.REG
[3] = NIT_NULL
;
8027 /* ./syntax//mmbuilder.nit:1133 */
8028 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8029 /* ./syntax//mmbuilder.nit:1135 */
8030 fra
.me
.REG
[3] = NEW_MethidAccumulator_parser_prod___Visitor___init();
8031 /* ./syntax//mmbuilder.nit:1136 */
8032 CALL_parser_prod___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
8033 /* ./syntax//mmbuilder.nit:1137 */
8034 fra
.me
.REG
[3] = CALL_mmbuilder___MethidAccumulator___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8035 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8036 fra
.me
.REG
[3] = CALL_symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8037 ATTR_mmbuilder___AMethid____name(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
8038 /* ./syntax//mmbuilder.nit:1138 */
8039 CALL_SUPER_mmbuilder___AMethid___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8040 stack_frame_head
= fra
.me
.prev
;
8043 void mmbuilder___ASignature___accept_property_verifier(val_t p0
, val_t p1
){
8044 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
8049 static val_t once_value_2
; /* Once value */
8050 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8051 fra
.me
.file
= LOCATE_mmbuilder
;
8053 fra
.me
.meth
= LOCATE_mmbuilder___ASignature___accept_property_verifier
;
8054 fra
.me
.has_broke
= 0;
8055 fra
.me
.REG_size
= 6;
8056 fra
.me
.REG
[0] = NIT_NULL
;
8057 fra
.me
.REG
[1] = NIT_NULL
;
8058 fra
.me
.REG
[2] = NIT_NULL
;
8059 fra
.me
.REG
[3] = NIT_NULL
;
8060 fra
.me
.REG
[4] = NIT_NULL
;
8061 fra
.me
.REG
[5] = NIT_NULL
;
8064 /* ./syntax//mmbuilder.nit:1143 */
8065 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8066 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8067 /* ./syntax//mmbuilder.nit:1145 */
8068 CALL_SUPER_mmbuilder___ASignature___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8069 /* ./syntax//mmbuilder.nit:1146 */
8070 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8071 REGB0
= CALL_mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8072 if (UNTAG_Bool(REGB0
)) {
8073 /* ./syntax//mmbuilder.nit:1147 */
8076 /* ./syntax//mmbuilder.nit:1148 */
8077 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8078 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8079 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8080 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8081 if (UNTAG_Bool(REGB0
)) {
8082 /* ./syntax//mmbuilder.nit:1149 */
8083 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8084 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8085 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8086 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8087 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8088 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8089 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[1],fra
.me
.REG
[0]));
8090 if (UNTAG_Bool(REGB0
)) {
8092 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8093 if (UNTAG_Bool(REGB1
)) {
8094 REGB1
= TAG_Bool(false);
8097 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
8101 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8102 if (UNTAG_Bool(REGB0
)) {
8103 REGB0
= TAG_Bool(true);
8105 fra
.me
.REG
[0] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8106 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8107 if (UNTAG_Bool(REGB1
)) {
8109 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8110 if (UNTAG_Bool(REGB2
)) {
8111 REGB2
= TAG_Bool(false);
8114 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8118 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8121 if (UNTAG_Bool(REGB0
)) {
8122 /* ./syntax//mmbuilder.nit:1150 */
8123 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8124 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8125 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8126 if (!once_value_2
) {
8127 fra
.me
.REG
[1] = BOX_NativeString("Syntax error: untyped parameter.");
8128 REGB0
= TAG_Int(32);
8129 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
8130 once_value_2
= fra
.me
.REG
[1];
8131 register_static_object(&once_value_2
);
8132 } else fra
.me
.REG
[1] = once_value_2
;
8133 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8134 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0], fra
.me
.REG
[1]);
8135 /* ./syntax//mmbuilder.nit:1151 */
8139 /* ./syntax//mmbuilder.nit:1153 */
8140 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8141 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8142 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8143 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8144 if (UNTAG_Bool(REGB0
)) {
8145 REGB0
= TAG_Bool(true);
8147 fra
.me
.REG
[1] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8148 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8149 if (UNTAG_Bool(REGB1
)) {
8151 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8152 if (UNTAG_Bool(REGB2
)) {
8153 REGB2
= TAG_Bool(false);
8156 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8160 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8163 if (UNTAG_Bool(REGB0
)) {
8164 /* ./syntax//mmbuilder.nit:1154 */
8165 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
8166 /* ./syntax//mmbuilder.nit:1155 */
8167 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8168 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8169 /* ./../lib/standard//collection//array.nit:234 */
8171 /* ./../lib/standard//collection//array.nit:235 */
8172 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
8173 if (UNTAG_Bool(REGB1
)) {
8175 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
8177 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
8178 /* ./../lib/standard//collection//array.nit:236 */
8179 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[0]);
8180 /* ./../lib/standard//collection//array.nit:237 */
8182 /* ./../lib/standard//collection//array.nit:23 */
8183 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
8184 if (UNTAG_Bool(REGB1
)) {
8186 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
8188 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
8189 /* ./../lib/standard//kernel.nit:212 */
8190 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
8191 /* ./../lib/standard//collection//array.nit:237 */
8192 if (UNTAG_Bool(REGB1
)) {
8193 /* ./../lib/standard//collection//array.nit:238 */
8194 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8195 if (UNTAG_Bool(REGB1
)) {
8196 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
8198 /* ./../lib/standard//collection//array.nit:654 */
8199 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
8200 /* ./syntax//mmbuilder.nit:1156 */
8201 fra
.me
.REG
[5] = CALL_mmbuilder___AParam___stype(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8202 REGB1
= TAG_Bool(fra
.me
.REG
[5]!=NIT_NULL
);
8203 if (UNTAG_Bool(REGB1
)) {
8205 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1156);
8207 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
8208 /* ./../lib/standard//collection//array.nit:239 */
8210 /* ./../lib/standard//kernel.nit:215 */
8211 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
8212 /* ./../lib/standard//collection//array.nit:239 */
8215 /* ./../lib/standard//collection//array.nit:237 */
8220 /* ./syntax//mmbuilder.nit:1158 */
8221 fra
.me
.REG
[4] = NIT_NULL
;
8222 /* ./syntax//mmbuilder.nit:1159 */
8223 fra
.me
.REG
[0] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8224 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8225 if (UNTAG_Bool(REGB0
)) {
8227 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8228 if (UNTAG_Bool(REGB1
)) {
8229 REGB1
= TAG_Bool(false);
8232 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8236 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8237 if (UNTAG_Bool(REGB0
)) {
8238 /* ./syntax//mmbuilder.nit:1160 */
8239 fra
.me
.REG
[2] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8240 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
8241 if (UNTAG_Bool(REGB0
)) {
8242 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1160);
8244 fra
.me
.REG
[2] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
8245 fra
.me
.REG
[4] = fra
.me
.REG
[2];
8246 /* ./syntax//mmbuilder.nit:1161 */
8247 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8248 if (UNTAG_Bool(REGB0
)) {
8250 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8251 if (UNTAG_Bool(REGB1
)) {
8252 REGB1
= TAG_Bool(false);
8255 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8259 if (UNTAG_Bool(REGB0
)) {
8260 /* ./syntax//mmbuilder.nit:1162 */
8261 fra
.me
.REG
[2] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8262 REGB0
= TAG_Bool(true);
8263 CALL_mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
8264 /* ./syntax//mmbuilder.nit:1163 */
8268 /* ./syntax//mmbuilder.nit:1166 */
8269 fra
.me
.REG
[2] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8270 fra
.me
.REG
[0] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8271 fra
.me
.REG
[0] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8272 fra
.me
.REG
[0] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
8273 CALL_mmbuilder___SignatureBuilder___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
8274 /* ./syntax//mmbuilder.nit:1167 */
8275 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8276 REGB0
= CALL_mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8278 /* ./../lib/standard//kernel.nit:213 */
8279 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
8280 /* ./syntax//mmbuilder.nit:1167 */
8281 if (UNTAG_Bool(REGB1
)) {
8282 /* ./syntax//mmbuilder.nit:1168 */
8283 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8284 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8285 fra
.me
.REG
[2] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8286 REGB1
= CALL_mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8287 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8288 if (UNTAG_Bool(REGB0
)) {
8289 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1168);
8291 CALL_vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
8293 /* ./syntax//mmbuilder.nit:1170 */
8294 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8295 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8296 /* ./../lib/standard//collection//array.nit:234 */
8298 /* ./../lib/standard//collection//array.nit:235 */
8299 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
8300 if (UNTAG_Bool(REGB0
)) {
8302 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
8304 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
8305 /* ./../lib/standard//collection//array.nit:236 */
8306 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[0]);
8307 /* ./../lib/standard//collection//array.nit:237 */
8309 /* ./../lib/standard//collection//array.nit:23 */
8310 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
8311 if (UNTAG_Bool(REGB0
)) {
8313 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
8315 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
8316 /* ./../lib/standard//kernel.nit:212 */
8317 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
8318 /* ./../lib/standard//collection//array.nit:237 */
8319 if (UNTAG_Bool(REGB0
)) {
8320 /* ./../lib/standard//collection//array.nit:238 */
8321 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
8322 if (UNTAG_Bool(REGB0
)) {
8323 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
8325 /* ./../lib/standard//collection//array.nit:654 */
8326 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
8327 /* ./syntax//mmbuilder.nit:1171 */
8328 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8329 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8330 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8331 if (UNTAG_Bool(REGB0
)) {
8332 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1171);
8334 fra
.me
.REG
[1] = CALL_static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8335 fra
.me
.REG
[4] = CALL_syntax_base___AClosureDecl___variable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8336 fra
.me
.REG
[4] = CALL_syntax_base___ClosureVariable___closure(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8337 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
8338 /* ./../lib/standard//collection//array.nit:239 */
8340 /* ./../lib/standard//kernel.nit:215 */
8341 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
8342 /* ./../lib/standard//collection//array.nit:239 */
8345 /* ./../lib/standard//collection//array.nit:237 */
8354 stack_frame_head
= fra
.me
.prev
;
8357 void mmbuilder___ASignature___check_visibility(val_t p0
, val_t p1
, val_t p2
){
8358 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8362 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8363 fra
.me
.file
= LOCATE_mmbuilder
;
8365 fra
.me
.meth
= LOCATE_mmbuilder___ASignature___check_visibility
;
8366 fra
.me
.has_broke
= 0;
8367 fra
.me
.REG_size
= 4;
8368 fra
.me
.REG
[0] = NIT_NULL
;
8369 fra
.me
.REG
[1] = NIT_NULL
;
8370 fra
.me
.REG
[2] = NIT_NULL
;
8371 fra
.me
.REG
[3] = NIT_NULL
;
8375 /* ./syntax//mmbuilder.nit:1179 */
8376 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8377 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8379 /* ./../lib/standard//kernel.nit:213 */
8380 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
8381 /* ./syntax//mmbuilder.nit:1179 */
8382 if (UNTAG_Bool(REGB1
)) {
8385 /* ./syntax//mmbuilder.nit:1180 */
8386 fra
.me
.REG
[3] = CALL_parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8387 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___ASignature___check_visibility_2
));
8388 /* ./syntax//mmbuilder.nit:1183 */
8389 fra
.me
.REG
[3] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8390 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
8391 if (UNTAG_Bool(REGB1
)) {
8393 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
8394 if (UNTAG_Bool(REGB0
)) {
8395 REGB0
= TAG_Bool(false);
8398 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
8402 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8403 if (UNTAG_Bool(REGB1
)) {
8404 fra
.me
.REG
[0] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8405 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8406 if (UNTAG_Bool(REGB1
)) {
8407 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1183);
8409 CALL_mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
8412 stack_frame_head
= fra
.me
.prev
;
8415 void OC_mmbuilder___ASignature___check_visibility_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
8416 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8421 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8422 fra
.me
.file
= LOCATE_mmbuilder
;
8424 fra
.me
.meth
= LOCATE_mmbuilder___ASignature___check_visibility
;
8425 fra
.me
.has_broke
= 0;
8426 fra
.me
.REG_size
= 2;
8427 fra
.me
.REG
[0] = NIT_NULL
;
8428 fra
.me
.REG
[1] = NIT_NULL
;
8429 fra
.me
.closure_ctx
= closctx_param
;
8430 fra
.me
.closure_funs
= CREG
;
8432 CREG
[0] = clos_fun0
;
8433 /* ./syntax//mmbuilder.nit:1181 */
8434 fra
.me
.REG
[1] = CALL_parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8435 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8436 if (UNTAG_Bool(REGB0
)) {
8438 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8439 if (UNTAG_Bool(REGB1
)) {
8440 REGB1
= TAG_Bool(false);
8443 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8447 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8448 if (UNTAG_Bool(REGB0
)) {
8449 fra
.me
.REG
[0] = CALL_parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8450 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8451 if (UNTAG_Bool(REGB0
)) {
8452 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1181);
8454 CALL_mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
8456 stack_frame_head
= fra
.me
.prev
;
8459 val_t
mmbuilder___AParam___position(val_t p0
){
8460 struct {struct stack_frame_t me
;} fra
;
8463 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8464 fra
.me
.file
= LOCATE_mmbuilder
;
8466 fra
.me
.meth
= LOCATE_mmbuilder___AParam___position
;
8467 fra
.me
.has_broke
= 0;
8468 fra
.me
.REG_size
= 1;
8469 fra
.me
.REG
[0] = NIT_NULL
;
8471 /* ./syntax//mmbuilder.nit:1188 */
8472 REGB0
= TAG_Bool(ATTR_mmbuilder___AParam____position(fra
.me
.REG
[0])!=NIT_NULL
);
8473 if (UNTAG_Bool(REGB0
)) {
8475 nit_abort("Uninitialized attribute %s", "_position", LOCATE_mmbuilder
, 1188);
8477 REGB0
= ATTR_mmbuilder___AParam____position(fra
.me
.REG
[0]);
8478 stack_frame_head
= fra
.me
.prev
;
8481 val_t
mmbuilder___AParam___variable(val_t p0
){
8482 struct {struct stack_frame_t me
;} fra
;
8485 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8486 fra
.me
.file
= LOCATE_mmbuilder
;
8488 fra
.me
.meth
= LOCATE_mmbuilder___AParam___variable
;
8489 fra
.me
.has_broke
= 0;
8490 fra
.me
.REG_size
= 1;
8491 fra
.me
.REG
[0] = NIT_NULL
;
8493 /* ./syntax//mmbuilder.nit:1190 */
8494 fra
.me
.REG
[0] = ATTR_mmbuilder___AParam____variable(fra
.me
.REG
[0]);
8495 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
8496 if (UNTAG_Bool(REGB0
)) {
8498 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1190);
8502 stack_frame_head
= fra
.me
.prev
;
8503 return fra
.me
.REG
[0];
8505 val_t
mmbuilder___AParam___stype(val_t p0
){
8506 struct {struct stack_frame_t me
;} fra
;
8508 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8509 fra
.me
.file
= LOCATE_mmbuilder
;
8511 fra
.me
.meth
= LOCATE_mmbuilder___AParam___stype
;
8512 fra
.me
.has_broke
= 0;
8513 fra
.me
.REG_size
= 1;
8514 fra
.me
.REG
[0] = NIT_NULL
;
8516 /* ./syntax//mmbuilder.nit:1193 */
8517 fra
.me
.REG
[0] = ATTR_mmbuilder___AParam____stype(fra
.me
.REG
[0]);
8518 stack_frame_head
= fra
.me
.prev
;
8519 return fra
.me
.REG
[0];
8521 void mmbuilder___AParam___stype__eq(val_t p0
, val_t p1
){
8522 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8524 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8525 fra
.me
.file
= LOCATE_mmbuilder
;
8527 fra
.me
.meth
= LOCATE_mmbuilder___AParam___stype__eq
;
8528 fra
.me
.has_broke
= 0;
8529 fra
.me
.REG_size
= 2;
8530 fra
.me
.REG
[0] = NIT_NULL
;
8531 fra
.me
.REG
[1] = NIT_NULL
;
8534 /* ./syntax//mmbuilder.nit:1193 */
8535 ATTR_mmbuilder___AParam____stype(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
8536 stack_frame_head
= fra
.me
.prev
;
8539 void mmbuilder___AParam___accept_property_verifier(val_t p0
, val_t p1
){
8540 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
8546 static val_t once_value_2
; /* Once value */
8547 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8548 fra
.me
.file
= LOCATE_mmbuilder
;
8550 fra
.me
.meth
= LOCATE_mmbuilder___AParam___accept_property_verifier
;
8551 fra
.me
.has_broke
= 0;
8552 fra
.me
.REG_size
= 7;
8553 fra
.me
.REG
[0] = NIT_NULL
;
8554 fra
.me
.REG
[1] = NIT_NULL
;
8555 fra
.me
.REG
[2] = NIT_NULL
;
8556 fra
.me
.REG
[3] = NIT_NULL
;
8557 fra
.me
.REG
[4] = NIT_NULL
;
8558 fra
.me
.REG
[5] = NIT_NULL
;
8559 fra
.me
.REG
[6] = NIT_NULL
;
8562 /* ./syntax//mmbuilder.nit:1196 */
8563 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8564 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8565 /* ./syntax//mmbuilder.nit:1198 */
8566 CALL_SUPER_mmbuilder___AParam___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8567 /* ./syntax//mmbuilder.nit:1199 */
8568 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8569 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8570 /* ./../lib/standard//collection//array.nit:23 */
8571 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
8572 if (UNTAG_Bool(REGB0
)) {
8574 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
8576 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
8577 /* ./syntax//mmbuilder.nit:1199 */
8578 ATTR_mmbuilder___AParam____position(fra
.me
.REG
[2]) = REGB0
;
8579 /* ./syntax//mmbuilder.nit:1200 */
8580 fra
.me
.REG
[1] = CALL_parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8581 fra
.me
.REG
[1] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8582 fra
.me
.REG
[0] = CALL_parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8583 fra
.me
.REG
[0] = NEW_ParamVariable_syntax_base___ParamVariable___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
8584 ATTR_mmbuilder___AParam____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
8585 /* ./syntax//mmbuilder.nit:1201 */
8586 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8587 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8588 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
8589 /* ./syntax//mmbuilder.nit:1202 */
8590 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8591 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8592 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
8593 /* ./syntax//mmbuilder.nit:1203 */
8594 fra
.me
.REG
[0] = CALL_parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8595 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8596 if (UNTAG_Bool(REGB0
)) {
8598 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8599 if (UNTAG_Bool(REGB1
)) {
8600 REGB1
= TAG_Bool(false);
8603 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8607 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8608 if (UNTAG_Bool(REGB0
)) {
8609 /* ./syntax//mmbuilder.nit:1204 */
8610 fra
.me
.REG
[0] = CALL_parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8611 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8612 if (UNTAG_Bool(REGB0
)) {
8613 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1204);
8615 fra
.me
.REG
[0] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8616 /* ./syntax//mmbuilder.nit:1205 */
8617 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8618 if (UNTAG_Bool(REGB0
)) {
8620 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8621 if (UNTAG_Bool(REGB1
)) {
8622 REGB1
= TAG_Bool(false);
8625 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8629 if (UNTAG_Bool(REGB0
)) {
8630 /* ./syntax//mmbuilder.nit:1206 */
8631 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8632 REGB0
= TAG_Bool(true);
8633 CALL_mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
8634 /* ./syntax//mmbuilder.nit:1207 */
8637 /* ./syntax//mmbuilder.nit:1209 */
8638 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8639 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8640 /* ./../lib/standard//collection//array.nit:234 */
8642 /* ./../lib/standard//collection//array.nit:235 */
8643 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
8644 if (UNTAG_Bool(REGB1
)) {
8646 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
8648 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
8649 /* ./../lib/standard//collection//array.nit:236 */
8650 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[1]);
8651 /* ./../lib/standard//collection//array.nit:237 */
8653 /* ./../lib/standard//collection//array.nit:23 */
8654 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
8655 if (UNTAG_Bool(REGB1
)) {
8657 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
8659 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
8660 /* ./../lib/standard//kernel.nit:212 */
8661 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
8662 /* ./../lib/standard//collection//array.nit:237 */
8663 if (UNTAG_Bool(REGB1
)) {
8664 /* ./../lib/standard//collection//array.nit:238 */
8665 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8666 if (UNTAG_Bool(REGB1
)) {
8667 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
8669 /* ./../lib/standard//collection//array.nit:654 */
8670 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
8671 /* ./syntax//mmbuilder.nit:1210 */
8672 CALL_mmbuilder___AParam___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
8673 /* ./syntax//mmbuilder.nit:1211 */
8674 REGB1
= CALL_mmbuilder___AParam___is_vararg(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8675 if (UNTAG_Bool(REGB1
)) {
8676 /* ./syntax//mmbuilder.nit:1212 */
8677 fra
.me
.REG
[6] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8678 REGB1
= CALL_mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8680 /* ./../lib/standard//kernel.nit:216 */
8681 REGB2
= TAG_Int(-UNTAG_Int(REGB2
));
8682 /* ./syntax//mmbuilder.nit:1212 */
8683 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
8684 if (UNTAG_Bool(REGB3
)) {
8686 /* ./../lib/standard//kernel.nit:207 */
8687 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
8688 /* ./syntax//mmbuilder.nit:1212 */
8691 if (UNTAG_Bool(REGB3
)) {
8692 /* ./syntax//mmbuilder.nit:1213 */
8693 fra
.me
.REG
[6] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8694 REGB3
= CALL_syntax_base___AParam___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8695 CALL_mmbuilder___SignatureBuilder___vararg_rank__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
8697 /* ./syntax//mmbuilder.nit:1215 */
8698 if (!once_value_2
) {
8699 fra
.me
.REG
[6] = BOX_NativeString("Error: A vararg parameter is already defined.");
8700 REGB3
= TAG_Int(45);
8701 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB3
);
8702 once_value_2
= fra
.me
.REG
[6];
8703 register_static_object(&once_value_2
);
8704 } else fra
.me
.REG
[6] = once_value_2
;
8705 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8706 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
8708 /* ./syntax//mmbuilder.nit:1217 */
8709 fra
.me
.REG
[6] = CALL_syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
8710 fra
.me
.REG
[0] = fra
.me
.REG
[6];
8712 /* ./syntax//mmbuilder.nit:1219 */
8713 fra
.me
.REG
[5] = CALL_syntax_base___AParam___variable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8714 CALL_syntax_base___Variable___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
8715 /* ./../lib/standard//collection//array.nit:239 */
8717 /* ./../lib/standard//kernel.nit:215 */
8718 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
8719 /* ./../lib/standard//collection//array.nit:239 */
8722 /* ./../lib/standard//collection//array.nit:237 */
8727 /* ./syntax//mmbuilder.nit:1221 */
8728 fra
.me
.REG
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8729 fra
.me
.REG
[3] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8730 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8733 stack_frame_head
= fra
.me
.prev
;
8736 val_t
mmbuilder___AParam___is_vararg(val_t p0
){
8737 struct {struct stack_frame_t me
;} fra
;
8741 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8742 fra
.me
.file
= LOCATE_mmbuilder
;
8744 fra
.me
.meth
= LOCATE_mmbuilder___AParam___is_vararg
;
8745 fra
.me
.has_broke
= 0;
8746 fra
.me
.REG_size
= 1;
8747 fra
.me
.REG
[0] = NIT_NULL
;
8749 /* ./syntax//mmbuilder.nit:1225 */
8750 fra
.me
.REG
[0] = CALL_parser_nodes___AParam___n_dotdotdot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8751 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8752 if (UNTAG_Bool(REGB0
)) {
8754 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8755 if (UNTAG_Bool(REGB1
)) {
8756 REGB1
= TAG_Bool(false);
8759 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8763 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8766 stack_frame_head
= fra
.me
.prev
;
8769 val_t
mmbuilder___AClosureDecl___position(val_t p0
){
8770 struct {struct stack_frame_t me
;} fra
;
8773 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8774 fra
.me
.file
= LOCATE_mmbuilder
;
8776 fra
.me
.meth
= LOCATE_mmbuilder___AClosureDecl___position
;
8777 fra
.me
.has_broke
= 0;
8778 fra
.me
.REG_size
= 1;
8779 fra
.me
.REG
[0] = NIT_NULL
;
8781 /* ./syntax//mmbuilder.nit:1229 */
8782 REGB0
= TAG_Bool(ATTR_mmbuilder___AClosureDecl____position(fra
.me
.REG
[0])!=NIT_NULL
);
8783 if (UNTAG_Bool(REGB0
)) {
8785 nit_abort("Uninitialized attribute %s", "_position", LOCATE_mmbuilder
, 1229);
8787 REGB0
= ATTR_mmbuilder___AClosureDecl____position(fra
.me
.REG
[0]);
8788 stack_frame_head
= fra
.me
.prev
;
8791 val_t
mmbuilder___AClosureDecl___variable(val_t p0
){
8792 struct {struct stack_frame_t me
;} fra
;
8795 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8796 fra
.me
.file
= LOCATE_mmbuilder
;
8798 fra
.me
.meth
= LOCATE_mmbuilder___AClosureDecl___variable
;
8799 fra
.me
.has_broke
= 0;
8800 fra
.me
.REG_size
= 1;
8801 fra
.me
.REG
[0] = NIT_NULL
;
8803 /* ./syntax//mmbuilder.nit:1231 */
8804 fra
.me
.REG
[0] = ATTR_mmbuilder___AClosureDecl____variable(fra
.me
.REG
[0]);
8805 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
8806 if (UNTAG_Bool(REGB0
)) {
8808 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1231);
8812 stack_frame_head
= fra
.me
.prev
;
8813 return fra
.me
.REG
[0];
8815 void mmbuilder___AClosureDecl___accept_property_verifier(val_t p0
, val_t p1
){
8816 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
8821 static val_t once_value_2
; /* Once value */
8822 static val_t once_value_3
; /* Once value */
8823 static val_t once_value_4
; /* Once value */
8824 static val_t once_value_5
; /* Once value */
8825 static val_t once_value_6
; /* Once value */
8826 static val_t once_value_7
; /* Once value */
8827 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8828 fra
.me
.file
= LOCATE_mmbuilder
;
8830 fra
.me
.meth
= LOCATE_mmbuilder___AClosureDecl___accept_property_verifier
;
8831 fra
.me
.has_broke
= 0;
8832 fra
.me
.REG_size
= 11;
8833 fra
.me
.REG
[0] = NIT_NULL
;
8834 fra
.me
.REG
[1] = NIT_NULL
;
8835 fra
.me
.REG
[2] = NIT_NULL
;
8836 fra
.me
.REG
[3] = NIT_NULL
;
8837 fra
.me
.REG
[4] = NIT_NULL
;
8838 fra
.me
.REG
[5] = NIT_NULL
;
8839 fra
.me
.REG
[6] = NIT_NULL
;
8840 fra
.me
.REG
[7] = NIT_NULL
;
8841 fra
.me
.REG
[8] = NIT_NULL
;
8842 fra
.me
.REG
[9] = NIT_NULL
;
8843 fra
.me
.REG
[10] = NIT_NULL
;
8846 /* ./syntax//mmbuilder.nit:1234 */
8847 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8848 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8849 /* ./syntax//mmbuilder.nit:1236 */
8850 fra
.me
.REG
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8851 /* ./syntax//mmbuilder.nit:1237 */
8852 fra
.me
.REG
[5] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init();
8853 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
8854 /* ./syntax//mmbuilder.nit:1238 */
8855 CALL_SUPER_mmbuilder___AClosureDecl___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8856 /* ./syntax//mmbuilder.nit:1239 */
8857 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8858 REGB0
= CALL_mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8859 if (UNTAG_Bool(REGB0
)) {
8860 /* ./syntax//mmbuilder.nit:1240 */
8863 /* ./syntax//mmbuilder.nit:1242 */
8864 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8865 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8866 /* ./syntax//mmbuilder.nit:1243 */
8867 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8868 if (UNTAG_Bool(REGB0
)) {
8870 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8871 if (UNTAG_Bool(REGB1
)) {
8872 REGB1
= TAG_Bool(false);
8875 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8879 if (UNTAG_Bool(REGB0
)) {
8880 /* ./syntax//mmbuilder.nit:1244 */
8881 fra
.me
.REG
[0] = NEW_Array_array___Array___init();
8882 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8883 fra
.me
.REG
[5] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8884 fra
.me
.REG
[5] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[5]);
8885 fra
.me
.REG
[1] = fra
.me
.REG
[5];
8887 /* ./syntax//mmbuilder.nit:1246 */
8888 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8889 if (UNTAG_Bool(REGB0
)) {
8890 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1246);
8892 fra
.me
.REG
[5] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8893 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8894 if (UNTAG_Bool(REGB0
)) {
8896 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8897 if (UNTAG_Bool(REGB1
)) {
8898 REGB1
= TAG_Bool(false);
8901 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8905 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8906 if (UNTAG_Bool(REGB0
)) {
8907 fra
.me
.REG
[5] = CALL_parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8908 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8909 if (UNTAG_Bool(REGB0
)) {
8911 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8912 if (UNTAG_Bool(REGB1
)) {
8913 REGB1
= TAG_Bool(false);
8916 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8920 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8922 REGB1
= TAG_Bool(false);
8925 if (UNTAG_Bool(REGB0
)) {
8926 /* ./syntax//mmbuilder.nit:1247 */
8927 if (!once_value_2
) {
8928 fra
.me
.REG
[5] = BOX_NativeString("Syntax Error: A break block cannot have a return value.");
8929 REGB0
= TAG_Int(55);
8930 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
8931 once_value_2
= fra
.me
.REG
[5];
8932 register_static_object(&once_value_2
);
8933 } else fra
.me
.REG
[5] = once_value_2
;
8934 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8935 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[5]);
8937 /* ./syntax//mmbuilder.nit:1251 */
8938 fra
.me
.REG
[5] = NEW_Array_array___Array___init();
8939 fra
.me
.REG
[0] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8940 fra
.me
.REG
[0] = CALL_inheritance___MMModule___type_any(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8941 fra
.me
.REG
[0] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[0]);
8942 /* ./syntax//mmbuilder.nit:1252 */
8943 if (!once_value_3
) {
8944 if (!once_value_4
) {
8945 fra
.me
.REG
[5] = BOX_NativeString("break");
8947 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
8948 once_value_4
= fra
.me
.REG
[5];
8949 register_static_object(&once_value_4
);
8950 } else fra
.me
.REG
[5] = once_value_4
;
8951 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8952 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8953 once_value_3
= fra
.me
.REG
[5];
8954 register_static_object(&once_value_3
);
8955 } else fra
.me
.REG
[5] = once_value_3
;
8956 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8957 REGB0
= TAG_Bool(false);
8958 REGB1
= TAG_Bool(true);
8959 fra
.me
.REG
[0] = NEW_MMClosure_static_type___MMClosure___init(fra
.me
.REG
[5], fra
.me
.REG
[0], REGB0
, REGB1
);
8960 /* ./syntax//mmbuilder.nit:1253 */
8961 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8962 if (UNTAG_Bool(REGB1
)) {
8963 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1253);
8965 fra
.me
.REG
[5] = CALL_static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8966 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
8967 /* ./syntax//mmbuilder.nit:1255 */
8968 fra
.me
.REG
[0] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8969 fra
.me
.REG
[0] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8970 /* ./syntax//mmbuilder.nit:1256 */
8971 fra
.me
.REG
[5] = CALL_parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8972 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8973 if (UNTAG_Bool(REGB1
)) {
8975 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8976 if (UNTAG_Bool(REGB0
)) {
8977 REGB0
= TAG_Bool(false);
8980 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8984 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8985 fra
.me
.REG
[5] = CALL_parser_nodes___AClosureDecl___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8986 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8987 if (UNTAG_Bool(REGB0
)) {
8989 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8990 if (UNTAG_Bool(REGB2
)) {
8991 REGB2
= TAG_Bool(false);
8994 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8998 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8999 fra
.me
.REG
[1] = NEW_MMClosure_static_type___MMClosure___init(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
, REGB0
);
9000 /* ./syntax//mmbuilder.nit:1257 */
9001 fra
.me
.REG
[5] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9002 /* ./../lib/standard//collection//array.nit:234 */
9004 /* ./../lib/standard//collection//array.nit:235 */
9005 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9006 if (UNTAG_Bool(REGB1
)) {
9008 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
9010 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9011 /* ./../lib/standard//collection//array.nit:236 */
9012 fra
.me
.REG
[6] = ATTR_array___Array____items(fra
.me
.REG
[5]);
9013 /* ./../lib/standard//collection//array.nit:237 */
9015 /* ./../lib/standard//collection//array.nit:23 */
9016 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9017 if (UNTAG_Bool(REGB1
)) {
9019 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
9021 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9022 /* ./../lib/standard//kernel.nit:212 */
9023 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
9024 /* ./../lib/standard//collection//array.nit:237 */
9025 if (UNTAG_Bool(REGB1
)) {
9026 /* ./../lib/standard//collection//array.nit:238 */
9027 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
9028 if (UNTAG_Bool(REGB1
)) {
9029 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
9031 /* ./../lib/standard//collection//array.nit:654 */
9032 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
9033 /* ./syntax//mmbuilder.nit:1258 */
9034 fra
.me
.REG
[8] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
9035 fra
.me
.REG
[8] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
9036 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[8],fra
.me
.REG
[0]));
9037 if (UNTAG_Bool(REGB1
)) {
9039 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
9042 if (UNTAG_Bool(REGB1
)) {
9043 /* ./syntax//mmbuilder.nit:1259 */
9044 fra
.me
.REG
[8] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9046 fra
.me
.REG
[9] = NEW_Array_array___Array___with_capacity(REGB1
);
9047 if (!once_value_5
) {
9048 fra
.me
.REG
[10] = BOX_NativeString("A closure '!");
9049 REGB1
= TAG_Int(12);
9050 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB1
);
9051 once_value_5
= fra
.me
.REG
[10];
9052 register_static_object(&once_value_5
);
9053 } else fra
.me
.REG
[10] = once_value_5
;
9054 fra
.me
.REG
[10] = fra
.me
.REG
[10];
9055 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
9056 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9057 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
9058 if (!once_value_6
) {
9059 fra
.me
.REG
[10] = BOX_NativeString("' already defined at ");
9060 REGB1
= TAG_Int(21);
9061 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB1
);
9062 once_value_6
= fra
.me
.REG
[10];
9063 register_static_object(&once_value_6
);
9064 } else fra
.me
.REG
[10] = once_value_6
;
9065 fra
.me
.REG
[10] = fra
.me
.REG
[10];
9066 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
9067 fra
.me
.REG
[7] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
9068 fra
.me
.REG
[7] = CALL_parser_nodes___ANode___location(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
9069 fra
.me
.REG
[10] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9070 fra
.me
.REG
[10] = CALL_parser_nodes___ANode___location(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
9071 fra
.me
.REG
[10] = CALL_location___Location___relative_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
9072 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
9073 if (!once_value_7
) {
9074 fra
.me
.REG
[10] = BOX_NativeString(".");
9076 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB1
);
9077 once_value_7
= fra
.me
.REG
[10];
9078 register_static_object(&once_value_7
);
9079 } else fra
.me
.REG
[10] = once_value_7
;
9080 fra
.me
.REG
[10] = fra
.me
.REG
[10];
9081 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
9082 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
9083 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8], fra
.me
.REG
[9]);
9084 /* ./syntax//mmbuilder.nit:1260 */
9087 /* ./../lib/standard//collection//array.nit:239 */
9089 /* ./../lib/standard//kernel.nit:215 */
9090 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
9091 /* ./../lib/standard//collection//array.nit:239 */
9094 /* ./../lib/standard//collection//array.nit:237 */
9099 /* ./syntax//mmbuilder.nit:1263 */
9100 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
9101 /* ./syntax//mmbuilder.nit:1264 */
9102 fra
.me
.REG
[3] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9103 /* ./../lib/standard//collection//array.nit:23 */
9104 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
9105 if (UNTAG_Bool(REGB0
)) {
9107 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
9109 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
9110 /* ./syntax//mmbuilder.nit:1264 */
9111 ATTR_mmbuilder___AClosureDecl____position(fra
.me
.REG
[2]) = REGB0
;
9112 /* ./syntax//mmbuilder.nit:1265 */
9113 fra
.me
.REG
[4] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9114 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
9115 /* ./syntax//mmbuilder.nit:1266 */
9116 fra
.me
.REG
[4] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9117 fra
.me
.REG
[4] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9118 fra
.me
.REG
[3] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9119 fra
.me
.REG
[1] = NEW_ClosureVariable_syntax_base___ClosureVariable___init(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[1]);
9120 ATTR_mmbuilder___AClosureDecl____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
9122 stack_frame_head
= fra
.me
.prev
;
9125 void mmbuilder___AType___check_visibility(val_t p0
, val_t p1
, val_t p2
){
9126 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
9130 static val_t once_value_2
; /* Once value */
9131 static val_t once_value_3
; /* Once value */
9132 static val_t once_value_4
; /* Once value */
9133 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9134 fra
.me
.file
= LOCATE_mmbuilder
;
9136 fra
.me
.meth
= LOCATE_mmbuilder___AType___check_visibility
;
9137 fra
.me
.has_broke
= 0;
9138 fra
.me
.REG_size
= 6;
9139 fra
.me
.REG
[0] = NIT_NULL
;
9140 fra
.me
.REG
[1] = NIT_NULL
;
9141 fra
.me
.REG
[2] = NIT_NULL
;
9142 fra
.me
.REG
[3] = NIT_NULL
;
9143 fra
.me
.REG
[4] = NIT_NULL
;
9144 fra
.me
.REG
[5] = NIT_NULL
;
9148 /* ./syntax//mmbuilder.nit:1274 */
9149 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9150 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9152 /* ./../lib/standard//kernel.nit:213 */
9153 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
9154 /* ./syntax//mmbuilder.nit:1274 */
9155 if (UNTAG_Bool(REGB1
)) {
9158 /* ./syntax//mmbuilder.nit:1275 */
9159 fra
.me
.REG
[3] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9160 /* ./syntax//mmbuilder.nit:1276 */
9161 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
9162 if (UNTAG_Bool(REGB1
)) {
9164 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
9165 if (UNTAG_Bool(REGB0
)) {
9166 REGB0
= TAG_Bool(false);
9169 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9173 if (UNTAG_Bool(REGB1
)) {
9176 /* ./syntax//mmbuilder.nit:1277 */
9177 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
9178 if (UNTAG_Bool(REGB1
)) {
9179 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1277);
9181 fra
.me
.REG
[3] = CALL_static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9182 /* ./syntax//mmbuilder.nit:1278 */
9183 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9184 REGB1
= CALL_abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9186 /* ./../lib/standard//kernel.nit:213 */
9187 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
9188 /* ./syntax//mmbuilder.nit:1278 */
9189 if (UNTAG_Bool(REGB0
)) {
9190 /* ./syntax//mmbuilder.nit:1279 */
9192 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
9193 if (!once_value_2
) {
9194 fra
.me
.REG
[5] = BOX_NativeString("Access error: Class ");
9195 REGB0
= TAG_Int(20);
9196 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
9197 once_value_2
= fra
.me
.REG
[5];
9198 register_static_object(&once_value_2
);
9199 } else fra
.me
.REG
[5] = once_value_2
;
9200 fra
.me
.REG
[5] = fra
.me
.REG
[5];
9201 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
9202 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9203 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9204 if (!once_value_3
) {
9205 fra
.me
.REG
[3] = BOX_NativeString(" is private and cannot be used in the signature of the non-private property ");
9206 REGB0
= TAG_Int(76);
9207 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
9208 once_value_3
= fra
.me
.REG
[3];
9209 register_static_object(&once_value_3
);
9210 } else fra
.me
.REG
[3] = once_value_3
;
9211 fra
.me
.REG
[3] = fra
.me
.REG
[3];
9212 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9213 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9214 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9215 if (!once_value_4
) {
9216 fra
.me
.REG
[3] = BOX_NativeString(".");
9218 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
9219 once_value_4
= fra
.me
.REG
[3];
9220 register_static_object(&once_value_4
);
9221 } else fra
.me
.REG
[3] = once_value_4
;
9222 fra
.me
.REG
[3] = fra
.me
.REG
[3];
9223 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9224 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9225 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
9227 /* ./syntax//mmbuilder.nit:1281 */
9228 fra
.me
.REG
[0] = CALL_parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9229 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___AType___check_visibility_5
));
9231 stack_frame_head
= fra
.me
.prev
;
9234 void OC_mmbuilder___AType___check_visibility_5(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
9235 struct {struct stack_frame_t me
;} fra
;
9238 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9239 fra
.me
.file
= LOCATE_mmbuilder
;
9241 fra
.me
.meth
= LOCATE_mmbuilder___AType___check_visibility
;
9242 fra
.me
.has_broke
= 0;
9243 fra
.me
.REG_size
= 1;
9244 fra
.me
.REG
[0] = NIT_NULL
;
9245 fra
.me
.closure_ctx
= closctx_param
;
9246 fra
.me
.closure_funs
= CREG
;
9248 CREG
[0] = clos_fun0
;
9249 /* ./syntax//mmbuilder.nit:1282 */
9250 CALL_mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
9251 stack_frame_head
= fra
.me
.prev
;
9254 void mmbuilder___AExpr___accept_class_builder(val_t p0
, val_t p1
){
9255 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9257 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9258 fra
.me
.file
= LOCATE_mmbuilder
;
9260 fra
.me
.meth
= LOCATE_mmbuilder___AExpr___accept_class_builder
;
9261 fra
.me
.has_broke
= 0;
9262 fra
.me
.REG_size
= 2;
9263 fra
.me
.REG
[0] = NIT_NULL
;
9264 fra
.me
.REG
[1] = NIT_NULL
;
9267 stack_frame_head
= fra
.me
.prev
;
9270 void mmbuilder___AExpr___accept_property_builder(val_t p0
, val_t p1
){
9271 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9273 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9274 fra
.me
.file
= LOCATE_mmbuilder
;
9276 fra
.me
.meth
= LOCATE_mmbuilder___AExpr___accept_property_builder
;
9277 fra
.me
.has_broke
= 0;
9278 fra
.me
.REG_size
= 2;
9279 fra
.me
.REG
[0] = NIT_NULL
;
9280 fra
.me
.REG
[1] = NIT_NULL
;
9283 stack_frame_head
= fra
.me
.prev
;
9286 void mmbuilder___AExpr___accept_property_verifier(val_t p0
, val_t p1
){
9287 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9289 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9290 fra
.me
.file
= LOCATE_mmbuilder
;
9292 fra
.me
.meth
= LOCATE_mmbuilder___AExpr___accept_property_verifier
;
9293 fra
.me
.has_broke
= 0;
9294 fra
.me
.REG_size
= 2;
9295 fra
.me
.REG
[0] = NIT_NULL
;
9296 fra
.me
.REG
[1] = NIT_NULL
;
9299 stack_frame_head
= fra
.me
.prev
;