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_enum(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
279 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
281 REGB2
= TAG_Bool(false);
284 if (UNTAG_Bool(REGB1
)) {
285 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
286 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
287 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
289 REGB2
= TAG_Bool(false);
292 if (UNTAG_Bool(REGB1
)) {
293 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
294 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
295 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
297 REGB2
= TAG_Bool(false);
300 if (UNTAG_Bool(REGB1
)) {
301 /* ./syntax//mmbuilder.nit:101 */
302 CALL_mmbuilder___MMSrcLocalClass___process_default_constructors(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
304 /* ./../lib/standard//collection//array.nit:239 */
306 /* ./../lib/standard//kernel.nit:215 */
307 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
308 /* ./../lib/standard//collection//array.nit:239 */
311 /* ./../lib/standard//collection//array.nit:237 */
316 /* ./syntax//mmbuilder.nit:106 */
317 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
318 /* ./syntax//mmbuilder.nit:109 */
319 fra
.me
.REG
[0] = NEW_PropertyVerifierVisitor_mmbuilder___PropertyVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
320 /* ./../lib/standard//collection//array.nit:234 */
322 /* ./../lib/standard//collection//array.nit:235 */
323 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
324 if (UNTAG_Bool(REGB1
)) {
326 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
328 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
329 /* ./../lib/standard//collection//array.nit:236 */
330 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[2]);
331 /* ./../lib/standard//collection//array.nit:237 */
333 /* ./../lib/standard//collection//array.nit:23 */
334 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
335 if (UNTAG_Bool(REGB1
)) {
337 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
339 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
340 /* ./../lib/standard//kernel.nit:212 */
341 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
342 /* ./../lib/standard//collection//array.nit:237 */
343 if (UNTAG_Bool(REGB1
)) {
344 /* ./../lib/standard//collection//array.nit:238 */
345 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
346 if (UNTAG_Bool(REGB1
)) {
347 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
349 /* ./../lib/standard//collection//array.nit:654 */
350 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
351 /* ./syntax//mmbuilder.nit:111 */
352 CALL_mmbuilder___MMLocalClass___accept_properties_visitor(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
353 /* ./../lib/standard//collection//array.nit:239 */
355 /* ./../lib/standard//kernel.nit:215 */
356 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
357 /* ./../lib/standard//collection//array.nit:239 */
360 /* ./../lib/standard//collection//array.nit:237 */
365 /* ./syntax//mmbuilder.nit:114 */
366 CALL_mmloader___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
367 stack_frame_head
= fra
.me
.prev
;
370 void OC_mmbuilder___MMSrcModule___do_mmbuilder_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
371 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
376 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
377 fra
.me
.file
= LOCATE_mmbuilder
;
379 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcModule___do_mmbuilder
;
380 fra
.me
.has_broke
= 0;
382 fra
.me
.REG
[0] = NIT_NULL
;
383 fra
.me
.REG
[1] = NIT_NULL
;
384 fra
.me
.closure_ctx
= closctx_param
;
385 fra
.me
.closure_funs
= CREG
;
388 /* ./syntax//mmbuilder.nit:62 */
389 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
390 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
391 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
392 REGB0
= CALL_abstractmetamodel___MMModule___visibility_for(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
393 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
394 REGB1
= CALL_abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
395 /* ./../lib/standard//kernel.nit:212 */
396 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
397 /* ./syntax//mmbuilder.nit:62 */
398 if (UNTAG_Bool(REGB1
)) {
399 /* ./syntax//mmbuilder.nit:63 */
402 /* ./syntax//mmbuilder.nit:65 */
403 CALL_inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
405 stack_frame_head
= fra
.me
.prev
;
408 void mmbuilder___MMSrcModule___process_default_classes(val_t p0
, val_t p1
){
409 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
412 static val_t once_value_1
; /* Once value */
413 static val_t once_value_2
; /* Once value */
414 static val_t once_value_3
; /* Once value */
415 static val_t once_value_4
; /* Once value */
416 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
417 fra
.me
.file
= LOCATE_mmbuilder
;
419 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcModule___process_default_classes
;
420 fra
.me
.has_broke
= 0;
422 fra
.me
.REG
[0] = NIT_NULL
;
423 fra
.me
.REG
[1] = NIT_NULL
;
424 fra
.me
.REG
[2] = NIT_NULL
;
425 fra
.me
.REG
[3] = NIT_NULL
;
428 /* ./syntax//mmbuilder.nit:120 */
431 fra
.me
.REG
[1] = BOX_NativeString("Object");
433 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
434 once_value_2
= fra
.me
.REG
[1];
435 register_static_object(&once_value_2
);
436 } else fra
.me
.REG
[1] = once_value_2
;
437 fra
.me
.REG
[1] = fra
.me
.REG
[1];
438 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
439 once_value_1
= fra
.me
.REG
[1];
440 register_static_object(&once_value_1
);
441 } else fra
.me
.REG
[1] = once_value_1
;
442 fra
.me
.REG
[1] = fra
.me
.REG
[1];
443 /* ./syntax//mmbuilder.nit:121 */
444 REGB0
= CALL_abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
445 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
446 if (UNTAG_Bool(REGB0
)) {
447 /* ./syntax//mmbuilder.nit:122 */
449 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
450 /* ./syntax//mmbuilder.nit:123 */
451 CALL_abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
452 /* ./syntax//mmbuilder.nit:124 */
453 fra
.me
.REG
[3] = CALL_syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
454 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[2]);
456 /* ./syntax//mmbuilder.nit:126 */
459 fra
.me
.REG
[2] = BOX_NativeString("Bool");
461 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
462 once_value_4
= fra
.me
.REG
[2];
463 register_static_object(&once_value_4
);
464 } else fra
.me
.REG
[2] = once_value_4
;
465 fra
.me
.REG
[2] = fra
.me
.REG
[2];
466 fra
.me
.REG
[2] = CALL_symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
467 once_value_3
= fra
.me
.REG
[2];
468 register_static_object(&once_value_3
);
469 } else fra
.me
.REG
[2] = once_value_3
;
470 fra
.me
.REG
[2] = fra
.me
.REG
[2];
471 fra
.me
.REG
[1] = fra
.me
.REG
[2];
472 /* ./syntax//mmbuilder.nit:127 */
473 REGB0
= CALL_abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
474 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
475 if (UNTAG_Bool(REGB0
)) {
476 /* ./syntax//mmbuilder.nit:128 */
478 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
479 /* ./syntax//mmbuilder.nit:129 */
480 CALL_abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
481 /* ./syntax//mmbuilder.nit:130 */
482 fra
.me
.REG
[0] = CALL_syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
483 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
485 stack_frame_head
= fra
.me
.prev
;
488 void mmbuilder___MMLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
489 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
491 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
492 fra
.me
.file
= LOCATE_mmbuilder
;
494 fra
.me
.meth
= LOCATE_mmbuilder___MMLocalClass___accept_class_visitor
;
495 fra
.me
.has_broke
= 0;
497 fra
.me
.REG
[0] = NIT_NULL
;
498 fra
.me
.REG
[1] = NIT_NULL
;
501 stack_frame_head
= fra
.me
.prev
;
504 void mmbuilder___MMLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
505 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
507 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
508 fra
.me
.file
= LOCATE_mmbuilder
;
510 fra
.me
.meth
= LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor
;
511 fra
.me
.has_broke
= 0;
513 fra
.me
.REG
[0] = NIT_NULL
;
514 fra
.me
.REG
[1] = NIT_NULL
;
517 stack_frame_head
= fra
.me
.prev
;
520 void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
521 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
525 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
526 fra
.me
.file
= LOCATE_mmbuilder
;
528 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor
;
529 fra
.me
.has_broke
= 0;
531 fra
.me
.REG
[0] = NIT_NULL
;
532 fra
.me
.REG
[1] = NIT_NULL
;
533 fra
.me
.REG
[2] = NIT_NULL
;
536 /* ./syntax//mmbuilder.nit:150 */
537 fra
.me
.REG
[0] = CALL_syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
538 /* ./syntax//mmbuilder.nit:151 */
540 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
541 if (UNTAG_Bool(REGB0
)) {
543 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
544 if (UNTAG_Bool(REGB1
)) {
545 REGB1
= TAG_Bool(false);
548 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
552 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
553 if (UNTAG_Bool(REGB0
)) {
554 /* ./syntax//mmbuilder.nit:152 */
555 CALL_parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
556 /* ./syntax//mmbuilder.nit:153 */
557 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
558 if (UNTAG_Bool(REGB0
)) {
559 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 153);
561 fra
.me
.REG
[2] = CALL_syntax_base___AClassdef___next_node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
562 fra
.me
.REG
[0] = fra
.me
.REG
[2];
564 /* ./syntax//mmbuilder.nit:151 */
569 stack_frame_head
= fra
.me
.prev
;
572 void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
573 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
577 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
578 fra
.me
.file
= LOCATE_mmbuilder
;
580 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
581 fra
.me
.has_broke
= 0;
583 fra
.me
.REG
[0] = NIT_NULL
;
584 fra
.me
.REG
[1] = NIT_NULL
;
585 fra
.me
.REG
[2] = NIT_NULL
;
586 fra
.me
.REG
[3] = NIT_NULL
;
589 /* ./syntax//mmbuilder.nit:160 */
590 fra
.me
.REG
[2] = CALL_syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
591 /* ./syntax//mmbuilder.nit:161 */
593 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
594 if (UNTAG_Bool(REGB0
)) {
596 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
597 if (UNTAG_Bool(REGB1
)) {
598 REGB1
= TAG_Bool(false);
601 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
605 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
606 if (UNTAG_Bool(REGB0
)) {
607 /* ./syntax//mmbuilder.nit:162 */
608 CALL_parser_prod___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
609 /* ./syntax//mmbuilder.nit:163 */
610 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
611 if (UNTAG_Bool(REGB0
)) {
612 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 163);
614 fra
.me
.REG
[3] = CALL_syntax_base___AClassdef___next_node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
615 fra
.me
.REG
[2] = fra
.me
.REG
[3];
617 /* ./syntax//mmbuilder.nit:161 */
622 /* ./syntax//mmbuilder.nit:166 */
623 fra
.me
.REG
[0] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
624 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___accept_properties_visitor_2
));
625 stack_frame_head
= fra
.me
.prev
;
628 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
){
629 struct {struct stack_frame_t me
;} fra
;
632 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
633 fra
.me
.file
= LOCATE_mmbuilder
;
635 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
636 fra
.me
.has_broke
= 0;
638 fra
.me
.REG
[0] = NIT_NULL
;
639 fra
.me
.closure_ctx
= closctx_param
;
640 fra
.me
.closure_funs
= CREG
;
643 /* ./syntax//mmbuilder.nit:167 */
644 CALL_mmbuilder___MMLocalProperty___accept_property_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
645 stack_frame_head
= fra
.me
.prev
;
648 void mmbuilder___MMSrcLocalClass___process_default_constructors(val_t p0
, val_t p1
){
649 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
654 static val_t once_value_7
; /* Once value */
655 static val_t once_value_8
; /* Once value */
656 static val_t once_value_13
; /* Once value */
657 static val_t once_value_14
; /* Once value */
658 static val_t once_value_15
; /* Once value */
659 static val_t once_value_16
; /* Once value */
660 static val_t once_value_17
; /* Once value */
661 static val_t once_value_18
; /* Once value */
662 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
663 fra
.me
.file
= LOCATE_mmbuilder
;
665 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
666 fra
.me
.has_broke
= 0;
667 fra
.me
.REG_size
= 10;
668 fra
.me
.REG
[0] = NIT_NULL
;
669 fra
.me
.REG
[1] = NIT_NULL
;
670 fra
.me
.REG
[2] = NIT_NULL
;
671 fra
.me
.REG
[3] = NIT_NULL
;
672 fra
.me
.REG
[4] = NIT_NULL
;
673 fra
.me
.REG
[5] = NIT_NULL
;
674 fra
.me
.REG
[6] = NIT_NULL
;
675 fra
.me
.REG
[7] = NIT_NULL
;
676 fra
.me
.REG
[8] = NIT_NULL
;
677 fra
.me
.REG
[9] = NIT_NULL
;
680 /* ./syntax//mmbuilder.nit:175 */
681 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
682 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___process_default_constructors_1
));
683 switch ((&(fra
.me
))->has_broke
) {
685 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
687 /* ./syntax//mmbuilder.nit:183 */
688 fra
.me
.REG
[2] = NEW_ArraySet_array___ArraySet___init();
689 /* ./syntax//mmbuilder.nit:184 */
690 fra
.me
.REG
[3] = NEW_ArraySet_array___ArraySet___init();
691 /* ./syntax//mmbuilder.nit:185 */
692 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
693 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
694 /* ./../lib/standard//collection//array.nit:234 */
696 /* ./../lib/standard//collection//array.nit:235 */
697 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
698 if (UNTAG_Bool(REGB1
)) {
700 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
702 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
703 /* ./../lib/standard//collection//array.nit:236 */
704 fra
.me
.REG
[5] = ATTR_array___Array____items(fra
.me
.REG
[4]);
705 /* ./../lib/standard//collection//array.nit:237 */
707 /* ./../lib/standard//collection//array.nit:23 */
708 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
709 if (UNTAG_Bool(REGB1
)) {
711 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
713 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
714 /* ./../lib/standard//kernel.nit:212 */
715 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
716 /* ./../lib/standard//collection//array.nit:237 */
717 if (UNTAG_Bool(REGB1
)) {
718 /* ./../lib/standard//collection//array.nit:238 */
719 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
720 if (UNTAG_Bool(REGB1
)) {
721 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
723 /* ./../lib/standard//collection//array.nit:654 */
724 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
725 /* ./syntax//mmbuilder.nit:186 */
726 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
727 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
728 if (UNTAG_Bool(REGB1
)) {
729 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
730 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
731 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
733 REGB2
= TAG_Bool(false);
736 if (UNTAG_Bool(REGB1
)) {
737 REGB1
= TAG_Bool(true);
739 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
740 REGB2
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
743 if (UNTAG_Bool(REGB1
)) {
746 /* ./syntax//mmbuilder.nit:187 */
747 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
748 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[7])(fra
.me
.REG
[7], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___process_default_constructors_5
));
749 /* ./syntax//mmbuilder.nit:191 */
752 fra
.me
.REG
[7] = BOX_NativeString("init");
754 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
755 once_value_8
= fra
.me
.REG
[7];
756 register_static_object(&once_value_8
);
757 } else fra
.me
.REG
[7] = once_value_8
;
758 fra
.me
.REG
[7] = fra
.me
.REG
[7];
759 fra
.me
.REG
[7] = CALL_symbol___String___to_symbol(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
760 once_value_7
= fra
.me
.REG
[7];
761 register_static_object(&once_value_7
);
762 } else fra
.me
.REG
[7] = once_value_7
;
763 fra
.me
.REG
[7] = fra
.me
.REG
[7];
764 /* ./syntax//mmbuilder.nit:192 */
765 REGB1
= CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
766 if (UNTAG_Bool(REGB1
)) {
767 /* ./syntax//mmbuilder.nit:193 */
768 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
769 /* ./syntax//mmbuilder.nit:194 */
770 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[7]);
771 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[7]);
774 /* ./../lib/standard//collection//array.nit:239 */
776 /* ./../lib/standard//kernel.nit:215 */
777 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
778 /* ./../lib/standard//collection//array.nit:239 */
781 /* ./../lib/standard//collection//array.nit:237 */
786 /* ./syntax//mmbuilder.nit:199 */
787 fra
.me
.REG
[5] = NEW_Array_array___Array___init();
788 /* ./syntax//mmbuilder.nit:200 */
789 fra
.me
.REG
[4] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
790 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___process_default_constructors_10
));
791 /* ./syntax//mmbuilder.nit:207 */
792 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
793 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
794 if (UNTAG_Bool(REGB0
)) {
795 /* ./syntax//mmbuilder.nit:210 */
796 fra
.me
.REG
[4] = NEW_Array_array___Array___init();
797 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___process_default_constructors_11
));
798 /* ./syntax//mmbuilder.nit:218 */
799 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
800 fra
.me
.REG
[7] = CALL_partial_order___PartialOrderElement___order(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
801 fra
.me
.REG
[7] = CALL_partial_order___PartialOrder___select_smallests(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[4]);
802 fra
.me
.REG
[4] = fra
.me
.REG
[7];
803 /* ./syntax//mmbuilder.nit:221 */
804 fra
.me
.REG
[7] = NIT_NULL
;
805 /* ./../lib/standard//collection//array.nit:23 */
806 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
807 if (UNTAG_Bool(REGB0
)) {
809 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
811 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
812 /* ./syntax//mmbuilder.nit:223 */
814 /* ./../lib/standard//kernel.nit:214 */
815 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
816 /* ./syntax//mmbuilder.nit:223 */
817 if (UNTAG_Bool(REGB1
)) {
818 /* ./syntax//mmbuilder.nit:224 */
819 fra
.me
.REG
[6] = CALL_syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
821 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB1
);
822 if (!once_value_13
) {
823 fra
.me
.REG
[9] = BOX_NativeString("Error: Explicit constructor required in ");
825 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
826 once_value_13
= fra
.me
.REG
[9];
827 register_static_object(&once_value_13
);
828 } else fra
.me
.REG
[9] = once_value_13
;
829 fra
.me
.REG
[9] = fra
.me
.REG
[9];
830 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
831 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
832 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
833 if (!once_value_14
) {
834 fra
.me
.REG
[9] = BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are ");
836 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
837 once_value_14
= fra
.me
.REG
[9];
838 register_static_object(&once_value_14
);
839 } else fra
.me
.REG
[9] = once_value_14
;
840 fra
.me
.REG
[9] = fra
.me
.REG
[9];
841 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
842 if (!once_value_15
) {
843 fra
.me
.REG
[9] = BOX_NativeString(", ");
845 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
846 once_value_15
= fra
.me
.REG
[9];
847 register_static_object(&once_value_15
);
848 } else fra
.me
.REG
[9] = once_value_15
;
849 fra
.me
.REG
[9] = fra
.me
.REG
[9];
850 fra
.me
.REG
[9] = CALL_string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[9]);
851 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
852 if (!once_value_16
) {
853 fra
.me
.REG
[9] = BOX_NativeString(". Costructors are ");
855 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
856 once_value_16
= fra
.me
.REG
[9];
857 register_static_object(&once_value_16
);
858 } else fra
.me
.REG
[9] = once_value_16
;
859 fra
.me
.REG
[9] = fra
.me
.REG
[9];
860 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
861 if (!once_value_17
) {
862 fra
.me
.REG
[9] = BOX_NativeString(", ");
864 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
865 once_value_17
= fra
.me
.REG
[9];
866 register_static_object(&once_value_17
);
867 } else fra
.me
.REG
[9] = once_value_17
;
868 fra
.me
.REG
[9] = fra
.me
.REG
[9];
869 fra
.me
.REG
[9] = CALL_string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[9]);
870 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
871 if (!once_value_18
) {
872 fra
.me
.REG
[9] = BOX_NativeString(".");
874 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB1
);
875 once_value_18
= fra
.me
.REG
[9];
876 register_static_object(&once_value_18
);
877 } else fra
.me
.REG
[9] = once_value_18
;
878 fra
.me
.REG
[9] = fra
.me
.REG
[9];
879 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
880 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
881 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6], fra
.me
.REG
[8]);
882 /* ./syntax//mmbuilder.nit:225 */
885 /* ./../lib/standard//collection//array.nit:23 */
886 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
887 if (UNTAG_Bool(REGB1
)) {
889 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
891 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
892 /* ./syntax//mmbuilder.nit:226 */
894 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
895 if (UNTAG_Bool(REGB2
)) {
897 /* ./../lib/standard//kernel.nit:207 */
898 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
899 /* ./syntax//mmbuilder.nit:226 */
902 if (UNTAG_Bool(REGB2
)) {
903 /* ./syntax//mmbuilder.nit:227 */
904 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
905 fra
.me
.REG
[7] = fra
.me
.REG
[4];
908 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___MMSrcLocalClass___process_default_constructors_19
));
909 /* ./syntax//mmbuilder.nit:236 */
910 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
911 REGB2
= TAG_Bool(fra
.me
.REG
[7]!=NIT_NULL
);
912 if (UNTAG_Bool(REGB2
)) {
914 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 236);
916 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
917 if (UNTAG_Bool(REGB2
)) {
918 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 236);
920 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
921 CALL_abstractmetamodel___MMGlobalClass___mixin_of__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
923 /* ./syntax//mmbuilder.nit:241 */
924 fra
.me
.REG
[2] = CALL_array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
925 fra
.me
.REG
[2] = NEW_MMImplicitInit_syntax_base___MMImplicitInit___init(fra
.me
.REG
[0], fra
.me
.REG
[5], fra
.me
.REG
[2]);
926 /* ./syntax//mmbuilder.nit:242 */
927 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
930 stack_frame_head
= fra
.me
.prev
;
933 void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
934 struct {struct stack_frame_t me
;} fra
;
939 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
940 fra
.me
.file
= LOCATE_mmbuilder
;
942 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
943 fra
.me
.has_broke
= 0;
945 fra
.me
.REG
[0] = NIT_NULL
;
946 fra
.me
.closure_ctx
= closctx_param
;
947 fra
.me
.closure_funs
= CREG
;
950 /* ./syntax//mmbuilder.nit:176 */
951 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
952 if (UNTAG_Bool(REGB0
)) {
953 /* ./syntax//mmbuilder.nit:178 */
954 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
955 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
956 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],closctx
->REG
[0]));
957 if (UNTAG_Bool(REGB0
)) {
959 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[0]);
962 if (UNTAG_Bool(REGB0
)) {
963 closctx
->has_broke
= 1;
968 stack_frame_head
= fra
.me
.prev
;
971 void OC_mmbuilder___MMSrcLocalClass___process_default_constructors_5(struct stack_frame_t
*closctx
, val_t p0
){
972 struct {struct stack_frame_t me
;} fra
;
975 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
976 fra
.me
.file
= LOCATE_mmbuilder
;
978 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
979 fra
.me
.has_broke
= 0;
981 fra
.me
.REG
[0] = NIT_NULL
;
983 /* ./syntax//mmbuilder.nit:188 */
984 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
985 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
986 if (UNTAG_Bool(REGB0
)) {
989 /* ./syntax//mmbuilder.nit:189 */
990 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
992 stack_frame_head
= fra
.me
.prev
;
995 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
){
996 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1001 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1002 fra
.me
.file
= LOCATE_mmbuilder
;
1004 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
1005 fra
.me
.has_broke
= 0;
1006 fra
.me
.REG_size
= 2;
1007 fra
.me
.REG
[0] = NIT_NULL
;
1008 fra
.me
.REG
[1] = NIT_NULL
;
1009 fra
.me
.closure_ctx
= closctx_param
;
1010 fra
.me
.closure_funs
= CREG
;
1012 CREG
[0] = clos_fun0
;
1013 /* ./syntax//mmbuilder.nit:201 */
1014 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
1015 if (UNTAG_Bool(REGB0
)) {
1016 /* ./syntax//mmbuilder.nit:202 */
1017 fra
.me
.REG
[1] = CALL_syntax_base___MMLocalProperty___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1018 /* ./syntax//mmbuilder.nit:203 */
1019 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1020 if (UNTAG_Bool(REGB0
)) {
1021 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 203);
1023 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1024 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1025 if (UNTAG_Bool(REGB0
)) {
1027 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1028 if (UNTAG_Bool(REGB1
)) {
1029 REGB1
= TAG_Bool(false);
1032 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1036 if (UNTAG_Bool(REGB0
)) {
1037 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1040 stack_frame_head
= fra
.me
.prev
;
1043 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
){
1044 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1048 /* ./syntax//mmbuilder.nit:211 */
1049 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1050 fra
.me
.file
= LOCATE_mmbuilder
;
1052 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
1053 fra
.me
.has_broke
= 0;
1054 fra
.me
.REG_size
= 2;
1055 fra
.me
.REG
[0] = NIT_NULL
;
1056 fra
.me
.REG
[1] = NIT_NULL
;
1057 fra
.me
.closure_ctx
= closctx_param
;
1058 fra
.me
.closure_funs
= CREG
;
1060 CREG
[0] = clos_fun0
;
1061 /* ./syntax//mmbuilder.nit:212 */
1062 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1063 /* ./syntax//mmbuilder.nit:213 */
1064 REGB0
= CALL_abstract_collection___Collection___has(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1065 if (UNTAG_Bool(REGB0
)) {
1068 /* ./syntax//mmbuilder.nit:214 */
1069 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1070 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_mixin(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1071 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1072 if (UNTAG_Bool(REGB0
)) {
1073 /* ./syntax//mmbuilder.nit:215 */
1074 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1077 stack_frame_head
= fra
.me
.prev
;
1080 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
){
1081 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1087 /* ./syntax//mmbuilder.nit:230 */
1088 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1089 fra
.me
.file
= LOCATE_mmbuilder
;
1091 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
;
1092 fra
.me
.has_broke
= 0;
1093 fra
.me
.REG_size
= 2;
1094 fra
.me
.REG
[0] = NIT_NULL
;
1095 fra
.me
.REG
[1] = NIT_NULL
;
1096 fra
.me
.closure_ctx
= closctx_param
;
1097 fra
.me
.closure_funs
= CREG
;
1099 CREG
[0] = clos_fun0
;
1100 /* ./syntax//mmbuilder.nit:232 */
1101 REGB0
= TAG_Bool(closctx
->REG
[7]==NIT_NULL
);
1102 if (UNTAG_Bool(REGB0
)) {
1104 REGB1
= TAG_Bool(closctx
->REG
[7]==NIT_NULL
);
1105 if (UNTAG_Bool(REGB1
)) {
1106 REGB1
= TAG_Bool(false);
1109 REGB1
= CALL_kernel___Object_____eqeq(closctx
->REG
[7])(closctx
->REG
[7], NIT_NULL
);
1113 if (UNTAG_Bool(REGB0
)) {
1114 REGB0
= TAG_Bool(true);
1116 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1117 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],closctx
->REG
[7]));
1118 if (UNTAG_Bool(REGB1
)) {
1120 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[7]);
1125 if (UNTAG_Bool(REGB0
)) {
1126 /* ./syntax//mmbuilder.nit:233 */
1127 CALL_inheritance___MMLocalClass___make_visible_an_inherited_global_property(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
1129 stack_frame_head
= fra
.me
.prev
;
1132 void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t p0
, val_t p1
, val_t p2
){
1133 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1136 static val_t once_value_1
; /* Once value */
1137 static val_t once_value_2
; /* Once value */
1138 static val_t once_value_3
; /* Once value */
1139 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1140 fra
.me
.file
= LOCATE_mmbuilder
;
1142 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property
;
1143 fra
.me
.has_broke
= 0;
1144 fra
.me
.REG_size
= 7;
1145 fra
.me
.REG
[0] = NIT_NULL
;
1146 fra
.me
.REG
[1] = NIT_NULL
;
1147 fra
.me
.REG
[2] = NIT_NULL
;
1148 fra
.me
.REG
[3] = NIT_NULL
;
1149 fra
.me
.REG
[4] = NIT_NULL
;
1150 fra
.me
.REG
[5] = NIT_NULL
;
1151 fra
.me
.REG
[6] = NIT_NULL
;
1155 /* ./syntax//mmbuilder.nit:251 */
1156 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1157 /* ./syntax//mmbuilder.nit:253 */
1158 fra
.me
.REG
[4] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1159 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1160 if (UNTAG_Bool(REGB0
)) {
1161 /* ./syntax//mmbuilder.nit:254 */
1162 fra
.me
.REG
[4] = CALL_syntax_base___MMLocalProperty___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1164 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
1165 if (!once_value_1
) {
1166 fra
.me
.REG
[6] = BOX_NativeString("Error: A property ");
1167 REGB0
= TAG_Int(18);
1168 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1169 once_value_1
= fra
.me
.REG
[6];
1170 register_static_object(&once_value_1
);
1171 } else fra
.me
.REG
[6] = once_value_1
;
1172 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1173 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1174 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1175 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1176 if (!once_value_2
) {
1177 fra
.me
.REG
[6] = BOX_NativeString(" is already defined in class ");
1178 REGB0
= TAG_Int(29);
1179 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1180 once_value_2
= fra
.me
.REG
[6];
1181 register_static_object(&once_value_2
);
1182 } else fra
.me
.REG
[6] = once_value_2
;
1183 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1184 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1185 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1186 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1187 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1188 if (!once_value_3
) {
1189 fra
.me
.REG
[6] = BOX_NativeString(".");
1191 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1192 once_value_3
= fra
.me
.REG
[6];
1193 register_static_object(&once_value_3
);
1194 } else fra
.me
.REG
[6] = once_value_3
;
1195 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1196 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1197 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1198 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[5]);
1199 /* ./syntax//mmbuilder.nit:255 */
1202 /* ./syntax//mmbuilder.nit:257 */
1203 fra
.me
.REG
[5] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1204 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[2]);
1205 /* ./syntax//mmbuilder.nit:260 */
1206 REGB0
= CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1207 if (UNTAG_Bool(REGB0
)) {
1208 /* ./syntax//mmbuilder.nit:261 */
1209 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1210 /* ./syntax//mmbuilder.nit:262 */
1211 CALL_inheritance___MMLocalProperty___inherit_global(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1213 /* ./syntax//mmbuilder.nit:265 */
1214 REGB0
= CALL_abstractmetamodel___MMLocalProperty___is_global_set(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1215 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1216 if (UNTAG_Bool(REGB0
)) {
1217 /* ./syntax//mmbuilder.nit:266 */
1218 CALL_abstractmetamodel___MMLocalProperty___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1219 /* ./syntax//mmbuilder.nit:267 */
1220 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1221 REGB0
= CALL_syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1222 CALL_abstractmetamodel___MMGlobalProperty___is_init__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1225 stack_frame_head
= fra
.me
.prev
;
1228 void mmbuilder___MMLocalProperty___accept_property_visitor(val_t p0
, val_t p1
){
1229 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1231 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1232 fra
.me
.file
= LOCATE_mmbuilder
;
1234 fra
.me
.meth
= LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor
;
1235 fra
.me
.has_broke
= 0;
1236 fra
.me
.REG_size
= 2;
1237 fra
.me
.REG
[0] = NIT_NULL
;
1238 fra
.me
.REG
[1] = NIT_NULL
;
1241 stack_frame_head
= fra
.me
.prev
;
1244 val_t
mmbuilder___MMImplicitInit___super_init(val_t p0
){
1245 struct {struct stack_frame_t me
;} fra
;
1247 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1248 fra
.me
.file
= LOCATE_mmbuilder
;
1250 fra
.me
.meth
= LOCATE_mmbuilder___MMImplicitInit___super_init
;
1251 fra
.me
.has_broke
= 0;
1252 fra
.me
.REG_size
= 1;
1253 fra
.me
.REG
[0] = NIT_NULL
;
1255 /* ./syntax//mmbuilder.nit:279 */
1256 fra
.me
.REG
[0] = ATTR_mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[0]);
1257 stack_frame_head
= fra
.me
.prev
;
1258 return fra
.me
.REG
[0];
1260 void mmbuilder___MMImplicitInit___accept_property_visitor(val_t p0
, val_t p1
){
1261 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1268 static val_t once_value_1
; /* Once value */
1269 static val_t once_value_2
; /* Once value */
1270 static val_t once_value_3
; /* Once value */
1271 static val_t once_value_4
; /* Once value */
1272 static val_t once_value_9
; /* Once value */
1273 static val_t once_value_10
; /* Once value */
1274 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1275 fra
.me
.file
= LOCATE_mmbuilder
;
1277 fra
.me
.meth
= LOCATE_mmbuilder___MMImplicitInit___accept_property_visitor
;
1278 fra
.me
.has_broke
= 0;
1279 fra
.me
.REG_size
= 8;
1280 fra
.me
.REG
[0] = NIT_NULL
;
1281 fra
.me
.REG
[1] = NIT_NULL
;
1282 fra
.me
.REG
[2] = NIT_NULL
;
1283 fra
.me
.REG
[3] = NIT_NULL
;
1284 fra
.me
.REG
[4] = NIT_NULL
;
1285 fra
.me
.REG
[5] = NIT_NULL
;
1286 fra
.me
.REG
[6] = NIT_NULL
;
1287 fra
.me
.REG
[7] = NIT_NULL
;
1290 /* ./syntax//mmbuilder.nit:282 */
1291 fra
.me
.REG
[2] = NIT_NULL
;
1292 /* ./syntax//mmbuilder.nit:283 */
1293 fra
.me
.REG
[3] = CALL_syntax_base___MMImplicitInit___super_inits(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1294 /* ./../lib/standard//collection//array.nit:234 */
1296 /* ./../lib/standard//collection//array.nit:235 */
1297 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1298 if (UNTAG_Bool(REGB1
)) {
1300 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1302 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1303 /* ./../lib/standard//collection//array.nit:236 */
1304 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[3]);
1305 /* ./../lib/standard//collection//array.nit:237 */
1307 /* ./../lib/standard//collection//array.nit:23 */
1308 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1309 if (UNTAG_Bool(REGB1
)) {
1311 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1313 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1314 /* ./../lib/standard//kernel.nit:212 */
1315 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1316 /* ./../lib/standard//collection//array.nit:237 */
1317 if (UNTAG_Bool(REGB1
)) {
1318 /* ./../lib/standard//collection//array.nit:238 */
1319 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1320 if (UNTAG_Bool(REGB1
)) {
1321 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1323 /* ./../lib/standard//collection//array.nit:654 */
1324 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1325 /* ./syntax//mmbuilder.nit:284 */
1326 fra
.me
.REG
[6] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1327 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
1328 if (UNTAG_Bool(REGB1
)) {
1329 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 284);
1331 REGB1
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1333 /* ./../lib/standard//kernel.nit:214 */
1334 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
1335 /* ./syntax//mmbuilder.nit:284 */
1336 if (UNTAG_Bool(REGB2
)) {
1337 /* ./syntax//mmbuilder.nit:285 */
1338 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1339 if (UNTAG_Bool(REGB2
)) {
1341 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1342 if (UNTAG_Bool(REGB1
)) {
1343 REGB1
= TAG_Bool(false);
1346 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1350 if (UNTAG_Bool(REGB2
)) {
1351 /* ./syntax//mmbuilder.nit:286 */
1352 fra
.me
.REG
[2] = fra
.me
.REG
[5];
1354 /* ./syntax//mmbuilder.nit:288 */
1356 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB2
);
1357 if (!once_value_1
) {
1358 fra
.me
.REG
[7] = BOX_NativeString("Error: explicit constructor needed in ");
1359 REGB2
= TAG_Int(38);
1360 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
1361 once_value_1
= fra
.me
.REG
[7];
1362 register_static_object(&once_value_1
);
1363 } else fra
.me
.REG
[7] = once_value_1
;
1364 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1365 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1366 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1367 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1368 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1369 if (!once_value_2
) {
1370 fra
.me
.REG
[7] = BOX_NativeString(" since both super-constructor ");
1371 REGB2
= TAG_Int(30);
1372 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
1373 once_value_2
= fra
.me
.REG
[7];
1374 register_static_object(&once_value_2
);
1375 } else fra
.me
.REG
[7] = once_value_2
;
1376 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1377 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1378 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1379 if (UNTAG_Bool(REGB2
)) {
1380 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 288);
1382 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1383 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1384 if (!once_value_3
) {
1385 fra
.me
.REG
[7] = BOX_NativeString(" and ");
1387 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB2
);
1388 once_value_3
= fra
.me
.REG
[7];
1389 register_static_object(&once_value_3
);
1390 } else fra
.me
.REG
[7] = once_value_3
;
1391 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1392 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1393 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1394 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1395 if (!once_value_4
) {
1396 fra
.me
.REG
[5] = BOX_NativeString(" have paramters");
1397 REGB2
= TAG_Int(15);
1398 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
1399 once_value_4
= fra
.me
.REG
[5];
1400 register_static_object(&once_value_4
);
1401 } else fra
.me
.REG
[5] = once_value_4
;
1402 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1403 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1404 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1405 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[6]);
1406 /* ./syntax//mmbuilder.nit:289 */
1410 /* ./../lib/standard//collection//array.nit:239 */
1412 /* ./../lib/standard//kernel.nit:215 */
1413 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1414 /* ./../lib/standard//collection//array.nit:239 */
1417 /* ./../lib/standard//collection//array.nit:237 */
1422 /* ./syntax//mmbuilder.nit:293 */
1423 ATTR_mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1424 /* ./syntax//mmbuilder.nit:295 */
1425 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
1426 /* ./syntax//mmbuilder.nit:296 */
1427 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1428 if (UNTAG_Bool(REGB0
)) {
1430 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1431 if (UNTAG_Bool(REGB2
)) {
1432 REGB2
= TAG_Bool(false);
1435 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1439 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1440 if (UNTAG_Bool(REGB0
)) {
1441 /* ./syntax//mmbuilder.nit:297 */
1442 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1443 if (UNTAG_Bool(REGB0
)) {
1444 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 297);
1446 fra
.me
.REG
[2] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1447 /* ./syntax//mmbuilder.nit:298 */
1449 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1450 if (UNTAG_Bool(REGB2
)) {
1451 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 298);
1453 REGB2
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1454 /* ./../lib/standard//kernel.nit:332 */
1456 /* ./../lib/standard//kernel.nit:212 */
1457 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1458 /* ./../lib/standard//kernel.nit:332 */
1459 if (UNTAG_Bool(REGB1
)) {
1460 /* ./syntax//mmbuilder.nit:298 */
1462 /* ./syntax//mmbuilder.nit:299 */
1463 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1464 if (UNTAG_Bool(REGB3
)) {
1465 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 299);
1467 fra
.me
.REG
[4] = CALL_static_type___MMSignature___params(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1468 /* ./../lib/standard//collection//array.nit:245 */
1470 /* ./../lib/standard//kernel.nit:213 */
1471 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
1472 /* ./../lib/standard//collection//array.nit:245 */
1473 if (UNTAG_Bool(REGB3
)) {
1474 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1475 if (UNTAG_Bool(REGB3
)) {
1477 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
1479 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1480 /* ./../lib/standard//kernel.nit:212 */
1481 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
1483 /* ./../lib/standard//collection//array.nit:245 */
1484 REGB4
= TAG_Bool(false);
1487 if (UNTAG_Bool(REGB3
)) {
1489 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
1491 /* ./../lib/standard//collection//array.nit:246 */
1492 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[4]);
1493 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1494 if (UNTAG_Bool(REGB3
)) {
1495 nit_abort("Reciever is null", NULL
, LOCATE_array
, 246);
1497 /* ./../lib/standard//collection//array.nit:654 */
1498 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
1499 /* ./../lib/standard//collection//array.nit:246 */
1502 /* ./syntax//mmbuilder.nit:299 */
1503 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
1504 /* ./../lib/standard//kernel.nit:334 */
1506 /* ./../lib/standard//kernel.nit:215 */
1507 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1508 /* ./../lib/standard//kernel.nit:334 */
1511 /* ./../lib/standard//kernel.nit:332 */
1517 /* ./syntax//mmbuilder.nit:302 */
1518 fra
.me
.REG
[2] = CALL_syntax_base___MMImplicitInit___unassigned_attributes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1519 /* ./../lib/standard//collection//array.nit:234 */
1521 /* ./../lib/standard//collection//array.nit:235 */
1522 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1523 if (UNTAG_Bool(REGB2
)) {
1525 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1527 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1528 /* ./../lib/standard//collection//array.nit:236 */
1529 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[2]);
1530 /* ./../lib/standard//collection//array.nit:237 */
1532 /* ./../lib/standard//collection//array.nit:23 */
1533 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1534 if (UNTAG_Bool(REGB2
)) {
1536 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1538 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1539 /* ./../lib/standard//kernel.nit:212 */
1540 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1541 /* ./../lib/standard//collection//array.nit:237 */
1542 if (UNTAG_Bool(REGB2
)) {
1543 /* ./../lib/standard//collection//array.nit:238 */
1544 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1545 if (UNTAG_Bool(REGB2
)) {
1546 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1548 /* ./../lib/standard//collection//array.nit:654 */
1549 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1550 /* ./syntax//mmbuilder.nit:303 */
1551 fra
.me
.REG
[3] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1552 /* ./syntax//mmbuilder.nit:304 */
1553 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1554 if (UNTAG_Bool(REGB2
)) {
1556 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1557 if (UNTAG_Bool(REGB1
)) {
1558 REGB1
= TAG_Bool(false);
1561 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1565 if (UNTAG_Bool(REGB2
)) {
1568 /* ./syntax//mmbuilder.nit:305 */
1569 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1570 if (UNTAG_Bool(REGB2
)) {
1571 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 305);
1573 fra
.me
.REG
[3] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1574 REGB2
= TAG_Bool((fra
.me
.REG
[3]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[3], COLOR_MMType
, ID_MMType
)) /*cast MMType*/;
1575 if (UNTAG_Bool(REGB2
)) {
1577 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 305);
1579 if (!once_value_9
) {
1580 if (!once_value_10
) {
1581 fra
.me
.REG
[6] = BOX_NativeString("recv");
1583 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
1584 once_value_10
= fra
.me
.REG
[6];
1585 register_static_object(&once_value_10
);
1586 } else fra
.me
.REG
[6] = once_value_10
;
1587 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1588 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1589 once_value_9
= fra
.me
.REG
[6];
1590 register_static_object(&once_value_9
);
1591 } else fra
.me
.REG
[6] = once_value_9
;
1592 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1593 fra
.me
.REG
[6] = NEW_MMParam_static_type___MMParam___init(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1594 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1595 /* ./../lib/standard//collection//array.nit:239 */
1597 /* ./../lib/standard//kernel.nit:215 */
1598 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1599 /* ./../lib/standard//collection//array.nit:239 */
1602 /* ./../lib/standard//collection//array.nit:237 */
1607 /* ./syntax//mmbuilder.nit:307 */
1608 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1609 fra
.me
.REG
[4] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1610 fra
.me
.REG
[4] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[4]);
1611 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
1613 stack_frame_head
= fra
.me
.prev
;
1616 val_t
mmbuilder___MMSrcAncestor___local_class(val_t p0
){
1617 struct {struct stack_frame_t me
;} fra
;
1620 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1621 fra
.me
.file
= LOCATE_mmbuilder
;
1623 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcAncestor___local_class
;
1624 fra
.me
.has_broke
= 0;
1625 fra
.me
.REG_size
= 1;
1626 fra
.me
.REG
[0] = NIT_NULL
;
1628 /* ./syntax//mmbuilder.nit:315 */
1629 REGB0
= TAG_Bool(ATTR_mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
1630 if (UNTAG_Bool(REGB0
)) {
1632 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_mmbuilder
, 315);
1634 fra
.me
.REG
[0] = ATTR_mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0]);
1635 stack_frame_head
= fra
.me
.prev
;
1636 return fra
.me
.REG
[0];
1638 void mmbuilder___MMSrcAncestor___init(val_t p0
, val_t p1
, int* init_table
){
1639 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_MMSrcAncestor
].i
;
1640 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1642 if (init_table
[itpos1
]) return;
1643 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1644 fra
.me
.file
= LOCATE_mmbuilder
;
1646 fra
.me
.meth
= LOCATE_mmbuilder___MMSrcAncestor___init
;
1647 fra
.me
.has_broke
= 0;
1648 fra
.me
.REG_size
= 3;
1649 fra
.me
.REG
[0] = NIT_NULL
;
1650 fra
.me
.REG
[1] = NIT_NULL
;
1651 fra
.me
.REG
[2] = NIT_NULL
;
1654 /* ./syntax//mmbuilder.nit:317 */
1655 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1656 CALL_static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1657 /* ./syntax//mmbuilder.nit:319 */
1658 ATTR_mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
1659 stack_frame_head
= fra
.me
.prev
;
1660 init_table
[itpos1
] = 1;
1663 val_t
mmbuilder___ClassBuilderVisitor___local_class_arity(val_t p0
){
1664 struct {struct stack_frame_t me
;} fra
;
1667 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1668 fra
.me
.file
= LOCATE_mmbuilder
;
1670 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity
;
1671 fra
.me
.has_broke
= 0;
1672 fra
.me
.REG_size
= 1;
1673 fra
.me
.REG
[0] = NIT_NULL
;
1675 /* ./syntax//mmbuilder.nit:330 */
1676 REGB0
= TAG_Bool(ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0])!=NIT_NULL
);
1677 if (UNTAG_Bool(REGB0
)) {
1679 nit_abort("Uninitialized attribute %s", "_local_class_arity", LOCATE_mmbuilder
, 330);
1681 REGB0
= ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]);
1682 stack_frame_head
= fra
.me
.prev
;
1685 void mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t p0
, val_t p1
){
1686 struct {struct stack_frame_t me
;} fra
;
1689 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1690 fra
.me
.file
= LOCATE_mmbuilder
;
1692 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq
;
1693 fra
.me
.has_broke
= 0;
1694 fra
.me
.REG_size
= 1;
1695 fra
.me
.REG
[0] = NIT_NULL
;
1698 /* ./syntax//mmbuilder.nit:330 */
1699 ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]) = REGB0
;
1700 stack_frame_head
= fra
.me
.prev
;
1703 val_t
mmbuilder___ClassBuilderVisitor___formals(val_t p0
){
1704 struct {struct stack_frame_t me
;} fra
;
1706 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1707 fra
.me
.file
= LOCATE_mmbuilder
;
1709 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___formals
;
1710 fra
.me
.has_broke
= 0;
1711 fra
.me
.REG_size
= 1;
1712 fra
.me
.REG
[0] = NIT_NULL
;
1714 /* ./syntax//mmbuilder.nit:333 */
1715 fra
.me
.REG
[0] = ATTR_mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]);
1716 stack_frame_head
= fra
.me
.prev
;
1717 return fra
.me
.REG
[0];
1719 void mmbuilder___ClassBuilderVisitor___formals__eq(val_t p0
, val_t p1
){
1720 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1722 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1723 fra
.me
.file
= LOCATE_mmbuilder
;
1725 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq
;
1726 fra
.me
.has_broke
= 0;
1727 fra
.me
.REG_size
= 2;
1728 fra
.me
.REG
[0] = NIT_NULL
;
1729 fra
.me
.REG
[1] = NIT_NULL
;
1732 /* ./syntax//mmbuilder.nit:333 */
1733 ATTR_mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1734 stack_frame_head
= fra
.me
.prev
;
1737 void mmbuilder___ClassBuilderVisitor___visit(val_t p0
, val_t p1
){
1738 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1741 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1742 fra
.me
.file
= LOCATE_mmbuilder
;
1744 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___visit
;
1745 fra
.me
.has_broke
= 0;
1746 fra
.me
.REG_size
= 2;
1747 fra
.me
.REG
[0] = NIT_NULL
;
1748 fra
.me
.REG
[1] = NIT_NULL
;
1751 /* ./syntax//mmbuilder.nit:336 */
1752 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1753 if (UNTAG_Bool(REGB0
)) {
1754 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 336);
1756 CALL_mmbuilder___ANode___accept_class_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1757 stack_frame_head
= fra
.me
.prev
;
1760 void mmbuilder___ClassBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1761 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ClassBuilderVisitor
].i
;
1762 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1764 if (init_table
[itpos2
]) return;
1765 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1766 fra
.me
.file
= LOCATE_mmbuilder
;
1768 fra
.me
.meth
= LOCATE_mmbuilder___ClassBuilderVisitor___init
;
1769 fra
.me
.has_broke
= 0;
1770 fra
.me
.REG_size
= 3;
1771 fra
.me
.REG
[0] = NIT_NULL
;
1772 fra
.me
.REG
[1] = NIT_NULL
;
1773 fra
.me
.REG
[2] = NIT_NULL
;
1777 /* ./syntax//mmbuilder.nit:337 */
1778 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1779 stack_frame_head
= fra
.me
.prev
;
1780 init_table
[itpos2
] = 1;
1783 void mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t p0
, val_t p1
){
1784 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1787 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1788 fra
.me
.file
= LOCATE_mmbuilder
;
1790 fra
.me
.meth
= LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit
;
1791 fra
.me
.has_broke
= 0;
1792 fra
.me
.REG_size
= 2;
1793 fra
.me
.REG
[0] = NIT_NULL
;
1794 fra
.me
.REG
[1] = NIT_NULL
;
1797 /* ./syntax//mmbuilder.nit:344 */
1798 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1799 if (UNTAG_Bool(REGB0
)) {
1800 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 344);
1802 CALL_mmbuilder___ANode___accept_class_specialization_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1803 stack_frame_head
= fra
.me
.prev
;
1806 void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1807 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ClassSpecializationBuilderVisitor
].i
;
1808 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1810 if (init_table
[itpos3
]) return;
1811 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1812 fra
.me
.file
= LOCATE_mmbuilder
;
1814 fra
.me
.meth
= LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init
;
1815 fra
.me
.has_broke
= 0;
1816 fra
.me
.REG_size
= 3;
1817 fra
.me
.REG
[0] = NIT_NULL
;
1818 fra
.me
.REG
[1] = NIT_NULL
;
1819 fra
.me
.REG
[2] = NIT_NULL
;
1823 /* ./syntax//mmbuilder.nit:345 */
1824 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1825 stack_frame_head
= fra
.me
.prev
;
1826 init_table
[itpos3
] = 1;
1829 void mmbuilder___ClassAncestorBuilder___visit(val_t p0
, val_t p1
){
1830 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1833 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1834 fra
.me
.file
= LOCATE_mmbuilder
;
1836 fra
.me
.meth
= LOCATE_mmbuilder___ClassAncestorBuilder___visit
;
1837 fra
.me
.has_broke
= 0;
1838 fra
.me
.REG_size
= 2;
1839 fra
.me
.REG
[0] = NIT_NULL
;
1840 fra
.me
.REG
[1] = NIT_NULL
;
1843 /* ./syntax//mmbuilder.nit:352 */
1844 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1845 if (UNTAG_Bool(REGB0
)) {
1846 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 352);
1848 CALL_mmbuilder___ANode___accept_class_ancestor_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1849 stack_frame_head
= fra
.me
.prev
;
1852 void mmbuilder___ClassAncestorBuilder___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1853 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ClassAncestorBuilder
].i
;
1854 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1856 if (init_table
[itpos4
]) return;
1857 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1858 fra
.me
.file
= LOCATE_mmbuilder
;
1860 fra
.me
.meth
= LOCATE_mmbuilder___ClassAncestorBuilder___init
;
1861 fra
.me
.has_broke
= 0;
1862 fra
.me
.REG_size
= 3;
1863 fra
.me
.REG
[0] = NIT_NULL
;
1864 fra
.me
.REG
[1] = NIT_NULL
;
1865 fra
.me
.REG
[2] = NIT_NULL
;
1869 /* ./syntax//mmbuilder.nit:353 */
1870 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1871 stack_frame_head
= fra
.me
.prev
;
1872 init_table
[itpos4
] = 1;
1875 void mmbuilder___ClassVerifierVisitor___visit(val_t p0
, val_t p1
){
1876 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1879 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1880 fra
.me
.file
= LOCATE_mmbuilder
;
1882 fra
.me
.meth
= LOCATE_mmbuilder___ClassVerifierVisitor___visit
;
1883 fra
.me
.has_broke
= 0;
1884 fra
.me
.REG_size
= 2;
1885 fra
.me
.REG
[0] = NIT_NULL
;
1886 fra
.me
.REG
[1] = NIT_NULL
;
1889 /* ./syntax//mmbuilder.nit:360 */
1890 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1891 if (UNTAG_Bool(REGB0
)) {
1892 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 360);
1894 CALL_mmbuilder___ANode___accept_class_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1895 stack_frame_head
= fra
.me
.prev
;
1898 void mmbuilder___ClassVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1899 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ClassVerifierVisitor
].i
;
1900 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1902 if (init_table
[itpos5
]) return;
1903 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1904 fra
.me
.file
= LOCATE_mmbuilder
;
1906 fra
.me
.meth
= LOCATE_mmbuilder___ClassVerifierVisitor___init
;
1907 fra
.me
.has_broke
= 0;
1908 fra
.me
.REG_size
= 3;
1909 fra
.me
.REG
[0] = NIT_NULL
;
1910 fra
.me
.REG
[1] = NIT_NULL
;
1911 fra
.me
.REG
[2] = NIT_NULL
;
1915 /* ./syntax//mmbuilder.nit:361 */
1916 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1917 stack_frame_head
= fra
.me
.prev
;
1918 init_table
[itpos5
] = 1;
1921 void mmbuilder___PropertyBuilderVisitor___visit(val_t p0
, val_t p1
){
1922 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1925 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1926 fra
.me
.file
= LOCATE_mmbuilder
;
1928 fra
.me
.meth
= LOCATE_mmbuilder___PropertyBuilderVisitor___visit
;
1929 fra
.me
.has_broke
= 0;
1930 fra
.me
.REG_size
= 2;
1931 fra
.me
.REG
[0] = NIT_NULL
;
1932 fra
.me
.REG
[1] = NIT_NULL
;
1935 /* ./syntax//mmbuilder.nit:371 */
1936 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1937 if (UNTAG_Bool(REGB0
)) {
1938 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 371);
1940 CALL_mmbuilder___ANode___accept_property_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1941 stack_frame_head
= fra
.me
.prev
;
1944 void mmbuilder___PropertyBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1945 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_PropertyBuilderVisitor
].i
;
1946 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1948 if (init_table
[itpos6
]) return;
1949 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1950 fra
.me
.file
= LOCATE_mmbuilder
;
1952 fra
.me
.meth
= LOCATE_mmbuilder___PropertyBuilderVisitor___init
;
1953 fra
.me
.has_broke
= 0;
1954 fra
.me
.REG_size
= 3;
1955 fra
.me
.REG
[0] = NIT_NULL
;
1956 fra
.me
.REG
[1] = NIT_NULL
;
1957 fra
.me
.REG
[2] = NIT_NULL
;
1961 /* ./syntax//mmbuilder.nit:372 */
1962 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
1963 stack_frame_head
= fra
.me
.prev
;
1964 init_table
[itpos6
] = 1;
1967 val_t
mmbuilder___PropertyVerifierVisitor___signature_builder(val_t p0
){
1968 struct {struct stack_frame_t me
;} fra
;
1971 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1972 fra
.me
.file
= LOCATE_mmbuilder
;
1974 fra
.me
.meth
= LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder
;
1975 fra
.me
.has_broke
= 0;
1976 fra
.me
.REG_size
= 1;
1977 fra
.me
.REG
[0] = NIT_NULL
;
1979 /* ./syntax//mmbuilder.nit:380 */
1980 REGB0
= TAG_Bool(ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0])!=NIT_NULL
);
1981 if (UNTAG_Bool(REGB0
)) {
1983 nit_abort("Uninitialized attribute %s", "_signature_builder", LOCATE_mmbuilder
, 380);
1985 fra
.me
.REG
[0] = ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]);
1986 stack_frame_head
= fra
.me
.prev
;
1987 return fra
.me
.REG
[0];
1989 void mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t p0
, val_t p1
){
1990 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1992 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1993 fra
.me
.file
= LOCATE_mmbuilder
;
1995 fra
.me
.meth
= LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder__eq
;
1996 fra
.me
.has_broke
= 0;
1997 fra
.me
.REG_size
= 2;
1998 fra
.me
.REG
[0] = NIT_NULL
;
1999 fra
.me
.REG
[1] = NIT_NULL
;
2002 /* ./syntax//mmbuilder.nit:380 */
2003 ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2004 stack_frame_head
= fra
.me
.prev
;
2007 void mmbuilder___PropertyVerifierVisitor___visit(val_t p0
, val_t p1
){
2008 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2011 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2012 fra
.me
.file
= LOCATE_mmbuilder
;
2014 fra
.me
.meth
= LOCATE_mmbuilder___PropertyVerifierVisitor___visit
;
2015 fra
.me
.has_broke
= 0;
2016 fra
.me
.REG_size
= 2;
2017 fra
.me
.REG
[0] = NIT_NULL
;
2018 fra
.me
.REG
[1] = NIT_NULL
;
2021 /* ./syntax//mmbuilder.nit:383 */
2022 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2023 if (UNTAG_Bool(REGB0
)) {
2024 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 383);
2026 CALL_mmbuilder___ANode___accept_property_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2027 stack_frame_head
= fra
.me
.prev
;
2030 void mmbuilder___PropertyVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2031 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_PropertyVerifierVisitor
].i
;
2032 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2034 if (init_table
[itpos7
]) return;
2035 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2036 fra
.me
.file
= LOCATE_mmbuilder
;
2038 fra
.me
.meth
= LOCATE_mmbuilder___PropertyVerifierVisitor___init
;
2039 fra
.me
.has_broke
= 0;
2040 fra
.me
.REG_size
= 4;
2041 fra
.me
.REG
[0] = NIT_NULL
;
2042 fra
.me
.REG
[1] = NIT_NULL
;
2043 fra
.me
.REG
[2] = NIT_NULL
;
2044 fra
.me
.REG
[3] = NIT_NULL
;
2048 /* ./syntax//mmbuilder.nit:385 */
2049 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2050 /* ./syntax//mmbuilder.nit:387 */
2051 CALL_syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2052 /* ./syntax//mmbuilder.nit:388 */
2053 fra
.me
.REG
[2] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init();
2054 ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
2055 stack_frame_head
= fra
.me
.prev
;
2056 init_table
[itpos7
] = 1;
2059 val_t
mmbuilder___SignatureBuilder___params(val_t p0
){
2060 struct {struct stack_frame_t me
;} fra
;
2063 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2064 fra
.me
.file
= LOCATE_mmbuilder
;
2066 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___params
;
2067 fra
.me
.has_broke
= 0;
2068 fra
.me
.REG_size
= 1;
2069 fra
.me
.REG
[0] = NIT_NULL
;
2071 /* ./syntax//mmbuilder.nit:394 */
2072 REGB0
= TAG_Bool(ATTR_mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0])!=NIT_NULL
);
2073 if (UNTAG_Bool(REGB0
)) {
2075 nit_abort("Uninitialized attribute %s", "_params", LOCATE_mmbuilder
, 394);
2077 fra
.me
.REG
[0] = ATTR_mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]);
2078 stack_frame_head
= fra
.me
.prev
;
2079 return fra
.me
.REG
[0];
2081 void mmbuilder___SignatureBuilder___params__eq(val_t p0
, val_t p1
){
2082 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2084 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2085 fra
.me
.file
= LOCATE_mmbuilder
;
2087 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___params__eq
;
2088 fra
.me
.has_broke
= 0;
2089 fra
.me
.REG_size
= 2;
2090 fra
.me
.REG
[0] = NIT_NULL
;
2091 fra
.me
.REG
[1] = NIT_NULL
;
2094 /* ./syntax//mmbuilder.nit:394 */
2095 ATTR_mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2096 stack_frame_head
= fra
.me
.prev
;
2099 val_t
mmbuilder___SignatureBuilder___untyped_params(val_t p0
){
2100 struct {struct stack_frame_t me
;} fra
;
2103 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2104 fra
.me
.file
= LOCATE_mmbuilder
;
2106 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___untyped_params
;
2107 fra
.me
.has_broke
= 0;
2108 fra
.me
.REG_size
= 1;
2109 fra
.me
.REG
[0] = NIT_NULL
;
2111 /* ./syntax//mmbuilder.nit:397 */
2112 REGB0
= TAG_Bool(ATTR_mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0])!=NIT_NULL
);
2113 if (UNTAG_Bool(REGB0
)) {
2115 nit_abort("Uninitialized attribute %s", "_untyped_params", LOCATE_mmbuilder
, 397);
2117 fra
.me
.REG
[0] = ATTR_mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]);
2118 stack_frame_head
= fra
.me
.prev
;
2119 return fra
.me
.REG
[0];
2121 void mmbuilder___SignatureBuilder___untyped_params__eq(val_t p0
, val_t p1
){
2122 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2124 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2125 fra
.me
.file
= LOCATE_mmbuilder
;
2127 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___untyped_params__eq
;
2128 fra
.me
.has_broke
= 0;
2129 fra
.me
.REG_size
= 2;
2130 fra
.me
.REG
[0] = NIT_NULL
;
2131 fra
.me
.REG
[1] = NIT_NULL
;
2134 /* ./syntax//mmbuilder.nit:397 */
2135 ATTR_mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2136 stack_frame_head
= fra
.me
.prev
;
2139 val_t
mmbuilder___SignatureBuilder___vararg_rank(val_t p0
){
2140 struct {struct stack_frame_t me
;} fra
;
2143 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2144 fra
.me
.file
= LOCATE_mmbuilder
;
2146 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___vararg_rank
;
2147 fra
.me
.has_broke
= 0;
2148 fra
.me
.REG_size
= 1;
2149 fra
.me
.REG
[0] = NIT_NULL
;
2151 /* ./syntax//mmbuilder.nit:400 */
2152 REGB0
= TAG_Bool(ATTR_mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
2153 if (UNTAG_Bool(REGB0
)) {
2155 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_mmbuilder
, 400);
2157 REGB0
= ATTR_mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]);
2158 stack_frame_head
= fra
.me
.prev
;
2161 void mmbuilder___SignatureBuilder___vararg_rank__eq(val_t p0
, val_t p1
){
2162 struct {struct stack_frame_t me
;} fra
;
2165 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2166 fra
.me
.file
= LOCATE_mmbuilder
;
2168 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___vararg_rank__eq
;
2169 fra
.me
.has_broke
= 0;
2170 fra
.me
.REG_size
= 1;
2171 fra
.me
.REG
[0] = NIT_NULL
;
2174 /* ./syntax//mmbuilder.nit:400 */
2175 ATTR_mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
2176 stack_frame_head
= fra
.me
.prev
;
2179 val_t
mmbuilder___SignatureBuilder___closure_decls(val_t p0
){
2180 struct {struct stack_frame_t me
;} fra
;
2183 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2184 fra
.me
.file
= LOCATE_mmbuilder
;
2186 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___closure_decls
;
2187 fra
.me
.has_broke
= 0;
2188 fra
.me
.REG_size
= 1;
2189 fra
.me
.REG
[0] = NIT_NULL
;
2191 /* ./syntax//mmbuilder.nit:403 */
2192 REGB0
= TAG_Bool(ATTR_mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0])!=NIT_NULL
);
2193 if (UNTAG_Bool(REGB0
)) {
2195 nit_abort("Uninitialized attribute %s", "_closure_decls", LOCATE_mmbuilder
, 403);
2197 fra
.me
.REG
[0] = ATTR_mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]);
2198 stack_frame_head
= fra
.me
.prev
;
2199 return fra
.me
.REG
[0];
2201 void mmbuilder___SignatureBuilder___closure_decls__eq(val_t p0
, val_t p1
){
2202 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2204 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2205 fra
.me
.file
= LOCATE_mmbuilder
;
2207 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___closure_decls__eq
;
2208 fra
.me
.has_broke
= 0;
2209 fra
.me
.REG_size
= 2;
2210 fra
.me
.REG
[0] = NIT_NULL
;
2211 fra
.me
.REG
[1] = NIT_NULL
;
2214 /* ./syntax//mmbuilder.nit:403 */
2215 ATTR_mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2216 stack_frame_head
= fra
.me
.prev
;
2219 val_t
mmbuilder___SignatureBuilder___has_error_occured(val_t p0
){
2220 struct {struct stack_frame_t me
;} fra
;
2223 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2224 fra
.me
.file
= LOCATE_mmbuilder
;
2226 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___has_error_occured
;
2227 fra
.me
.has_broke
= 0;
2228 fra
.me
.REG_size
= 1;
2229 fra
.me
.REG
[0] = NIT_NULL
;
2231 /* ./syntax//mmbuilder.nit:406 */
2232 REGB0
= TAG_Bool(ATTR_mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0])!=NIT_NULL
);
2233 if (UNTAG_Bool(REGB0
)) {
2235 nit_abort("Uninitialized attribute %s", "_has_error_occured", LOCATE_mmbuilder
, 406);
2237 REGB0
= ATTR_mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]);
2238 stack_frame_head
= fra
.me
.prev
;
2241 void mmbuilder___SignatureBuilder___has_error_occured__eq(val_t p0
, val_t p1
){
2242 struct {struct stack_frame_t me
;} fra
;
2245 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2246 fra
.me
.file
= LOCATE_mmbuilder
;
2248 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___has_error_occured__eq
;
2249 fra
.me
.has_broke
= 0;
2250 fra
.me
.REG_size
= 1;
2251 fra
.me
.REG
[0] = NIT_NULL
;
2254 /* ./syntax//mmbuilder.nit:406 */
2255 ATTR_mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]) = REGB0
;
2256 stack_frame_head
= fra
.me
.prev
;
2259 val_t
mmbuilder___SignatureBuilder___signature(val_t p0
){
2260 struct {struct stack_frame_t me
;} fra
;
2262 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2263 fra
.me
.file
= LOCATE_mmbuilder
;
2265 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___signature
;
2266 fra
.me
.has_broke
= 0;
2267 fra
.me
.REG_size
= 1;
2268 fra
.me
.REG
[0] = NIT_NULL
;
2270 /* ./syntax//mmbuilder.nit:409 */
2271 fra
.me
.REG
[0] = ATTR_mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]);
2272 stack_frame_head
= fra
.me
.prev
;
2273 return fra
.me
.REG
[0];
2275 void mmbuilder___SignatureBuilder___signature__eq(val_t p0
, val_t p1
){
2276 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2278 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2279 fra
.me
.file
= LOCATE_mmbuilder
;
2281 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___signature__eq
;
2282 fra
.me
.has_broke
= 0;
2283 fra
.me
.REG_size
= 2;
2284 fra
.me
.REG
[0] = NIT_NULL
;
2285 fra
.me
.REG
[1] = NIT_NULL
;
2288 /* ./syntax//mmbuilder.nit:409 */
2289 ATTR_mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2290 stack_frame_head
= fra
.me
.prev
;
2293 void mmbuilder___SignatureBuilder___init(val_t p0
, int* init_table
){
2294 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_SignatureBuilder
].i
;
2295 struct {struct stack_frame_t me
;} fra
;
2297 if (init_table
[itpos8
]) return;
2298 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2299 fra
.me
.file
= LOCATE_mmbuilder
;
2301 fra
.me
.meth
= LOCATE_mmbuilder___SignatureBuilder___init
;
2302 fra
.me
.has_broke
= 0;
2303 fra
.me
.REG_size
= 0;
2304 stack_frame_head
= fra
.me
.prev
;
2305 init_table
[itpos8
] = 1;
2308 void mmbuilder___ANode___accept_class_builder(val_t p0
, val_t p1
){
2309 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2311 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2312 fra
.me
.file
= LOCATE_mmbuilder
;
2314 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_class_builder
;
2315 fra
.me
.has_broke
= 0;
2316 fra
.me
.REG_size
= 2;
2317 fra
.me
.REG
[0] = NIT_NULL
;
2318 fra
.me
.REG
[1] = NIT_NULL
;
2321 /* ./syntax//mmbuilder.nit:416 */
2322 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2323 stack_frame_head
= fra
.me
.prev
;
2326 void mmbuilder___ANode___accept_class_specialization_builder(val_t p0
, val_t p1
){
2327 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2329 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2330 fra
.me
.file
= LOCATE_mmbuilder
;
2332 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_class_specialization_builder
;
2333 fra
.me
.has_broke
= 0;
2334 fra
.me
.REG_size
= 2;
2335 fra
.me
.REG
[0] = NIT_NULL
;
2336 fra
.me
.REG
[1] = NIT_NULL
;
2339 /* ./syntax//mmbuilder.nit:417 */
2340 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2341 stack_frame_head
= fra
.me
.prev
;
2344 void mmbuilder___ANode___accept_class_ancestor_builder(val_t p0
, val_t p1
){
2345 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2347 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2348 fra
.me
.file
= LOCATE_mmbuilder
;
2350 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_class_ancestor_builder
;
2351 fra
.me
.has_broke
= 0;
2352 fra
.me
.REG_size
= 2;
2353 fra
.me
.REG
[0] = NIT_NULL
;
2354 fra
.me
.REG
[1] = NIT_NULL
;
2357 /* ./syntax//mmbuilder.nit:418 */
2358 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2359 stack_frame_head
= fra
.me
.prev
;
2362 void mmbuilder___ANode___accept_class_verifier(val_t p0
, val_t p1
){
2363 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2365 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2366 fra
.me
.file
= LOCATE_mmbuilder
;
2368 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_class_verifier
;
2369 fra
.me
.has_broke
= 0;
2370 fra
.me
.REG_size
= 2;
2371 fra
.me
.REG
[0] = NIT_NULL
;
2372 fra
.me
.REG
[1] = NIT_NULL
;
2375 /* ./syntax//mmbuilder.nit:419 */
2376 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2377 stack_frame_head
= fra
.me
.prev
;
2380 void mmbuilder___ANode___accept_property_builder(val_t p0
, val_t p1
){
2381 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2383 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2384 fra
.me
.file
= LOCATE_mmbuilder
;
2386 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_property_builder
;
2387 fra
.me
.has_broke
= 0;
2388 fra
.me
.REG_size
= 2;
2389 fra
.me
.REG
[0] = NIT_NULL
;
2390 fra
.me
.REG
[1] = NIT_NULL
;
2393 /* ./syntax//mmbuilder.nit:420 */
2394 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2395 stack_frame_head
= fra
.me
.prev
;
2398 void mmbuilder___ANode___accept_property_verifier(val_t p0
, val_t p1
){
2399 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2401 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2402 fra
.me
.file
= LOCATE_mmbuilder
;
2404 fra
.me
.meth
= LOCATE_mmbuilder___ANode___accept_property_verifier
;
2405 fra
.me
.has_broke
= 0;
2406 fra
.me
.REG_size
= 2;
2407 fra
.me
.REG
[0] = NIT_NULL
;
2408 fra
.me
.REG
[1] = NIT_NULL
;
2411 /* ./syntax//mmbuilder.nit:421 */
2412 CALL_syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2413 stack_frame_head
= fra
.me
.prev
;
2416 void mmbuilder___AModule___import_super_modules(val_t p0
, val_t p1
, val_t p2
){
2417 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
2421 static val_t once_value_2
; /* Once value */
2422 static val_t once_value_3
; /* Once value */
2423 static val_t once_value_4
; /* Once value */
2424 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2425 fra
.me
.file
= LOCATE_mmbuilder
;
2427 fra
.me
.meth
= LOCATE_mmbuilder___AModule___import_super_modules
;
2428 fra
.me
.has_broke
= 0;
2429 fra
.me
.REG_size
= 7;
2430 fra
.me
.REG
[0] = NIT_NULL
;
2431 fra
.me
.REG
[1] = NIT_NULL
;
2432 fra
.me
.REG
[2] = NIT_NULL
;
2433 fra
.me
.REG
[3] = NIT_NULL
;
2434 fra
.me
.REG
[4] = NIT_NULL
;
2435 fra
.me
.REG
[5] = NIT_NULL
;
2436 fra
.me
.REG
[6] = NIT_NULL
;
2440 /* ./syntax//mmbuilder.nit:429 */
2441 fra
.me
.REG
[3] = NEW_Array_array___Array___init();
2442 /* ./syntax//mmbuilder.nit:430 */
2443 fra
.me
.REG
[4] = NEW_HashMap_hash_collection___HashMap___init();
2444 /* ./syntax//mmbuilder.nit:431 */
2445 fra
.me
.REG
[5] = NIT_NULL
;
2446 /* ./syntax//mmbuilder.nit:432 */
2447 fra
.me
.REG
[0] = CALL_parser_nodes___AModule___n_imports(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2448 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___AModule___import_super_modules_1
));
2449 /* ./syntax//mmbuilder.nit:441 */
2450 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2451 if (UNTAG_Bool(REGB0
)) {
2453 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2454 if (UNTAG_Bool(REGB1
)) {
2455 REGB1
= TAG_Bool(false);
2458 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
2462 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2463 if (UNTAG_Bool(REGB0
)) {
2464 /* ./syntax//mmbuilder.nit:442 */
2465 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2466 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2467 if (UNTAG_Bool(REGB0
)) {
2468 /* ./syntax//mmbuilder.nit:443 */
2469 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2470 if (UNTAG_Bool(REGB0
)) {
2471 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 443);
2473 fra
.me
.REG
[5] = CALL_parser_nodes___ANode___location(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2474 if (!once_value_2
) {
2475 fra
.me
.REG
[0] = BOX_NativeString("Error: Top modules cannot import other modules.");
2476 REGB0
= TAG_Int(47);
2477 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2478 once_value_2
= fra
.me
.REG
[0];
2479 register_static_object(&once_value_2
);
2480 } else fra
.me
.REG
[0] = once_value_2
;
2481 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2482 CALL_mmloader___ToolContext___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5], fra
.me
.REG
[0]);
2485 /* ./syntax//mmbuilder.nit:445 */
2486 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2487 if (UNTAG_Bool(REGB0
)) {
2488 /* ./syntax//mmbuilder.nit:446 */
2489 if (!once_value_3
) {
2490 if (!once_value_4
) {
2491 fra
.me
.REG
[0] = BOX_NativeString("standard");
2493 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2494 once_value_4
= fra
.me
.REG
[0];
2495 register_static_object(&once_value_4
);
2496 } else fra
.me
.REG
[0] = once_value_4
;
2497 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2498 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2499 once_value_3
= fra
.me
.REG
[0];
2500 register_static_object(&once_value_3
);
2501 } else fra
.me
.REG
[0] = once_value_3
;
2502 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2503 /* ./syntax//mmbuilder.nit:447 */
2504 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2505 /* ./syntax//mmbuilder.nit:448 */
2507 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0], REGB0
);
2510 /* ./syntax//mmbuilder.nit:451 */
2511 CALL_mmloader___MMModule___import_supers_modules(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2512 /* ./../lib/standard//collection//array.nit:234 */
2514 /* ./../lib/standard//collection//array.nit:235 */
2515 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2516 if (UNTAG_Bool(REGB1
)) {
2518 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
2520 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2521 /* ./../lib/standard//collection//array.nit:236 */
2522 fra
.me
.REG
[0] = ATTR_array___Array____items(fra
.me
.REG
[3]);
2523 /* ./../lib/standard//collection//array.nit:237 */
2525 /* ./../lib/standard//collection//array.nit:23 */
2526 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2527 if (UNTAG_Bool(REGB1
)) {
2529 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
2531 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2532 /* ./../lib/standard//kernel.nit:212 */
2533 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2534 /* ./../lib/standard//collection//array.nit:237 */
2535 if (UNTAG_Bool(REGB1
)) {
2536 /* ./../lib/standard//collection//array.nit:238 */
2537 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2538 if (UNTAG_Bool(REGB1
)) {
2539 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
2541 /* ./../lib/standard//collection//array.nit:654 */
2542 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
2543 /* ./syntax//mmbuilder.nit:454 */
2544 fra
.me
.REG
[6] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
2545 REGB1
= fra
.me
.REG
[6];
2546 /* ./syntax//mmbuilder.nit:455 */
2547 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]);
2548 /* ./syntax//mmbuilder.nit:456 */
2549 CALL_abstractmetamodel___MMModule___add_super_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5], REGB1
);
2550 /* ./../lib/standard//collection//array.nit:239 */
2552 /* ./../lib/standard//kernel.nit:215 */
2553 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2554 /* ./../lib/standard//collection//array.nit:239 */
2557 /* ./../lib/standard//collection//array.nit:237 */
2562 stack_frame_head
= fra
.me
.prev
;
2565 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
){
2566 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2571 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2572 fra
.me
.file
= LOCATE_mmbuilder
;
2574 fra
.me
.meth
= LOCATE_mmbuilder___AModule___import_super_modules
;
2575 fra
.me
.has_broke
= 0;
2576 fra
.me
.REG_size
= 2;
2577 fra
.me
.REG
[0] = NIT_NULL
;
2578 fra
.me
.REG
[1] = NIT_NULL
;
2579 fra
.me
.closure_ctx
= closctx_param
;
2580 fra
.me
.closure_funs
= CREG
;
2582 CREG
[0] = clos_fun0
;
2583 /* ./syntax//mmbuilder.nit:433 */
2584 fra
.me
.REG
[1] = CALL_mmbuilder___AImport___module_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2585 /* ./syntax//mmbuilder.nit:434 */
2586 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2587 if (UNTAG_Bool(REGB0
)) {
2589 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2590 if (UNTAG_Bool(REGB1
)) {
2591 REGB1
= TAG_Bool(false);
2594 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2598 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2599 if (UNTAG_Bool(REGB0
)) {
2600 /* ./syntax//mmbuilder.nit:435 */
2601 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
2602 /* ./syntax//mmbuilder.nit:436 */
2603 REGB0
= CALL_mmbuilder___AImport___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2604 CALL_abstract_collection___Map_____braeq(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[1], REGB0
);
2606 /* ./syntax//mmbuilder.nit:438 */
2607 closctx
->REG
[5] = fra
.me
.REG
[0];
2609 stack_frame_head
= fra
.me
.prev
;
2612 void mmbuilder___AModuledecl___accept_class_builder(val_t p0
, val_t p1
){
2613 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2617 static val_t once_value_1
; /* Once value */
2618 static val_t once_value_2
; /* Once value */
2619 static val_t once_value_3
; /* Once value */
2620 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2621 fra
.me
.file
= LOCATE_mmbuilder
;
2623 fra
.me
.meth
= LOCATE_mmbuilder___AModuledecl___accept_class_builder
;
2624 fra
.me
.has_broke
= 0;
2625 fra
.me
.REG_size
= 5;
2626 fra
.me
.REG
[0] = NIT_NULL
;
2627 fra
.me
.REG
[1] = NIT_NULL
;
2628 fra
.me
.REG
[2] = NIT_NULL
;
2629 fra
.me
.REG
[3] = NIT_NULL
;
2630 fra
.me
.REG
[4] = NIT_NULL
;
2633 /* ./syntax//mmbuilder.nit:464 */
2634 fra
.me
.REG
[2] = CALL_parser_nodes___AModuledecl___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2635 fra
.me
.REG
[2] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2636 fra
.me
.REG
[3] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2637 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2638 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
2639 if (UNTAG_Bool(REGB0
)) {
2641 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2644 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2645 if (UNTAG_Bool(REGB0
)) {
2646 /* ./syntax//mmbuilder.nit:465 */
2647 fra
.me
.REG
[3] = CALL_parser_nodes___AModuledecl___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2649 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2650 if (!once_value_1
) {
2651 fra
.me
.REG
[4] = BOX_NativeString("Error: Module name missmatch between ");
2652 REGB0
= TAG_Int(37);
2653 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2654 once_value_1
= fra
.me
.REG
[4];
2655 register_static_object(&once_value_1
);
2656 } else fra
.me
.REG
[4] = once_value_1
;
2657 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2658 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2659 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2660 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2661 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2662 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2663 if (!once_value_2
) {
2664 fra
.me
.REG
[4] = BOX_NativeString(" and ");
2666 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2667 once_value_2
= fra
.me
.REG
[4];
2668 register_static_object(&once_value_2
);
2669 } else fra
.me
.REG
[4] = once_value_2
;
2670 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2671 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2672 fra
.me
.REG
[0] = CALL_parser_nodes___AModuledecl___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2673 fra
.me
.REG
[0] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2674 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2675 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2676 if (!once_value_3
) {
2677 fra
.me
.REG
[0] = BOX_NativeString("");
2679 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2680 once_value_3
= fra
.me
.REG
[0];
2681 register_static_object(&once_value_3
);
2682 } else fra
.me
.REG
[0] = once_value_3
;
2683 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2684 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2685 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2686 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3], fra
.me
.REG
[2]);
2688 stack_frame_head
= fra
.me
.prev
;
2691 val_t
mmbuilder___AImport___module_name(val_t p0
){
2692 struct {struct stack_frame_t me
;} fra
;
2694 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2695 fra
.me
.file
= LOCATE_mmbuilder
;
2697 fra
.me
.meth
= LOCATE_mmbuilder___AImport___module_name
;
2698 fra
.me
.has_broke
= 0;
2699 fra
.me
.REG_size
= 0;
2700 /* ./syntax//mmbuilder.nit:471 */
2701 nit_abort("Deferred method called", NULL
, LOCATE_mmbuilder
, 471);
2702 stack_frame_head
= fra
.me
.prev
;
2705 val_t
mmbuilder___AImport___visibility_level(val_t p0
){
2706 struct {struct stack_frame_t me
;} fra
;
2708 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2709 fra
.me
.file
= LOCATE_mmbuilder
;
2711 fra
.me
.meth
= LOCATE_mmbuilder___AImport___visibility_level
;
2712 fra
.me
.has_broke
= 0;
2713 fra
.me
.REG_size
= 0;
2714 /* ./syntax//mmbuilder.nit:474 */
2715 nit_abort("Deferred method called", NULL
, LOCATE_mmbuilder
, 474);
2716 stack_frame_head
= fra
.me
.prev
;
2719 val_t
mmbuilder___AStdImport___module_name(val_t p0
){
2720 struct {struct stack_frame_t me
;} fra
;
2722 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2723 fra
.me
.file
= LOCATE_mmbuilder
;
2725 fra
.me
.meth
= LOCATE_mmbuilder___AStdImport___module_name
;
2726 fra
.me
.has_broke
= 0;
2727 fra
.me
.REG_size
= 1;
2728 fra
.me
.REG
[0] = NIT_NULL
;
2730 /* ./syntax//mmbuilder.nit:480 */
2731 fra
.me
.REG
[0] = CALL_parser_nodes___AStdImport___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2732 fra
.me
.REG
[0] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2735 stack_frame_head
= fra
.me
.prev
;
2736 return fra
.me
.REG
[0];
2738 val_t
mmbuilder___AStdImport___visibility_level(val_t p0
){
2739 struct {struct stack_frame_t me
;} fra
;
2742 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2743 fra
.me
.file
= LOCATE_mmbuilder
;
2745 fra
.me
.meth
= LOCATE_mmbuilder___AStdImport___visibility_level
;
2746 fra
.me
.has_broke
= 0;
2747 fra
.me
.REG_size
= 1;
2748 fra
.me
.REG
[0] = NIT_NULL
;
2750 /* ./syntax//mmbuilder.nit:484 */
2751 fra
.me
.REG
[0] = CALL_parser_nodes___AStdImport___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2752 REGB0
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2755 stack_frame_head
= fra
.me
.prev
;
2758 val_t
mmbuilder___ANoImport___module_name(val_t p0
){
2759 struct {struct stack_frame_t me
;} fra
;
2761 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2762 fra
.me
.file
= LOCATE_mmbuilder
;
2764 fra
.me
.meth
= LOCATE_mmbuilder___ANoImport___module_name
;
2765 fra
.me
.has_broke
= 0;
2766 fra
.me
.REG_size
= 1;
2767 fra
.me
.REG
[0] = NIT_NULL
;
2769 /* ./syntax//mmbuilder.nit:490 */
2770 fra
.me
.REG
[0] = NIT_NULL
;
2773 stack_frame_head
= fra
.me
.prev
;
2774 return fra
.me
.REG
[0];
2776 val_t
mmbuilder___AVisibility___level(val_t p0
){
2777 struct {struct stack_frame_t me
;} fra
;
2779 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2780 fra
.me
.file
= LOCATE_mmbuilder
;
2782 fra
.me
.meth
= LOCATE_mmbuilder___AVisibility___level
;
2783 fra
.me
.has_broke
= 0;
2784 fra
.me
.REG_size
= 0;
2785 /* ./syntax//mmbuilder.nit:495 */
2786 nit_abort("Deferred method called", NULL
, LOCATE_mmbuilder
, 495);
2787 stack_frame_head
= fra
.me
.prev
;
2790 val_t
mmbuilder___APublicVisibility___level(val_t p0
){
2791 struct {struct stack_frame_t me
;} fra
;
2794 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2795 fra
.me
.file
= LOCATE_mmbuilder
;
2797 fra
.me
.meth
= LOCATE_mmbuilder___APublicVisibility___level
;
2798 fra
.me
.has_broke
= 0;
2799 fra
.me
.REG_size
= 1;
2800 fra
.me
.REG
[0] = NIT_NULL
;
2802 /* ./syntax//mmbuilder.nit:499 */
2806 stack_frame_head
= fra
.me
.prev
;
2809 val_t
mmbuilder___AProtectedVisibility___level(val_t p0
){
2810 struct {struct stack_frame_t me
;} fra
;
2813 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2814 fra
.me
.file
= LOCATE_mmbuilder
;
2816 fra
.me
.meth
= LOCATE_mmbuilder___AProtectedVisibility___level
;
2817 fra
.me
.has_broke
= 0;
2818 fra
.me
.REG_size
= 1;
2819 fra
.me
.REG
[0] = NIT_NULL
;
2821 /* ./syntax//mmbuilder.nit:502 */
2825 stack_frame_head
= fra
.me
.prev
;
2828 val_t
mmbuilder___APrivateVisibility___level(val_t p0
){
2829 struct {struct stack_frame_t me
;} fra
;
2832 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2833 fra
.me
.file
= LOCATE_mmbuilder
;
2835 fra
.me
.meth
= LOCATE_mmbuilder___APrivateVisibility___level
;
2836 fra
.me
.has_broke
= 0;
2837 fra
.me
.REG_size
= 1;
2838 fra
.me
.REG
[0] = NIT_NULL
;
2840 /* ./syntax//mmbuilder.nit:505 */
2844 stack_frame_head
= fra
.me
.prev
;
2847 val_t
mmbuilder___AIntrudeVisibility___level(val_t p0
){
2848 struct {struct stack_frame_t me
;} fra
;
2851 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2852 fra
.me
.file
= LOCATE_mmbuilder
;
2854 fra
.me
.meth
= LOCATE_mmbuilder___AIntrudeVisibility___level
;
2855 fra
.me
.has_broke
= 0;
2856 fra
.me
.REG_size
= 1;
2857 fra
.me
.REG
[0] = NIT_NULL
;
2859 /* ./syntax//mmbuilder.nit:508 */
2863 stack_frame_head
= fra
.me
.prev
;
2866 val_t
mmbuilder___AClassdef___local_class(val_t p0
){
2867 struct {struct stack_frame_t me
;} fra
;
2870 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2871 fra
.me
.file
= LOCATE_mmbuilder
;
2873 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___local_class
;
2874 fra
.me
.has_broke
= 0;
2875 fra
.me
.REG_size
= 1;
2876 fra
.me
.REG
[0] = NIT_NULL
;
2878 /* ./syntax//mmbuilder.nit:513 */
2879 fra
.me
.REG
[0] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
2880 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
2881 if (UNTAG_Bool(REGB0
)) {
2883 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 513);
2887 stack_frame_head
= fra
.me
.prev
;
2888 return fra
.me
.REG
[0];
2890 val_t
mmbuilder___AClassdef___name(val_t p0
){
2891 struct {struct stack_frame_t me
;} fra
;
2893 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2894 fra
.me
.file
= LOCATE_mmbuilder
;
2896 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___name
;
2897 fra
.me
.has_broke
= 0;
2898 fra
.me
.REG_size
= 0;
2899 /* ./syntax//mmbuilder.nit:516 */
2900 nit_abort("Deferred method called", NULL
, LOCATE_mmbuilder
, 516);
2901 stack_frame_head
= fra
.me
.prev
;
2904 val_t
mmbuilder___AClassdef___arity(val_t p0
){
2905 struct {struct stack_frame_t me
;} fra
;
2908 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2909 fra
.me
.file
= LOCATE_mmbuilder
;
2911 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___arity
;
2912 fra
.me
.has_broke
= 0;
2913 fra
.me
.REG_size
= 1;
2914 fra
.me
.REG
[0] = NIT_NULL
;
2916 /* ./syntax//mmbuilder.nit:520 */
2920 stack_frame_head
= fra
.me
.prev
;
2923 val_t
mmbuilder___AClassdef___visibility_level(val_t p0
){
2924 struct {struct stack_frame_t me
;} fra
;
2927 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2928 fra
.me
.file
= LOCATE_mmbuilder
;
2930 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___visibility_level
;
2931 fra
.me
.has_broke
= 0;
2932 fra
.me
.REG_size
= 1;
2933 fra
.me
.REG
[0] = NIT_NULL
;
2935 /* ./syntax//mmbuilder.nit:523 */
2939 stack_frame_head
= fra
.me
.prev
;
2942 void mmbuilder___AClassdef___accept_class_builder(val_t p0
, val_t p1
){
2943 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
2947 static val_t once_value_1
; /* Once value */
2948 static val_t once_value_2
; /* Once value */
2949 static val_t once_value_3
; /* Once value */
2950 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2951 fra
.me
.file
= LOCATE_mmbuilder
;
2953 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___accept_class_builder
;
2954 fra
.me
.has_broke
= 0;
2955 fra
.me
.REG_size
= 9;
2956 fra
.me
.REG
[0] = NIT_NULL
;
2957 fra
.me
.REG
[1] = NIT_NULL
;
2958 fra
.me
.REG
[2] = NIT_NULL
;
2959 fra
.me
.REG
[3] = NIT_NULL
;
2960 fra
.me
.REG
[4] = NIT_NULL
;
2961 fra
.me
.REG
[5] = NIT_NULL
;
2962 fra
.me
.REG
[6] = NIT_NULL
;
2963 fra
.me
.REG
[7] = NIT_NULL
;
2964 fra
.me
.REG
[8] = NIT_NULL
;
2967 /* ./syntax//mmbuilder.nit:525 */
2968 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2969 fra
.me
.REG
[3] = fra
.me
.REG
[1];
2970 /* ./syntax//mmbuilder.nit:528 */
2971 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2972 /* ./syntax//mmbuilder.nit:529 */
2973 fra
.me
.REG
[5] = CALL_syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2974 /* ./syntax//mmbuilder.nit:530 */
2975 fra
.me
.REG
[6] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2976 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2977 if (UNTAG_Bool(REGB0
)) {
2978 /* ./syntax//mmbuilder.nit:531 */
2979 fra
.me
.REG
[6] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2980 fra
.me
.REG
[6] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
2981 /* ./syntax//mmbuilder.nit:532 */
2982 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_AStdClassdef
, ID_AStdClassdef
)) /*cast AStdClassdef*/;
2983 if (UNTAG_Bool(REGB0
)) {
2984 /* ./syntax//mmbuilder.nit:534 */
2986 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
2987 if (!once_value_1
) {
2988 fra
.me
.REG
[8] = BOX_NativeString("Error: A class ");
2989 REGB0
= TAG_Int(15);
2990 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2991 once_value_1
= fra
.me
.REG
[8];
2992 register_static_object(&once_value_1
);
2993 } else fra
.me
.REG
[8] = once_value_1
;
2994 fra
.me
.REG
[8] = fra
.me
.REG
[8];
2995 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2996 fra
.me
.REG
[8] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2997 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
2998 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2999 if (!once_value_2
) {
3000 fra
.me
.REG
[8] = BOX_NativeString(" is already defined at line ");
3001 REGB0
= TAG_Int(28);
3002 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
3003 once_value_2
= fra
.me
.REG
[8];
3004 register_static_object(&once_value_2
);
3005 } else fra
.me
.REG
[8] = once_value_2
;
3006 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3007 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3008 fra
.me
.REG
[8] = CALL_syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3009 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3010 if (UNTAG_Bool(REGB0
)) {
3011 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 534);
3013 fra
.me
.REG
[8] = CALL_parser_nodes___ANode___location(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3014 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3015 fra
.me
.REG
[8] = CALL_string___Object___to_s(REGB0
)(REGB0
);
3016 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3017 if (!once_value_3
) {
3018 fra
.me
.REG
[8] = BOX_NativeString(".");
3020 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
3021 once_value_3
= fra
.me
.REG
[8];
3022 register_static_object(&once_value_3
);
3023 } else fra
.me
.REG
[8] = once_value_3
;
3024 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3025 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3026 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3027 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3028 /* ./syntax//mmbuilder.nit:535 */
3031 /* ./syntax//mmbuilder.nit:538 */
3032 fra
.me
.REG
[7] = CALL_syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3033 /* ./syntax//mmbuilder.nit:539 */
3035 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3036 if (UNTAG_Bool(REGB0
)) {
3037 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 539);
3039 fra
.me
.REG
[8] = CALL_syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3040 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3041 if (UNTAG_Bool(REGB0
)) {
3043 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3044 if (UNTAG_Bool(REGB1
)) {
3045 REGB1
= TAG_Bool(false);
3048 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
3052 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3053 if (UNTAG_Bool(REGB0
)) {
3054 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3055 if (UNTAG_Bool(REGB0
)) {
3056 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 539);
3058 fra
.me
.REG
[8] = CALL_syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3059 fra
.me
.REG
[7] = fra
.me
.REG
[8];
3065 /* ./syntax//mmbuilder.nit:540 */
3066 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3067 if (UNTAG_Bool(REGB0
)) {
3068 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 540);
3070 CALL_syntax_base___AClassdef___next_node__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3072 /* ./syntax//mmbuilder.nit:542 */
3073 fra
.me
.REG
[7] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3074 REGB0
= CALL_mmbuilder___AClassdef___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3075 fra
.me
.REG
[7] = NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[4], fra
.me
.REG
[7], fra
.me
.REG
[2], REGB0
);
3076 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3077 /* ./syntax//mmbuilder.nit:543 */
3078 fra
.me
.REG
[7] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3079 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7], fra
.me
.REG
[6]);
3080 /* ./syntax//mmbuilder.nit:544 */
3081 fra
.me
.REG
[7] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3082 REGB0
= CALL_abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3083 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3084 if (UNTAG_Bool(REGB0
)) {
3085 /* ./syntax//mmbuilder.nit:545 */
3086 CALL_abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3088 /* ./syntax//mmbuilder.nit:547 */
3089 fra
.me
.REG
[7] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3090 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMModule___global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3091 CALL_abstractmetamodel___MMLocalClass___set_global(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3094 /* ./syntax//mmbuilder.nit:551 */
3095 ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3096 /* ./syntax//mmbuilder.nit:552 */
3098 CALL_mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
3099 /* ./syntax//mmbuilder.nit:553 */
3100 fra
.me
.REG
[6] = CALL_syntax_base___MMSrcLocalClass___formal_dict(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3101 CALL_mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3102 /* ./syntax//mmbuilder.nit:556 */
3103 CALL_SUPER_mmbuilder___AClassdef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3104 /* ./syntax//mmbuilder.nit:559 */
3105 CALL_mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3107 stack_frame_head
= fra
.me
.prev
;
3110 void mmbuilder___AClassdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
3111 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3113 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3114 fra
.me
.file
= LOCATE_mmbuilder
;
3116 fra
.me
.meth
= LOCATE_mmbuilder___AClassdef___accept_abs_syntax_visitor
;
3117 fra
.me
.has_broke
= 0;
3118 fra
.me
.REG_size
= 4;
3119 fra
.me
.REG
[0] = NIT_NULL
;
3120 fra
.me
.REG
[1] = NIT_NULL
;
3121 fra
.me
.REG
[2] = NIT_NULL
;
3122 fra
.me
.REG
[3] = NIT_NULL
;
3125 /* ./syntax//mmbuilder.nit:562 */
3126 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3127 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3128 /* ./syntax//mmbuilder.nit:564 */
3129 fra
.me
.REG
[2] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3130 CALL_syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3131 /* ./syntax//mmbuilder.nit:565 */
3132 CALL_SUPER_mmbuilder___AClassdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3133 /* ./syntax//mmbuilder.nit:566 */
3134 CALL_syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3135 stack_frame_head
= fra
.me
.prev
;
3138 val_t
mmbuilder___AClasskind___is_interface(val_t p0
){
3139 struct {struct stack_frame_t me
;} fra
;
3142 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3143 fra
.me
.file
= LOCATE_mmbuilder
;
3145 fra
.me
.meth
= LOCATE_mmbuilder___AClasskind___is_interface
;
3146 fra
.me
.has_broke
= 0;
3147 fra
.me
.REG_size
= 1;
3148 fra
.me
.REG
[0] = NIT_NULL
;
3150 /* ./syntax//mmbuilder.nit:571 */
3151 REGB0
= TAG_Bool(false);
3154 stack_frame_head
= fra
.me
.prev
;
3157 val_t
mmbuilder___AClasskind___is_enum(val_t p0
){
3158 struct {struct stack_frame_t me
;} fra
;
3161 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3162 fra
.me
.file
= LOCATE_mmbuilder
;
3164 fra
.me
.meth
= LOCATE_mmbuilder___AClasskind___is_enum
;
3165 fra
.me
.has_broke
= 0;
3166 fra
.me
.REG_size
= 1;
3167 fra
.me
.REG
[0] = NIT_NULL
;
3169 /* ./syntax//mmbuilder.nit:572 */
3170 REGB0
= TAG_Bool(false);
3173 stack_frame_head
= fra
.me
.prev
;
3176 val_t
mmbuilder___AClasskind___is_abstract(val_t p0
){
3177 struct {struct stack_frame_t me
;} fra
;
3180 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3181 fra
.me
.file
= LOCATE_mmbuilder
;
3183 fra
.me
.meth
= LOCATE_mmbuilder___AClasskind___is_abstract
;
3184 fra
.me
.has_broke
= 0;
3185 fra
.me
.REG_size
= 1;
3186 fra
.me
.REG
[0] = NIT_NULL
;
3188 /* ./syntax//mmbuilder.nit:573 */
3189 REGB0
= TAG_Bool(false);
3192 stack_frame_head
= fra
.me
.prev
;
3195 val_t
mmbuilder___AClasskind___is_extern(val_t p0
){
3196 struct {struct stack_frame_t me
;} fra
;
3199 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3200 fra
.me
.file
= LOCATE_mmbuilder
;
3202 fra
.me
.meth
= LOCATE_mmbuilder___AClasskind___is_extern
;
3203 fra
.me
.has_broke
= 0;
3204 fra
.me
.REG_size
= 1;
3205 fra
.me
.REG
[0] = NIT_NULL
;
3207 /* ./syntax//mmbuilder.nit:574 */
3208 REGB0
= TAG_Bool(false);
3211 stack_frame_head
= fra
.me
.prev
;
3214 val_t
mmbuilder___AInterfaceClasskind___is_interface(val_t p0
){
3215 struct {struct stack_frame_t me
;} fra
;
3218 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3219 fra
.me
.file
= LOCATE_mmbuilder
;
3221 fra
.me
.meth
= LOCATE_mmbuilder___AInterfaceClasskind___is_interface
;
3222 fra
.me
.has_broke
= 0;
3223 fra
.me
.REG_size
= 1;
3224 fra
.me
.REG
[0] = NIT_NULL
;
3226 /* ./syntax//mmbuilder.nit:578 */
3227 REGB0
= TAG_Bool(true);
3230 stack_frame_head
= fra
.me
.prev
;
3233 val_t
mmbuilder___AEnumClasskind___is_enum(val_t p0
){
3234 struct {struct stack_frame_t me
;} fra
;
3237 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3238 fra
.me
.file
= LOCATE_mmbuilder
;
3240 fra
.me
.meth
= LOCATE_mmbuilder___AEnumClasskind___is_enum
;
3241 fra
.me
.has_broke
= 0;
3242 fra
.me
.REG_size
= 1;
3243 fra
.me
.REG
[0] = NIT_NULL
;
3245 /* ./syntax//mmbuilder.nit:581 */
3246 REGB0
= TAG_Bool(true);
3249 stack_frame_head
= fra
.me
.prev
;
3252 val_t
mmbuilder___AExternClasskind___is_extern(val_t p0
){
3253 struct {struct stack_frame_t me
;} fra
;
3256 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3257 fra
.me
.file
= LOCATE_mmbuilder
;
3259 fra
.me
.meth
= LOCATE_mmbuilder___AExternClasskind___is_extern
;
3260 fra
.me
.has_broke
= 0;
3261 fra
.me
.REG_size
= 1;
3262 fra
.me
.REG
[0] = NIT_NULL
;
3264 /* ./syntax//mmbuilder.nit:584 */
3265 REGB0
= TAG_Bool(true);
3268 stack_frame_head
= fra
.me
.prev
;
3271 val_t
mmbuilder___AAbstractClasskind___is_abstract(val_t p0
){
3272 struct {struct stack_frame_t me
;} fra
;
3275 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3276 fra
.me
.file
= LOCATE_mmbuilder
;
3278 fra
.me
.meth
= LOCATE_mmbuilder___AAbstractClasskind___is_abstract
;
3279 fra
.me
.has_broke
= 0;
3280 fra
.me
.REG_size
= 1;
3281 fra
.me
.REG
[0] = NIT_NULL
;
3283 /* ./syntax//mmbuilder.nit:587 */
3284 REGB0
= TAG_Bool(true);
3287 stack_frame_head
= fra
.me
.prev
;
3290 val_t
mmbuilder___AStdClassdef___name(val_t p0
){
3291 struct {struct stack_frame_t me
;} fra
;
3294 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3295 fra
.me
.file
= LOCATE_mmbuilder
;
3297 fra
.me
.meth
= LOCATE_mmbuilder___AStdClassdef___name
;
3298 fra
.me
.has_broke
= 0;
3299 fra
.me
.REG_size
= 1;
3300 fra
.me
.REG
[0] = NIT_NULL
;
3302 /* ./syntax//mmbuilder.nit:593 */
3303 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3304 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3305 if (UNTAG_Bool(REGB0
)) {
3306 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 593);
3308 fra
.me
.REG
[0] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3311 stack_frame_head
= fra
.me
.prev
;
3312 return fra
.me
.REG
[0];
3314 val_t
mmbuilder___AStdClassdef___arity(val_t p0
){
3315 struct {struct stack_frame_t me
;} fra
;
3318 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3319 fra
.me
.file
= LOCATE_mmbuilder
;
3321 fra
.me
.meth
= LOCATE_mmbuilder___AStdClassdef___arity
;
3322 fra
.me
.has_broke
= 0;
3323 fra
.me
.REG_size
= 1;
3324 fra
.me
.REG
[0] = NIT_NULL
;
3326 /* ./syntax//mmbuilder.nit:597 */
3327 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_formaldefs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3328 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3331 stack_frame_head
= fra
.me
.prev
;
3334 void mmbuilder___AStdClassdef___accept_class_verifier(val_t p0
, val_t p1
){
3335 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3340 static val_t once_value_1
; /* Once value */
3341 static val_t once_value_2
; /* Once value */
3342 static val_t once_value_3
; /* Once value */
3343 static val_t once_value_4
; /* Once value */
3344 static val_t once_value_5
; /* Once value */
3345 static val_t once_value_6
; /* Once value */
3346 static val_t once_value_7
; /* Once value */
3347 static val_t once_value_8
; /* Once value */
3348 static val_t once_value_9
; /* Once value */
3349 static val_t once_value_10
; /* Once value */
3350 static val_t once_value_11
; /* Once value */
3351 static val_t once_value_12
; /* Once value */
3352 static val_t once_value_13
; /* Once value */
3353 static val_t once_value_14
; /* Once value */
3354 static val_t once_value_15
; /* Once value */
3355 static val_t once_value_16
; /* Once value */
3356 static val_t once_value_17
; /* Once value */
3357 static val_t once_value_18
; /* Once value */
3358 static val_t once_value_19
; /* Once value */
3359 static val_t once_value_20
; /* Once value */
3360 static val_t once_value_23
; /* Once value */
3361 static val_t once_value_24
; /* Once value */
3362 static val_t once_value_25
; /* Once value */
3363 static val_t once_value_26
; /* Once value */
3364 static val_t once_value_27
; /* Once value */
3365 static val_t once_value_28
; /* Once value */
3366 static val_t once_value_29
; /* Once value */
3367 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3368 fra
.me
.file
= LOCATE_mmbuilder
;
3370 fra
.me
.meth
= LOCATE_mmbuilder___AStdClassdef___accept_class_verifier
;
3371 fra
.me
.has_broke
= 0;
3372 fra
.me
.REG_size
= 9;
3373 fra
.me
.REG
[0] = NIT_NULL
;
3374 fra
.me
.REG
[1] = NIT_NULL
;
3375 fra
.me
.REG
[2] = NIT_NULL
;
3376 fra
.me
.REG
[3] = NIT_NULL
;
3377 fra
.me
.REG
[4] = NIT_NULL
;
3378 fra
.me
.REG
[5] = NIT_NULL
;
3379 fra
.me
.REG
[6] = NIT_NULL
;
3380 fra
.me
.REG
[7] = NIT_NULL
;
3381 fra
.me
.REG
[8] = NIT_NULL
;
3384 /* ./syntax//mmbuilder.nit:599 */
3385 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3386 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3387 /* ./syntax//mmbuilder.nit:601 */
3388 CALL_SUPER_mmbuilder___AStdClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3389 /* ./syntax//mmbuilder.nit:602 */
3390 fra
.me
.REG
[1] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3391 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3392 if (UNTAG_Bool(REGB0
)) {
3393 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 602);
3395 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3396 /* ./syntax//mmbuilder.nit:603 */
3397 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3398 fra
.me
.REG
[4] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3399 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
3400 if (UNTAG_Bool(REGB0
)) {
3402 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3405 if (UNTAG_Bool(REGB0
)) {
3406 /* ./syntax//mmbuilder.nit:605 */
3407 REGB0
= CALL_mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3408 CALL_abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3409 /* ./syntax//mmbuilder.nit:606 */
3410 fra
.me
.REG
[4] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3411 REGB0
= CALL_mmbuilder___AClasskind___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3412 CALL_abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3413 /* ./syntax//mmbuilder.nit:607 */
3414 fra
.me
.REG
[4] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3415 REGB0
= CALL_mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3416 CALL_abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3417 /* ./syntax//mmbuilder.nit:608 */
3418 fra
.me
.REG
[4] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3419 REGB0
= CALL_mmbuilder___AClasskind___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3420 CALL_abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3421 /* ./syntax//mmbuilder.nit:609 */
3422 fra
.me
.REG
[4] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3423 REGB0
= CALL_mmbuilder___AClasskind___is_extern(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3424 CALL_abstractmetamodel___MMGlobalClass___is_extern__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3425 /* ./syntax//mmbuilder.nit:610 */
3426 fra
.me
.REG
[4] = CALL_parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3427 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3428 if (UNTAG_Bool(REGB0
)) {
3430 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3431 if (UNTAG_Bool(REGB1
)) {
3432 REGB1
= TAG_Bool(false);
3435 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
3439 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3440 if (UNTAG_Bool(REGB0
)) {
3441 /* ./syntax//mmbuilder.nit:611 */
3443 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
3444 if (!once_value_1
) {
3445 fra
.me
.REG
[0] = BOX_NativeString("Redef error: No class ");
3446 REGB0
= TAG_Int(22);
3447 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3448 once_value_1
= fra
.me
.REG
[0];
3449 register_static_object(&once_value_1
);
3450 } else fra
.me
.REG
[0] = once_value_1
;
3451 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3452 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3453 fra
.me
.REG
[0] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3454 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3455 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3456 if (!once_value_2
) {
3457 fra
.me
.REG
[0] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
3458 REGB0
= TAG_Int(61);
3459 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
3460 once_value_2
= fra
.me
.REG
[0];
3461 register_static_object(&once_value_2
);
3462 } else fra
.me
.REG
[0] = once_value_2
;
3463 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3464 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
3465 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3466 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
3468 /* ./syntax//mmbuilder.nit:614 */
3469 fra
.me
.REG
[4] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3470 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3471 if (UNTAG_Bool(REGB0
)) {
3472 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 614);
3474 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3475 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3476 /* ./../lib/standard//collection//array.nit:234 */
3478 /* ./../lib/standard//collection//array.nit:235 */
3479 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
3480 if (UNTAG_Bool(REGB1
)) {
3482 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
3484 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
3485 /* ./../lib/standard//collection//array.nit:236 */
3486 fra
.me
.REG
[0] = ATTR_array___Array____items(fra
.me
.REG
[4]);
3487 /* ./../lib/standard//collection//array.nit:237 */
3489 /* ./../lib/standard//collection//array.nit:23 */
3490 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
3491 if (UNTAG_Bool(REGB1
)) {
3493 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
3495 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
3496 /* ./../lib/standard//kernel.nit:212 */
3497 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3498 /* ./../lib/standard//collection//array.nit:237 */
3499 if (UNTAG_Bool(REGB1
)) {
3500 /* ./../lib/standard//collection//array.nit:238 */
3501 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3502 if (UNTAG_Bool(REGB1
)) {
3503 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
3505 /* ./../lib/standard//collection//array.nit:654 */
3506 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
3507 /* ./syntax//mmbuilder.nit:615 */
3508 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3509 /* ./syntax//mmbuilder.nit:616 */
3510 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3511 if (UNTAG_Bool(REGB1
)) {
3512 /* ./syntax//mmbuilder.nit:617 */
3513 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3514 if (UNTAG_Bool(REGB1
)) {
3515 /* ./syntax//mmbuilder.nit:618 */
3517 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
3518 if (!once_value_3
) {
3519 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3520 REGB1
= TAG_Int(25);
3521 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3522 once_value_3
= fra
.me
.REG
[8];
3523 register_static_object(&once_value_3
);
3524 } else fra
.me
.REG
[8] = once_value_3
;
3525 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3526 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3527 fra
.me
.REG
[8] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3528 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3529 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3530 if (!once_value_4
) {
3531 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
3532 REGB1
= TAG_Int(30);
3533 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3534 once_value_4
= fra
.me
.REG
[8];
3535 register_static_object(&once_value_4
);
3536 } else fra
.me
.REG
[8] = once_value_4
;
3537 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3538 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3539 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3540 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3541 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3542 if (!once_value_5
) {
3543 fra
.me
.REG
[8] = BOX_NativeString(".");
3545 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3546 once_value_5
= fra
.me
.REG
[8];
3547 register_static_object(&once_value_5
);
3548 } else fra
.me
.REG
[8] = once_value_5
;
3549 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3550 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3551 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3552 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3554 /* ./syntax//mmbuilder.nit:619 */
3555 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3556 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3557 if (UNTAG_Bool(REGB1
)) {
3558 /* ./syntax//mmbuilder.nit:620 */
3560 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
3561 if (!once_value_6
) {
3562 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3563 REGB1
= TAG_Int(25);
3564 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3565 once_value_6
= fra
.me
.REG
[8];
3566 register_static_object(&once_value_6
);
3567 } else fra
.me
.REG
[8] = once_value_6
;
3568 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3569 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3570 fra
.me
.REG
[8] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3571 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3572 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3573 if (!once_value_7
) {
3574 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3575 REGB1
= TAG_Int(25);
3576 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3577 once_value_7
= fra
.me
.REG
[8];
3578 register_static_object(&once_value_7
);
3579 } else fra
.me
.REG
[8] = once_value_7
;
3580 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3581 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3582 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3583 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3584 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3585 if (!once_value_8
) {
3586 fra
.me
.REG
[8] = BOX_NativeString(".");
3588 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3589 once_value_8
= fra
.me
.REG
[8];
3590 register_static_object(&once_value_8
);
3591 } else fra
.me
.REG
[8] = once_value_8
;
3592 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3593 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3594 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3595 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3599 /* ./syntax//mmbuilder.nit:622 */
3600 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3601 if (UNTAG_Bool(REGB1
)) {
3602 /* ./syntax//mmbuilder.nit:623 */
3603 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3604 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3605 if (UNTAG_Bool(REGB1
)) {
3606 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3607 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3609 REGB2
= TAG_Bool(false);
3612 if (UNTAG_Bool(REGB1
)) {
3613 /* ./syntax//mmbuilder.nit:624 */
3615 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
3616 if (!once_value_9
) {
3617 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
3618 REGB1
= TAG_Int(26);
3619 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3620 once_value_9
= fra
.me
.REG
[8];
3621 register_static_object(&once_value_9
);
3622 } else fra
.me
.REG
[8] = once_value_9
;
3623 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3624 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3625 fra
.me
.REG
[8] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3626 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3627 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3628 if (!once_value_10
) {
3629 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3630 REGB1
= TAG_Int(25);
3631 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3632 once_value_10
= fra
.me
.REG
[8];
3633 register_static_object(&once_value_10
);
3634 } else fra
.me
.REG
[8] = once_value_10
;
3635 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3636 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3637 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3638 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3639 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3640 if (!once_value_11
) {
3641 fra
.me
.REG
[8] = BOX_NativeString(".");
3643 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3644 once_value_11
= fra
.me
.REG
[8];
3645 register_static_object(&once_value_11
);
3646 } else fra
.me
.REG
[8] = once_value_11
;
3647 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3648 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3649 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3650 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3653 /* ./syntax//mmbuilder.nit:626 */
3654 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3655 if (UNTAG_Bool(REGB1
)) {
3656 /* ./syntax//mmbuilder.nit:627 */
3657 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3658 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3659 if (UNTAG_Bool(REGB1
)) {
3660 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3661 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3663 REGB2
= TAG_Bool(false);
3666 if (UNTAG_Bool(REGB1
)) {
3667 /* ./syntax//mmbuilder.nit:628 */
3669 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
3670 if (!once_value_12
) {
3671 fra
.me
.REG
[8] = BOX_NativeString("Special error: Extern class ");
3672 REGB1
= TAG_Int(28);
3673 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3674 once_value_12
= fra
.me
.REG
[8];
3675 register_static_object(&once_value_12
);
3676 } else fra
.me
.REG
[8] = once_value_12
;
3677 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3678 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3679 fra
.me
.REG
[8] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3680 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3681 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3682 if (!once_value_13
) {
3683 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3684 REGB1
= TAG_Int(25);
3685 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3686 once_value_13
= fra
.me
.REG
[8];
3687 register_static_object(&once_value_13
);
3688 } else fra
.me
.REG
[8] = once_value_13
;
3689 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3690 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3691 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3692 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3693 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3694 if (!once_value_14
) {
3695 fra
.me
.REG
[8] = BOX_NativeString(".");
3697 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3698 once_value_14
= fra
.me
.REG
[8];
3699 register_static_object(&once_value_14
);
3700 } else fra
.me
.REG
[8] = once_value_14
;
3701 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3702 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3703 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3704 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3707 /* ./syntax//mmbuilder.nit:631 */
3708 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3709 if (UNTAG_Bool(REGB1
)) {
3710 /* ./syntax//mmbuilder.nit:632 */
3712 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB1
);
3713 if (!once_value_15
) {
3714 fra
.me
.REG
[8] = BOX_NativeString("Special error: Class ");
3715 REGB1
= TAG_Int(21);
3716 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3717 once_value_15
= fra
.me
.REG
[8];
3718 register_static_object(&once_value_15
);
3719 } else fra
.me
.REG
[8] = once_value_15
;
3720 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3721 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3722 fra
.me
.REG
[8] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3723 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3724 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3725 if (!once_value_16
) {
3726 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
3727 REGB1
= TAG_Int(30);
3728 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3729 once_value_16
= fra
.me
.REG
[8];
3730 register_static_object(&once_value_16
);
3731 } else fra
.me
.REG
[8] = once_value_16
;
3732 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3733 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3734 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3735 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3736 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3737 if (!once_value_17
) {
3738 fra
.me
.REG
[8] = BOX_NativeString(".");
3740 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB1
);
3741 once_value_17
= fra
.me
.REG
[8];
3742 register_static_object(&once_value_17
);
3743 } else fra
.me
.REG
[8] = once_value_17
;
3744 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3745 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3746 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3747 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3749 /* ./syntax//mmbuilder.nit:633 */
3750 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3751 if (UNTAG_Bool(REGB1
)) {
3752 /* ./syntax//mmbuilder.nit:634 */
3754 fra
.me
.REG
[6] = NEW_Array_array___Array___with_capacity(REGB1
);
3755 if (!once_value_18
) {
3756 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
3757 REGB1
= TAG_Int(21);
3758 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
3759 once_value_18
= fra
.me
.REG
[7];
3760 register_static_object(&once_value_18
);
3761 } else fra
.me
.REG
[7] = once_value_18
;
3762 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3763 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3764 fra
.me
.REG
[7] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3765 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3766 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3767 if (!once_value_19
) {
3768 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise extern class ");
3769 REGB1
= TAG_Int(32);
3770 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB1
);
3771 once_value_19
= fra
.me
.REG
[7];
3772 register_static_object(&once_value_19
);
3773 } else fra
.me
.REG
[7] = once_value_19
;
3774 fra
.me
.REG
[7] = fra
.me
.REG
[7];
3775 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
3776 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3777 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3778 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3779 if (!once_value_20
) {
3780 fra
.me
.REG
[5] = BOX_NativeString(".");
3782 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
3783 once_value_20
= fra
.me
.REG
[5];
3784 register_static_object(&once_value_20
);
3785 } else fra
.me
.REG
[5] = once_value_20
;
3786 fra
.me
.REG
[5] = fra
.me
.REG
[5];
3787 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
3788 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3789 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
3795 /* ./../lib/standard//collection//array.nit:239 */
3797 /* ./../lib/standard//kernel.nit:215 */
3798 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3799 /* ./../lib/standard//collection//array.nit:239 */
3802 /* ./../lib/standard//collection//array.nit:237 */
3807 /* ./syntax//mmbuilder.nit:639 */
3810 /* ./syntax//mmbuilder.nit:644 */
3811 fra
.me
.REG
[0] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3812 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]);
3813 /* ./syntax//mmbuilder.nit:645 */
3814 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3815 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3816 if (UNTAG_Bool(REGB0
)) {
3818 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3819 if (UNTAG_Bool(REGB1
)) {
3820 REGB1
= TAG_Bool(false);
3823 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
3827 if (UNTAG_Bool(REGB0
)) {
3828 /* ./syntax//mmbuilder.nit:646 */
3830 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
3831 if (!once_value_23
) {
3832 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
3833 REGB0
= TAG_Int(13);
3834 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3835 once_value_23
= fra
.me
.REG
[4];
3836 register_static_object(&once_value_23
);
3837 } else fra
.me
.REG
[4] = once_value_23
;
3838 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3839 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3840 fra
.me
.REG
[4] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3841 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3842 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3843 if (!once_value_24
) {
3844 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
3845 REGB0
= TAG_Int(58);
3846 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
3847 once_value_24
= fra
.me
.REG
[4];
3848 register_static_object(&once_value_24
);
3849 } else fra
.me
.REG
[4] = once_value_24
;
3850 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3851 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3852 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3853 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3854 /* ./syntax//mmbuilder.nit:647 */
3857 /* ./syntax//mmbuilder.nit:650 */
3858 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3859 REGB0
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3860 fra
.me
.REG
[0] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3861 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3862 if (UNTAG_Bool(REGB1
)) {
3863 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 650);
3865 REGB1
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3866 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
3867 if (UNTAG_Bool(REGB2
)) {
3869 /* ./../lib/standard//kernel.nit:207 */
3870 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
3871 /* ./syntax//mmbuilder.nit:650 */
3874 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3875 if (UNTAG_Bool(REGB2
)) {
3876 /* ./syntax//mmbuilder.nit:651 */
3878 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB2
);
3879 if (!once_value_25
) {
3880 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity missmatch; got ");
3881 REGB2
= TAG_Int(51);
3882 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3883 once_value_25
= fra
.me
.REG
[4];
3884 register_static_object(&once_value_25
);
3885 } else fra
.me
.REG
[4] = once_value_25
;
3886 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3887 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3888 fra
.me
.REG
[4] = ATTR_mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3889 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3890 if (UNTAG_Bool(REGB2
)) {
3891 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 651);
3893 REGB2
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3894 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB2
)(REGB2
);
3895 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3896 if (!once_value_26
) {
3897 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
3898 REGB2
= TAG_Int(11);
3899 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3900 once_value_26
= fra
.me
.REG
[4];
3901 register_static_object(&once_value_26
);
3902 } else fra
.me
.REG
[4] = once_value_26
;
3903 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3904 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3905 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3906 REGB2
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3907 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB2
)(REGB2
);
3908 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3909 if (!once_value_27
) {
3910 fra
.me
.REG
[4] = BOX_NativeString(".");
3912 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
3913 once_value_27
= fra
.me
.REG
[4];
3914 register_static_object(&once_value_27
);
3915 } else fra
.me
.REG
[4] = once_value_27
;
3916 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3917 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
3918 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3919 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
3921 /* ./syntax//mmbuilder.nit:655 */
3922 REGB2
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3923 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3924 if (UNTAG_Bool(REGB2
)) {
3925 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3926 REGB2
= CALL_mmbuilder___AClasskind___is_interface(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3928 REGB1
= TAG_Bool(false);
3931 if (UNTAG_Bool(REGB2
)) {
3932 REGB2
= TAG_Bool(true);
3934 /* ./syntax//mmbuilder.nit:656 */
3935 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3936 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3937 /* ./syntax//mmbuilder.nit:655 */
3940 if (UNTAG_Bool(REGB2
)) {
3941 /* ./syntax//mmbuilder.nit:656 */
3942 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3943 REGB2
= CALL_mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3945 /* ./syntax//mmbuilder.nit:655 */
3946 REGB1
= TAG_Bool(false);
3949 if (UNTAG_Bool(REGB2
)) {
3950 REGB2
= TAG_Bool(true);
3952 /* ./syntax//mmbuilder.nit:657 */
3953 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3954 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3955 /* ./syntax//mmbuilder.nit:655 */
3958 if (UNTAG_Bool(REGB2
)) {
3959 /* ./syntax//mmbuilder.nit:657 */
3960 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3961 REGB2
= CALL_mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3963 /* ./syntax//mmbuilder.nit:655 */
3964 REGB1
= TAG_Bool(false);
3967 if (UNTAG_Bool(REGB2
)) {
3968 REGB2
= TAG_Bool(true);
3970 /* ./syntax//mmbuilder.nit:658 */
3971 REGB1
= CALL_abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3972 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3973 /* ./syntax//mmbuilder.nit:655 */
3976 if (UNTAG_Bool(REGB2
)) {
3977 /* ./syntax//mmbuilder.nit:658 */
3978 fra
.me
.REG
[1] = CALL_parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3979 REGB2
= CALL_mmbuilder___AClasskind___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3981 /* ./syntax//mmbuilder.nit:655 */
3982 REGB1
= TAG_Bool(false);
3985 /* ./syntax//mmbuilder.nit:654 */
3986 if (UNTAG_Bool(REGB2
)) {
3987 /* ./syntax//mmbuilder.nit:660 */
3989 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB2
);
3990 if (!once_value_28
) {
3991 fra
.me
.REG
[0] = BOX_NativeString("Redef error: cannot change kind of class ");
3992 REGB2
= TAG_Int(41);
3993 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB2
);
3994 once_value_28
= fra
.me
.REG
[0];
3995 register_static_object(&once_value_28
);
3996 } else fra
.me
.REG
[0] = once_value_28
;
3997 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3998 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3999 fra
.me
.REG
[0] = CALL_mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4000 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4001 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4002 if (!once_value_29
) {
4003 fra
.me
.REG
[0] = BOX_NativeString(".");
4005 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB2
);
4006 once_value_29
= fra
.me
.REG
[0];
4007 register_static_object(&once_value_29
);
4008 } else fra
.me
.REG
[0] = once_value_29
;
4009 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4010 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4011 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4012 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[1]);
4015 stack_frame_head
= fra
.me
.prev
;
4018 val_t
mmbuilder___AStdClassdef___visibility_level(val_t p0
){
4019 struct {struct stack_frame_t me
;} fra
;
4022 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4023 fra
.me
.file
= LOCATE_mmbuilder
;
4025 fra
.me
.meth
= LOCATE_mmbuilder___AStdClassdef___visibility_level
;
4026 fra
.me
.has_broke
= 0;
4027 fra
.me
.REG_size
= 1;
4028 fra
.me
.REG
[0] = NIT_NULL
;
4030 /* ./syntax//mmbuilder.nit:666 */
4031 fra
.me
.REG
[0] = CALL_parser_nodes___AStdClassdef___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4032 REGB0
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4035 stack_frame_head
= fra
.me
.prev
;
4038 val_t
mmbuilder___AMainClassdef___name(val_t p0
){
4039 struct {struct stack_frame_t me
;} fra
;
4042 static val_t once_value_1
; /* Once value */
4043 static val_t once_value_2
; /* Once value */
4044 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4045 fra
.me
.file
= LOCATE_mmbuilder
;
4047 fra
.me
.meth
= LOCATE_mmbuilder___AMainClassdef___name
;
4048 fra
.me
.has_broke
= 0;
4049 fra
.me
.REG_size
= 1;
4050 fra
.me
.REG
[0] = NIT_NULL
;
4052 /* ./syntax//mmbuilder.nit:673 */
4053 if (!once_value_1
) {
4054 if (!once_value_2
) {
4055 fra
.me
.REG
[0] = BOX_NativeString("Sys");
4057 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4058 once_value_2
= fra
.me
.REG
[0];
4059 register_static_object(&once_value_2
);
4060 } else fra
.me
.REG
[0] = once_value_2
;
4061 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4062 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4063 once_value_1
= fra
.me
.REG
[0];
4064 register_static_object(&once_value_1
);
4065 } else fra
.me
.REG
[0] = once_value_1
;
4066 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4069 stack_frame_head
= fra
.me
.prev
;
4070 return fra
.me
.REG
[0];
4072 val_t
mmbuilder___ATopClassdef___name(val_t p0
){
4073 struct {struct stack_frame_t me
;} fra
;
4076 static val_t once_value_1
; /* Once value */
4077 static val_t once_value_2
; /* Once value */
4078 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4079 fra
.me
.file
= LOCATE_mmbuilder
;
4081 fra
.me
.meth
= LOCATE_mmbuilder___ATopClassdef___name
;
4082 fra
.me
.has_broke
= 0;
4083 fra
.me
.REG_size
= 1;
4084 fra
.me
.REG
[0] = NIT_NULL
;
4086 /* ./syntax//mmbuilder.nit:680 */
4087 if (!once_value_1
) {
4088 if (!once_value_2
) {
4089 fra
.me
.REG
[0] = BOX_NativeString("Object");
4091 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4092 once_value_2
= fra
.me
.REG
[0];
4093 register_static_object(&once_value_2
);
4094 } else fra
.me
.REG
[0] = once_value_2
;
4095 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4096 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4097 once_value_1
= fra
.me
.REG
[0];
4098 register_static_object(&once_value_1
);
4099 } else fra
.me
.REG
[0] = once_value_1
;
4100 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4103 stack_frame_head
= fra
.me
.prev
;
4104 return fra
.me
.REG
[0];
4106 void mmbuilder___AFormaldef___accept_class_builder(val_t p0
, val_t p1
){
4107 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
4111 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4112 fra
.me
.file
= LOCATE_mmbuilder
;
4114 fra
.me
.meth
= LOCATE_mmbuilder___AFormaldef___accept_class_builder
;
4115 fra
.me
.has_broke
= 0;
4116 fra
.me
.REG_size
= 6;
4117 fra
.me
.REG
[0] = NIT_NULL
;
4118 fra
.me
.REG
[1] = NIT_NULL
;
4119 fra
.me
.REG
[2] = NIT_NULL
;
4120 fra
.me
.REG
[3] = NIT_NULL
;
4121 fra
.me
.REG
[4] = NIT_NULL
;
4122 fra
.me
.REG
[5] = NIT_NULL
;
4125 /* ./syntax//mmbuilder.nit:688 */
4126 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4127 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4128 /* ./syntax//mmbuilder.nit:690 */
4129 fra
.me
.REG
[4] = CALL_parser_nodes___AFormaldef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4130 fra
.me
.REG
[4] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4131 /* ./syntax//mmbuilder.nit:691 */
4132 REGB0
= CALL_mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4133 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4134 fra
.me
.REG
[5] = NEW_MMTypeFormalParameter_genericity___MMTypeFormalParameter___init(fra
.me
.REG
[4], REGB0
, fra
.me
.REG
[5]);
4135 /* ./syntax//mmbuilder.nit:692 */
4136 ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]) = fra
.me
.REG
[5];
4137 /* ./syntax//mmbuilder.nit:693 */
4138 REGB0
= CALL_mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4140 /* ./../lib/standard//kernel.nit:215 */
4141 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4142 /* ./syntax//mmbuilder.nit:693 */
4143 CALL_mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
4144 /* ./syntax//mmbuilder.nit:694 */
4145 fra
.me
.REG
[2] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4146 CALL_genericity___MMLocalClass___register_formal(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
4147 /* ./syntax//mmbuilder.nit:695 */
4148 fra
.me
.REG
[3] = CALL_mmbuilder___ClassBuilderVisitor___formals(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4149 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
4150 if (UNTAG_Bool(REGB1
)) {
4151 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 695);
4153 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
4154 /* ./syntax//mmbuilder.nit:696 */
4155 CALL_SUPER_mmbuilder___AFormaldef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4156 stack_frame_head
= fra
.me
.prev
;
4159 void mmbuilder___AFormaldef___accept_class_verifier(val_t p0
, val_t p1
){
4160 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
4164 static val_t once_value_2
; /* Once value */
4165 static val_t once_value_3
; /* Once value */
4166 static val_t once_value_4
; /* Once value */
4167 static val_t once_value_5
; /* Once value */
4168 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4169 fra
.me
.file
= LOCATE_mmbuilder
;
4171 fra
.me
.meth
= LOCATE_mmbuilder___AFormaldef___accept_class_verifier
;
4172 fra
.me
.has_broke
= 0;
4173 fra
.me
.REG_size
= 6;
4174 fra
.me
.REG
[0] = NIT_NULL
;
4175 fra
.me
.REG
[1] = NIT_NULL
;
4176 fra
.me
.REG
[2] = NIT_NULL
;
4177 fra
.me
.REG
[3] = NIT_NULL
;
4178 fra
.me
.REG
[4] = NIT_NULL
;
4179 fra
.me
.REG
[5] = NIT_NULL
;
4182 /* ./syntax//mmbuilder.nit:699 */
4183 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4184 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4185 /* ./syntax//mmbuilder.nit:701 */
4186 CALL_SUPER_mmbuilder___AFormaldef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4187 /* ./syntax//mmbuilder.nit:702 */
4188 fra
.me
.REG
[1] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4189 /* ./syntax//mmbuilder.nit:703 */
4190 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4191 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4192 /* ./syntax//mmbuilder.nit:704 */
4193 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
4194 if (UNTAG_Bool(REGB0
)) {
4196 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4199 if (UNTAG_Bool(REGB0
)) {
4200 /* ./syntax//mmbuilder.nit:705 */
4201 fra
.me
.REG
[4] = CALL_parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4202 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4203 if (UNTAG_Bool(REGB0
)) {
4205 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4206 if (UNTAG_Bool(REGB1
)) {
4207 REGB1
= TAG_Bool(false);
4210 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4214 if (UNTAG_Bool(REGB0
)) {
4215 /* ./syntax//mmbuilder.nit:706 */
4216 fra
.me
.REG
[4] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4217 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4218 fra
.me
.REG
[5] = CALL_inheritance___MMModule___type_any(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4219 fra
.me
.REG
[5] = CALL_static_type___MMType___as_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4220 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4221 if (UNTAG_Bool(REGB0
)) {
4222 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 706);
4224 CALL_genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4226 /* ./syntax//mmbuilder.nit:708 */
4227 fra
.me
.REG
[5] = CALL_parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4228 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4229 if (UNTAG_Bool(REGB0
)) {
4230 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 708);
4232 fra
.me
.REG
[5] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
4233 /* ./syntax//mmbuilder.nit:709 */
4234 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4235 if (UNTAG_Bool(REGB0
)) {
4237 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4238 if (UNTAG_Bool(REGB1
)) {
4239 REGB1
= TAG_Bool(false);
4242 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
4246 if (UNTAG_Bool(REGB0
)) {
4249 /* ./syntax//mmbuilder.nit:710 */
4250 fra
.me
.REG
[4] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4251 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4252 if (UNTAG_Bool(REGB0
)) {
4253 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 710);
4255 CALL_genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4258 /* ./syntax//mmbuilder.nit:713 */
4259 fra
.me
.REG
[5] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4260 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
4261 if (UNTAG_Bool(REGB0
)) {
4262 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 713);
4264 REGB0
= CALL_genericity___MMTypeFormalParameter___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4265 fra
.me
.REG
[0] = CALL_genericity___MMLocalClass___get_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
4266 fra
.me
.REG
[0] = CALL_type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4267 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4268 fra
.me
.REG
[5] = CALL_static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4269 /* ./syntax//mmbuilder.nit:714 */
4270 fra
.me
.REG
[0] = CALL_parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4271 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4272 if (UNTAG_Bool(REGB0
)) {
4274 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4275 if (UNTAG_Bool(REGB1
)) {
4276 REGB1
= TAG_Bool(false);
4279 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4283 if (UNTAG_Bool(REGB0
)) {
4284 /* ./syntax//mmbuilder.nit:715 */
4285 fra
.me
.REG
[0] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4286 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4287 if (UNTAG_Bool(REGB0
)) {
4288 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 715);
4290 CALL_genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4292 /* ./syntax//mmbuilder.nit:717 */
4293 fra
.me
.REG
[0] = CALL_parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4294 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4295 if (UNTAG_Bool(REGB0
)) {
4296 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 717);
4298 fra
.me
.REG
[0] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4299 /* ./syntax//mmbuilder.nit:718 */
4300 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4301 if (UNTAG_Bool(REGB0
)) {
4303 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4304 if (UNTAG_Bool(REGB1
)) {
4305 REGB1
= TAG_Bool(false);
4308 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4312 if (UNTAG_Bool(REGB0
)) {
4315 /* ./syntax//mmbuilder.nit:719 */
4316 fra
.me
.REG
[4] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4317 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4318 if (UNTAG_Bool(REGB0
)) {
4319 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 719);
4321 CALL_genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4322 /* ./syntax//mmbuilder.nit:720 */
4323 fra
.me
.REG
[0] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4324 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4325 if (UNTAG_Bool(REGB0
)) {
4326 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 720);
4328 fra
.me
.REG
[0] = CALL_type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4329 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[5]));
4330 if (UNTAG_Bool(REGB0
)) {
4332 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4335 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4336 if (UNTAG_Bool(REGB0
)) {
4337 /* ./syntax//mmbuilder.nit:721 */
4339 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
4340 if (!once_value_2
) {
4341 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Cannot change formal parameter type of class ");
4342 REGB0
= TAG_Int(58);
4343 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
4344 once_value_2
= fra
.me
.REG
[4];
4345 register_static_object(&once_value_2
);
4346 } else fra
.me
.REG
[4] = once_value_2
;
4347 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4348 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4349 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4350 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4351 if (!once_value_3
) {
4352 fra
.me
.REG
[1] = BOX_NativeString("; got ");
4354 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
4355 once_value_3
= fra
.me
.REG
[1];
4356 register_static_object(&once_value_3
);
4357 } else fra
.me
.REG
[1] = once_value_3
;
4358 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4359 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4360 fra
.me
.REG
[1] = ATTR_mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
4361 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4362 if (UNTAG_Bool(REGB0
)) {
4363 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 721);
4365 fra
.me
.REG
[1] = CALL_type_formal___MMTypeFormal___bound(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4366 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4367 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4368 if (!once_value_4
) {
4369 fra
.me
.REG
[1] = BOX_NativeString(", expected ");
4370 REGB0
= TAG_Int(11);
4371 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
4372 once_value_4
= fra
.me
.REG
[1];
4373 register_static_object(&once_value_4
);
4374 } else fra
.me
.REG
[1] = once_value_4
;
4375 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4376 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4377 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4378 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4379 if (!once_value_5
) {
4380 fra
.me
.REG
[5] = BOX_NativeString(".");
4382 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4383 once_value_5
= fra
.me
.REG
[5];
4384 register_static_object(&once_value_5
);
4385 } else fra
.me
.REG
[5] = once_value_5
;
4386 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4387 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
4388 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4389 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4394 stack_frame_head
= fra
.me
.prev
;
4397 val_t
mmbuilder___ASuperclass___ancestor(val_t p0
){
4398 struct {struct stack_frame_t me
;} fra
;
4400 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4401 fra
.me
.file
= LOCATE_mmbuilder
;
4403 fra
.me
.meth
= LOCATE_mmbuilder___ASuperclass___ancestor
;
4404 fra
.me
.has_broke
= 0;
4405 fra
.me
.REG_size
= 1;
4406 fra
.me
.REG
[0] = NIT_NULL
;
4408 /* ./syntax//mmbuilder.nit:729 */
4409 fra
.me
.REG
[0] = ATTR_mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[0]);
4410 stack_frame_head
= fra
.me
.prev
;
4411 return fra
.me
.REG
[0];
4413 void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t p0
, val_t p1
){
4414 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4418 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4419 fra
.me
.file
= LOCATE_mmbuilder
;
4421 fra
.me
.meth
= LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder
;
4422 fra
.me
.has_broke
= 0;
4423 fra
.me
.REG_size
= 4;
4424 fra
.me
.REG
[0] = NIT_NULL
;
4425 fra
.me
.REG
[1] = NIT_NULL
;
4426 fra
.me
.REG
[2] = NIT_NULL
;
4427 fra
.me
.REG
[3] = NIT_NULL
;
4430 /* ./syntax//mmbuilder.nit:731 */
4431 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4432 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4433 /* ./syntax//mmbuilder.nit:733 */
4434 CALL_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4435 /* ./syntax//mmbuilder.nit:734 */
4436 fra
.me
.REG
[1] = CALL_parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4437 fra
.me
.REG
[1] = CALL_syntax_base___AType___get_local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
4438 /* ./syntax//mmbuilder.nit:735 */
4439 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4440 if (UNTAG_Bool(REGB0
)) {
4442 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4443 if (UNTAG_Bool(REGB1
)) {
4444 REGB1
= TAG_Bool(false);
4447 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
4451 if (UNTAG_Bool(REGB0
)) {
4454 /* ./syntax//mmbuilder.nit:736 */
4455 fra
.me
.REG
[1] = NEW_MMSrcAncestor_mmbuilder___MMSrcAncestor___init(fra
.me
.REG
[1]);
4456 /* ./syntax//mmbuilder.nit:737 */
4457 ATTR_mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
4458 /* ./syntax//mmbuilder.nit:738 */
4459 fra
.me
.REG
[3] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4460 CALL_inheritance___MMLocalClass___add_direct_parent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
4462 stack_frame_head
= fra
.me
.prev
;
4465 void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t p0
, val_t p1
){
4466 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4469 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4470 fra
.me
.file
= LOCATE_mmbuilder
;
4472 fra
.me
.meth
= LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder
;
4473 fra
.me
.has_broke
= 0;
4474 fra
.me
.REG_size
= 4;
4475 fra
.me
.REG
[0] = NIT_NULL
;
4476 fra
.me
.REG
[1] = NIT_NULL
;
4477 fra
.me
.REG
[2] = NIT_NULL
;
4478 fra
.me
.REG
[3] = NIT_NULL
;
4481 /* ./syntax//mmbuilder.nit:741 */
4482 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4483 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4484 /* ./syntax//mmbuilder.nit:743 */
4485 CALL_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4486 /* ./syntax//mmbuilder.nit:744 */
4487 fra
.me
.REG
[1] = ATTR_mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
4488 fra
.me
.REG
[0] = CALL_parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4489 fra
.me
.REG
[0] = CALL_syntax_base___AType___get_unchecked_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4490 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4491 if (UNTAG_Bool(REGB0
)) {
4492 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 744);
4494 CALL_static_type___MMAncestor___stype__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
4495 /* ./syntax//mmbuilder.nit:745 */
4496 fra
.me
.REG
[2] = ATTR_mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
4497 fra
.me
.REG
[3] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4498 fra
.me
.REG
[3] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4499 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
4500 if (UNTAG_Bool(REGB0
)) {
4501 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 745);
4503 CALL_static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4504 stack_frame_head
= fra
.me
.prev
;
4507 void mmbuilder___ASuperclass___accept_class_verifier(val_t p0
, val_t p1
){
4508 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4510 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4511 fra
.me
.file
= LOCATE_mmbuilder
;
4513 fra
.me
.meth
= LOCATE_mmbuilder___ASuperclass___accept_class_verifier
;
4514 fra
.me
.has_broke
= 0;
4515 fra
.me
.REG_size
= 4;
4516 fra
.me
.REG
[0] = NIT_NULL
;
4517 fra
.me
.REG
[1] = NIT_NULL
;
4518 fra
.me
.REG
[2] = NIT_NULL
;
4519 fra
.me
.REG
[3] = NIT_NULL
;
4522 /* ./syntax//mmbuilder.nit:748 */
4523 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4524 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4525 /* ./syntax//mmbuilder.nit:750 */
4526 CALL_SUPER_mmbuilder___ASuperclass___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4527 /* ./syntax//mmbuilder.nit:751 */
4528 fra
.me
.REG
[2] = CALL_parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4529 CALL_syntax_base___AType___check_conform(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
4530 stack_frame_head
= fra
.me
.prev
;
4533 void mmbuilder___APropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
4534 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4540 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4541 fra
.me
.file
= LOCATE_mmbuilder
;
4543 fra
.me
.meth
= LOCATE_mmbuilder___APropdef___process_and_check
;
4544 fra
.me
.has_broke
= 0;
4545 fra
.me
.REG_size
= 4;
4546 fra
.me
.REG
[0] = NIT_NULL
;
4547 fra
.me
.REG
[1] = NIT_NULL
;
4548 fra
.me
.REG
[2] = NIT_NULL
;
4549 fra
.me
.REG
[3] = NIT_NULL
;
4555 /* ./syntax//mmbuilder.nit:764 */
4556 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4557 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4558 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[2]));
4559 if (UNTAG_Bool(REGB2
)) {
4561 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4564 if (UNTAG_Bool(REGB2
)) {
4565 /* ./syntax//mmbuilder.nit:765 */
4566 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
);
4568 /* ./syntax//mmbuilder.nit:767 */
4569 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
);
4571 stack_frame_head
= fra
.me
.prev
;
4574 void mmbuilder___APropdef___do_and_check_intro(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
4575 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
4581 static val_t once_value_1
; /* Once value */
4582 static val_t once_value_2
; /* Once value */
4583 static val_t once_value_3
; /* Once value */
4584 static val_t once_value_4
; /* Once value */
4585 static val_t once_value_5
; /* Once value */
4586 static val_t once_value_6
; /* Once value */
4587 static val_t once_value_7
; /* Once value */
4588 static val_t once_value_8
; /* Once value */
4589 static val_t once_value_9
; /* Once value */
4590 static val_t once_value_10
; /* Once value */
4591 static val_t once_value_11
; /* Once value */
4592 static val_t once_value_12
; /* Once value */
4593 static val_t once_value_13
; /* Once value */
4594 static val_t once_value_14
; /* Once value */
4595 static val_t once_value_15
; /* Once value */
4596 static val_t once_value_16
; /* Once value */
4597 static val_t once_value_17
; /* Once value */
4598 static val_t once_value_18
; /* Once value */
4599 static val_t once_value_19
; /* Once value */
4600 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4601 fra
.me
.file
= LOCATE_mmbuilder
;
4603 fra
.me
.meth
= LOCATE_mmbuilder___APropdef___do_and_check_intro
;
4604 fra
.me
.has_broke
= 0;
4605 fra
.me
.REG_size
= 7;
4606 fra
.me
.REG
[0] = NIT_NULL
;
4607 fra
.me
.REG
[1] = NIT_NULL
;
4608 fra
.me
.REG
[2] = NIT_NULL
;
4609 fra
.me
.REG
[3] = NIT_NULL
;
4610 fra
.me
.REG
[4] = NIT_NULL
;
4611 fra
.me
.REG
[5] = NIT_NULL
;
4612 fra
.me
.REG
[6] = NIT_NULL
;
4618 /* ./syntax//mmbuilder.nit:774 */
4619 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4620 /* ./syntax//mmbuilder.nit:775 */
4621 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4622 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4623 /* ./syntax//mmbuilder.nit:776 */
4624 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4625 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4626 REGB2
= CALL_abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4628 /* ./../lib/standard//kernel.nit:213 */
4629 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
4630 /* ./syntax//mmbuilder.nit:776 */
4631 if (UNTAG_Bool(REGB3
)) {
4632 /* ./syntax//mmbuilder.nit:778 */
4636 /* ./syntax//mmbuilder.nit:780 */
4637 CALL_abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
4638 /* ./syntax//mmbuilder.nit:781 */
4639 if (UNTAG_Bool(REGB0
)) {
4640 /* ./syntax//mmbuilder.nit:782 */
4642 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4643 if (!once_value_1
) {
4644 fra
.me
.REG
[6] = BOX_NativeString("Error: No property ");
4645 REGB0
= TAG_Int(19);
4646 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4647 once_value_1
= fra
.me
.REG
[6];
4648 register_static_object(&once_value_1
);
4649 } else fra
.me
.REG
[6] = once_value_1
;
4650 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4651 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4652 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4653 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4654 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4655 if (!once_value_2
) {
4656 fra
.me
.REG
[6] = BOX_NativeString("::");
4658 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4659 once_value_2
= fra
.me
.REG
[6];
4660 register_static_object(&once_value_2
);
4661 } else fra
.me
.REG
[6] = once_value_2
;
4662 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4663 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4664 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4665 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4666 if (!once_value_3
) {
4667 fra
.me
.REG
[6] = BOX_NativeString(" is inherited. Remove the redef keyword to define a new property.");
4668 REGB0
= TAG_Int(65);
4669 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4670 once_value_3
= fra
.me
.REG
[6];
4671 register_static_object(&once_value_3
);
4672 } else fra
.me
.REG
[6] = once_value_3
;
4673 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4674 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4675 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4676 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
4678 /* ./syntax//mmbuilder.nit:784 */
4679 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_attribute(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4680 if (UNTAG_Bool(REGB0
)) {
4681 /* ./syntax//mmbuilder.nit:785 */
4682 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4683 if (UNTAG_Bool(REGB0
)) {
4684 /* ./syntax//mmbuilder.nit:786 */
4686 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4687 if (!once_value_4
) {
4688 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
4689 REGB0
= TAG_Int(35);
4690 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4691 once_value_4
= fra
.me
.REG
[6];
4692 register_static_object(&once_value_4
);
4693 } else fra
.me
.REG
[6] = once_value_4
;
4694 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4695 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4696 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4697 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4698 if (!once_value_5
) {
4699 fra
.me
.REG
[6] = BOX_NativeString(" in the interface ");
4700 REGB0
= TAG_Int(18);
4701 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4702 once_value_5
= fra
.me
.REG
[6];
4703 register_static_object(&once_value_5
);
4704 } else fra
.me
.REG
[6] = once_value_5
;
4705 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4706 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4707 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4708 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4709 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4710 if (!once_value_6
) {
4711 fra
.me
.REG
[6] = BOX_NativeString(".");
4713 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4714 once_value_6
= fra
.me
.REG
[6];
4715 register_static_object(&once_value_6
);
4716 } else fra
.me
.REG
[6] = once_value_6
;
4717 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4718 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4719 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4720 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
4722 /* ./syntax//mmbuilder.nit:787 */
4723 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4724 if (UNTAG_Bool(REGB0
)) {
4725 /* ./syntax//mmbuilder.nit:788 */
4727 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4728 if (!once_value_7
) {
4729 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
4730 REGB0
= TAG_Int(35);
4731 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4732 once_value_7
= fra
.me
.REG
[6];
4733 register_static_object(&once_value_7
);
4734 } else fra
.me
.REG
[6] = once_value_7
;
4735 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4736 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4737 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4738 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4739 if (!once_value_8
) {
4740 fra
.me
.REG
[6] = BOX_NativeString(" in the enum class ");
4741 REGB0
= TAG_Int(19);
4742 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4743 once_value_8
= fra
.me
.REG
[6];
4744 register_static_object(&once_value_8
);
4745 } else fra
.me
.REG
[6] = once_value_8
;
4746 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4747 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4748 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4749 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4750 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4751 if (!once_value_9
) {
4752 fra
.me
.REG
[6] = BOX_NativeString(".");
4754 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4755 once_value_9
= fra
.me
.REG
[6];
4756 register_static_object(&once_value_9
);
4757 } else fra
.me
.REG
[6] = once_value_9
;
4758 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4759 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4760 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4761 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
4763 /* ./syntax//mmbuilder.nit:789 */
4764 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4765 if (UNTAG_Bool(REGB0
)) {
4766 /* ./syntax//mmbuilder.nit:790 */
4768 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4769 if (!once_value_10
) {
4770 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
4771 REGB0
= TAG_Int(35);
4772 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4773 once_value_10
= fra
.me
.REG
[6];
4774 register_static_object(&once_value_10
);
4775 } else fra
.me
.REG
[6] = once_value_10
;
4776 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4777 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4778 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4779 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4780 if (!once_value_11
) {
4781 fra
.me
.REG
[6] = BOX_NativeString(" in the extern class ");
4782 REGB0
= TAG_Int(21);
4783 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4784 once_value_11
= fra
.me
.REG
[6];
4785 register_static_object(&once_value_11
);
4786 } else fra
.me
.REG
[6] = once_value_11
;
4787 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4788 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4789 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4790 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4791 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4792 if (!once_value_12
) {
4793 fra
.me
.REG
[6] = BOX_NativeString(".");
4795 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4796 once_value_12
= fra
.me
.REG
[6];
4797 register_static_object(&once_value_12
);
4798 } else fra
.me
.REG
[6] = once_value_12
;
4799 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4800 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4801 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4802 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
4807 /* ./syntax//mmbuilder.nit:792 */
4808 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4809 if (UNTAG_Bool(REGB0
)) {
4810 /* ./syntax//mmbuilder.nit:793 */
4811 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4812 if (UNTAG_Bool(REGB0
)) {
4813 /* ./syntax//mmbuilder.nit:794 */
4815 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
4816 if (!once_value_13
) {
4817 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define a constructor ");
4818 REGB0
= TAG_Int(39);
4819 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4820 once_value_13
= fra
.me
.REG
[6];
4821 register_static_object(&once_value_13
);
4822 } else fra
.me
.REG
[6] = once_value_13
;
4823 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4824 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4825 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4826 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4827 if (!once_value_14
) {
4828 fra
.me
.REG
[6] = BOX_NativeString(" in the class ");
4829 REGB0
= TAG_Int(14);
4830 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4831 once_value_14
= fra
.me
.REG
[6];
4832 register_static_object(&once_value_14
);
4833 } else fra
.me
.REG
[6] = once_value_14
;
4834 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4835 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4836 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4837 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4838 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4839 if (!once_value_15
) {
4840 fra
.me
.REG
[6] = BOX_NativeString(".");
4842 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
4843 once_value_15
= fra
.me
.REG
[6];
4844 register_static_object(&once_value_15
);
4845 } else fra
.me
.REG
[6] = once_value_15
;
4846 fra
.me
.REG
[6] = fra
.me
.REG
[6];
4847 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
4848 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4849 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
4851 /* ./syntax//mmbuilder.nit:795 */
4852 REGB0
= CALL_abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4853 if (UNTAG_Bool(REGB0
)) {
4854 /* ./syntax//mmbuilder.nit:796 */
4856 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
4857 if (!once_value_16
) {
4858 fra
.me
.REG
[5] = BOX_NativeString("Error: Attempt to define a constructor ");
4859 REGB0
= TAG_Int(39);
4860 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4861 once_value_16
= fra
.me
.REG
[5];
4862 register_static_object(&once_value_16
);
4863 } else fra
.me
.REG
[5] = once_value_16
;
4864 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4865 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4866 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4867 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4868 if (!once_value_17
) {
4869 fra
.me
.REG
[5] = BOX_NativeString(" in the enum ");
4870 REGB0
= TAG_Int(13);
4871 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4872 once_value_17
= fra
.me
.REG
[5];
4873 register_static_object(&once_value_17
);
4874 } else fra
.me
.REG
[5] = once_value_17
;
4875 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4876 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4877 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4878 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4879 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4880 if (!once_value_18
) {
4881 fra
.me
.REG
[5] = BOX_NativeString(".");
4883 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
4884 once_value_18
= fra
.me
.REG
[5];
4885 register_static_object(&once_value_18
);
4886 } else fra
.me
.REG
[5] = once_value_18
;
4887 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4888 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
4889 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4890 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
4895 /* ./syntax//mmbuilder.nit:801 */
4896 fra
.me
.REG
[4] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4897 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4898 if (UNTAG_Bool(REGB0
)) {
4900 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4901 if (UNTAG_Bool(REGB1
)) {
4902 REGB1
= TAG_Bool(false);
4905 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4909 if (UNTAG_Bool(REGB0
)) {
4910 /* ./syntax//mmbuilder.nit:802 */
4911 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4912 if (UNTAG_Bool(REGB0
)) {
4913 /* ./syntax//mmbuilder.nit:803 */
4914 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4915 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4916 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___super_methods_named(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4917 /* ./syntax//mmbuilder.nit:804 */
4918 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]);
4920 /* ./syntax//mmbuilder.nit:806 */
4921 fra
.me
.REG
[4] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4922 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4923 if (UNTAG_Bool(REGB0
)) {
4925 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4926 if (UNTAG_Bool(REGB1
)) {
4927 REGB1
= TAG_Bool(false);
4930 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4934 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4935 if (UNTAG_Bool(REGB0
)) {
4936 REGB0
= TAG_Bool(true);
4938 fra
.me
.REG
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4939 REGB1
= CALL_mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4942 if (UNTAG_Bool(REGB0
)) {
4944 /* ./syntax//mmbuilder.nit:808 */
4945 fra
.me
.REG
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4946 fra
.me
.REG
[4] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4947 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4948 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4949 if (UNTAG_Bool(REGB0
)) {
4950 /* ./syntax//mmbuilder.nit:809 */
4951 fra
.me
.REG
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4952 fra
.me
.REG
[4] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4953 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4954 if (!once_value_19
) {
4955 fra
.me
.REG
[0] = BOX_NativeString("Error: Untyped parameter.");
4956 REGB0
= TAG_Int(25);
4957 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
4958 once_value_19
= fra
.me
.REG
[0];
4959 register_static_object(&once_value_19
);
4960 } else fra
.me
.REG
[0] = once_value_19
;
4961 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4962 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
4964 /* ./syntax//mmbuilder.nit:811 */
4965 fra
.me
.REG
[0] = NEW_Array_array___Array___init();
4966 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4967 fra
.me
.REG
[4] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4968 fra
.me
.REG
[4] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[4]);
4969 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
4970 /* ./syntax//mmbuilder.nit:812 */
4971 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4972 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4973 /* ./../lib/standard//collection//array.nit:234 */
4975 /* ./../lib/standard//collection//array.nit:235 */
4976 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
4977 if (UNTAG_Bool(REGB1
)) {
4979 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
4981 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
4982 /* ./../lib/standard//collection//array.nit:236 */
4983 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[1]);
4984 /* ./../lib/standard//collection//array.nit:237 */
4986 /* ./../lib/standard//collection//array.nit:23 */
4987 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
4988 if (UNTAG_Bool(REGB1
)) {
4990 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
4992 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
4993 /* ./../lib/standard//kernel.nit:212 */
4994 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4995 /* ./../lib/standard//collection//array.nit:237 */
4996 if (UNTAG_Bool(REGB1
)) {
4997 /* ./../lib/standard//collection//array.nit:238 */
4998 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4999 if (UNTAG_Bool(REGB1
)) {
5000 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
5002 /* ./../lib/standard//collection//array.nit:654 */
5003 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
5004 /* ./syntax//mmbuilder.nit:813 */
5005 fra
.me
.REG
[3] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5006 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5007 if (UNTAG_Bool(REGB1
)) {
5008 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 813);
5010 fra
.me
.REG
[3] = CALL_static_type___MMSignature___closures(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5011 fra
.me
.REG
[0] = CALL_syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5012 fra
.me
.REG
[0] = CALL_syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5013 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
5014 /* ./../lib/standard//collection//array.nit:239 */
5016 /* ./../lib/standard//kernel.nit:215 */
5017 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5018 /* ./../lib/standard//collection//array.nit:239 */
5021 /* ./../lib/standard//collection//array.nit:237 */
5029 stack_frame_head
= fra
.me
.prev
;
5032 void mmbuilder___APropdef___inherit_signature(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
5033 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
5040 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5041 fra
.me
.file
= LOCATE_mmbuilder
;
5043 fra
.me
.meth
= LOCATE_mmbuilder___APropdef___inherit_signature
;
5044 fra
.me
.has_broke
= 0;
5045 fra
.me
.REG_size
= 11;
5046 fra
.me
.REG
[0] = NIT_NULL
;
5047 fra
.me
.REG
[1] = NIT_NULL
;
5048 fra
.me
.REG
[2] = NIT_NULL
;
5049 fra
.me
.REG
[3] = NIT_NULL
;
5050 fra
.me
.REG
[4] = NIT_NULL
;
5051 fra
.me
.REG
[5] = NIT_NULL
;
5052 fra
.me
.REG
[6] = NIT_NULL
;
5053 fra
.me
.REG
[7] = NIT_NULL
;
5054 fra
.me
.REG
[8] = NIT_NULL
;
5055 fra
.me
.REG
[9] = NIT_NULL
;
5056 fra
.me
.REG
[10] = NIT_NULL
;
5061 /* ./syntax//mmbuilder.nit:821 */
5062 fra
.me
.REG
[0] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5063 /* ./../lib/standard//collection//array.nit:234 */
5065 /* ./../lib/standard//collection//array.nit:235 */
5066 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
5067 if (UNTAG_Bool(REGB1
)) {
5069 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
5071 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
5072 /* ./../lib/standard//collection//array.nit:236 */
5073 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[3]);
5074 /* ./../lib/standard//collection//array.nit:237 */
5076 /* ./../lib/standard//collection//array.nit:23 */
5077 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
5078 if (UNTAG_Bool(REGB1
)) {
5080 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5082 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
5083 /* ./../lib/standard//kernel.nit:212 */
5084 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
5085 /* ./../lib/standard//collection//array.nit:237 */
5086 if (UNTAG_Bool(REGB1
)) {
5087 /* ./../lib/standard//collection//array.nit:238 */
5088 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5089 if (UNTAG_Bool(REGB1
)) {
5090 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
5092 /* ./../lib/standard//collection//array.nit:654 */
5093 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
5094 /* ./syntax//mmbuilder.nit:823 */
5095 fra
.me
.REG
[5] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5096 fra
.me
.REG
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5097 fra
.me
.REG
[6] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5098 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5099 if (UNTAG_Bool(REGB1
)) {
5100 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 823);
5102 fra
.me
.REG
[6] = CALL_static_type___MMSignature___adaptation_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5103 /* ./syntax//mmbuilder.nit:825 */
5104 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5105 if (UNTAG_Bool(REGB1
)) {
5107 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5108 if (UNTAG_Bool(REGB2
)) {
5109 REGB2
= TAG_Bool(false);
5112 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
5116 if (UNTAG_Bool(REGB1
)) {
5117 /* ./syntax//mmbuilder.nit:826 */
5118 fra
.me
.REG
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5119 fra
.me
.REG
[5] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5120 /* ./../lib/standard//collection//array.nit:23 */
5121 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
5122 if (UNTAG_Bool(REGB1
)) {
5124 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5126 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
5127 /* ./syntax//mmbuilder.nit:826 */
5128 REGB2
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5129 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
5130 if (UNTAG_Bool(REGB3
)) {
5132 /* ./../lib/standard//kernel.nit:207 */
5133 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
5134 /* ./syntax//mmbuilder.nit:826 */
5137 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
5138 if (UNTAG_Bool(REGB3
)) {
5139 /* ./syntax//mmbuilder.nit:827 */
5142 /* ./syntax//mmbuilder.nit:829 */
5143 fra
.me
.REG
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5144 fra
.me
.REG
[5] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5145 /* ./../lib/standard//collection//array.nit:234 */
5147 /* ./../lib/standard//collection//array.nit:235 */
5148 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
5149 if (UNTAG_Bool(REGB2
)) {
5151 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
5153 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
5154 /* ./../lib/standard//collection//array.nit:236 */
5155 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[5]);
5156 /* ./../lib/standard//collection//array.nit:237 */
5158 /* ./../lib/standard//collection//array.nit:23 */
5159 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
5160 if (UNTAG_Bool(REGB2
)) {
5162 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5164 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
5165 /* ./../lib/standard//kernel.nit:212 */
5166 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
5167 /* ./../lib/standard//collection//array.nit:237 */
5168 if (UNTAG_Bool(REGB2
)) {
5169 /* ./../lib/standard//collection//array.nit:238 */
5170 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5171 if (UNTAG_Bool(REGB2
)) {
5172 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
5174 /* ./../lib/standard//collection//array.nit:654 */
5175 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB3
)];
5176 /* ./syntax//mmbuilder.nit:830 */
5177 REGB2
= CALL_syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5178 fra
.me
.REG
[9] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
5179 /* ./syntax//mmbuilder.nit:831 */
5180 CALL_mmbuilder___AParam___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
5181 /* ./syntax//mmbuilder.nit:832 */
5182 REGB2
= CALL_syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5183 REGB1
= CALL_vararg___MMSignature___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5184 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
5185 if (UNTAG_Bool(REGB4
)) {
5187 /* ./../lib/standard//kernel.nit:207 */
5188 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
5189 /* ./syntax//mmbuilder.nit:832 */
5192 if (UNTAG_Bool(REGB4
)) {
5193 /* ./syntax//mmbuilder.nit:833 */
5194 fra
.me
.REG
[10] = CALL_syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[9]);
5195 fra
.me
.REG
[9] = fra
.me
.REG
[10];
5197 /* ./syntax//mmbuilder.nit:835 */
5198 fra
.me
.REG
[8] = CALL_syntax_base___AParam___variable(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5199 CALL_syntax_base___Variable___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
5200 /* ./../lib/standard//collection//array.nit:239 */
5202 /* ./../lib/standard//kernel.nit:215 */
5203 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
5204 /* ./../lib/standard//collection//array.nit:239 */
5207 /* ./../lib/standard//collection//array.nit:237 */
5212 /* ./syntax//mmbuilder.nit:838 */
5213 fra
.me
.REG
[0] = fra
.me
.REG
[6];
5214 /* ./syntax//mmbuilder.nit:839 */
5215 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
5217 /* ./../lib/standard//collection//array.nit:239 */
5219 /* ./../lib/standard//kernel.nit:215 */
5220 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
5221 /* ./../lib/standard//collection//array.nit:239 */
5224 /* ./../lib/standard//collection//array.nit:237 */
5230 stack_frame_head
= fra
.me
.prev
;
5233 void mmbuilder___APropdef___do_and_check_redef(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5234 struct {struct stack_frame_t me
; val_t MORE_REG
[13];} fra
;
5244 static val_t once_value_1
; /* Once value */
5245 static val_t once_value_2
; /* Once value */
5246 static val_t once_value_3
; /* Once value */
5247 static val_t once_value_5
; /* Once value */
5248 static val_t once_value_6
; /* Once value */
5249 static val_t once_value_7
; /* Once value */
5250 static val_t once_value_8
; /* Once value */
5251 static val_t once_value_9
; /* Once value */
5252 static val_t once_value_10
; /* Once value */
5253 static val_t once_value_11
; /* Once value */
5254 static val_t once_value_12
; /* Once value */
5255 static val_t once_value_13
; /* Once value */
5256 static val_t once_value_14
; /* Once value */
5257 static val_t once_value_15
; /* Once value */
5258 static val_t once_value_16
; /* Once value */
5259 static val_t once_value_17
; /* Once value */
5260 static val_t once_value_18
; /* Once value */
5261 static val_t once_value_19
; /* Once value */
5262 static val_t once_value_20
; /* Once value */
5263 static val_t once_value_21
; /* Once value */
5264 static val_t once_value_22
; /* Once value */
5265 static val_t once_value_24
; /* Once value */
5266 static val_t once_value_25
; /* Once value */
5267 static val_t once_value_26
; /* Once value */
5268 static val_t once_value_27
; /* Once value */
5269 static val_t once_value_28
; /* Once value */
5270 static val_t once_value_29
; /* Once value */
5271 static val_t once_value_30
; /* Once value */
5272 static val_t once_value_31
; /* Once value */
5273 static val_t once_value_32
; /* Once value */
5274 static val_t once_value_33
; /* Once value */
5275 static val_t once_value_34
; /* Once value */
5276 static val_t once_value_35
; /* Once value */
5277 static val_t once_value_36
; /* Once value */
5278 static val_t once_value_38
; /* Once value */
5279 static val_t once_value_39
; /* Once value */
5280 static val_t once_value_40
; /* Once value */
5281 static val_t once_value_41
; /* Once value */
5282 static val_t once_value_42
; /* Once value */
5283 static val_t once_value_43
; /* Once value */
5284 static val_t once_value_44
; /* Once value */
5285 static val_t once_value_45
; /* Once value */
5286 static val_t once_value_46
; /* Once value */
5287 static val_t once_value_47
; /* Once value */
5288 static val_t once_value_48
; /* Once value */
5289 static val_t once_value_49
; /* Once value */
5290 static val_t once_value_50
; /* Once value */
5291 static val_t once_value_51
; /* Once value */
5292 static val_t once_value_52
; /* Once value */
5293 static val_t once_value_53
; /* Once value */
5294 static val_t once_value_54
; /* Once value */
5295 static val_t once_value_55
; /* Once value */
5296 static val_t once_value_56
; /* Once value */
5297 static val_t once_value_57
; /* Once value */
5298 static val_t once_value_58
; /* Once value */
5299 static val_t once_value_59
; /* Once value */
5300 static val_t once_value_60
; /* Once value */
5301 static val_t once_value_61
; /* Once value */
5302 static val_t once_value_62
; /* Once value */
5303 static val_t once_value_63
; /* Once value */
5304 static val_t once_value_64
; /* Once value */
5305 static val_t once_value_65
; /* Once value */
5306 static val_t once_value_66
; /* Once value */
5307 static val_t once_value_68
; /* Once value */
5308 static val_t once_value_69
; /* Once value */
5309 static val_t once_value_70
; /* Once value */
5310 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5311 fra
.me
.file
= LOCATE_mmbuilder
;
5313 fra
.me
.meth
= LOCATE_mmbuilder___APropdef___do_and_check_redef
;
5314 fra
.me
.has_broke
= 0;
5315 fra
.me
.REG_size
= 14;
5316 fra
.me
.REG
[0] = NIT_NULL
;
5317 fra
.me
.REG
[1] = NIT_NULL
;
5318 fra
.me
.REG
[2] = NIT_NULL
;
5319 fra
.me
.REG
[3] = NIT_NULL
;
5320 fra
.me
.REG
[4] = NIT_NULL
;
5321 fra
.me
.REG
[5] = NIT_NULL
;
5322 fra
.me
.REG
[6] = NIT_NULL
;
5323 fra
.me
.REG
[7] = NIT_NULL
;
5324 fra
.me
.REG
[8] = NIT_NULL
;
5325 fra
.me
.REG
[9] = NIT_NULL
;
5326 fra
.me
.REG
[10] = NIT_NULL
;
5327 fra
.me
.REG
[11] = NIT_NULL
;
5328 fra
.me
.REG
[12] = NIT_NULL
;
5329 fra
.me
.REG
[13] = NIT_NULL
;
5335 /* ./syntax//mmbuilder.nit:847 */
5336 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_AConcreteInitPropdef
, ID_AConcreteInitPropdef
)) /*cast AConcreteInitPropdef*/;
5337 /* ./syntax//mmbuilder.nit:848 */
5338 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5339 /* ./syntax//mmbuilder.nit:850 */
5340 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5341 if (UNTAG_Bool(REGB0
)) {
5342 /* ./syntax//mmbuilder.nit:851 */
5344 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
5345 if (!once_value_1
) {
5346 fra
.me
.REG
[5] = BOX_NativeString("Redef error: ");
5347 REGB0
= TAG_Int(13);
5348 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5349 once_value_1
= fra
.me
.REG
[5];
5350 register_static_object(&once_value_1
);
5351 } else fra
.me
.REG
[5] = once_value_1
;
5352 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5353 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5354 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5355 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5356 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5357 if (!once_value_2
) {
5358 fra
.me
.REG
[5] = BOX_NativeString("::");
5360 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5361 once_value_2
= fra
.me
.REG
[5];
5362 register_static_object(&once_value_2
);
5363 } else fra
.me
.REG
[5] = once_value_2
;
5364 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5365 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5366 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5367 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5368 if (!once_value_3
) {
5369 fra
.me
.REG
[5] = BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword.");
5370 REGB0
= TAG_Int(65);
5371 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5372 once_value_3
= fra
.me
.REG
[5];
5373 register_static_object(&once_value_3
);
5374 } else fra
.me
.REG
[5] = once_value_3
;
5375 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5376 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5377 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5378 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5379 /* ./syntax//mmbuilder.nit:852 */
5382 /* ./syntax//mmbuilder.nit:854 */
5383 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5384 if (UNTAG_Bool(REGB0
)) {
5385 REGB0
= TAG_Bool(!UNTAG_Bool(REGB2
));
5387 REGB3
= TAG_Bool(false);
5390 if (UNTAG_Bool(REGB0
)) {
5391 /* ./syntax//mmbuilder.nit:855 */
5393 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
5394 if (!once_value_5
) {
5395 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A method ");
5396 REGB0
= TAG_Int(22);
5397 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5398 once_value_5
= fra
.me
.REG
[5];
5399 register_static_object(&once_value_5
);
5400 } else fra
.me
.REG
[5] = once_value_5
;
5401 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5402 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5403 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5404 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5405 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5406 if (!once_value_6
) {
5407 fra
.me
.REG
[5] = BOX_NativeString("::");
5409 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5410 once_value_6
= fra
.me
.REG
[5];
5411 register_static_object(&once_value_6
);
5412 } else fra
.me
.REG
[5] = once_value_6
;
5413 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5414 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5415 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5416 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5417 if (!once_value_7
) {
5418 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a constructor.");
5419 REGB0
= TAG_Int(31);
5420 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
5421 once_value_7
= fra
.me
.REG
[5];
5422 register_static_object(&once_value_7
);
5423 } else fra
.me
.REG
[5] = once_value_7
;
5424 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5425 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5426 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5427 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5429 /* ./syntax//mmbuilder.nit:856 */
5430 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5431 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5432 if (UNTAG_Bool(REGB0
)) {
5434 REGB0
= TAG_Bool(false);
5437 if (UNTAG_Bool(REGB2
)) {
5438 /* ./syntax//mmbuilder.nit:857 */
5440 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
5441 if (!once_value_8
) {
5442 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A constructor ");
5443 REGB2
= TAG_Int(27);
5444 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
5445 once_value_8
= fra
.me
.REG
[5];
5446 register_static_object(&once_value_8
);
5447 } else fra
.me
.REG
[5] = once_value_8
;
5448 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5449 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5450 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5451 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5452 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5453 if (!once_value_9
) {
5454 fra
.me
.REG
[5] = BOX_NativeString("::");
5456 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
5457 once_value_9
= fra
.me
.REG
[5];
5458 register_static_object(&once_value_9
);
5459 } else fra
.me
.REG
[5] = once_value_9
;
5460 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5461 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5462 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5463 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5464 if (!once_value_10
) {
5465 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a method.");
5466 REGB2
= TAG_Int(26);
5467 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB2
);
5468 once_value_10
= fra
.me
.REG
[5];
5469 register_static_object(&once_value_10
);
5470 } else fra
.me
.REG
[5] = once_value_10
;
5471 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5472 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5473 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5474 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5477 /* ./syntax//mmbuilder.nit:860 */
5478 fra
.me
.REG
[4] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5479 /* ./syntax//mmbuilder.nit:862 */
5480 fra
.me
.REG
[5] = CALL_abstractmetamodel___MMLocalProperty___prhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5481 fra
.me
.REG
[5] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5482 /* ./../lib/standard//collection//array.nit:234 */
5484 /* ./../lib/standard//collection//array.nit:235 */
5485 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
5486 if (UNTAG_Bool(REGB0
)) {
5488 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
5490 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
5491 /* ./../lib/standard//collection//array.nit:236 */
5492 fra
.me
.REG
[6] = ATTR_array___Array____items(fra
.me
.REG
[5]);
5493 /* ./../lib/standard//collection//array.nit:237 */
5495 /* ./../lib/standard//collection//array.nit:23 */
5496 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
5497 if (UNTAG_Bool(REGB0
)) {
5499 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5501 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
5502 /* ./../lib/standard//kernel.nit:212 */
5503 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
5504 /* ./../lib/standard//collection//array.nit:237 */
5505 if (UNTAG_Bool(REGB0
)) {
5506 /* ./../lib/standard//collection//array.nit:238 */
5507 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5508 if (UNTAG_Bool(REGB0
)) {
5509 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
5511 /* ./../lib/standard//collection//array.nit:654 */
5512 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
5513 /* ./syntax//mmbuilder.nit:863 */
5514 fra
.me
.REG
[8] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5515 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5516 fra
.me
.REG
[9] = CALL_abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
5517 /* ./syntax//mmbuilder.nit:864 */
5518 fra
.me
.REG
[7] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5519 fra
.me
.REG
[8] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5520 fra
.me
.REG
[8] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5521 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
5522 if (UNTAG_Bool(REGB0
)) {
5523 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 864);
5525 fra
.me
.REG
[8] = CALL_static_type___MMSignature___adaptation_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5526 /* ./syntax//mmbuilder.nit:866 */
5527 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5528 if (UNTAG_Bool(REGB0
)) {
5530 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5531 if (UNTAG_Bool(REGB3
)) {
5532 REGB3
= TAG_Bool(false);
5535 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5539 if (UNTAG_Bool(REGB0
)) {
5540 /* ./syntax//mmbuilder.nit:868 */
5541 fra
.me
.REG
[7] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5542 fra
.me
.REG
[7] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5543 /* ./../lib/standard//collection//array.nit:23 */
5544 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5545 if (UNTAG_Bool(REGB0
)) {
5547 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5549 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5550 /* ./syntax//mmbuilder.nit:868 */
5551 REGB3
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5552 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
5553 if (UNTAG_Bool(REGB4
)) {
5555 /* ./../lib/standard//kernel.nit:207 */
5556 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
5557 /* ./syntax//mmbuilder.nit:868 */
5560 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
5561 if (UNTAG_Bool(REGB4
)) {
5562 /* ./syntax//mmbuilder.nit:869 */
5563 REGB4
= TAG_Int(11);
5564 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB4
);
5565 if (!once_value_11
) {
5566 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
5567 REGB4
= TAG_Int(13);
5568 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5569 once_value_11
= fra
.me
.REG
[10];
5570 register_static_object(&once_value_11
);
5571 } else fra
.me
.REG
[10] = once_value_11
;
5572 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5573 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5574 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5575 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5576 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5577 if (!once_value_12
) {
5578 fra
.me
.REG
[10] = BOX_NativeString("::");
5580 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5581 once_value_12
= fra
.me
.REG
[10];
5582 register_static_object(&once_value_12
);
5583 } else fra
.me
.REG
[10] = once_value_12
;
5584 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5585 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5586 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5587 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5588 if (!once_value_13
) {
5589 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
5590 REGB4
= TAG_Int(11);
5591 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5592 once_value_13
= fra
.me
.REG
[10];
5593 register_static_object(&once_value_13
);
5594 } else fra
.me
.REG
[10] = once_value_13
;
5595 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5596 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5597 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5598 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5599 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5600 if (!once_value_14
) {
5601 fra
.me
.REG
[10] = BOX_NativeString("::");
5603 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5604 once_value_14
= fra
.me
.REG
[10];
5605 register_static_object(&once_value_14
);
5606 } else fra
.me
.REG
[10] = once_value_14
;
5607 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5608 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5609 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5610 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5611 if (!once_value_15
) {
5612 fra
.me
.REG
[10] = BOX_NativeString(" with ");
5614 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5615 once_value_15
= fra
.me
.REG
[10];
5616 register_static_object(&once_value_15
);
5617 } else fra
.me
.REG
[10] = once_value_15
;
5618 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5619 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5620 REGB4
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5621 fra
.me
.REG
[10] = CALL_string___Object___to_s(REGB4
)(REGB4
);
5622 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5623 if (!once_value_16
) {
5624 fra
.me
.REG
[10] = BOX_NativeString(" parameter(s).");
5625 REGB4
= TAG_Int(14);
5626 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
5627 once_value_16
= fra
.me
.REG
[10];
5628 register_static_object(&once_value_16
);
5629 } else fra
.me
.REG
[10] = once_value_16
;
5630 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5631 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5632 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5633 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
5634 /* ./syntax//mmbuilder.nit:870 */
5637 /* ./syntax//mmbuilder.nit:872 */
5638 fra
.me
.REG
[7] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5639 fra
.me
.REG
[7] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5640 /* ./../lib/standard//collection//array.nit:23 */
5641 REGB4
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5642 if (UNTAG_Bool(REGB4
)) {
5644 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5646 REGB4
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5647 /* ./syntax//mmbuilder.nit:872 */
5648 fra
.me
.REG
[7] = CALL_static_type___MMSignature___closures(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5649 /* ./../lib/standard//collection//array.nit:23 */
5650 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5651 if (UNTAG_Bool(REGB3
)) {
5653 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5655 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5656 /* ./syntax//mmbuilder.nit:872 */
5657 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB3
));
5658 if (UNTAG_Bool(REGB0
)) {
5660 /* ./../lib/standard//kernel.nit:207 */
5661 REGB3
= TAG_Bool((REGB4
)==(REGB3
));
5662 /* ./syntax//mmbuilder.nit:872 */
5665 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5666 if (UNTAG_Bool(REGB0
)) {
5667 /* ./syntax//mmbuilder.nit:873 */
5668 REGB0
= TAG_Int(11);
5669 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
5670 if (!once_value_17
) {
5671 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
5672 REGB0
= TAG_Int(13);
5673 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5674 once_value_17
= fra
.me
.REG
[10];
5675 register_static_object(&once_value_17
);
5676 } else fra
.me
.REG
[10] = once_value_17
;
5677 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5678 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5679 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5680 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5681 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5682 if (!once_value_18
) {
5683 fra
.me
.REG
[10] = BOX_NativeString("::");
5685 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5686 once_value_18
= fra
.me
.REG
[10];
5687 register_static_object(&once_value_18
);
5688 } else fra
.me
.REG
[10] = once_value_18
;
5689 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5690 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5691 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5692 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5693 if (!once_value_19
) {
5694 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
5695 REGB0
= TAG_Int(11);
5696 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5697 once_value_19
= fra
.me
.REG
[10];
5698 register_static_object(&once_value_19
);
5699 } else fra
.me
.REG
[10] = once_value_19
;
5700 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5701 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5702 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5703 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5704 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5705 if (!once_value_20
) {
5706 fra
.me
.REG
[10] = BOX_NativeString("::");
5708 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5709 once_value_20
= fra
.me
.REG
[10];
5710 register_static_object(&once_value_20
);
5711 } else fra
.me
.REG
[10] = once_value_20
;
5712 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5713 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5714 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5715 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5716 if (!once_value_21
) {
5717 fra
.me
.REG
[10] = BOX_NativeString(" with ");
5719 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5720 once_value_21
= fra
.me
.REG
[10];
5721 register_static_object(&once_value_21
);
5722 } else fra
.me
.REG
[10] = once_value_21
;
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 REGB0
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5726 fra
.me
.REG
[10] = CALL_string___Object___to_s(REGB0
)(REGB0
);
5727 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5728 if (!once_value_22
) {
5729 fra
.me
.REG
[10] = BOX_NativeString(" closure(s).");
5730 REGB0
= TAG_Int(12);
5731 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB0
);
5732 once_value_22
= fra
.me
.REG
[10];
5733 register_static_object(&once_value_22
);
5734 } else fra
.me
.REG
[10] = once_value_22
;
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
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5738 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
5739 /* ./syntax//mmbuilder.nit:874 */
5742 /* ./syntax//mmbuilder.nit:876 */
5743 fra
.me
.REG
[7] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5744 fra
.me
.REG
[7] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5745 /* ./../lib/standard//collection//array.nit:234 */
5747 /* ./../lib/standard//collection//array.nit:235 */
5748 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5749 if (UNTAG_Bool(REGB3
)) {
5751 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
5753 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5754 /* ./../lib/standard//collection//array.nit:236 */
5755 fra
.me
.REG
[10] = ATTR_array___Array____items(fra
.me
.REG
[7]);
5756 /* ./../lib/standard//collection//array.nit:237 */
5758 /* ./../lib/standard//collection//array.nit:23 */
5759 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
5760 if (UNTAG_Bool(REGB3
)) {
5762 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
5764 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[7]);
5765 /* ./../lib/standard//kernel.nit:212 */
5766 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
5767 /* ./../lib/standard//collection//array.nit:237 */
5768 if (UNTAG_Bool(REGB3
)) {
5769 /* ./../lib/standard//collection//array.nit:238 */
5770 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
5771 if (UNTAG_Bool(REGB3
)) {
5772 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
5774 /* ./../lib/standard//collection//array.nit:654 */
5775 fra
.me
.REG
[11] = ((Nit_NativeArray
)fra
.me
.REG
[10])->val
[UNTAG_Int(REGB0
)];
5776 /* ./syntax//mmbuilder.nit:877 */
5777 REGB3
= CALL_syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
5778 fra
.me
.REG
[12] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB3
);
5779 /* ./syntax//mmbuilder.nit:878 */
5780 CALL_mmbuilder___AParam___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
5781 /* ./syntax//mmbuilder.nit:879 */
5782 REGB3
= CALL_syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
5783 REGB4
= CALL_vararg___MMSignature___vararg_rank(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5784 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB4
));
5785 if (UNTAG_Bool(REGB5
)) {
5787 /* ./../lib/standard//kernel.nit:207 */
5788 REGB4
= TAG_Bool((REGB3
)==(REGB4
));
5789 /* ./syntax//mmbuilder.nit:879 */
5792 if (UNTAG_Bool(REGB5
)) {
5793 /* ./syntax//mmbuilder.nit:880 */
5794 fra
.me
.REG
[13] = CALL_syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[12]);
5795 fra
.me
.REG
[12] = fra
.me
.REG
[13];
5797 /* ./syntax//mmbuilder.nit:882 */
5798 fra
.me
.REG
[11] = CALL_syntax_base___AParam___variable(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
5799 CALL_syntax_base___Variable___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
5800 /* ./../lib/standard//collection//array.nit:239 */
5802 /* ./../lib/standard//kernel.nit:215 */
5803 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
5804 /* ./../lib/standard//collection//array.nit:239 */
5807 /* ./../lib/standard//collection//array.nit:237 */
5812 /* ./syntax//mmbuilder.nit:884 */
5813 fra
.me
.REG
[4] = fra
.me
.REG
[8];
5814 /* ./syntax//mmbuilder.nit:885 */
5815 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
5817 /* ./syntax//mmbuilder.nit:889 */
5818 fra
.me
.REG
[10] = CALL_syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5819 REGB0
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5820 /* ./syntax//mmbuilder.nit:897 */
5821 REGB5
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5822 if (UNTAG_Bool(REGB5
)) {
5823 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 897);
5825 REGB5
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5826 REGB4
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5827 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB5
,REGB4
));
5828 if (UNTAG_Bool(REGB3
)) {
5830 /* ./../lib/standard//kernel.nit:207 */
5831 REGB4
= TAG_Bool((REGB5
)==(REGB4
));
5832 /* ./syntax//mmbuilder.nit:897 */
5835 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
5836 if (UNTAG_Bool(REGB3
)) {
5837 /* ./syntax//mmbuilder.nit:898 */
5838 REGB3
= TAG_Int(11);
5839 fra
.me
.REG
[10] = NEW_Array_array___Array___with_capacity(REGB3
);
5840 if (!once_value_24
) {
5841 fra
.me
.REG
[7] = BOX_NativeString("Redef error: ");
5842 REGB3
= TAG_Int(13);
5843 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5844 once_value_24
= fra
.me
.REG
[7];
5845 register_static_object(&once_value_24
);
5846 } else fra
.me
.REG
[7] = once_value_24
;
5847 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5848 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5849 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5850 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5851 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5852 if (!once_value_25
) {
5853 fra
.me
.REG
[7] = BOX_NativeString("::");
5855 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5856 once_value_25
= fra
.me
.REG
[7];
5857 register_static_object(&once_value_25
);
5858 } else fra
.me
.REG
[7] = once_value_25
;
5859 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5860 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5861 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5862 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5863 if (!once_value_26
) {
5864 fra
.me
.REG
[7] = BOX_NativeString(" redefines ");
5865 REGB3
= TAG_Int(11);
5866 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5867 once_value_26
= fra
.me
.REG
[7];
5868 register_static_object(&once_value_26
);
5869 } else fra
.me
.REG
[7] = once_value_26
;
5870 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5871 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5872 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5873 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5874 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5875 if (!once_value_27
) {
5876 fra
.me
.REG
[7] = BOX_NativeString("::");
5878 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5879 once_value_27
= fra
.me
.REG
[7];
5880 register_static_object(&once_value_27
);
5881 } else fra
.me
.REG
[7] = once_value_27
;
5882 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5883 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5884 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5885 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5886 if (!once_value_28
) {
5887 fra
.me
.REG
[7] = BOX_NativeString(" with ");
5889 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5890 once_value_28
= fra
.me
.REG
[7];
5891 register_static_object(&once_value_28
);
5892 } else fra
.me
.REG
[7] = once_value_28
;
5893 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5894 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5895 REGB3
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
5896 fra
.me
.REG
[7] = CALL_string___Object___to_s(REGB3
)(REGB3
);
5897 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5898 if (!once_value_29
) {
5899 fra
.me
.REG
[7] = BOX_NativeString(" parameter(s).");
5900 REGB3
= TAG_Int(14);
5901 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB3
);
5902 once_value_29
= fra
.me
.REG
[7];
5903 register_static_object(&once_value_29
);
5904 } else fra
.me
.REG
[7] = once_value_29
;
5905 fra
.me
.REG
[7] = fra
.me
.REG
[7];
5906 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5907 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5908 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
5910 /* ./syntax//mmbuilder.nit:900 */
5912 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5913 if (UNTAG_Bool(REGB4
)) {
5914 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 900);
5916 REGB4
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5917 /* ./../lib/standard//kernel.nit:332 */
5919 /* ./../lib/standard//kernel.nit:212 */
5920 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
5921 /* ./../lib/standard//kernel.nit:332 */
5922 if (UNTAG_Bool(REGB5
)) {
5923 /* ./syntax//mmbuilder.nit:900 */
5925 /* ./syntax//mmbuilder.nit:901 */
5926 REGB6
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5927 if (UNTAG_Bool(REGB6
)) {
5928 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 901);
5930 fra
.me
.REG
[10] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB5
);
5931 fra
.me
.REG
[7] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB5
);
5932 REGB6
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[7]));
5933 if (UNTAG_Bool(REGB6
)) {
5935 REGB7
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
5938 REGB6
= TAG_Bool(!UNTAG_Bool(REGB6
));
5939 if (UNTAG_Bool(REGB6
)) {
5940 /* ./syntax//mmbuilder.nit:902 */
5941 REGB6
= TAG_Int(13);
5942 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB6
);
5943 if (!once_value_30
) {
5944 fra
.me
.REG
[10] = BOX_NativeString("Redef error: Expected ");
5945 REGB6
= TAG_Int(22);
5946 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB6
);
5947 once_value_30
= fra
.me
.REG
[10];
5948 register_static_object(&once_value_30
);
5949 } else fra
.me
.REG
[10] = once_value_30
;
5950 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5951 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5952 fra
.me
.REG
[10] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB5
);
5953 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5954 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5955 if (!once_value_31
) {
5956 fra
.me
.REG
[10] = BOX_NativeString(" (as in ");
5958 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB6
);
5959 once_value_31
= fra
.me
.REG
[10];
5960 register_static_object(&once_value_31
);
5961 } else fra
.me
.REG
[10] = once_value_31
;
5962 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5963 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5964 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5965 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5966 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5967 if (!once_value_32
) {
5968 fra
.me
.REG
[10] = BOX_NativeString("::");
5970 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB6
);
5971 once_value_32
= fra
.me
.REG
[10];
5972 register_static_object(&once_value_32
);
5973 } else fra
.me
.REG
[10] = once_value_32
;
5974 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5975 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5976 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
5977 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5978 if (!once_value_33
) {
5979 fra
.me
.REG
[10] = BOX_NativeString("), got ");
5981 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB6
);
5982 once_value_33
= fra
.me
.REG
[10];
5983 register_static_object(&once_value_33
);
5984 } else fra
.me
.REG
[10] = once_value_33
;
5985 fra
.me
.REG
[10] = fra
.me
.REG
[10];
5986 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5987 REGB6
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5988 if (UNTAG_Bool(REGB6
)) {
5989 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 902);
5991 fra
.me
.REG
[10] = CALL_static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB5
);
5992 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
5993 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
5994 if (!once_value_34
) {
5995 fra
.me
.REG
[10] = BOX_NativeString(" in ");
5997 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB5
);
5998 once_value_34
= fra
.me
.REG
[10];
5999 register_static_object(&once_value_34
);
6000 } else fra
.me
.REG
[10] = once_value_34
;
6001 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6002 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
6003 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6004 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6005 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
6006 if (!once_value_35
) {
6007 fra
.me
.REG
[10] = BOX_NativeString("::");
6009 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB5
);
6010 once_value_35
= fra
.me
.REG
[10];
6011 register_static_object(&once_value_35
);
6012 } else fra
.me
.REG
[10] = once_value_35
;
6013 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6014 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
6015 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6016 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
6017 if (!once_value_36
) {
6018 fra
.me
.REG
[10] = BOX_NativeString(".");
6020 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB5
);
6021 once_value_36
= fra
.me
.REG
[10];
6022 register_static_object(&once_value_36
);
6023 } else fra
.me
.REG
[10] = once_value_36
;
6024 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6025 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
6026 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6027 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
6029 /* ./../lib/standard//kernel.nit:334 */
6031 /* ./../lib/standard//kernel.nit:215 */
6032 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
6033 /* ./../lib/standard//kernel.nit:334 */
6036 /* ./../lib/standard//kernel.nit:332 */
6042 /* ./syntax//mmbuilder.nit:907 */
6043 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6044 if (UNTAG_Bool(REGB3
)) {
6045 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 907);
6047 fra
.me
.REG
[7] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6048 /* ./syntax//mmbuilder.nit:908 */
6049 fra
.me
.REG
[10] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6050 /* ./syntax//mmbuilder.nit:909 */
6051 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6052 if (UNTAG_Bool(REGB3
)) {
6054 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6055 if (UNTAG_Bool(REGB4
)) {
6056 REGB4
= TAG_Bool(false);
6059 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
6063 if (UNTAG_Bool(REGB3
)) {
6064 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6065 if (UNTAG_Bool(REGB3
)) {
6067 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6068 if (UNTAG_Bool(REGB4
)) {
6069 REGB4
= TAG_Bool(false);
6072 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
6076 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6078 REGB4
= TAG_Bool(false);
6081 if (UNTAG_Bool(REGB3
)) {
6082 /* ./syntax//mmbuilder.nit:910 */
6084 fra
.me
.REG
[12] = NEW_Array_array___Array___with_capacity(REGB3
);
6085 if (!once_value_38
) {
6086 fra
.me
.REG
[11] = BOX_NativeString("Redef error: The procedure ");
6087 REGB3
= TAG_Int(27);
6088 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6089 once_value_38
= fra
.me
.REG
[11];
6090 register_static_object(&once_value_38
);
6091 } else fra
.me
.REG
[11] = once_value_38
;
6092 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6093 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6094 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6095 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6096 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6097 if (!once_value_39
) {
6098 fra
.me
.REG
[11] = BOX_NativeString("::");
6100 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6101 once_value_39
= fra
.me
.REG
[11];
6102 register_static_object(&once_value_39
);
6103 } else fra
.me
.REG
[11] = once_value_39
;
6104 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6105 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6106 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6107 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6108 if (!once_value_40
) {
6109 fra
.me
.REG
[11] = BOX_NativeString(" redefines the function ");
6110 REGB3
= TAG_Int(24);
6111 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6112 once_value_40
= fra
.me
.REG
[11];
6113 register_static_object(&once_value_40
);
6114 } else fra
.me
.REG
[11] = once_value_40
;
6115 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6116 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6117 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6118 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6119 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6120 if (!once_value_41
) {
6121 fra
.me
.REG
[11] = BOX_NativeString("::");
6123 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6124 once_value_41
= fra
.me
.REG
[11];
6125 register_static_object(&once_value_41
);
6126 } else fra
.me
.REG
[11] = once_value_41
;
6127 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6128 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6129 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6130 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6131 if (!once_value_42
) {
6132 fra
.me
.REG
[11] = BOX_NativeString(".");
6134 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6135 once_value_42
= fra
.me
.REG
[11];
6136 register_static_object(&once_value_42
);
6137 } else fra
.me
.REG
[11] = once_value_42
;
6138 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6139 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6140 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6141 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[12]);
6143 /* ./syntax//mmbuilder.nit:911 */
6144 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6145 if (UNTAG_Bool(REGB3
)) {
6147 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6148 if (UNTAG_Bool(REGB4
)) {
6149 REGB4
= TAG_Bool(false);
6152 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
6156 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6157 if (UNTAG_Bool(REGB3
)) {
6158 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6159 if (UNTAG_Bool(REGB3
)) {
6161 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6162 if (UNTAG_Bool(REGB4
)) {
6163 REGB4
= TAG_Bool(false);
6166 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
6171 REGB4
= TAG_Bool(false);
6174 if (UNTAG_Bool(REGB3
)) {
6175 /* ./syntax//mmbuilder.nit:912 */
6177 fra
.me
.REG
[12] = NEW_Array_array___Array___with_capacity(REGB3
);
6178 if (!once_value_43
) {
6179 fra
.me
.REG
[11] = BOX_NativeString("Redef error: The function ");
6180 REGB3
= TAG_Int(26);
6181 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6182 once_value_43
= fra
.me
.REG
[11];
6183 register_static_object(&once_value_43
);
6184 } else fra
.me
.REG
[11] = once_value_43
;
6185 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6186 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6187 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6188 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6189 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6190 if (!once_value_44
) {
6191 fra
.me
.REG
[11] = BOX_NativeString("::");
6193 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6194 once_value_44
= fra
.me
.REG
[11];
6195 register_static_object(&once_value_44
);
6196 } else fra
.me
.REG
[11] = once_value_44
;
6197 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6198 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6199 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6200 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6201 if (!once_value_45
) {
6202 fra
.me
.REG
[11] = BOX_NativeString(" redefines the procedure ");
6203 REGB3
= TAG_Int(25);
6204 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6205 once_value_45
= fra
.me
.REG
[11];
6206 register_static_object(&once_value_45
);
6207 } else fra
.me
.REG
[11] = once_value_45
;
6208 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6209 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6210 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6211 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6212 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6213 if (!once_value_46
) {
6214 fra
.me
.REG
[11] = BOX_NativeString("::");
6216 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6217 once_value_46
= fra
.me
.REG
[11];
6218 register_static_object(&once_value_46
);
6219 } else fra
.me
.REG
[11] = once_value_46
;
6220 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6221 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6222 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6223 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6224 if (!once_value_47
) {
6225 fra
.me
.REG
[11] = BOX_NativeString(".");
6227 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6228 once_value_47
= fra
.me
.REG
[11];
6229 register_static_object(&once_value_47
);
6230 } else fra
.me
.REG
[11] = once_value_47
;
6231 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6232 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6233 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6234 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[12]);
6236 /* ./syntax//mmbuilder.nit:913 */
6237 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6238 if (UNTAG_Bool(REGB3
)) {
6240 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6241 if (UNTAG_Bool(REGB4
)) {
6242 REGB4
= TAG_Bool(false);
6245 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
6249 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6250 if (UNTAG_Bool(REGB3
)) {
6251 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6252 if (UNTAG_Bool(REGB3
)) {
6254 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6255 if (UNTAG_Bool(REGB4
)) {
6256 REGB4
= TAG_Bool(false);
6259 REGB4
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
6263 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6265 REGB4
= TAG_Bool(false);
6268 if (UNTAG_Bool(REGB3
)) {
6269 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6270 if (UNTAG_Bool(REGB3
)) {
6271 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 913);
6273 REGB3
= CALL_static_type___MMType_____l(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
6274 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6276 REGB4
= TAG_Bool(false);
6279 if (UNTAG_Bool(REGB3
)) {
6280 /* ./syntax//mmbuilder.nit:914 */
6281 REGB3
= TAG_Int(13);
6282 fra
.me
.REG
[12] = NEW_Array_array___Array___with_capacity(REGB3
);
6283 if (!once_value_48
) {
6284 fra
.me
.REG
[11] = BOX_NativeString("Redef error: Expected ");
6285 REGB3
= TAG_Int(22);
6286 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6287 once_value_48
= fra
.me
.REG
[11];
6288 register_static_object(&once_value_48
);
6289 } else fra
.me
.REG
[11] = once_value_48
;
6290 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6291 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6292 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6293 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6294 if (!once_value_49
) {
6295 fra
.me
.REG
[11] = BOX_NativeString(" (as in ");
6297 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6298 once_value_49
= fra
.me
.REG
[11];
6299 register_static_object(&once_value_49
);
6300 } else fra
.me
.REG
[11] = once_value_49
;
6301 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6302 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6303 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6304 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6305 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6306 if (!once_value_50
) {
6307 fra
.me
.REG
[11] = BOX_NativeString("::");
6309 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6310 once_value_50
= fra
.me
.REG
[11];
6311 register_static_object(&once_value_50
);
6312 } else fra
.me
.REG
[11] = once_value_50
;
6313 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6314 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6315 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6316 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6317 if (!once_value_51
) {
6318 fra
.me
.REG
[11] = BOX_NativeString("), got ");
6320 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6321 once_value_51
= fra
.me
.REG
[11];
6322 register_static_object(&once_value_51
);
6323 } else fra
.me
.REG
[11] = once_value_51
;
6324 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6325 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6326 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6327 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6328 if (!once_value_52
) {
6329 fra
.me
.REG
[11] = BOX_NativeString(" in ");
6331 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6332 once_value_52
= fra
.me
.REG
[11];
6333 register_static_object(&once_value_52
);
6334 } else fra
.me
.REG
[11] = once_value_52
;
6335 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6336 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6337 fra
.me
.REG
[11] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6338 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6339 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6340 if (!once_value_53
) {
6341 fra
.me
.REG
[11] = BOX_NativeString("::");
6343 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6344 once_value_53
= fra
.me
.REG
[11];
6345 register_static_object(&once_value_53
);
6346 } else fra
.me
.REG
[11] = once_value_53
;
6347 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6348 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6349 fra
.me
.REG
[11] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6350 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6351 if (!once_value_54
) {
6352 fra
.me
.REG
[11] = BOX_NativeString(".");
6354 fra
.me
.REG
[11] = NEW_String_string___String___with_native(fra
.me
.REG
[11], REGB3
);
6355 once_value_54
= fra
.me
.REG
[11];
6356 register_static_object(&once_value_54
);
6357 } else fra
.me
.REG
[11] = once_value_54
;
6358 fra
.me
.REG
[11] = fra
.me
.REG
[11];
6359 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
6360 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6361 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[12]);
6363 /* ./syntax//mmbuilder.nit:915 */
6364 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6365 if (UNTAG_Bool(REGB3
)) {
6366 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 915);
6368 REGB3
= CALL_static_type___MMSignature_____l(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
6369 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6370 if (UNTAG_Bool(REGB3
)) {
6371 fra
.me
.REG
[8] = CALL_syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6372 REGB3
= CALL_mmloader___ToolContext___error_count(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6373 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
6374 if (UNTAG_Bool(REGB4
)) {
6376 /* ./../lib/standard//kernel.nit:207 */
6377 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
6378 /* ./syntax//mmbuilder.nit:915 */
6382 REGB3
= TAG_Bool(false);
6385 if (UNTAG_Bool(REGB4
)) {
6386 /* ./syntax//mmbuilder.nit:917 */
6388 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB4
);
6389 if (!once_value_55
) {
6390 fra
.me
.REG
[12] = BOX_NativeString("Redef error: Incompatible redefinition of ");
6391 REGB4
= TAG_Int(42);
6392 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6393 once_value_55
= fra
.me
.REG
[12];
6394 register_static_object(&once_value_55
);
6395 } else fra
.me
.REG
[12] = once_value_55
;
6396 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6397 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6398 fra
.me
.REG
[12] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6399 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6400 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6401 if (!once_value_56
) {
6402 fra
.me
.REG
[12] = BOX_NativeString("::");
6404 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6405 once_value_56
= fra
.me
.REG
[12];
6406 register_static_object(&once_value_56
);
6407 } else fra
.me
.REG
[12] = once_value_56
;
6408 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6409 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6410 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6411 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6412 if (!once_value_57
) {
6413 fra
.me
.REG
[12] = BOX_NativeString(" with ");
6415 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6416 once_value_57
= fra
.me
.REG
[12];
6417 register_static_object(&once_value_57
);
6418 } else fra
.me
.REG
[12] = once_value_57
;
6419 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6420 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6421 fra
.me
.REG
[12] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6422 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
6423 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6424 if (!once_value_58
) {
6425 fra
.me
.REG
[12] = BOX_NativeString("::");
6427 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6428 once_value_58
= fra
.me
.REG
[12];
6429 register_static_object(&once_value_58
);
6430 } else fra
.me
.REG
[12] = once_value_58
;
6431 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6432 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6433 fra
.me
.REG
[12] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6434 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6435 if (!once_value_59
) {
6436 fra
.me
.REG
[12] = BOX_NativeString("");
6438 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6439 once_value_59
= fra
.me
.REG
[12];
6440 register_static_object(&once_value_59
);
6441 } else fra
.me
.REG
[12] = once_value_59
;
6442 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6443 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6444 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6445 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6447 /* ./syntax//mmbuilder.nit:918 */
6448 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6449 if (UNTAG_Bool(REGB4
)) {
6451 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6452 if (UNTAG_Bool(REGB3
)) {
6453 REGB3
= TAG_Bool(false);
6456 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
6460 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6461 if (UNTAG_Bool(REGB4
)) {
6462 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6463 if (UNTAG_Bool(REGB4
)) {
6465 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6466 if (UNTAG_Bool(REGB3
)) {
6467 REGB3
= TAG_Bool(false);
6470 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
6474 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6476 REGB3
= TAG_Bool(false);
6479 if (UNTAG_Bool(REGB4
)) {
6480 REGB4
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[7],fra
.me
.REG
[10]));
6481 if (UNTAG_Bool(REGB4
)) {
6483 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6484 if (UNTAG_Bool(REGB3
)) {
6485 REGB3
= TAG_Bool(false);
6488 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
6492 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6494 REGB3
= TAG_Bool(false);
6497 if (UNTAG_Bool(REGB4
)) {
6498 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
6500 REGB3
= TAG_Bool(false);
6503 if (UNTAG_Bool(REGB4
)) {
6504 /* ./syntax//mmbuilder.nit:920 */
6505 REGB4
= TAG_Int(13);
6506 fra
.me
.REG
[8] = NEW_Array_array___Array___with_capacity(REGB4
);
6507 if (!once_value_60
) {
6508 fra
.me
.REG
[12] = BOX_NativeString("Redef warning: Expected ");
6509 REGB4
= TAG_Int(24);
6510 fra
.me
.REG
[12] = NEW_String_string___String___with_native(fra
.me
.REG
[12], REGB4
);
6511 once_value_60
= fra
.me
.REG
[12];
6512 register_static_object(&once_value_60
);
6513 } else fra
.me
.REG
[12] = once_value_60
;
6514 fra
.me
.REG
[12] = fra
.me
.REG
[12];
6515 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[12]);
6516 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6517 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6518 if (!once_value_61
) {
6519 fra
.me
.REG
[10] = BOX_NativeString(" (as in ");
6521 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
6522 once_value_61
= fra
.me
.REG
[10];
6523 register_static_object(&once_value_61
);
6524 } else fra
.me
.REG
[10] = once_value_61
;
6525 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6526 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6527 fra
.me
.REG
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6528 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6529 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6530 if (!once_value_62
) {
6531 fra
.me
.REG
[10] = BOX_NativeString("::");
6533 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB4
);
6534 once_value_62
= fra
.me
.REG
[10];
6535 register_static_object(&once_value_62
);
6536 } else fra
.me
.REG
[10] = once_value_62
;
6537 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6538 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6539 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6540 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6541 if (!once_value_63
) {
6542 fra
.me
.REG
[9] = BOX_NativeString("), got ");
6544 fra
.me
.REG
[9] = NEW_String_string___String___with_native(fra
.me
.REG
[9], REGB4
);
6545 once_value_63
= fra
.me
.REG
[9];
6546 register_static_object(&once_value_63
);
6547 } else fra
.me
.REG
[9] = once_value_63
;
6548 fra
.me
.REG
[9] = fra
.me
.REG
[9];
6549 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6550 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6551 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6552 if (!once_value_64
) {
6553 fra
.me
.REG
[7] = BOX_NativeString(" in ");
6555 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB4
);
6556 once_value_64
= fra
.me
.REG
[7];
6557 register_static_object(&once_value_64
);
6558 } else fra
.me
.REG
[7] = once_value_64
;
6559 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6560 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6561 fra
.me
.REG
[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6562 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6563 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6564 if (!once_value_65
) {
6565 fra
.me
.REG
[7] = BOX_NativeString("::");
6567 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB4
);
6568 once_value_65
= fra
.me
.REG
[7];
6569 register_static_object(&once_value_65
);
6570 } else fra
.me
.REG
[7] = once_value_65
;
6571 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6572 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6573 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6574 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6575 if (!once_value_66
) {
6576 fra
.me
.REG
[7] = BOX_NativeString(".");
6578 fra
.me
.REG
[7] = NEW_String_string___String___with_native(fra
.me
.REG
[7], REGB4
);
6579 once_value_66
= fra
.me
.REG
[7];
6580 register_static_object(&once_value_66
);
6581 } else fra
.me
.REG
[7] = once_value_66
;
6582 fra
.me
.REG
[7] = fra
.me
.REG
[7];
6583 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[7]);
6584 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6585 CALL_syntax_base___AbsSyntaxVisitor___warning(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6591 /* ./../lib/standard//collection//array.nit:239 */
6593 /* ./../lib/standard//kernel.nit:215 */
6594 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
6595 /* ./../lib/standard//collection//array.nit:239 */
6598 /* ./../lib/standard//collection//array.nit:237 */
6603 /* ./syntax//mmbuilder.nit:924 */
6605 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
6606 if (UNTAG_Bool(REGB4
)) {
6608 /* ./../lib/standard//kernel.nit:207 */
6609 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
6610 /* ./syntax//mmbuilder.nit:924 */
6613 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6614 if (UNTAG_Bool(REGB4
)) {
6615 REGB4
= CALL_abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6616 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB1
));
6617 if (UNTAG_Bool(REGB2
)) {
6619 /* ./../lib/standard//kernel.nit:207 */
6620 REGB1
= TAG_Bool((REGB4
)==(REGB1
));
6621 /* ./syntax//mmbuilder.nit:924 */
6624 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
6626 REGB1
= TAG_Bool(false);
6629 if (UNTAG_Bool(REGB2
)) {
6630 /* ./syntax//mmbuilder.nit:925 */
6632 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
6633 if (!once_value_68
) {
6634 fra
.me
.REG
[6] = BOX_NativeString("Redef error: ");
6635 REGB2
= TAG_Int(13);
6636 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
6637 once_value_68
= fra
.me
.REG
[6];
6638 register_static_object(&once_value_68
);
6639 } else fra
.me
.REG
[6] = once_value_68
;
6640 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6641 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
6642 fra
.me
.REG
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6643 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6644 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
6645 if (!once_value_69
) {
6646 fra
.me
.REG
[6] = BOX_NativeString("::");
6648 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB2
);
6649 once_value_69
= fra
.me
.REG
[6];
6650 register_static_object(&once_value_69
);
6651 } else fra
.me
.REG
[6] = once_value_69
;
6652 fra
.me
.REG
[6] = fra
.me
.REG
[6];
6653 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
6654 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6655 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
6656 if (!once_value_70
) {
6657 fra
.me
.REG
[2] = BOX_NativeString(" redefinition cannot change visibility.");
6658 REGB2
= TAG_Int(39);
6659 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB2
);
6660 once_value_70
= fra
.me
.REG
[2];
6661 register_static_object(&once_value_70
);
6662 } else fra
.me
.REG
[2] = once_value_70
;
6663 fra
.me
.REG
[2] = fra
.me
.REG
[2];
6664 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
6665 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6666 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6668 /* ./syntax//mmbuilder.nit:927 */
6669 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6670 REGB2
= TAG_Bool(true);
6671 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
);
6673 stack_frame_head
= fra
.me
.prev
;
6676 val_t
mmbuilder___AAttrPropdef___readmethod(val_t p0
){
6677 struct {struct stack_frame_t me
;} fra
;
6679 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6680 fra
.me
.file
= LOCATE_mmbuilder
;
6682 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___readmethod
;
6683 fra
.me
.has_broke
= 0;
6684 fra
.me
.REG_size
= 1;
6685 fra
.me
.REG
[0] = NIT_NULL
;
6687 /* ./syntax//mmbuilder.nit:932 */
6688 fra
.me
.REG
[0] = ATTR_mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[0]);
6689 stack_frame_head
= fra
.me
.prev
;
6690 return fra
.me
.REG
[0];
6692 val_t
mmbuilder___AAttrPropdef___writemethod(val_t p0
){
6693 struct {struct stack_frame_t me
;} fra
;
6695 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6696 fra
.me
.file
= LOCATE_mmbuilder
;
6698 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___writemethod
;
6699 fra
.me
.has_broke
= 0;
6700 fra
.me
.REG_size
= 1;
6701 fra
.me
.REG
[0] = NIT_NULL
;
6703 /* ./syntax//mmbuilder.nit:933 */
6704 fra
.me
.REG
[0] = ATTR_mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[0]);
6705 stack_frame_head
= fra
.me
.prev
;
6706 return fra
.me
.REG
[0];
6708 val_t
mmbuilder___AAttrPropdef___prop(val_t p0
){
6709 struct {struct stack_frame_t me
;} fra
;
6712 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6713 fra
.me
.file
= LOCATE_mmbuilder
;
6715 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___prop
;
6716 fra
.me
.has_broke
= 0;
6717 fra
.me
.REG_size
= 1;
6718 fra
.me
.REG
[0] = NIT_NULL
;
6720 /* ./syntax//mmbuilder.nit:935 */
6721 fra
.me
.REG
[0] = ATTR_mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[0]);
6722 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
6723 if (UNTAG_Bool(REGB0
)) {
6725 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 935);
6729 stack_frame_head
= fra
.me
.prev
;
6730 return fra
.me
.REG
[0];
6732 void mmbuilder___AAttrPropdef___accept_property_builder(val_t p0
, val_t p1
){
6733 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
6738 static val_t once_value_1
; /* Once value */
6739 static val_t once_value_2
; /* Once value */
6740 static val_t once_value_3
; /* Once value */
6741 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6742 fra
.me
.file
= LOCATE_mmbuilder
;
6744 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___accept_property_builder
;
6745 fra
.me
.has_broke
= 0;
6746 fra
.me
.REG_size
= 6;
6747 fra
.me
.REG
[0] = NIT_NULL
;
6748 fra
.me
.REG
[1] = NIT_NULL
;
6749 fra
.me
.REG
[2] = NIT_NULL
;
6750 fra
.me
.REG
[3] = NIT_NULL
;
6751 fra
.me
.REG
[4] = NIT_NULL
;
6752 fra
.me
.REG
[5] = NIT_NULL
;
6755 /* ./syntax//mmbuilder.nit:937 */
6756 fra
.me
.REG
[2] = fra
.me
.REG
[0];
6757 fra
.me
.REG
[3] = fra
.me
.REG
[1];
6758 /* ./syntax//mmbuilder.nit:939 */
6759 CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
6760 /* ./syntax//mmbuilder.nit:941 */
6761 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6762 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6763 if (UNTAG_Bool(REGB0
)) {
6765 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6766 if (UNTAG_Bool(REGB1
)) {
6767 REGB1
= TAG_Bool(false);
6770 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
6774 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6775 if (UNTAG_Bool(REGB0
)) {
6776 /* ./syntax//mmbuilder.nit:942 */
6777 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6778 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
6779 if (UNTAG_Bool(REGB0
)) {
6780 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 942);
6782 fra
.me
.REG
[1] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6784 /* ./syntax//mmbuilder.nit:944 */
6785 if (!once_value_1
) {
6786 fra
.me
.REG
[0] = BOX_NativeString("@");
6788 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
6789 once_value_1
= fra
.me
.REG
[0];
6790 register_static_object(&once_value_1
);
6791 } else fra
.me
.REG
[0] = once_value_1
;
6792 fra
.me
.REG
[0] = fra
.me
.REG
[0];
6793 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6794 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6795 if (UNTAG_Bool(REGB0
)) {
6796 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 944);
6798 fra
.me
.REG
[4] = CALL_lexer___Token___text(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6799 fra
.me
.REG
[4] = CALL_string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
6800 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6801 fra
.me
.REG
[1] = fra
.me
.REG
[4];
6803 /* ./syntax//mmbuilder.nit:946 */
6804 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6805 /* ./syntax//mmbuilder.nit:947 */
6806 fra
.me
.REG
[0] = NEW_MMSrcAttribute_syntax_base___MMSrcAttribute___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
6807 /* ./syntax//mmbuilder.nit:948 */
6808 ATTR_mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
6809 /* ./syntax//mmbuilder.nit:949 */
6810 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6811 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
6812 /* ./syntax//mmbuilder.nit:951 */
6813 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6814 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6815 if (UNTAG_Bool(REGB0
)) {
6817 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6818 if (UNTAG_Bool(REGB1
)) {
6819 REGB1
= TAG_Bool(false);
6822 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6826 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6827 if (UNTAG_Bool(REGB0
)) {
6828 REGB0
= TAG_Bool(true);
6830 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6831 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6832 if (UNTAG_Bool(REGB1
)) {
6834 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6835 if (UNTAG_Bool(REGB2
)) {
6836 REGB2
= TAG_Bool(false);
6839 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6845 if (UNTAG_Bool(REGB0
)) {
6846 /* ./syntax//mmbuilder.nit:952 */
6847 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6848 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6849 if (UNTAG_Bool(REGB0
)) {
6851 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6852 if (UNTAG_Bool(REGB1
)) {
6853 REGB1
= TAG_Bool(false);
6856 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6860 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6861 if (UNTAG_Bool(REGB0
)) {
6862 /* ./syntax//mmbuilder.nit:953 */
6863 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6864 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6865 if (UNTAG_Bool(REGB0
)) {
6866 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 953);
6868 fra
.me
.REG
[0] = CALL_lexer___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6870 fra
.me
.REG
[0] = CALL_string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
6871 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6872 fra
.me
.REG
[1] = fra
.me
.REG
[0];
6874 /* ./syntax//mmbuilder.nit:955 */
6875 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6876 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6877 if (UNTAG_Bool(REGB0
)) {
6878 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 955);
6880 fra
.me
.REG
[0] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6881 fra
.me
.REG
[1] = fra
.me
.REG
[0];
6883 /* ./syntax//mmbuilder.nit:957 */
6884 fra
.me
.REG
[0] = NEW_MMReadImplementationMethod_syntax_base___MMReadImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
6885 /* ./syntax//mmbuilder.nit:958 */
6886 ATTR_mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
6887 /* ./syntax//mmbuilder.nit:959 */
6888 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6889 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
6891 /* ./syntax//mmbuilder.nit:961 */
6892 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6893 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6894 if (UNTAG_Bool(REGB0
)) {
6896 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6897 if (UNTAG_Bool(REGB1
)) {
6898 REGB1
= TAG_Bool(false);
6901 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6905 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6906 if (UNTAG_Bool(REGB0
)) {
6907 REGB0
= TAG_Bool(true);
6909 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6910 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6911 if (UNTAG_Bool(REGB1
)) {
6913 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6914 if (UNTAG_Bool(REGB2
)) {
6915 REGB2
= TAG_Bool(false);
6918 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6924 if (UNTAG_Bool(REGB0
)) {
6925 /* ./syntax//mmbuilder.nit:962 */
6926 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6927 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6928 if (UNTAG_Bool(REGB0
)) {
6930 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6931 if (UNTAG_Bool(REGB1
)) {
6932 REGB1
= TAG_Bool(false);
6935 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6939 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6940 if (UNTAG_Bool(REGB0
)) {
6941 /* ./syntax//mmbuilder.nit:963 */
6942 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6943 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6944 if (UNTAG_Bool(REGB0
)) {
6945 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 963);
6947 fra
.me
.REG
[0] = CALL_lexer___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6949 fra
.me
.REG
[0] = CALL_string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
6950 if (!once_value_2
) {
6951 fra
.me
.REG
[5] = BOX_NativeString("=");
6953 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
6954 once_value_2
= fra
.me
.REG
[5];
6955 register_static_object(&once_value_2
);
6956 } else fra
.me
.REG
[5] = once_value_2
;
6957 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6958 fra
.me
.REG
[5] = CALL_string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
6959 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6960 fra
.me
.REG
[1] = fra
.me
.REG
[5];
6962 /* ./syntax//mmbuilder.nit:965 */
6963 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6964 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6965 if (UNTAG_Bool(REGB0
)) {
6966 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 965);
6968 fra
.me
.REG
[5] = CALL_lexer___Token___text(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6969 if (!once_value_3
) {
6970 fra
.me
.REG
[0] = BOX_NativeString("=");
6972 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
6973 once_value_3
= fra
.me
.REG
[0];
6974 register_static_object(&once_value_3
);
6975 } else fra
.me
.REG
[0] = once_value_3
;
6976 fra
.me
.REG
[0] = fra
.me
.REG
[0];
6977 fra
.me
.REG
[0] = CALL_string___String_____plus(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
6978 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6979 fra
.me
.REG
[1] = fra
.me
.REG
[0];
6981 /* ./syntax//mmbuilder.nit:967 */
6982 fra
.me
.REG
[4] = NEW_MMWriteImplementationMethod_syntax_base___MMWriteImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
6983 /* ./syntax//mmbuilder.nit:968 */
6984 ATTR_mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]) = fra
.me
.REG
[4];
6985 /* ./syntax//mmbuilder.nit:969 */
6986 fra
.me
.REG
[2] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6987 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
6989 stack_frame_head
= fra
.me
.prev
;
6992 void mmbuilder___AAttrPropdef___accept_property_verifier(val_t p0
, val_t p1
){
6993 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
6999 static val_t once_value_2
; /* Once value */
7000 static val_t once_value_3
; /* Once value */
7001 static val_t once_value_4
; /* Once value */
7002 static val_t once_value_5
; /* Once value */
7003 static val_t once_value_6
; /* Once value */
7004 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7005 fra
.me
.file
= LOCATE_mmbuilder
;
7007 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier
;
7008 fra
.me
.has_broke
= 0;
7009 fra
.me
.REG_size
= 6;
7010 fra
.me
.REG
[0] = NIT_NULL
;
7011 fra
.me
.REG
[1] = NIT_NULL
;
7012 fra
.me
.REG
[2] = NIT_NULL
;
7013 fra
.me
.REG
[3] = NIT_NULL
;
7014 fra
.me
.REG
[4] = NIT_NULL
;
7015 fra
.me
.REG
[5] = NIT_NULL
;
7018 /* ./syntax//mmbuilder.nit:973 */
7019 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7020 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7021 /* ./syntax//mmbuilder.nit:975 */
7022 CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7023 /* ./syntax//mmbuilder.nit:977 */
7024 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7025 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7026 if (UNTAG_Bool(REGB0
)) {
7028 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7029 if (UNTAG_Bool(REGB1
)) {
7030 REGB1
= TAG_Bool(false);
7033 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7037 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7038 if (UNTAG_Bool(REGB0
)) {
7039 /* ./syntax//mmbuilder.nit:978 */
7040 fra
.me
.REG
[1] = CALL_parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7041 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7042 if (UNTAG_Bool(REGB0
)) {
7043 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 978);
7045 fra
.me
.REG
[1] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
7046 /* ./syntax//mmbuilder.nit:979 */
7047 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7048 if (UNTAG_Bool(REGB0
)) {
7050 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7051 if (UNTAG_Bool(REGB1
)) {
7052 REGB1
= TAG_Bool(false);
7055 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7059 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7060 if (UNTAG_Bool(REGB0
)) {
7065 /* ./syntax//mmbuilder.nit:981 */
7067 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
7068 if (!once_value_2
) {
7069 fra
.me
.REG
[4] = BOX_NativeString("Not yet implemented: Attribute definition ");
7070 REGB0
= TAG_Int(42);
7071 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
7072 once_value_2
= fra
.me
.REG
[4];
7073 register_static_object(&once_value_2
);
7074 } else fra
.me
.REG
[4] = once_value_2
;
7075 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7076 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7077 fra
.me
.REG
[4] = CALL_syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7078 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7079 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7080 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7081 if (!once_value_3
) {
7082 fra
.me
.REG
[4] = BOX_NativeString("::");
7084 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
7085 once_value_3
= fra
.me
.REG
[4];
7086 register_static_object(&once_value_3
);
7087 } else fra
.me
.REG
[4] = once_value_3
;
7088 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7089 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7090 fra
.me
.REG
[4] = CALL_syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7091 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7092 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7093 if (!once_value_4
) {
7094 fra
.me
.REG
[4] = BOX_NativeString(" requires an explicit type.");
7095 REGB0
= TAG_Int(27);
7096 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
7097 once_value_4
= fra
.me
.REG
[4];
7098 register_static_object(&once_value_4
);
7099 } else fra
.me
.REG
[4] = once_value_4
;
7100 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7101 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7102 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7103 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
7104 /* ./syntax//mmbuilder.nit:982 */
7107 /* ./syntax//mmbuilder.nit:985 */
7108 fra
.me
.REG
[0] = CALL_syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7109 /* ./syntax//mmbuilder.nit:986 */
7110 fra
.me
.REG
[4] = NEW_Array_array___Array___init();
7111 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7112 fra
.me
.REG
[5] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
7113 fra
.me
.REG
[5] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[5]);
7114 /* ./syntax//mmbuilder.nit:987 */
7115 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
7116 /* ./syntax//mmbuilder.nit:988 */
7117 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7118 REGB0
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7119 /* ./syntax//mmbuilder.nit:989 */
7120 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7121 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7122 if (UNTAG_Bool(REGB1
)) {
7124 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7125 if (UNTAG_Bool(REGB2
)) {
7126 REGB2
= TAG_Bool(false);
7129 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
7133 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7134 if (UNTAG_Bool(REGB1
)) {
7135 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7136 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7137 if (UNTAG_Bool(REGB1
)) {
7139 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7140 if (UNTAG_Bool(REGB2
)) {
7141 REGB2
= TAG_Bool(false);
7144 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
7148 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7150 REGB2
= TAG_Bool(false);
7153 CALL_mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB1
, REGB0
);
7154 /* ./syntax//mmbuilder.nit:990 */
7155 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7156 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7157 if (UNTAG_Bool(REGB1
)) {
7159 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7160 if (UNTAG_Bool(REGB2
)) {
7161 REGB2
= TAG_Bool(false);
7164 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7168 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7169 if (UNTAG_Bool(REGB1
)) {
7170 REGB1
= TAG_Bool(true);
7172 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7173 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7174 if (UNTAG_Bool(REGB2
)) {
7176 REGB3
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7177 if (UNTAG_Bool(REGB3
)) {
7178 REGB3
= TAG_Bool(false);
7181 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7187 if (UNTAG_Bool(REGB1
)) {
7188 /* ./syntax//mmbuilder.nit:991 */
7189 fra
.me
.REG
[0] = ATTR_mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]);
7190 REGB1
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7191 if (UNTAG_Bool(REGB1
)) {
7193 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 991);
7195 /* ./syntax//mmbuilder.nit:992 */
7196 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
7197 /* ./syntax//mmbuilder.nit:993 */
7198 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7199 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7200 if (UNTAG_Bool(REGB1
)) {
7202 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7203 if (UNTAG_Bool(REGB2
)) {
7204 REGB2
= TAG_Bool(false);
7207 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
7211 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7212 if (UNTAG_Bool(REGB1
)) {
7213 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7214 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7215 if (UNTAG_Bool(REGB1
)) {
7216 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 993);
7218 fra
.me
.REG
[5] = CALL_parser_nodes___AAble___n_kwredef(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
7219 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7220 if (UNTAG_Bool(REGB1
)) {
7222 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7223 if (UNTAG_Bool(REGB2
)) {
7224 REGB2
= TAG_Bool(false);
7227 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
7231 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7233 REGB2
= TAG_Bool(false);
7236 if (UNTAG_Bool(REGB1
)) {
7237 REGB1
= TAG_Bool(true);
7239 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7240 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7241 if (UNTAG_Bool(REGB2
)) {
7243 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7244 if (UNTAG_Bool(REGB3
)) {
7245 REGB3
= TAG_Bool(false);
7248 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
7252 if (UNTAG_Bool(REGB2
)) {
7253 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7254 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7255 if (UNTAG_Bool(REGB2
)) {
7257 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7258 if (UNTAG_Bool(REGB3
)) {
7259 REGB3
= TAG_Bool(false);
7262 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
7266 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
7268 REGB3
= TAG_Bool(false);
7273 CALL_mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB1
, REGB0
);
7274 /* ./syntax//mmbuilder.nit:994 */
7275 fra
.me
.REG
[5] = CALL_parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7276 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
7277 if (UNTAG_Bool(REGB1
)) {
7278 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 994);
7280 CALL_mmbuilder___AType___check_visibility(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
7282 /* ./syntax//mmbuilder.nit:996 */
7283 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7284 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7285 if (UNTAG_Bool(REGB1
)) {
7287 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7288 if (UNTAG_Bool(REGB2
)) {
7289 REGB2
= TAG_Bool(false);
7292 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7296 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7297 if (UNTAG_Bool(REGB1
)) {
7298 REGB1
= TAG_Bool(true);
7300 fra
.me
.REG
[0] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7301 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7302 if (UNTAG_Bool(REGB2
)) {
7304 REGB3
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7305 if (UNTAG_Bool(REGB3
)) {
7306 REGB3
= TAG_Bool(false);
7309 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7315 if (UNTAG_Bool(REGB1
)) {
7316 /* ./syntax//mmbuilder.nit:997 */
7317 fra
.me
.REG
[0] = ATTR_mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]);
7318 REGB1
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7319 if (UNTAG_Bool(REGB1
)) {
7321 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 997);
7323 /* ./syntax//mmbuilder.nit:998 */
7325 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB1
);
7326 if (!once_value_5
) {
7327 if (!once_value_6
) {
7328 fra
.me
.REG
[4] = BOX_NativeString("value");
7330 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
7331 once_value_6
= fra
.me
.REG
[4];
7332 register_static_object(&once_value_6
);
7333 } else fra
.me
.REG
[4] = once_value_6
;
7334 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7335 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7336 once_value_5
= fra
.me
.REG
[4];
7337 register_static_object(&once_value_5
);
7338 } else fra
.me
.REG
[4] = once_value_5
;
7339 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7340 fra
.me
.REG
[4] = NEW_MMParam_static_type___MMParam___init(fra
.me
.REG
[1], fra
.me
.REG
[4]);
7341 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
7342 fra
.me
.REG
[5] = NEW_Array_array___Array___with_items(fra
.me
.REG
[5]);
7343 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7344 fra
.me
.REG
[4] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7345 fra
.me
.REG
[4] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[4]);
7346 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7347 /* ./syntax//mmbuilder.nit:1000 */
7348 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7349 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7350 if (UNTAG_Bool(REGB1
)) {
7352 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7353 if (UNTAG_Bool(REGB2
)) {
7354 REGB2
= TAG_Bool(false);
7357 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
7361 if (UNTAG_Bool(REGB1
)) {
7362 /* ./syntax//mmbuilder.nit:1001 */
7363 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7364 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7365 if (UNTAG_Bool(REGB1
)) {
7367 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7368 if (UNTAG_Bool(REGB2
)) {
7369 REGB2
= TAG_Bool(false);
7372 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
7376 if (UNTAG_Bool(REGB1
)) {
7380 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7381 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7382 if (UNTAG_Bool(REGB1
)) {
7383 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1001);
7385 fra
.me
.REG
[4] = CALL_parser_nodes___AAble___n_visibility(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7386 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7387 if (UNTAG_Bool(REGB1
)) {
7388 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1001);
7390 REGB1
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7394 /* ./syntax//mmbuilder.nit:1003 */
7395 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7396 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7397 if (UNTAG_Bool(REGB1
)) {
7399 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7400 if (UNTAG_Bool(REGB2
)) {
7401 REGB2
= TAG_Bool(false);
7404 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
7408 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7409 if (UNTAG_Bool(REGB1
)) {
7410 fra
.me
.REG
[4] = CALL_parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7411 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7412 if (UNTAG_Bool(REGB1
)) {
7413 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1003);
7415 fra
.me
.REG
[4] = CALL_parser_nodes___AAble___n_kwredef(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7416 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7417 if (UNTAG_Bool(REGB1
)) {
7419 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7420 if (UNTAG_Bool(REGB2
)) {
7421 REGB2
= TAG_Bool(false);
7424 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
7428 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7430 REGB2
= TAG_Bool(false);
7433 CALL_mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB1
, REGB0
);
7434 /* ./syntax//mmbuilder.nit:1004 */
7435 fra
.me
.REG
[2] = CALL_parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7436 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
7437 if (UNTAG_Bool(REGB0
)) {
7438 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1004);
7440 CALL_mmbuilder___AType___check_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
7443 stack_frame_head
= fra
.me
.prev
;
7446 void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
7447 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
7449 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7450 fra
.me
.file
= LOCATE_mmbuilder
;
7452 fra
.me
.meth
= LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
;
7453 fra
.me
.has_broke
= 0;
7454 fra
.me
.REG_size
= 4;
7455 fra
.me
.REG
[0] = NIT_NULL
;
7456 fra
.me
.REG
[1] = NIT_NULL
;
7457 fra
.me
.REG
[2] = NIT_NULL
;
7458 fra
.me
.REG
[3] = NIT_NULL
;
7461 /* ./syntax//mmbuilder.nit:1008 */
7462 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7463 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7464 /* ./syntax//mmbuilder.nit:1010 */
7465 fra
.me
.REG
[2] = ATTR_mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]);
7466 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
7467 /* ./syntax//mmbuilder.nit:1011 */
7468 CALL_SUPER_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7469 /* ./syntax//mmbuilder.nit:1012 */
7470 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
7471 stack_frame_head
= fra
.me
.prev
;
7474 val_t
mmbuilder___AMethPropdef___name(val_t p0
){
7475 struct {struct stack_frame_t me
;} fra
;
7477 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7478 fra
.me
.file
= LOCATE_mmbuilder
;
7480 fra
.me
.meth
= LOCATE_mmbuilder___AMethPropdef___name
;
7481 fra
.me
.has_broke
= 0;
7482 fra
.me
.REG_size
= 1;
7483 fra
.me
.REG
[0] = NIT_NULL
;
7485 /* ./syntax//mmbuilder.nit:1017 */
7486 fra
.me
.REG
[0] = ATTR_mmbuilder___AMethPropdef____name(fra
.me
.REG
[0]);
7487 stack_frame_head
= fra
.me
.prev
;
7488 return fra
.me
.REG
[0];
7490 val_t
mmbuilder___AMethPropdef___method(val_t p0
){
7491 struct {struct stack_frame_t me
;} fra
;
7494 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7495 fra
.me
.file
= LOCATE_mmbuilder
;
7497 fra
.me
.meth
= LOCATE_mmbuilder___AMethPropdef___method
;
7498 fra
.me
.has_broke
= 0;
7499 fra
.me
.REG_size
= 1;
7500 fra
.me
.REG
[0] = NIT_NULL
;
7502 /* ./syntax//mmbuilder.nit:1021 */
7503 fra
.me
.REG
[0] = ATTR_mmbuilder___AMethPropdef____method(fra
.me
.REG
[0]);
7504 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7505 if (UNTAG_Bool(REGB0
)) {
7507 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1021);
7511 stack_frame_head
= fra
.me
.prev
;
7512 return fra
.me
.REG
[0];
7514 void mmbuilder___AMethPropdef___accept_property_builder(val_t p0
, val_t p1
){
7515 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
7520 static val_t once_value_1
; /* Once value */
7521 static val_t once_value_2
; /* Once value */
7522 static val_t once_value_3
; /* Once value */
7523 static val_t once_value_4
; /* Once value */
7524 static val_t once_value_5
; /* Once value */
7525 static val_t once_value_6
; /* Once value */
7526 static val_t once_value_7
; /* Once value */
7527 static val_t once_value_8
; /* Once value */
7528 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7529 fra
.me
.file
= LOCATE_mmbuilder
;
7531 fra
.me
.meth
= LOCATE_mmbuilder___AMethPropdef___accept_property_builder
;
7532 fra
.me
.has_broke
= 0;
7533 fra
.me
.REG_size
= 5;
7534 fra
.me
.REG
[0] = NIT_NULL
;
7535 fra
.me
.REG
[1] = NIT_NULL
;
7536 fra
.me
.REG
[2] = NIT_NULL
;
7537 fra
.me
.REG
[3] = NIT_NULL
;
7538 fra
.me
.REG
[4] = NIT_NULL
;
7541 /* ./syntax//mmbuilder.nit:1023 */
7542 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7543 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7544 /* ./syntax//mmbuilder.nit:1025 */
7545 CALL_SUPER_mmbuilder___AMethPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7546 /* ./syntax//mmbuilder.nit:1027 */
7547 fra
.me
.REG
[1] = CALL_parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7548 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7549 if (UNTAG_Bool(REGB0
)) {
7551 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7552 if (UNTAG_Bool(REGB1
)) {
7553 REGB1
= TAG_Bool(false);
7556 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7560 if (UNTAG_Bool(REGB0
)) {
7561 /* ./syntax//mmbuilder.nit:1028 */
7562 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_AConcreteInitPropdef
, ID_AConcreteInitPropdef
)) /*cast AConcreteInitPropdef*/;
7563 if (UNTAG_Bool(REGB0
)) {
7564 /* ./syntax//mmbuilder.nit:1029 */
7565 if (!once_value_1
) {
7566 if (!once_value_2
) {
7567 fra
.me
.REG
[1] = BOX_NativeString("init");
7569 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
7570 once_value_2
= fra
.me
.REG
[1];
7571 register_static_object(&once_value_2
);
7572 } else fra
.me
.REG
[1] = once_value_2
;
7573 fra
.me
.REG
[1] = fra
.me
.REG
[1];
7574 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7575 once_value_1
= fra
.me
.REG
[1];
7576 register_static_object(&once_value_1
);
7577 } else fra
.me
.REG
[1] = once_value_1
;
7578 fra
.me
.REG
[1] = fra
.me
.REG
[1];
7580 /* ./syntax//mmbuilder.nit:1031 */
7581 if (!once_value_3
) {
7582 if (!once_value_4
) {
7583 fra
.me
.REG
[0] = BOX_NativeString("main");
7585 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
7586 once_value_4
= fra
.me
.REG
[0];
7587 register_static_object(&once_value_4
);
7588 } else fra
.me
.REG
[0] = once_value_4
;
7589 fra
.me
.REG
[0] = fra
.me
.REG
[0];
7590 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7591 once_value_3
= fra
.me
.REG
[0];
7592 register_static_object(&once_value_3
);
7593 } else fra
.me
.REG
[0] = once_value_3
;
7594 fra
.me
.REG
[0] = fra
.me
.REG
[0];
7595 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7598 /* ./syntax//mmbuilder.nit:1034 */
7599 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7600 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7601 if (UNTAG_Bool(REGB0
)) {
7602 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1034);
7604 fra
.me
.REG
[0] = CALL_syntax_base___AMethid___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7605 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7606 if (UNTAG_Bool(REGB0
)) {
7608 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1034);
7610 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7611 /* ./syntax//mmbuilder.nit:1036 */
7612 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7613 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7614 if (UNTAG_Bool(REGB0
)) {
7615 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1036);
7617 fra
.me
.REG
[0] = CALL_syntax_base___AMethid___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7618 if (!once_value_5
) {
7619 if (!once_value_6
) {
7620 fra
.me
.REG
[4] = BOX_NativeString("-");
7622 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
7623 once_value_6
= fra
.me
.REG
[4];
7624 register_static_object(&once_value_6
);
7625 } else fra
.me
.REG
[4] = once_value_6
;
7626 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7627 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7628 once_value_5
= fra
.me
.REG
[4];
7629 register_static_object(&once_value_5
);
7630 } else fra
.me
.REG
[4] = once_value_5
;
7631 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7632 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[4],fra
.me
.REG
[0]));
7633 if (UNTAG_Bool(REGB0
)) {
7635 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7636 if (UNTAG_Bool(REGB1
)) {
7637 REGB1
= TAG_Bool(false);
7640 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
7644 if (UNTAG_Bool(REGB0
)) {
7645 /* ./syntax//mmbuilder.nit:1037 */
7646 fra
.me
.REG
[4] = CALL_parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7647 /* ./syntax//mmbuilder.nit:1038 */
7648 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7649 if (UNTAG_Bool(REGB0
)) {
7651 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7652 if (UNTAG_Bool(REGB1
)) {
7653 REGB1
= TAG_Bool(false);
7656 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
7660 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7661 if (UNTAG_Bool(REGB0
)) {
7662 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7663 if (UNTAG_Bool(REGB0
)) {
7664 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1038);
7666 fra
.me
.REG
[4] = CALL_parser_nodes___ASignature___n_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7667 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7669 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
7670 if (UNTAG_Bool(REGB2
)) {
7672 /* ./../lib/standard//kernel.nit:207 */
7673 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
7674 /* ./syntax//mmbuilder.nit:1038 */
7678 REGB1
= TAG_Bool(false);
7681 if (UNTAG_Bool(REGB2
)) {
7682 /* ./syntax//mmbuilder.nit:1039 */
7683 if (!once_value_7
) {
7684 if (!once_value_8
) {
7685 fra
.me
.REG
[4] = BOX_NativeString("unary -");
7687 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB2
);
7688 once_value_8
= fra
.me
.REG
[4];
7689 register_static_object(&once_value_8
);
7690 } else fra
.me
.REG
[4] = once_value_8
;
7691 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7692 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7693 once_value_7
= fra
.me
.REG
[4];
7694 register_static_object(&once_value_7
);
7695 } else fra
.me
.REG
[4] = once_value_7
;
7696 fra
.me
.REG
[4] = fra
.me
.REG
[4];
7697 fra
.me
.REG
[1] = fra
.me
.REG
[4];
7701 /* ./syntax//mmbuilder.nit:1043 */
7702 ATTR_mmbuilder___AMethPropdef____name(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
7703 /* ./syntax//mmbuilder.nit:1044 */
7704 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7705 fra
.me
.REG
[4] = NEW_MMMethSrcMethod_syntax_base___MMMethSrcMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
7706 /* ./syntax//mmbuilder.nit:1045 */
7707 ATTR_mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]) = fra
.me
.REG
[4];
7708 /* ./syntax//mmbuilder.nit:1046 */
7709 fra
.me
.REG
[2] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7710 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
7711 stack_frame_head
= fra
.me
.prev
;
7714 void mmbuilder___AMethPropdef___accept_property_verifier(val_t p0
, val_t p1
){
7715 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
7720 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7721 fra
.me
.file
= LOCATE_mmbuilder
;
7723 fra
.me
.meth
= LOCATE_mmbuilder___AMethPropdef___accept_property_verifier
;
7724 fra
.me
.has_broke
= 0;
7725 fra
.me
.REG_size
= 5;
7726 fra
.me
.REG
[0] = NIT_NULL
;
7727 fra
.me
.REG
[1] = NIT_NULL
;
7728 fra
.me
.REG
[2] = NIT_NULL
;
7729 fra
.me
.REG
[3] = NIT_NULL
;
7730 fra
.me
.REG
[4] = NIT_NULL
;
7733 /* ./syntax//mmbuilder.nit:1049 */
7734 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7735 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7736 /* ./syntax//mmbuilder.nit:1051 */
7737 fra
.me
.REG
[4] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init();
7738 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
7739 /* ./syntax//mmbuilder.nit:1052 */
7740 CALL_SUPER_mmbuilder___AMethPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7741 /* ./syntax//mmbuilder.nit:1054 */
7742 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7743 REGB0
= CALL_mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7744 if (UNTAG_Bool(REGB0
)) {
7747 /* ./syntax//mmbuilder.nit:1056 */
7748 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7749 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7750 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7751 if (UNTAG_Bool(REGB0
)) {
7753 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7754 if (UNTAG_Bool(REGB1
)) {
7755 REGB1
= TAG_Bool(false);
7758 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7762 if (UNTAG_Bool(REGB0
)) {
7764 /* ./syntax//mmbuilder.nit:1059 */
7765 fra
.me
.REG
[1] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7766 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7767 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7768 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
7769 if (UNTAG_Bool(REGB0
)) {
7771 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1059);
7773 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
7775 /* ./syntax//mmbuilder.nit:1061 */
7777 /* ./syntax//mmbuilder.nit:1062 */
7778 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7779 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7780 if (UNTAG_Bool(REGB1
)) {
7782 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7783 if (UNTAG_Bool(REGB2
)) {
7784 REGB2
= TAG_Bool(false);
7787 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7791 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
7792 if (UNTAG_Bool(REGB1
)) {
7793 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7794 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7795 if (UNTAG_Bool(REGB1
)) {
7796 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1062);
7798 REGB1
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7800 /* ./../lib/standard//kernel.nit:214 */
7801 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
7803 /* ./syntax//mmbuilder.nit:1062 */
7804 REGB1
= TAG_Bool(false);
7807 if (UNTAG_Bool(REGB2
)) {
7808 /* ./syntax//mmbuilder.nit:1063 */
7809 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7810 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7811 if (UNTAG_Bool(REGB2
)) {
7812 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1063);
7814 REGB2
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7817 /* ./syntax//mmbuilder.nit:1065 */
7818 fra
.me
.REG
[0] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7819 fra
.me
.REG
[1] = CALL_parser_nodes___AMethPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7820 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7821 if (UNTAG_Bool(REGB2
)) {
7823 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7824 if (UNTAG_Bool(REGB1
)) {
7825 REGB1
= TAG_Bool(false);
7828 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7832 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
7833 CALL_mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0], REGB2
, REGB0
);
7834 /* ./syntax//mmbuilder.nit:1066 */
7835 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7836 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7837 if (UNTAG_Bool(REGB0
)) {
7839 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7840 if (UNTAG_Bool(REGB2
)) {
7841 REGB2
= TAG_Bool(false);
7844 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
7848 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7849 if (UNTAG_Bool(REGB0
)) {
7850 fra
.me
.REG
[0] = CALL_parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7851 fra
.me
.REG
[2] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7852 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
7853 if (UNTAG_Bool(REGB0
)) {
7854 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1066);
7856 CALL_mmbuilder___ASignature___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[2]);
7859 stack_frame_head
= fra
.me
.prev
;
7862 void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
7863 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
7865 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7866 fra
.me
.file
= LOCATE_mmbuilder
;
7868 fra
.me
.meth
= LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor
;
7869 fra
.me
.has_broke
= 0;
7870 fra
.me
.REG_size
= 4;
7871 fra
.me
.REG
[0] = NIT_NULL
;
7872 fra
.me
.REG
[1] = NIT_NULL
;
7873 fra
.me
.REG
[2] = NIT_NULL
;
7874 fra
.me
.REG
[3] = NIT_NULL
;
7877 /* ./syntax//mmbuilder.nit:1069 */
7878 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7879 fra
.me
.REG
[3] = fra
.me
.REG
[1];
7880 /* ./syntax//mmbuilder.nit:1071 */
7881 fra
.me
.REG
[2] = ATTR_mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]);
7882 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
7883 /* ./syntax//mmbuilder.nit:1072 */
7884 CALL_SUPER_mmbuilder___AMethPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7885 /* ./syntax//mmbuilder.nit:1073 */
7886 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
7887 stack_frame_head
= fra
.me
.prev
;
7890 void mmbuilder___AMainMethPropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
7891 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
7895 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7896 fra
.me
.file
= LOCATE_mmbuilder
;
7898 fra
.me
.meth
= LOCATE_mmbuilder___AMainMethPropdef___process_and_check
;
7899 fra
.me
.has_broke
= 0;
7900 fra
.me
.REG_size
= 3;
7901 fra
.me
.REG
[0] = NIT_NULL
;
7902 fra
.me
.REG
[1] = NIT_NULL
;
7903 fra
.me
.REG
[2] = NIT_NULL
;
7909 /* ./syntax//mmbuilder.nit:1080 */
7910 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7911 CALL_abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
7912 /* ./syntax//mmbuilder.nit:1081 */
7913 fra
.me
.REG
[0] = NEW_Array_array___Array___init();
7914 fra
.me
.REG
[1] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7915 fra
.me
.REG
[1] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7916 fra
.me
.REG
[1] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[1]);
7917 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
7918 stack_frame_head
= fra
.me
.prev
;
7921 void mmbuilder___AExternMethPropdef___accept_property_verifier(val_t p0
, val_t p1
){
7922 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
7927 static val_t once_value_1
; /* Once value */
7928 static val_t once_value_2
; /* Once value */
7929 static val_t once_value_3
; /* Once value */
7930 static val_t once_value_4
; /* Once value */
7931 static val_t once_value_5
; /* Once value */
7932 static val_t once_value_6
; /* Once value */
7933 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7934 fra
.me
.file
= LOCATE_mmbuilder
;
7936 fra
.me
.meth
= LOCATE_mmbuilder___AExternMethPropdef___accept_property_verifier
;
7937 fra
.me
.has_broke
= 0;
7938 fra
.me
.REG_size
= 4;
7939 fra
.me
.REG
[0] = NIT_NULL
;
7940 fra
.me
.REG
[1] = NIT_NULL
;
7941 fra
.me
.REG
[2] = NIT_NULL
;
7942 fra
.me
.REG
[3] = NIT_NULL
;
7945 /* ./syntax//mmbuilder.nit:1087 */
7946 fra
.me
.REG
[2] = fra
.me
.REG
[0];
7947 /* ./syntax//mmbuilder.nit:1089 */
7948 CALL_SUPER_mmbuilder___AExternMethPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
7949 /* ./syntax//mmbuilder.nit:1091 */
7950 fra
.me
.REG
[1] = CALL_parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7951 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7952 if (UNTAG_Bool(REGB0
)) {
7954 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7955 if (UNTAG_Bool(REGB1
)) {
7956 REGB1
= TAG_Bool(false);
7959 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
7963 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
7964 if (UNTAG_Bool(REGB0
)) {
7965 /* ./syntax//mmbuilder.nit:1092 */
7966 fra
.me
.REG
[1] = CALL_parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7967 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
7968 if (UNTAG_Bool(REGB0
)) {
7969 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1092);
7971 fra
.me
.REG
[1] = CALL_lexer___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7972 /* ./syntax//mmbuilder.nit:1093 */
7974 /* ./../lib/standard//collection//array.nit:23 */
7975 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
7976 if (UNTAG_Bool(REGB1
)) {
7978 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
7980 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
7981 /* ./syntax//mmbuilder.nit:1093 */
7983 /* ./../lib/standard//kernel.nit:217 */
7984 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
7985 /* ./syntax//mmbuilder.nit:1093 */
7986 fra
.me
.REG
[0] = CALL_string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB2
);
7987 fra
.me
.REG
[1] = fra
.me
.REG
[0];
7989 /* ./syntax//mmbuilder.nit:1095 */
7990 REGB2
= TAG_Int(11);
7991 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB2
);
7992 if (!once_value_1
) {
7993 fra
.me
.REG
[3] = BOX_NativeString("");
7995 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
7996 once_value_1
= fra
.me
.REG
[3];
7997 register_static_object(&once_value_1
);
7998 } else fra
.me
.REG
[3] = once_value_1
;
7999 fra
.me
.REG
[3] = fra
.me
.REG
[3];
8000 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8001 fra
.me
.REG
[3] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8002 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8003 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8004 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8005 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8006 if (!once_value_2
) {
8007 fra
.me
.REG
[3] = BOX_NativeString("_");
8009 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
8010 once_value_2
= fra
.me
.REG
[3];
8011 register_static_object(&once_value_2
);
8012 } else fra
.me
.REG
[3] = once_value_2
;
8013 fra
.me
.REG
[3] = fra
.me
.REG
[3];
8014 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8015 fra
.me
.REG
[3] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8016 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8017 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8018 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8019 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8020 if (!once_value_3
) {
8021 fra
.me
.REG
[3] = BOX_NativeString("_");
8023 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
8024 once_value_3
= fra
.me
.REG
[3];
8025 register_static_object(&once_value_3
);
8026 } else fra
.me
.REG
[3] = once_value_3
;
8027 fra
.me
.REG
[3] = fra
.me
.REG
[3];
8028 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8029 fra
.me
.REG
[3] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8030 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8031 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8032 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8033 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8034 if (!once_value_4
) {
8035 fra
.me
.REG
[3] = BOX_NativeString("_");
8037 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
8038 once_value_4
= fra
.me
.REG
[3];
8039 register_static_object(&once_value_4
);
8040 } else fra
.me
.REG
[3] = once_value_4
;
8041 fra
.me
.REG
[3] = fra
.me
.REG
[3];
8042 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8043 fra
.me
.REG
[3] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8044 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8045 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8046 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8047 if (!once_value_5
) {
8048 fra
.me
.REG
[3] = BOX_NativeString("_");
8050 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
8051 once_value_5
= fra
.me
.REG
[3];
8052 register_static_object(&once_value_5
);
8053 } else fra
.me
.REG
[3] = once_value_5
;
8054 fra
.me
.REG
[3] = fra
.me
.REG
[3];
8055 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8056 fra
.me
.REG
[3] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8057 fra
.me
.REG
[3] = CALL_static_type___MMLocalProperty___signature(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8058 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
8059 if (UNTAG_Bool(REGB2
)) {
8060 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1095);
8062 REGB2
= CALL_static_type___MMSignature___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8063 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB2
)(REGB2
);
8064 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8065 if (!once_value_6
) {
8066 fra
.me
.REG
[3] = BOX_NativeString("");
8068 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
8069 once_value_6
= fra
.me
.REG
[3];
8070 register_static_object(&once_value_6
);
8071 } else fra
.me
.REG
[3] = once_value_6
;
8072 fra
.me
.REG
[3] = fra
.me
.REG
[3];
8073 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8074 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8075 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8077 /* ./syntax//mmbuilder.nit:1097 */
8078 fra
.me
.REG
[2] = CALL_syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8079 CALL_syntax_base___MMMethSrcMethod___extern_name__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
8080 stack_frame_head
= fra
.me
.prev
;
8083 val_t
mmbuilder___ATypePropdef___prop(val_t p0
){
8084 struct {struct stack_frame_t me
;} fra
;
8087 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8088 fra
.me
.file
= LOCATE_mmbuilder
;
8090 fra
.me
.meth
= LOCATE_mmbuilder___ATypePropdef___prop
;
8091 fra
.me
.has_broke
= 0;
8092 fra
.me
.REG_size
= 1;
8093 fra
.me
.REG
[0] = NIT_NULL
;
8095 /* ./syntax//mmbuilder.nit:1102 */
8096 fra
.me
.REG
[0] = ATTR_mmbuilder___ATypePropdef____prop(fra
.me
.REG
[0]);
8097 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
8098 if (UNTAG_Bool(REGB0
)) {
8100 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1102);
8104 stack_frame_head
= fra
.me
.prev
;
8105 return fra
.me
.REG
[0];
8107 void mmbuilder___ATypePropdef___accept_property_builder(val_t p0
, val_t p1
){
8108 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8110 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8111 fra
.me
.file
= LOCATE_mmbuilder
;
8113 fra
.me
.meth
= LOCATE_mmbuilder___ATypePropdef___accept_property_builder
;
8114 fra
.me
.has_broke
= 0;
8115 fra
.me
.REG_size
= 4;
8116 fra
.me
.REG
[0] = NIT_NULL
;
8117 fra
.me
.REG
[1] = NIT_NULL
;
8118 fra
.me
.REG
[2] = NIT_NULL
;
8119 fra
.me
.REG
[3] = NIT_NULL
;
8122 /* ./syntax//mmbuilder.nit:1105 */
8123 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8124 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8125 /* ./syntax//mmbuilder.nit:1107 */
8126 CALL_SUPER_mmbuilder___ATypePropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8127 /* ./syntax//mmbuilder.nit:1108 */
8128 fra
.me
.REG
[1] = CALL_parser_nodes___ATypePropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8129 fra
.me
.REG
[1] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8130 /* ./syntax//mmbuilder.nit:1109 */
8131 fra
.me
.REG
[0] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8132 fra
.me
.REG
[0] = NEW_MMSrcTypeProperty_syntax_base___MMSrcTypeProperty___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
8133 /* ./syntax//mmbuilder.nit:1110 */
8134 ATTR_mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
8135 /* ./syntax//mmbuilder.nit:1111 */
8136 fra
.me
.REG
[2] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8137 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
8138 stack_frame_head
= fra
.me
.prev
;
8141 void mmbuilder___ATypePropdef___accept_property_verifier(val_t p0
, val_t p1
){
8142 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
8147 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8148 fra
.me
.file
= LOCATE_mmbuilder
;
8150 fra
.me
.meth
= LOCATE_mmbuilder___ATypePropdef___accept_property_verifier
;
8151 fra
.me
.has_broke
= 0;
8152 fra
.me
.REG_size
= 5;
8153 fra
.me
.REG
[0] = NIT_NULL
;
8154 fra
.me
.REG
[1] = NIT_NULL
;
8155 fra
.me
.REG
[2] = NIT_NULL
;
8156 fra
.me
.REG
[3] = NIT_NULL
;
8157 fra
.me
.REG
[4] = NIT_NULL
;
8160 /* ./syntax//mmbuilder.nit:1114 */
8161 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8162 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8163 /* ./syntax//mmbuilder.nit:1116 */
8164 CALL_SUPER_mmbuilder___ATypePropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8165 /* ./syntax//mmbuilder.nit:1117 */
8166 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
8167 fra
.me
.REG
[0] = CALL_parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8168 fra
.me
.REG
[0] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8169 fra
.me
.REG
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8170 fra
.me
.REG
[4] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8171 fra
.me
.REG
[4] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
8172 /* ./syntax//mmbuilder.nit:1118 */
8173 fra
.me
.REG
[0] = CALL_syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8174 CALL_static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
8175 /* ./syntax//mmbuilder.nit:1119 */
8176 fra
.me
.REG
[4] = CALL_parser_nodes___ATypePropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8177 REGB0
= CALL_mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8178 /* ./syntax//mmbuilder.nit:1120 */
8179 fra
.me
.REG
[4] = CALL_syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8180 fra
.me
.REG
[0] = CALL_parser_nodes___ATypePropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8181 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8182 if (UNTAG_Bool(REGB1
)) {
8184 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8185 if (UNTAG_Bool(REGB2
)) {
8186 REGB2
= TAG_Bool(false);
8189 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8193 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8194 CALL_mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB1
, REGB0
);
8195 stack_frame_head
= fra
.me
.prev
;
8198 void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
8199 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8201 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8202 fra
.me
.file
= LOCATE_mmbuilder
;
8204 fra
.me
.meth
= LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor
;
8205 fra
.me
.has_broke
= 0;
8206 fra
.me
.REG_size
= 4;
8207 fra
.me
.REG
[0] = NIT_NULL
;
8208 fra
.me
.REG
[1] = NIT_NULL
;
8209 fra
.me
.REG
[2] = NIT_NULL
;
8210 fra
.me
.REG
[3] = NIT_NULL
;
8213 /* ./syntax//mmbuilder.nit:1123 */
8214 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8215 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8216 /* ./syntax//mmbuilder.nit:1125 */
8217 fra
.me
.REG
[2] = ATTR_mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]);
8218 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
8219 /* ./syntax//mmbuilder.nit:1126 */
8220 CALL_SUPER_mmbuilder___ATypePropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8221 /* ./syntax//mmbuilder.nit:1127 */
8222 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
8223 stack_frame_head
= fra
.me
.prev
;
8226 val_t
mmbuilder___MethidAccumulator___name(val_t p0
){
8227 struct {struct stack_frame_t me
;} fra
;
8230 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8231 fra
.me
.file
= LOCATE_mmbuilder
;
8233 fra
.me
.meth
= LOCATE_mmbuilder___MethidAccumulator___name
;
8234 fra
.me
.has_broke
= 0;
8235 fra
.me
.REG_size
= 1;
8236 fra
.me
.REG
[0] = NIT_NULL
;
8238 /* ./syntax//mmbuilder.nit:1134 */
8239 REGB0
= TAG_Bool(ATTR_mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
8240 if (UNTAG_Bool(REGB0
)) {
8242 nit_abort("Uninitialized attribute %s", "_name", LOCATE_mmbuilder
, 1134);
8244 fra
.me
.REG
[0] = ATTR_mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
8245 stack_frame_head
= fra
.me
.prev
;
8246 return fra
.me
.REG
[0];
8248 void mmbuilder___MethidAccumulator___visit(val_t p0
, val_t p1
){
8249 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8252 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8253 fra
.me
.file
= LOCATE_mmbuilder
;
8255 fra
.me
.meth
= LOCATE_mmbuilder___MethidAccumulator___visit
;
8256 fra
.me
.has_broke
= 0;
8257 fra
.me
.REG_size
= 4;
8258 fra
.me
.REG
[0] = NIT_NULL
;
8259 fra
.me
.REG
[1] = NIT_NULL
;
8260 fra
.me
.REG
[2] = NIT_NULL
;
8261 fra
.me
.REG
[3] = NIT_NULL
;
8264 /* ./syntax//mmbuilder.nit:1137 */
8265 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_Token
, ID_Token
)) /*cast Token*/;
8266 if (UNTAG_Bool(REGB0
)) {
8267 /* ./syntax//mmbuilder.nit:1138 */
8268 REGB0
= TAG_Bool(ATTR_mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
8269 if (UNTAG_Bool(REGB0
)) {
8271 nit_abort("Uninitialized attribute %s", "_name", LOCATE_mmbuilder
, 1138);
8273 fra
.me
.REG
[2] = ATTR_mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
8274 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8275 if (UNTAG_Bool(REGB0
)) {
8276 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1138);
8278 fra
.me
.REG
[3] = CALL_lexer___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8279 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
8281 /* ./syntax//mmbuilder.nit:1140 */
8282 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8283 if (UNTAG_Bool(REGB0
)) {
8284 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1140);
8286 CALL_parser_prod___ANode___visit_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
8288 stack_frame_head
= fra
.me
.prev
;
8291 val_t
mmbuilder___AMethid___name(val_t p0
){
8292 struct {struct stack_frame_t me
;} fra
;
8294 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8295 fra
.me
.file
= LOCATE_mmbuilder
;
8297 fra
.me
.meth
= LOCATE_mmbuilder___AMethid___name
;
8298 fra
.me
.has_broke
= 0;
8299 fra
.me
.REG_size
= 1;
8300 fra
.me
.REG
[0] = NIT_NULL
;
8302 /* ./syntax//mmbuilder.nit:1146 */
8303 fra
.me
.REG
[0] = ATTR_mmbuilder___AMethid____name(fra
.me
.REG
[0]);
8304 stack_frame_head
= fra
.me
.prev
;
8305 return fra
.me
.REG
[0];
8307 void mmbuilder___AMethid___accept_property_builder(val_t p0
, val_t p1
){
8308 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8310 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8311 fra
.me
.file
= LOCATE_mmbuilder
;
8313 fra
.me
.meth
= LOCATE_mmbuilder___AMethid___accept_property_builder
;
8314 fra
.me
.has_broke
= 0;
8315 fra
.me
.REG_size
= 4;
8316 fra
.me
.REG
[0] = NIT_NULL
;
8317 fra
.me
.REG
[1] = NIT_NULL
;
8318 fra
.me
.REG
[2] = NIT_NULL
;
8319 fra
.me
.REG
[3] = NIT_NULL
;
8322 /* ./syntax//mmbuilder.nit:1149 */
8323 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8324 /* ./syntax//mmbuilder.nit:1151 */
8325 fra
.me
.REG
[3] = NEW_MethidAccumulator_parser_prod___Visitor___init();
8326 /* ./syntax//mmbuilder.nit:1152 */
8327 CALL_parser_prod___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
8328 /* ./syntax//mmbuilder.nit:1153 */
8329 fra
.me
.REG
[3] = CALL_mmbuilder___MethidAccumulator___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8330 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8331 fra
.me
.REG
[3] = CALL_symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8332 ATTR_mmbuilder___AMethid____name(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
8333 /* ./syntax//mmbuilder.nit:1154 */
8334 CALL_SUPER_mmbuilder___AMethid___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8335 stack_frame_head
= fra
.me
.prev
;
8338 void mmbuilder___ASignature___accept_property_verifier(val_t p0
, val_t p1
){
8339 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
8344 static val_t once_value_2
; /* Once value */
8345 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8346 fra
.me
.file
= LOCATE_mmbuilder
;
8348 fra
.me
.meth
= LOCATE_mmbuilder___ASignature___accept_property_verifier
;
8349 fra
.me
.has_broke
= 0;
8350 fra
.me
.REG_size
= 7;
8351 fra
.me
.REG
[0] = NIT_NULL
;
8352 fra
.me
.REG
[1] = NIT_NULL
;
8353 fra
.me
.REG
[2] = NIT_NULL
;
8354 fra
.me
.REG
[3] = NIT_NULL
;
8355 fra
.me
.REG
[4] = NIT_NULL
;
8356 fra
.me
.REG
[5] = NIT_NULL
;
8357 fra
.me
.REG
[6] = NIT_NULL
;
8360 /* ./syntax//mmbuilder.nit:1159 */
8361 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8362 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8363 /* ./syntax//mmbuilder.nit:1161 */
8364 CALL_SUPER_mmbuilder___ASignature___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8365 /* ./syntax//mmbuilder.nit:1162 */
8366 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8367 REGB0
= CALL_mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8368 if (UNTAG_Bool(REGB0
)) {
8369 /* ./syntax//mmbuilder.nit:1163 */
8372 /* ./syntax//mmbuilder.nit:1164 */
8373 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8374 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8375 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8376 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8377 if (UNTAG_Bool(REGB0
)) {
8378 /* ./syntax//mmbuilder.nit:1165 */
8379 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8380 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8381 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8382 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8383 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8384 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8385 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[1],fra
.me
.REG
[0]));
8386 if (UNTAG_Bool(REGB0
)) {
8388 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8389 if (UNTAG_Bool(REGB1
)) {
8390 REGB1
= TAG_Bool(false);
8393 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
8397 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8398 if (UNTAG_Bool(REGB0
)) {
8399 REGB0
= TAG_Bool(true);
8401 fra
.me
.REG
[0] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8402 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8403 if (UNTAG_Bool(REGB1
)) {
8405 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8406 if (UNTAG_Bool(REGB2
)) {
8407 REGB2
= TAG_Bool(false);
8410 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8414 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8417 if (UNTAG_Bool(REGB0
)) {
8418 /* ./syntax//mmbuilder.nit:1166 */
8419 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8420 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8421 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8422 if (!once_value_2
) {
8423 fra
.me
.REG
[1] = BOX_NativeString("Syntax error: untyped parameter.");
8424 REGB0
= TAG_Int(32);
8425 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
8426 once_value_2
= fra
.me
.REG
[1];
8427 register_static_object(&once_value_2
);
8428 } else fra
.me
.REG
[1] = once_value_2
;
8429 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8430 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0], fra
.me
.REG
[1]);
8431 /* ./syntax//mmbuilder.nit:1167 */
8435 /* ./syntax//mmbuilder.nit:1169 */
8436 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8437 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8438 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8439 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8440 if (UNTAG_Bool(REGB0
)) {
8441 REGB0
= TAG_Bool(true);
8443 fra
.me
.REG
[1] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8444 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8445 if (UNTAG_Bool(REGB1
)) {
8447 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8448 if (UNTAG_Bool(REGB2
)) {
8449 REGB2
= TAG_Bool(false);
8452 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8456 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8459 if (UNTAG_Bool(REGB0
)) {
8460 /* ./syntax//mmbuilder.nit:1170 */
8461 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
8462 /* ./syntax//mmbuilder.nit:1171 */
8463 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8464 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8465 /* ./../lib/standard//collection//array.nit:234 */
8467 /* ./../lib/standard//collection//array.nit:235 */
8468 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
8469 if (UNTAG_Bool(REGB1
)) {
8471 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
8473 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
8474 /* ./../lib/standard//collection//array.nit:236 */
8475 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[0]);
8476 /* ./../lib/standard//collection//array.nit:237 */
8478 /* ./../lib/standard//collection//array.nit:23 */
8479 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
8480 if (UNTAG_Bool(REGB1
)) {
8482 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
8484 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
8485 /* ./../lib/standard//kernel.nit:212 */
8486 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
8487 /* ./../lib/standard//collection//array.nit:237 */
8488 if (UNTAG_Bool(REGB1
)) {
8489 /* ./../lib/standard//collection//array.nit:238 */
8490 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8491 if (UNTAG_Bool(REGB1
)) {
8492 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
8494 /* ./../lib/standard//collection//array.nit:654 */
8495 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
8496 /* ./syntax//mmbuilder.nit:1172 */
8497 fra
.me
.REG
[6] = CALL_mmbuilder___AParam___stype(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8498 REGB1
= TAG_Bool(fra
.me
.REG
[6]!=NIT_NULL
);
8499 if (UNTAG_Bool(REGB1
)) {
8501 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1172);
8503 fra
.me
.REG
[5] = CALL_parser_nodes___AParam___n_id(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8504 fra
.me
.REG
[5] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8505 fra
.me
.REG
[5] = NEW_MMParam_static_type___MMParam___init(fra
.me
.REG
[6], fra
.me
.REG
[5]);
8506 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
8507 /* ./../lib/standard//collection//array.nit:239 */
8509 /* ./../lib/standard//kernel.nit:215 */
8510 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
8511 /* ./../lib/standard//collection//array.nit:239 */
8514 /* ./../lib/standard//collection//array.nit:237 */
8519 /* ./syntax//mmbuilder.nit:1174 */
8520 fra
.me
.REG
[4] = NIT_NULL
;
8521 /* ./syntax//mmbuilder.nit:1175 */
8522 fra
.me
.REG
[0] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8523 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8524 if (UNTAG_Bool(REGB0
)) {
8526 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8527 if (UNTAG_Bool(REGB1
)) {
8528 REGB1
= TAG_Bool(false);
8531 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8535 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8536 if (UNTAG_Bool(REGB0
)) {
8537 /* ./syntax//mmbuilder.nit:1176 */
8538 fra
.me
.REG
[2] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8539 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
8540 if (UNTAG_Bool(REGB0
)) {
8541 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1176);
8543 fra
.me
.REG
[2] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
8544 fra
.me
.REG
[4] = fra
.me
.REG
[2];
8545 /* ./syntax//mmbuilder.nit:1177 */
8546 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8547 if (UNTAG_Bool(REGB0
)) {
8549 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8550 if (UNTAG_Bool(REGB1
)) {
8551 REGB1
= TAG_Bool(false);
8554 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8558 if (UNTAG_Bool(REGB0
)) {
8559 /* ./syntax//mmbuilder.nit:1178 */
8560 fra
.me
.REG
[2] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8561 REGB0
= TAG_Bool(true);
8562 CALL_mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
8563 /* ./syntax//mmbuilder.nit:1179 */
8567 /* ./syntax//mmbuilder.nit:1182 */
8568 fra
.me
.REG
[2] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8569 fra
.me
.REG
[0] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8570 fra
.me
.REG
[0] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8571 fra
.me
.REG
[0] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
8572 CALL_mmbuilder___SignatureBuilder___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
8573 /* ./syntax//mmbuilder.nit:1183 */
8574 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8575 REGB0
= CALL_mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8577 /* ./../lib/standard//kernel.nit:213 */
8578 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
8579 /* ./syntax//mmbuilder.nit:1183 */
8580 if (UNTAG_Bool(REGB1
)) {
8581 /* ./syntax//mmbuilder.nit:1184 */
8582 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8583 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8584 fra
.me
.REG
[2] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8585 REGB1
= CALL_mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8586 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8587 if (UNTAG_Bool(REGB0
)) {
8588 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1184);
8590 CALL_vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
8592 /* ./syntax//mmbuilder.nit:1186 */
8593 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8594 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8595 /* ./../lib/standard//collection//array.nit:234 */
8597 /* ./../lib/standard//collection//array.nit:235 */
8598 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
8599 if (UNTAG_Bool(REGB0
)) {
8601 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
8603 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
8604 /* ./../lib/standard//collection//array.nit:236 */
8605 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[0]);
8606 /* ./../lib/standard//collection//array.nit:237 */
8608 /* ./../lib/standard//collection//array.nit:23 */
8609 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
8610 if (UNTAG_Bool(REGB0
)) {
8612 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
8614 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
8615 /* ./../lib/standard//kernel.nit:212 */
8616 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
8617 /* ./../lib/standard//collection//array.nit:237 */
8618 if (UNTAG_Bool(REGB0
)) {
8619 /* ./../lib/standard//collection//array.nit:238 */
8620 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
8621 if (UNTAG_Bool(REGB0
)) {
8622 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
8624 /* ./../lib/standard//collection//array.nit:654 */
8625 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
8626 /* ./syntax//mmbuilder.nit:1187 */
8627 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8628 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8629 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8630 if (UNTAG_Bool(REGB0
)) {
8631 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1187);
8633 fra
.me
.REG
[1] = CALL_static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8634 fra
.me
.REG
[4] = CALL_syntax_base___AClosureDecl___variable(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8635 fra
.me
.REG
[4] = CALL_syntax_base___ClosureVariable___closure(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8636 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
8637 /* ./../lib/standard//collection//array.nit:239 */
8639 /* ./../lib/standard//kernel.nit:215 */
8640 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
8641 /* ./../lib/standard//collection//array.nit:239 */
8644 /* ./../lib/standard//collection//array.nit:237 */
8653 stack_frame_head
= fra
.me
.prev
;
8656 void mmbuilder___ASignature___check_visibility(val_t p0
, val_t p1
, val_t p2
){
8657 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8661 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8662 fra
.me
.file
= LOCATE_mmbuilder
;
8664 fra
.me
.meth
= LOCATE_mmbuilder___ASignature___check_visibility
;
8665 fra
.me
.has_broke
= 0;
8666 fra
.me
.REG_size
= 4;
8667 fra
.me
.REG
[0] = NIT_NULL
;
8668 fra
.me
.REG
[1] = NIT_NULL
;
8669 fra
.me
.REG
[2] = NIT_NULL
;
8670 fra
.me
.REG
[3] = NIT_NULL
;
8674 /* ./syntax//mmbuilder.nit:1195 */
8675 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8676 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8678 /* ./../lib/standard//kernel.nit:213 */
8679 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
8680 /* ./syntax//mmbuilder.nit:1195 */
8681 if (UNTAG_Bool(REGB1
)) {
8684 /* ./syntax//mmbuilder.nit:1196 */
8685 fra
.me
.REG
[3] = CALL_parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8686 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___ASignature___check_visibility_2
));
8687 /* ./syntax//mmbuilder.nit:1199 */
8688 fra
.me
.REG
[3] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8689 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
8690 if (UNTAG_Bool(REGB1
)) {
8692 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
8693 if (UNTAG_Bool(REGB0
)) {
8694 REGB0
= TAG_Bool(false);
8697 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
8701 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8702 if (UNTAG_Bool(REGB1
)) {
8703 fra
.me
.REG
[0] = CALL_parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8704 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8705 if (UNTAG_Bool(REGB1
)) {
8706 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1199);
8708 CALL_mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
8711 stack_frame_head
= fra
.me
.prev
;
8714 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
){
8715 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8720 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8721 fra
.me
.file
= LOCATE_mmbuilder
;
8723 fra
.me
.meth
= LOCATE_mmbuilder___ASignature___check_visibility
;
8724 fra
.me
.has_broke
= 0;
8725 fra
.me
.REG_size
= 2;
8726 fra
.me
.REG
[0] = NIT_NULL
;
8727 fra
.me
.REG
[1] = NIT_NULL
;
8728 fra
.me
.closure_ctx
= closctx_param
;
8729 fra
.me
.closure_funs
= CREG
;
8731 CREG
[0] = clos_fun0
;
8732 /* ./syntax//mmbuilder.nit:1197 */
8733 fra
.me
.REG
[1] = CALL_parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8734 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8735 if (UNTAG_Bool(REGB0
)) {
8737 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8738 if (UNTAG_Bool(REGB1
)) {
8739 REGB1
= TAG_Bool(false);
8742 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8746 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8747 if (UNTAG_Bool(REGB0
)) {
8748 fra
.me
.REG
[0] = CALL_parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8749 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8750 if (UNTAG_Bool(REGB0
)) {
8751 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1197);
8753 CALL_mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
8755 stack_frame_head
= fra
.me
.prev
;
8758 val_t
mmbuilder___AParam___position(val_t p0
){
8759 struct {struct stack_frame_t me
;} fra
;
8762 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8763 fra
.me
.file
= LOCATE_mmbuilder
;
8765 fra
.me
.meth
= LOCATE_mmbuilder___AParam___position
;
8766 fra
.me
.has_broke
= 0;
8767 fra
.me
.REG_size
= 1;
8768 fra
.me
.REG
[0] = NIT_NULL
;
8770 /* ./syntax//mmbuilder.nit:1204 */
8771 REGB0
= TAG_Bool(ATTR_mmbuilder___AParam____position(fra
.me
.REG
[0])!=NIT_NULL
);
8772 if (UNTAG_Bool(REGB0
)) {
8774 nit_abort("Uninitialized attribute %s", "_position", LOCATE_mmbuilder
, 1204);
8776 REGB0
= ATTR_mmbuilder___AParam____position(fra
.me
.REG
[0]);
8777 stack_frame_head
= fra
.me
.prev
;
8780 val_t
mmbuilder___AParam___variable(val_t p0
){
8781 struct {struct stack_frame_t me
;} fra
;
8784 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8785 fra
.me
.file
= LOCATE_mmbuilder
;
8787 fra
.me
.meth
= LOCATE_mmbuilder___AParam___variable
;
8788 fra
.me
.has_broke
= 0;
8789 fra
.me
.REG_size
= 1;
8790 fra
.me
.REG
[0] = NIT_NULL
;
8792 /* ./syntax//mmbuilder.nit:1206 */
8793 fra
.me
.REG
[0] = ATTR_mmbuilder___AParam____variable(fra
.me
.REG
[0]);
8794 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
8795 if (UNTAG_Bool(REGB0
)) {
8797 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1206);
8801 stack_frame_head
= fra
.me
.prev
;
8802 return fra
.me
.REG
[0];
8804 val_t
mmbuilder___AParam___stype(val_t p0
){
8805 struct {struct stack_frame_t me
;} fra
;
8807 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8808 fra
.me
.file
= LOCATE_mmbuilder
;
8810 fra
.me
.meth
= LOCATE_mmbuilder___AParam___stype
;
8811 fra
.me
.has_broke
= 0;
8812 fra
.me
.REG_size
= 1;
8813 fra
.me
.REG
[0] = NIT_NULL
;
8815 /* ./syntax//mmbuilder.nit:1209 */
8816 fra
.me
.REG
[0] = ATTR_mmbuilder___AParam____stype(fra
.me
.REG
[0]);
8817 stack_frame_head
= fra
.me
.prev
;
8818 return fra
.me
.REG
[0];
8820 void mmbuilder___AParam___stype__eq(val_t p0
, val_t p1
){
8821 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8823 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8824 fra
.me
.file
= LOCATE_mmbuilder
;
8826 fra
.me
.meth
= LOCATE_mmbuilder___AParam___stype__eq
;
8827 fra
.me
.has_broke
= 0;
8828 fra
.me
.REG_size
= 2;
8829 fra
.me
.REG
[0] = NIT_NULL
;
8830 fra
.me
.REG
[1] = NIT_NULL
;
8833 /* ./syntax//mmbuilder.nit:1209 */
8834 ATTR_mmbuilder___AParam____stype(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
8835 stack_frame_head
= fra
.me
.prev
;
8838 void mmbuilder___AParam___accept_property_verifier(val_t p0
, val_t p1
){
8839 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
8845 static val_t once_value_2
; /* Once value */
8846 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8847 fra
.me
.file
= LOCATE_mmbuilder
;
8849 fra
.me
.meth
= LOCATE_mmbuilder___AParam___accept_property_verifier
;
8850 fra
.me
.has_broke
= 0;
8851 fra
.me
.REG_size
= 7;
8852 fra
.me
.REG
[0] = NIT_NULL
;
8853 fra
.me
.REG
[1] = NIT_NULL
;
8854 fra
.me
.REG
[2] = NIT_NULL
;
8855 fra
.me
.REG
[3] = NIT_NULL
;
8856 fra
.me
.REG
[4] = NIT_NULL
;
8857 fra
.me
.REG
[5] = NIT_NULL
;
8858 fra
.me
.REG
[6] = NIT_NULL
;
8861 /* ./syntax//mmbuilder.nit:1212 */
8862 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8863 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8864 /* ./syntax//mmbuilder.nit:1214 */
8865 CALL_SUPER_mmbuilder___AParam___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8866 /* ./syntax//mmbuilder.nit:1215 */
8867 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8868 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8869 /* ./../lib/standard//collection//array.nit:23 */
8870 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
8871 if (UNTAG_Bool(REGB0
)) {
8873 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
8875 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
8876 /* ./syntax//mmbuilder.nit:1215 */
8877 ATTR_mmbuilder___AParam____position(fra
.me
.REG
[2]) = REGB0
;
8878 /* ./syntax//mmbuilder.nit:1216 */
8879 fra
.me
.REG
[1] = CALL_parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8880 fra
.me
.REG
[1] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8881 fra
.me
.REG
[0] = CALL_parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8882 fra
.me
.REG
[0] = NEW_ParamVariable_syntax_base___ParamVariable___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
8883 ATTR_mmbuilder___AParam____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
8884 /* ./syntax//mmbuilder.nit:1217 */
8885 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8886 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8887 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
8888 /* ./syntax//mmbuilder.nit:1218 */
8889 fra
.me
.REG
[0] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8890 fra
.me
.REG
[0] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8891 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
8892 /* ./syntax//mmbuilder.nit:1219 */
8893 fra
.me
.REG
[0] = CALL_parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8894 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8895 if (UNTAG_Bool(REGB0
)) {
8897 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8898 if (UNTAG_Bool(REGB1
)) {
8899 REGB1
= TAG_Bool(false);
8902 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8906 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8907 if (UNTAG_Bool(REGB0
)) {
8908 /* ./syntax//mmbuilder.nit:1220 */
8909 fra
.me
.REG
[0] = CALL_parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8910 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8911 if (UNTAG_Bool(REGB0
)) {
8912 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1220);
8914 fra
.me
.REG
[0] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
8915 /* ./syntax//mmbuilder.nit:1221 */
8916 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8917 if (UNTAG_Bool(REGB0
)) {
8919 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8920 if (UNTAG_Bool(REGB1
)) {
8921 REGB1
= TAG_Bool(false);
8924 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8928 if (UNTAG_Bool(REGB0
)) {
8929 /* ./syntax//mmbuilder.nit:1222 */
8930 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8931 REGB0
= TAG_Bool(true);
8932 CALL_mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
8933 /* ./syntax//mmbuilder.nit:1223 */
8936 /* ./syntax//mmbuilder.nit:1225 */
8937 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8938 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8939 /* ./../lib/standard//collection//array.nit:234 */
8941 /* ./../lib/standard//collection//array.nit:235 */
8942 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
8943 if (UNTAG_Bool(REGB1
)) {
8945 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
8947 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
8948 /* ./../lib/standard//collection//array.nit:236 */
8949 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[1]);
8950 /* ./../lib/standard//collection//array.nit:237 */
8952 /* ./../lib/standard//collection//array.nit:23 */
8953 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
8954 if (UNTAG_Bool(REGB1
)) {
8956 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
8958 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
8959 /* ./../lib/standard//kernel.nit:212 */
8960 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
8961 /* ./../lib/standard//collection//array.nit:237 */
8962 if (UNTAG_Bool(REGB1
)) {
8963 /* ./../lib/standard//collection//array.nit:238 */
8964 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8965 if (UNTAG_Bool(REGB1
)) {
8966 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
8968 /* ./../lib/standard//collection//array.nit:654 */
8969 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
8970 /* ./syntax//mmbuilder.nit:1226 */
8971 CALL_mmbuilder___AParam___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
8972 /* ./syntax//mmbuilder.nit:1227 */
8973 REGB1
= CALL_mmbuilder___AParam___is_vararg(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8974 if (UNTAG_Bool(REGB1
)) {
8975 /* ./syntax//mmbuilder.nit:1228 */
8976 fra
.me
.REG
[6] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8977 REGB1
= CALL_mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8979 /* ./../lib/standard//kernel.nit:216 */
8980 REGB2
= TAG_Int(-UNTAG_Int(REGB2
));
8981 /* ./syntax//mmbuilder.nit:1228 */
8982 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
8983 if (UNTAG_Bool(REGB3
)) {
8985 /* ./../lib/standard//kernel.nit:207 */
8986 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
8987 /* ./syntax//mmbuilder.nit:1228 */
8990 if (UNTAG_Bool(REGB3
)) {
8991 /* ./syntax//mmbuilder.nit:1229 */
8992 fra
.me
.REG
[6] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8993 REGB3
= CALL_syntax_base___AParam___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8994 CALL_mmbuilder___SignatureBuilder___vararg_rank__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
8996 /* ./syntax//mmbuilder.nit:1231 */
8997 if (!once_value_2
) {
8998 fra
.me
.REG
[6] = BOX_NativeString("Error: A vararg parameter is already defined.");
8999 REGB3
= TAG_Int(45);
9000 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB3
);
9001 once_value_2
= fra
.me
.REG
[6];
9002 register_static_object(&once_value_2
);
9003 } else fra
.me
.REG
[6] = once_value_2
;
9004 fra
.me
.REG
[6] = fra
.me
.REG
[6];
9005 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
9007 /* ./syntax//mmbuilder.nit:1233 */
9008 fra
.me
.REG
[6] = CALL_syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
9009 fra
.me
.REG
[0] = fra
.me
.REG
[6];
9011 /* ./syntax//mmbuilder.nit:1235 */
9012 fra
.me
.REG
[5] = CALL_syntax_base___AParam___variable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9013 CALL_syntax_base___Variable___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
9014 /* ./../lib/standard//collection//array.nit:239 */
9016 /* ./../lib/standard//kernel.nit:215 */
9017 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
9018 /* ./../lib/standard//collection//array.nit:239 */
9021 /* ./../lib/standard//collection//array.nit:237 */
9026 /* ./syntax//mmbuilder.nit:1237 */
9027 fra
.me
.REG
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9028 fra
.me
.REG
[3] = CALL_mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9029 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9032 stack_frame_head
= fra
.me
.prev
;
9035 val_t
mmbuilder___AParam___is_vararg(val_t p0
){
9036 struct {struct stack_frame_t me
;} fra
;
9040 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9041 fra
.me
.file
= LOCATE_mmbuilder
;
9043 fra
.me
.meth
= LOCATE_mmbuilder___AParam___is_vararg
;
9044 fra
.me
.has_broke
= 0;
9045 fra
.me
.REG_size
= 1;
9046 fra
.me
.REG
[0] = NIT_NULL
;
9048 /* ./syntax//mmbuilder.nit:1241 */
9049 fra
.me
.REG
[0] = CALL_parser_nodes___AParam___n_dotdotdot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9050 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9051 if (UNTAG_Bool(REGB0
)) {
9053 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9054 if (UNTAG_Bool(REGB1
)) {
9055 REGB1
= TAG_Bool(false);
9058 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9062 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9065 stack_frame_head
= fra
.me
.prev
;
9068 val_t
mmbuilder___AClosureDecl___position(val_t p0
){
9069 struct {struct stack_frame_t me
;} fra
;
9072 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9073 fra
.me
.file
= LOCATE_mmbuilder
;
9075 fra
.me
.meth
= LOCATE_mmbuilder___AClosureDecl___position
;
9076 fra
.me
.has_broke
= 0;
9077 fra
.me
.REG_size
= 1;
9078 fra
.me
.REG
[0] = NIT_NULL
;
9080 /* ./syntax//mmbuilder.nit:1245 */
9081 REGB0
= TAG_Bool(ATTR_mmbuilder___AClosureDecl____position(fra
.me
.REG
[0])!=NIT_NULL
);
9082 if (UNTAG_Bool(REGB0
)) {
9084 nit_abort("Uninitialized attribute %s", "_position", LOCATE_mmbuilder
, 1245);
9086 REGB0
= ATTR_mmbuilder___AClosureDecl____position(fra
.me
.REG
[0]);
9087 stack_frame_head
= fra
.me
.prev
;
9090 val_t
mmbuilder___AClosureDecl___variable(val_t p0
){
9091 struct {struct stack_frame_t me
;} fra
;
9094 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9095 fra
.me
.file
= LOCATE_mmbuilder
;
9097 fra
.me
.meth
= LOCATE_mmbuilder___AClosureDecl___variable
;
9098 fra
.me
.has_broke
= 0;
9099 fra
.me
.REG_size
= 1;
9100 fra
.me
.REG
[0] = NIT_NULL
;
9102 /* ./syntax//mmbuilder.nit:1247 */
9103 fra
.me
.REG
[0] = ATTR_mmbuilder___AClosureDecl____variable(fra
.me
.REG
[0]);
9104 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
9105 if (UNTAG_Bool(REGB0
)) {
9107 nit_abort("Cast failed", NULL
, LOCATE_mmbuilder
, 1247);
9111 stack_frame_head
= fra
.me
.prev
;
9112 return fra
.me
.REG
[0];
9114 void mmbuilder___AClosureDecl___accept_property_verifier(val_t p0
, val_t p1
){
9115 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
9120 static val_t once_value_2
; /* Once value */
9121 static val_t once_value_3
; /* Once value */
9122 static val_t once_value_4
; /* Once value */
9123 static val_t once_value_5
; /* Once value */
9124 static val_t once_value_6
; /* Once value */
9125 static val_t once_value_7
; /* Once value */
9126 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9127 fra
.me
.file
= LOCATE_mmbuilder
;
9129 fra
.me
.meth
= LOCATE_mmbuilder___AClosureDecl___accept_property_verifier
;
9130 fra
.me
.has_broke
= 0;
9131 fra
.me
.REG_size
= 11;
9132 fra
.me
.REG
[0] = NIT_NULL
;
9133 fra
.me
.REG
[1] = NIT_NULL
;
9134 fra
.me
.REG
[2] = NIT_NULL
;
9135 fra
.me
.REG
[3] = NIT_NULL
;
9136 fra
.me
.REG
[4] = NIT_NULL
;
9137 fra
.me
.REG
[5] = NIT_NULL
;
9138 fra
.me
.REG
[6] = NIT_NULL
;
9139 fra
.me
.REG
[7] = NIT_NULL
;
9140 fra
.me
.REG
[8] = NIT_NULL
;
9141 fra
.me
.REG
[9] = NIT_NULL
;
9142 fra
.me
.REG
[10] = NIT_NULL
;
9145 /* ./syntax//mmbuilder.nit:1250 */
9146 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9147 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9148 /* ./syntax//mmbuilder.nit:1252 */
9149 fra
.me
.REG
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9150 /* ./syntax//mmbuilder.nit:1253 */
9151 fra
.me
.REG
[5] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init();
9152 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
9153 /* ./syntax//mmbuilder.nit:1254 */
9154 CALL_SUPER_mmbuilder___AClosureDecl___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9155 /* ./syntax//mmbuilder.nit:1255 */
9156 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9157 REGB0
= CALL_mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9158 if (UNTAG_Bool(REGB0
)) {
9159 /* ./syntax//mmbuilder.nit:1256 */
9162 /* ./syntax//mmbuilder.nit:1258 */
9163 fra
.me
.REG
[1] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9164 fra
.me
.REG
[1] = CALL_mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9165 /* ./syntax//mmbuilder.nit:1259 */
9166 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9167 if (UNTAG_Bool(REGB0
)) {
9169 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9170 if (UNTAG_Bool(REGB1
)) {
9171 REGB1
= TAG_Bool(false);
9174 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9178 if (UNTAG_Bool(REGB0
)) {
9179 /* ./syntax//mmbuilder.nit:1260 */
9180 fra
.me
.REG
[0] = NEW_Array_array___Array___init();
9181 fra
.me
.REG
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9182 fra
.me
.REG
[5] = CALL_static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9183 fra
.me
.REG
[5] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[5]);
9184 fra
.me
.REG
[1] = fra
.me
.REG
[5];
9186 /* ./syntax//mmbuilder.nit:1262 */
9187 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9188 if (UNTAG_Bool(REGB0
)) {
9189 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1262);
9191 fra
.me
.REG
[5] = CALL_static_type___MMSignature___return_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9192 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9193 if (UNTAG_Bool(REGB0
)) {
9195 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9196 if (UNTAG_Bool(REGB1
)) {
9197 REGB1
= TAG_Bool(false);
9200 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
9204 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9205 if (UNTAG_Bool(REGB0
)) {
9206 fra
.me
.REG
[5] = CALL_parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9207 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9208 if (UNTAG_Bool(REGB0
)) {
9210 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9211 if (UNTAG_Bool(REGB1
)) {
9212 REGB1
= TAG_Bool(false);
9215 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
9219 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9221 REGB1
= TAG_Bool(false);
9224 if (UNTAG_Bool(REGB0
)) {
9225 /* ./syntax//mmbuilder.nit:1263 */
9226 if (!once_value_2
) {
9227 fra
.me
.REG
[5] = BOX_NativeString("Syntax Error: A break block cannot have a return value.");
9228 REGB0
= TAG_Int(55);
9229 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
9230 once_value_2
= fra
.me
.REG
[5];
9231 register_static_object(&once_value_2
);
9232 } else fra
.me
.REG
[5] = once_value_2
;
9233 fra
.me
.REG
[5] = fra
.me
.REG
[5];
9234 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[5]);
9236 /* ./syntax//mmbuilder.nit:1267 */
9237 fra
.me
.REG
[5] = NEW_Array_array___Array___init();
9238 fra
.me
.REG
[0] = CALL_syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9239 fra
.me
.REG
[0] = CALL_inheritance___MMModule___type_any(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9240 fra
.me
.REG
[0] = NEW_MMSignature_static_type___MMSignature___init(fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[0]);
9241 /* ./syntax//mmbuilder.nit:1268 */
9242 if (!once_value_3
) {
9243 if (!once_value_4
) {
9244 fra
.me
.REG
[5] = BOX_NativeString("break");
9246 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
9247 once_value_4
= fra
.me
.REG
[5];
9248 register_static_object(&once_value_4
);
9249 } else fra
.me
.REG
[5] = once_value_4
;
9250 fra
.me
.REG
[5] = fra
.me
.REG
[5];
9251 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9252 once_value_3
= fra
.me
.REG
[5];
9253 register_static_object(&once_value_3
);
9254 } else fra
.me
.REG
[5] = once_value_3
;
9255 fra
.me
.REG
[5] = fra
.me
.REG
[5];
9256 REGB0
= TAG_Bool(false);
9257 REGB1
= TAG_Bool(true);
9258 fra
.me
.REG
[0] = NEW_MMClosure_static_type___MMClosure___init(fra
.me
.REG
[5], fra
.me
.REG
[0], REGB0
, REGB1
);
9259 /* ./syntax//mmbuilder.nit:1269 */
9260 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9261 if (UNTAG_Bool(REGB1
)) {
9262 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1269);
9264 fra
.me
.REG
[5] = CALL_static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9265 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
9266 /* ./syntax//mmbuilder.nit:1271 */
9267 fra
.me
.REG
[0] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9268 fra
.me
.REG
[0] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9269 /* ./syntax//mmbuilder.nit:1272 */
9270 fra
.me
.REG
[5] = CALL_parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9271 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9272 if (UNTAG_Bool(REGB1
)) {
9274 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9275 if (UNTAG_Bool(REGB0
)) {
9276 REGB0
= TAG_Bool(false);
9279 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
9283 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9284 fra
.me
.REG
[5] = CALL_parser_nodes___AClosureDecl___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9285 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9286 if (UNTAG_Bool(REGB0
)) {
9288 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9289 if (UNTAG_Bool(REGB2
)) {
9290 REGB2
= TAG_Bool(false);
9293 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
9297 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9298 fra
.me
.REG
[1] = NEW_MMClosure_static_type___MMClosure___init(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
, REGB0
);
9299 /* ./syntax//mmbuilder.nit:1273 */
9300 fra
.me
.REG
[5] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9301 /* ./../lib/standard//collection//array.nit:234 */
9303 /* ./../lib/standard//collection//array.nit:235 */
9304 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9305 if (UNTAG_Bool(REGB1
)) {
9307 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
9309 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9310 /* ./../lib/standard//collection//array.nit:236 */
9311 fra
.me
.REG
[6] = ATTR_array___Array____items(fra
.me
.REG
[5]);
9312 /* ./../lib/standard//collection//array.nit:237 */
9314 /* ./../lib/standard//collection//array.nit:23 */
9315 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9316 if (UNTAG_Bool(REGB1
)) {
9318 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
9320 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9321 /* ./../lib/standard//kernel.nit:212 */
9322 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
9323 /* ./../lib/standard//collection//array.nit:237 */
9324 if (UNTAG_Bool(REGB1
)) {
9325 /* ./../lib/standard//collection//array.nit:238 */
9326 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
9327 if (UNTAG_Bool(REGB1
)) {
9328 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
9330 /* ./../lib/standard//collection//array.nit:654 */
9331 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
9332 /* ./syntax//mmbuilder.nit:1274 */
9333 fra
.me
.REG
[8] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
9334 fra
.me
.REG
[8] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
9335 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[8],fra
.me
.REG
[0]));
9336 if (UNTAG_Bool(REGB1
)) {
9338 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
9341 if (UNTAG_Bool(REGB1
)) {
9342 /* ./syntax//mmbuilder.nit:1275 */
9343 fra
.me
.REG
[8] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9345 fra
.me
.REG
[9] = NEW_Array_array___Array___with_capacity(REGB1
);
9346 if (!once_value_5
) {
9347 fra
.me
.REG
[10] = BOX_NativeString("A closure '!");
9348 REGB1
= TAG_Int(12);
9349 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB1
);
9350 once_value_5
= fra
.me
.REG
[10];
9351 register_static_object(&once_value_5
);
9352 } else fra
.me
.REG
[10] = once_value_5
;
9353 fra
.me
.REG
[10] = fra
.me
.REG
[10];
9354 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
9355 fra
.me
.REG
[10] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9356 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
9357 if (!once_value_6
) {
9358 fra
.me
.REG
[10] = BOX_NativeString("' already defined at ");
9359 REGB1
= TAG_Int(21);
9360 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB1
);
9361 once_value_6
= fra
.me
.REG
[10];
9362 register_static_object(&once_value_6
);
9363 } else fra
.me
.REG
[10] = once_value_6
;
9364 fra
.me
.REG
[10] = fra
.me
.REG
[10];
9365 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
9366 fra
.me
.REG
[7] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
9367 fra
.me
.REG
[7] = CALL_parser_nodes___ANode___location(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
9368 fra
.me
.REG
[10] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9369 fra
.me
.REG
[10] = CALL_parser_nodes___ANode___location(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
9370 fra
.me
.REG
[10] = CALL_location___Location___relative_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
9371 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
9372 if (!once_value_7
) {
9373 fra
.me
.REG
[10] = BOX_NativeString(".");
9375 fra
.me
.REG
[10] = NEW_String_string___String___with_native(fra
.me
.REG
[10], REGB1
);
9376 once_value_7
= fra
.me
.REG
[10];
9377 register_static_object(&once_value_7
);
9378 } else fra
.me
.REG
[10] = once_value_7
;
9379 fra
.me
.REG
[10] = fra
.me
.REG
[10];
9380 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
9381 fra
.me
.REG
[9] = CALL_string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
9382 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8], fra
.me
.REG
[9]);
9383 /* ./syntax//mmbuilder.nit:1276 */
9386 /* ./../lib/standard//collection//array.nit:239 */
9388 /* ./../lib/standard//kernel.nit:215 */
9389 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
9390 /* ./../lib/standard//collection//array.nit:239 */
9393 /* ./../lib/standard//collection//array.nit:237 */
9398 /* ./syntax//mmbuilder.nit:1279 */
9399 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
9400 /* ./syntax//mmbuilder.nit:1280 */
9401 fra
.me
.REG
[3] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9402 /* ./../lib/standard//collection//array.nit:23 */
9403 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
9404 if (UNTAG_Bool(REGB0
)) {
9406 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
9408 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
9409 /* ./syntax//mmbuilder.nit:1280 */
9410 ATTR_mmbuilder___AClosureDecl____position(fra
.me
.REG
[2]) = REGB0
;
9411 /* ./syntax//mmbuilder.nit:1281 */
9412 fra
.me
.REG
[4] = CALL_mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9413 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
9414 /* ./syntax//mmbuilder.nit:1282 */
9415 fra
.me
.REG
[4] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9416 fra
.me
.REG
[4] = CALL_syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9417 fra
.me
.REG
[3] = CALL_parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9418 fra
.me
.REG
[1] = NEW_ClosureVariable_syntax_base___ClosureVariable___init(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[1]);
9419 ATTR_mmbuilder___AClosureDecl____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
9421 stack_frame_head
= fra
.me
.prev
;
9424 void mmbuilder___AType___check_visibility(val_t p0
, val_t p1
, val_t p2
){
9425 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
9429 static val_t once_value_2
; /* Once value */
9430 static val_t once_value_3
; /* Once value */
9431 static val_t once_value_4
; /* Once value */
9432 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9433 fra
.me
.file
= LOCATE_mmbuilder
;
9435 fra
.me
.meth
= LOCATE_mmbuilder___AType___check_visibility
;
9436 fra
.me
.has_broke
= 0;
9437 fra
.me
.REG_size
= 6;
9438 fra
.me
.REG
[0] = NIT_NULL
;
9439 fra
.me
.REG
[1] = NIT_NULL
;
9440 fra
.me
.REG
[2] = NIT_NULL
;
9441 fra
.me
.REG
[3] = NIT_NULL
;
9442 fra
.me
.REG
[4] = NIT_NULL
;
9443 fra
.me
.REG
[5] = NIT_NULL
;
9447 /* ./syntax//mmbuilder.nit:1290 */
9448 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9449 REGB0
= CALL_abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9451 /* ./../lib/standard//kernel.nit:213 */
9452 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
9453 /* ./syntax//mmbuilder.nit:1290 */
9454 if (UNTAG_Bool(REGB1
)) {
9457 /* ./syntax//mmbuilder.nit:1291 */
9458 fra
.me
.REG
[3] = CALL_syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9459 /* ./syntax//mmbuilder.nit:1292 */
9460 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
9461 if (UNTAG_Bool(REGB1
)) {
9463 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
9464 if (UNTAG_Bool(REGB0
)) {
9465 REGB0
= TAG_Bool(false);
9468 REGB0
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9472 if (UNTAG_Bool(REGB1
)) {
9475 /* ./syntax//mmbuilder.nit:1293 */
9476 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
9477 if (UNTAG_Bool(REGB1
)) {
9478 nit_abort("Reciever is null", NULL
, LOCATE_mmbuilder
, 1293);
9480 fra
.me
.REG
[3] = CALL_static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9481 /* ./syntax//mmbuilder.nit:1294 */
9482 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9483 REGB1
= CALL_abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9485 /* ./../lib/standard//kernel.nit:213 */
9486 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
9487 /* ./syntax//mmbuilder.nit:1294 */
9488 if (UNTAG_Bool(REGB0
)) {
9489 /* ./syntax//mmbuilder.nit:1295 */
9491 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
9492 if (!once_value_2
) {
9493 fra
.me
.REG
[5] = BOX_NativeString("Access error: Class ");
9494 REGB0
= TAG_Int(20);
9495 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
9496 once_value_2
= fra
.me
.REG
[5];
9497 register_static_object(&once_value_2
);
9498 } else fra
.me
.REG
[5] = once_value_2
;
9499 fra
.me
.REG
[5] = fra
.me
.REG
[5];
9500 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
9501 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9502 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9503 if (!once_value_3
) {
9504 fra
.me
.REG
[3] = BOX_NativeString(" is private and cannot be used in the signature of the non-private property ");
9505 REGB0
= TAG_Int(76);
9506 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
9507 once_value_3
= fra
.me
.REG
[3];
9508 register_static_object(&once_value_3
);
9509 } else fra
.me
.REG
[3] = once_value_3
;
9510 fra
.me
.REG
[3] = fra
.me
.REG
[3];
9511 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9512 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9513 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9514 if (!once_value_4
) {
9515 fra
.me
.REG
[3] = BOX_NativeString(".");
9517 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
9518 once_value_4
= fra
.me
.REG
[3];
9519 register_static_object(&once_value_4
);
9520 } else fra
.me
.REG
[3] = once_value_4
;
9521 fra
.me
.REG
[3] = fra
.me
.REG
[3];
9522 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
9523 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9524 CALL_syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
9526 /* ./syntax//mmbuilder.nit:1297 */
9527 fra
.me
.REG
[0] = CALL_parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9528 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_mmbuilder___AType___check_visibility_5
));
9530 stack_frame_head
= fra
.me
.prev
;
9533 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
){
9534 struct {struct stack_frame_t me
;} fra
;
9537 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9538 fra
.me
.file
= LOCATE_mmbuilder
;
9540 fra
.me
.meth
= LOCATE_mmbuilder___AType___check_visibility
;
9541 fra
.me
.has_broke
= 0;
9542 fra
.me
.REG_size
= 1;
9543 fra
.me
.REG
[0] = NIT_NULL
;
9544 fra
.me
.closure_ctx
= closctx_param
;
9545 fra
.me
.closure_funs
= CREG
;
9547 CREG
[0] = clos_fun0
;
9548 /* ./syntax//mmbuilder.nit:1298 */
9549 CALL_mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
9550 stack_frame_head
= fra
.me
.prev
;
9553 void mmbuilder___AExpr___accept_class_builder(val_t p0
, val_t p1
){
9554 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9556 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9557 fra
.me
.file
= LOCATE_mmbuilder
;
9559 fra
.me
.meth
= LOCATE_mmbuilder___AExpr___accept_class_builder
;
9560 fra
.me
.has_broke
= 0;
9561 fra
.me
.REG_size
= 2;
9562 fra
.me
.REG
[0] = NIT_NULL
;
9563 fra
.me
.REG
[1] = NIT_NULL
;
9566 stack_frame_head
= fra
.me
.prev
;
9569 void mmbuilder___AExpr___accept_property_builder(val_t p0
, val_t p1
){
9570 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9572 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9573 fra
.me
.file
= LOCATE_mmbuilder
;
9575 fra
.me
.meth
= LOCATE_mmbuilder___AExpr___accept_property_builder
;
9576 fra
.me
.has_broke
= 0;
9577 fra
.me
.REG_size
= 2;
9578 fra
.me
.REG
[0] = NIT_NULL
;
9579 fra
.me
.REG
[1] = NIT_NULL
;
9582 stack_frame_head
= fra
.me
.prev
;
9585 void mmbuilder___AExpr___accept_property_verifier(val_t p0
, val_t p1
){
9586 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9588 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9589 fra
.me
.file
= LOCATE_mmbuilder
;
9591 fra
.me
.meth
= LOCATE_mmbuilder___AExpr___accept_property_verifier
;
9592 fra
.me
.has_broke
= 0;
9593 fra
.me
.REG_size
= 2;
9594 fra
.me
.REG
[0] = NIT_NULL
;
9595 fra
.me
.REG
[1] = NIT_NULL
;
9598 stack_frame_head
= fra
.me
.prev
;