1 /* This C file is generated by NIT to compile module syntax___mmbuilder. */
2 #include "syntax___mmbuilder._sep.h"
3 static const char LOCATE_syntax___mmbuilder___ToolContext___handle_property_conflict
[] = "mmbuilder::ToolContext::(inheritance::MMContext::handle_property_conflict)";
4 void syntax___mmbuilder___ToolContext___handle_property_conflict(val_t p0
, val_t p1
, val_t p2
){
5 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
10 static val_t once_value_2
; /* Once value */
11 static val_t once_value_3
; /* Once value */
12 static val_t once_value_4
; /* Once value */
13 static val_t once_value_5
; /* Once value */
14 static val_t once_value_6
; /* Once value */
15 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
16 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
18 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ToolContext___handle_property_conflict
;
21 fra
.me
.nitni_local_ref_head
= NULL
;
22 fra
.me
.REG
[0] = NIT_NULL
;
23 fra
.me
.REG
[1] = NIT_NULL
;
24 fra
.me
.REG
[2] = NIT_NULL
;
25 fra
.me
.REG
[3] = NIT_NULL
;
26 fra
.me
.REG
[4] = NIT_NULL
;
27 fra
.me
.REG
[5] = NIT_NULL
;
28 fra
.me
.REG
[6] = NIT_NULL
;
29 fra
.me
.REG
[7] = NIT_NULL
;
33 /* syntax/mmbuilder.nit:28 */
34 fra
.me
.REG
[3] = NIT_NULL
;
35 /* syntax/mmbuilder.nit:29 */
36 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_syntax___syntax_base___MMSrcLocalClass
, ID_syntax___syntax_base___MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
37 if (UNTAG_Bool(REGB0
)) {
38 /* syntax/mmbuilder.nit:30 */
39 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
40 /* syntax/mmbuilder.nit:31 */
41 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
42 if (UNTAG_Bool(REGB0
)) {
44 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
45 if (UNTAG_Bool(REGB1
)) {
49 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
53 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
54 if (UNTAG_Bool(REGB0
)) {
55 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
56 if (UNTAG_Bool(REGB0
)) {
57 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 31);
59 CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
62 /* syntax/mmbuilder.nit:34 */
63 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
64 /* ../lib/standard/collection/array.nit:267 */
65 fra
.me
.REG
[5] = fra
.me
.REG
[2];
66 /* ../lib/standard/collection/array.nit:270 */
68 /* ../lib/standard/collection/array.nit:271 */
69 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
70 if (UNTAG_Bool(REGB1
)) {
72 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
74 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
75 /* ../lib/standard/collection/array.nit:272 */
76 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
77 /* ../lib/standard/collection/array.nit:273 */
79 /* ../lib/standard/collection/array.nit:24 */
80 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
81 if (UNTAG_Bool(REGB1
)) {
83 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
85 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
86 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
87 if (UNTAG_Bool(REGB2
)) {
89 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
91 /* ../lib/standard/kernel.nit:242 */
92 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
93 /* ../lib/standard/collection/array.nit:273 */
94 if (UNTAG_Bool(REGB1
)) {
95 /* ../lib/standard/collection/array.nit:274 */
96 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
97 if (UNTAG_Bool(REGB1
)) {
98 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
100 /* ../lib/standard/collection/array.nit:725 */
101 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
102 /* syntax/mmbuilder.nit:36 */
103 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
105 /* ../lib/standard/collection/array.nit:275 */
107 /* ../lib/standard/kernel.nit:245 */
108 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
109 /* ../lib/standard/collection/array.nit:275 */
112 /* ../lib/standard/collection/array.nit:273 */
117 /* syntax/mmbuilder.nit:38 */
119 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
121 fra
.me
.REG
[5] = BOX_NativeString("Property inheritance conflict in class ");
123 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
124 once_value_2
= fra
.me
.REG
[5];
125 register_static_object(&once_value_2
);
126 } else fra
.me
.REG
[5] = once_value_2
;
127 fra
.me
.REG
[5] = fra
.me
.REG
[5];
128 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
129 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
130 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
132 fra
.me
.REG
[1] = BOX_NativeString(" for `");
134 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
135 once_value_3
= fra
.me
.REG
[1];
136 register_static_object(&once_value_3
);
137 } else fra
.me
.REG
[1] = once_value_3
;
138 fra
.me
.REG
[1] = fra
.me
.REG
[1];
139 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
140 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
141 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
142 if (UNTAG_Bool(REGB0
)) {
143 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 38);
145 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
146 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
149 fra
.me
.REG
[2] = BOX_NativeString("': conflicting properties are defined in ");
151 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
152 once_value_4
= fra
.me
.REG
[2];
153 register_static_object(&once_value_4
);
154 } else fra
.me
.REG
[2] = once_value_4
;
155 fra
.me
.REG
[2] = fra
.me
.REG
[2];
156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
158 fra
.me
.REG
[2] = BOX_NativeString(", ");
160 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
161 once_value_5
= fra
.me
.REG
[2];
162 register_static_object(&once_value_5
);
163 } else fra
.me
.REG
[2] = once_value_5
;
164 fra
.me
.REG
[2] = fra
.me
.REG
[2];
165 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
166 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
168 fra
.me
.REG
[2] = BOX_NativeString("");
170 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
171 once_value_6
= fra
.me
.REG
[2];
172 register_static_object(&once_value_6
);
173 } else fra
.me
.REG
[2] = once_value_6
;
174 fra
.me
.REG
[2] = fra
.me
.REG
[2];
175 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[2]);
176 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
177 CALL_toolcontext___ToolContext___fatal_error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3], fra
.me
.REG
[6]);
178 stack_frame_head
= fra
.me
.prev
;
181 static const char LOCATE_syntax___mmbuilder___CSHSorter___compare
[] = "mmbuilder::CSHSorter::(sorter::AbstractSorter::compare)";
182 val_t
syntax___mmbuilder___CSHSorter___compare(val_t p0
, val_t p1
, val_t p2
){
183 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
187 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
188 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
190 fra
.me
.meth
= LOCATE_syntax___mmbuilder___CSHSorter___compare
;
191 fra
.me
.has_broke
= 0;
193 fra
.me
.nitni_local_ref_head
= NULL
;
194 fra
.me
.REG
[0] = NIT_NULL
;
195 fra
.me
.REG
[1] = NIT_NULL
;
196 fra
.me
.REG
[2] = NIT_NULL
;
200 /* syntax/mmbuilder.nit:47 */
201 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
202 REGB0
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
203 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
204 REGB1
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
205 REGB1
= CALL_standard___kernel___Comparable_____leqg(REGB0
)(REGB0
, REGB1
);
208 stack_frame_head
= fra
.me
.prev
;
211 static const char LOCATE_syntax___mmbuilder___CSHSorter___init
[] = "mmbuilder::CSHSorter::init";
212 void syntax___mmbuilder___CSHSorter___init(val_t p0
, int* init_table
){
213 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___CSHSorter
].i
;
214 struct {struct stack_frame_t me
;} fra
;
216 if (init_table
[itpos0
]) return;
217 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
218 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
220 fra
.me
.meth
= LOCATE_syntax___mmbuilder___CSHSorter___init
;
221 fra
.me
.has_broke
= 0;
223 fra
.me
.nitni_local_ref_head
= NULL
;
224 fra
.me
.REG
[0] = NIT_NULL
;
226 stack_frame_head
= fra
.me
.prev
;
227 init_table
[itpos0
] = 1;
230 static const char LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
[] = "mmbuilder::MMSrcModule::do_mmbuilder";
231 void syntax___mmbuilder___MMSrcModule___do_mmbuilder(val_t p0
, val_t p1
){
232 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
237 static val_t once_value_3
; /* Once value */
238 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
239 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
241 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
;
242 fra
.me
.has_broke
= 0;
244 fra
.me
.nitni_local_ref_head
= NULL
;
245 fra
.me
.REG
[0] = NIT_NULL
;
246 fra
.me
.REG
[1] = NIT_NULL
;
247 fra
.me
.REG
[2] = NIT_NULL
;
248 fra
.me
.REG
[3] = NIT_NULL
;
249 fra
.me
.REG
[4] = NIT_NULL
;
250 fra
.me
.REG
[5] = NIT_NULL
;
251 fra
.me
.REG
[6] = NIT_NULL
;
252 fra
.me
.REG
[7] = NIT_NULL
;
255 /* syntax/mmbuilder.nit:59 */
256 CALL_metamodel___inheritance___MMModule___import_global_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
257 /* syntax/mmbuilder.nit:62 */
258 fra
.me
.REG
[2] = NEW_ClassBuilderVisitor_syntax___mmbuilder___ClassBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
259 /* syntax/mmbuilder.nit:63 */
260 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
261 CALL_parser___parser_nodes___Visitor___enter_visit(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
262 /* syntax/mmbuilder.nit:64 */
263 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
264 /* syntax/mmbuilder.nit:66 */
265 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
266 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
267 if (UNTAG_Bool(REGB0
)) {
268 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 66);
270 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
271 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
272 if (UNTAG_Bool(REGB0
)) {
273 /* syntax/mmbuilder.nit:67 */
274 CALL_syntax___mmbuilder___MMSrcModule___process_default_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
276 /* syntax/mmbuilder.nit:71 */
277 CALL_metamodel___inheritance___MMModule___import_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
278 /* syntax/mmbuilder.nit:74 */
279 fra
.me
.REG
[3] = NEW_ClassSpecializationBuilderVisitor_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
280 /* syntax/mmbuilder.nit:75 */
281 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
282 CALL_parser___parser_nodes___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
283 /* syntax/mmbuilder.nit:76 */
284 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
285 /* syntax/mmbuilder.nit:79 */
286 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
287 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcModule___do_mmbuilder_1
));
288 /* syntax/mmbuilder.nit:85 */
289 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
290 /* syntax/mmbuilder.nit:90 */
291 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___class_specialization_hierarchy(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
292 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
293 /* syntax/mmbuilder.nit:93 */
295 fra
.me
.REG
[3] = NEW_CSHSorter_syntax___mmbuilder___CSHSorter___init();
296 once_value_3
= fra
.me
.REG
[3];
297 register_static_object(&once_value_3
);
298 } else fra
.me
.REG
[3] = once_value_3
;
299 fra
.me
.REG
[3] = fra
.me
.REG
[3];
300 /* syntax/mmbuilder.nit:94 */
301 CALL_standard___collection___sorter___AbstractSorter___sort(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
302 /* syntax/mmbuilder.nit:97 */
303 fra
.me
.REG
[3] = NEW_ClassAncestorBuilder_syntax___mmbuilder___ClassAncestorBuilder___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
304 /* ../lib/standard/collection/array.nit:267 */
305 fra
.me
.REG
[4] = fra
.me
.REG
[2];
306 /* ../lib/standard/collection/array.nit:270 */
308 /* ../lib/standard/collection/array.nit:271 */
309 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
310 if (UNTAG_Bool(REGB1
)) {
312 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
314 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
315 /* ../lib/standard/collection/array.nit:272 */
316 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
317 /* ../lib/standard/collection/array.nit:273 */
319 /* ../lib/standard/collection/array.nit:24 */
320 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
321 if (UNTAG_Bool(REGB1
)) {
323 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
325 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
326 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
327 if (UNTAG_Bool(REGB2
)) {
329 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
331 /* ../lib/standard/kernel.nit:242 */
332 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
333 /* ../lib/standard/collection/array.nit:273 */
334 if (UNTAG_Bool(REGB1
)) {
335 /* ../lib/standard/collection/array.nit:274 */
336 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
337 if (UNTAG_Bool(REGB1
)) {
338 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
340 /* ../lib/standard/collection/array.nit:725 */
341 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
342 /* syntax/mmbuilder.nit:99 */
343 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
344 /* syntax/mmbuilder.nit:100 */
345 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
346 /* syntax/mmbuilder.nit:101 */
347 CALL_metamodel___inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
348 /* ../lib/standard/collection/array.nit:275 */
350 /* ../lib/standard/kernel.nit:245 */
351 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
352 /* ../lib/standard/collection/array.nit:275 */
355 /* ../lib/standard/collection/array.nit:273 */
360 /* syntax/mmbuilder.nit:105 */
361 fra
.me
.REG
[3] = NEW_ClassVerifierVisitor_syntax___mmbuilder___ClassVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
362 /* ../lib/standard/collection/array.nit:267 */
363 fra
.me
.REG
[5] = fra
.me
.REG
[2];
364 /* ../lib/standard/collection/array.nit:270 */
366 /* ../lib/standard/collection/array.nit:271 */
367 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
368 if (UNTAG_Bool(REGB1
)) {
370 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
372 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
373 /* ../lib/standard/collection/array.nit:272 */
374 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
375 /* ../lib/standard/collection/array.nit:273 */
377 /* ../lib/standard/collection/array.nit:24 */
378 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
379 if (UNTAG_Bool(REGB1
)) {
381 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
383 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
384 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
385 if (UNTAG_Bool(REGB2
)) {
387 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
389 /* ../lib/standard/kernel.nit:242 */
390 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
391 /* ../lib/standard/collection/array.nit:273 */
392 if (UNTAG_Bool(REGB1
)) {
393 /* ../lib/standard/collection/array.nit:274 */
394 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
395 if (UNTAG_Bool(REGB1
)) {
396 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
398 /* ../lib/standard/collection/array.nit:725 */
399 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
400 /* syntax/mmbuilder.nit:107 */
401 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
402 /* ../lib/standard/collection/array.nit:275 */
404 /* ../lib/standard/kernel.nit:245 */
405 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
406 /* ../lib/standard/collection/array.nit:275 */
409 /* ../lib/standard/collection/array.nit:273 */
414 /* syntax/mmbuilder.nit:109 */
415 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
416 /* syntax/mmbuilder.nit:112 */
417 fra
.me
.REG
[3] = NEW_PropertyBuilderVisitor_syntax___mmbuilder___PropertyBuilderVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
418 /* ../lib/standard/collection/array.nit:267 */
419 fra
.me
.REG
[4] = fra
.me
.REG
[2];
420 /* ../lib/standard/collection/array.nit:270 */
422 /* ../lib/standard/collection/array.nit:271 */
423 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
424 if (UNTAG_Bool(REGB1
)) {
426 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
428 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
429 /* ../lib/standard/collection/array.nit:272 */
430 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
431 /* ../lib/standard/collection/array.nit:273 */
433 /* ../lib/standard/collection/array.nit:24 */
434 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
435 if (UNTAG_Bool(REGB1
)) {
437 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
439 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
440 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
441 if (UNTAG_Bool(REGB2
)) {
443 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
445 /* ../lib/standard/kernel.nit:242 */
446 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
447 /* ../lib/standard/collection/array.nit:273 */
448 if (UNTAG_Bool(REGB1
)) {
449 /* ../lib/standard/collection/array.nit:274 */
450 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
451 if (UNTAG_Bool(REGB1
)) {
452 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
454 /* ../lib/standard/collection/array.nit:725 */
455 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
456 /* syntax/mmbuilder.nit:115 */
457 CALL_syntax___mmbuilder___MMLocalClass___accept_class_visitor(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
458 /* syntax/mmbuilder.nit:118 */
459 REGB1
= TAG_Bool(VAL_ISA(fra
.me
.REG
[6], COLOR_syntax___syntax_base___MMSrcLocalClass
, ID_syntax___syntax_base___MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
460 if (UNTAG_Bool(REGB1
)) {
461 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
462 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
463 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[7],fra
.me
.REG
[6]));
464 if (UNTAG_Bool(REGB1
)) {
466 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
473 if (UNTAG_Bool(REGB1
)) {
474 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
475 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
476 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
481 if (UNTAG_Bool(REGB1
)) {
482 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
483 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
484 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
489 if (UNTAG_Bool(REGB1
)) {
490 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
491 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
492 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
497 if (UNTAG_Bool(REGB1
)) {
498 /* syntax/mmbuilder.nit:119 */
499 CALL_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3]);
501 /* ../lib/standard/collection/array.nit:275 */
503 /* ../lib/standard/kernel.nit:245 */
504 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
505 /* ../lib/standard/collection/array.nit:275 */
508 /* ../lib/standard/collection/array.nit:273 */
513 /* syntax/mmbuilder.nit:124 */
514 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
515 /* syntax/mmbuilder.nit:127 */
516 fra
.me
.REG
[0] = NEW_PropertyVerifierVisitor_syntax___mmbuilder___PropertyVerifierVisitor___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
517 /* ../lib/standard/collection/array.nit:270 */
519 /* ../lib/standard/collection/array.nit:271 */
520 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
521 if (UNTAG_Bool(REGB1
)) {
523 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
525 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
526 /* ../lib/standard/collection/array.nit:272 */
527 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
528 /* ../lib/standard/collection/array.nit:273 */
530 /* ../lib/standard/collection/array.nit:24 */
531 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
532 if (UNTAG_Bool(REGB1
)) {
534 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
536 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
537 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
538 if (UNTAG_Bool(REGB2
)) {
540 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
542 /* ../lib/standard/kernel.nit:242 */
543 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
544 /* ../lib/standard/collection/array.nit:273 */
545 if (UNTAG_Bool(REGB1
)) {
546 /* ../lib/standard/collection/array.nit:274 */
547 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
548 if (UNTAG_Bool(REGB1
)) {
549 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
551 /* ../lib/standard/collection/array.nit:725 */
552 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
553 /* syntax/mmbuilder.nit:129 */
554 CALL_syntax___mmbuilder___MMLocalClass___accept_properties_visitor(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
555 /* ../lib/standard/collection/array.nit:275 */
557 /* ../lib/standard/kernel.nit:245 */
558 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
559 /* ../lib/standard/collection/array.nit:275 */
562 /* ../lib/standard/collection/array.nit:273 */
567 /* syntax/mmbuilder.nit:132 */
568 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
569 stack_frame_head
= fra
.me
.prev
;
572 void OC_syntax___mmbuilder___MMSrcModule___do_mmbuilder_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
573 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
579 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
580 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
582 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___do_mmbuilder
;
583 fra
.me
.has_broke
= 0;
585 fra
.me
.nitni_local_ref_head
= NULL
;
586 fra
.me
.REG
[0] = NIT_NULL
;
587 fra
.me
.REG
[1] = NIT_NULL
;
588 fra
.me
.closure_ctx
= closctx_param
;
589 fra
.me
.closure_funs
= CREG
;
592 /* syntax/mmbuilder.nit:80 */
593 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
594 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
595 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
596 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___visibility_for(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
597 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
598 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
599 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
600 if (UNTAG_Bool(REGB2
)) {
602 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
604 /* ../lib/standard/kernel.nit:242 */
605 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
606 /* syntax/mmbuilder.nit:80 */
607 if (UNTAG_Bool(REGB1
)) {
608 /* syntax/mmbuilder.nit:81 */
611 /* syntax/mmbuilder.nit:83 */
612 CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
614 stack_frame_head
= fra
.me
.prev
;
617 static const char LOCATE_syntax___mmbuilder___MMSrcModule___process_default_classes
[] = "mmbuilder::MMSrcModule::process_default_classes";
618 void syntax___mmbuilder___MMSrcModule___process_default_classes(val_t p0
, val_t p1
){
619 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
622 static val_t once_value_1
; /* Once value */
623 static val_t once_value_2
; /* Once value */
624 static val_t once_value_3
; /* Once value */
625 static val_t once_value_4
; /* Once value */
626 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
627 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
629 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcModule___process_default_classes
;
630 fra
.me
.has_broke
= 0;
632 fra
.me
.nitni_local_ref_head
= NULL
;
633 fra
.me
.REG
[0] = NIT_NULL
;
634 fra
.me
.REG
[1] = NIT_NULL
;
635 fra
.me
.REG
[2] = NIT_NULL
;
636 fra
.me
.REG
[3] = NIT_NULL
;
639 /* syntax/mmbuilder.nit:138 */
642 fra
.me
.REG
[1] = BOX_NativeString("Object");
644 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
645 once_value_2
= fra
.me
.REG
[1];
646 register_static_object(&once_value_2
);
647 } else fra
.me
.REG
[1] = once_value_2
;
648 fra
.me
.REG
[1] = fra
.me
.REG
[1];
649 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
650 once_value_1
= fra
.me
.REG
[1];
651 register_static_object(&once_value_1
);
652 } else fra
.me
.REG
[1] = once_value_1
;
653 fra
.me
.REG
[1] = fra
.me
.REG
[1];
654 /* syntax/mmbuilder.nit:139 */
655 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
656 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
657 if (UNTAG_Bool(REGB0
)) {
658 /* syntax/mmbuilder.nit:140 */
660 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
661 /* syntax/mmbuilder.nit:141 */
662 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
663 /* syntax/mmbuilder.nit:142 */
664 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
665 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[2]);
667 /* syntax/mmbuilder.nit:144 */
670 fra
.me
.REG
[2] = BOX_NativeString("Bool");
672 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
673 once_value_4
= fra
.me
.REG
[2];
674 register_static_object(&once_value_4
);
675 } else fra
.me
.REG
[2] = once_value_4
;
676 fra
.me
.REG
[2] = fra
.me
.REG
[2];
677 fra
.me
.REG
[2] = CALL_symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
678 once_value_3
= fra
.me
.REG
[2];
679 register_static_object(&once_value_3
);
680 } else fra
.me
.REG
[2] = once_value_3
;
681 fra
.me
.REG
[2] = fra
.me
.REG
[2];
682 fra
.me
.REG
[1] = fra
.me
.REG
[2];
683 /* syntax/mmbuilder.nit:145 */
684 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
685 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
686 if (UNTAG_Bool(REGB0
)) {
687 /* syntax/mmbuilder.nit:146 */
689 fra
.me
.REG
[2] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, REGB0
);
690 /* syntax/mmbuilder.nit:147 */
691 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
692 /* syntax/mmbuilder.nit:148 */
693 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
694 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
696 stack_frame_head
= fra
.me
.prev
;
699 static const char LOCATE_syntax___mmbuilder___MMLocalClass___accept_class_visitor
[] = "mmbuilder::MMLocalClass::accept_class_visitor";
700 void syntax___mmbuilder___MMLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
701 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
703 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
704 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
706 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalClass___accept_class_visitor
;
707 fra
.me
.has_broke
= 0;
709 fra
.me
.nitni_local_ref_head
= NULL
;
710 fra
.me
.REG
[0] = NIT_NULL
;
711 fra
.me
.REG
[1] = NIT_NULL
;
714 stack_frame_head
= fra
.me
.prev
;
717 static const char LOCATE_syntax___mmbuilder___MMLocalClass___accept_properties_visitor
[] = "mmbuilder::MMLocalClass::accept_properties_visitor";
718 void syntax___mmbuilder___MMLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
719 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
721 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
722 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
724 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalClass___accept_properties_visitor
;
725 fra
.me
.has_broke
= 0;
727 fra
.me
.nitni_local_ref_head
= NULL
;
728 fra
.me
.REG
[0] = NIT_NULL
;
729 fra
.me
.REG
[1] = NIT_NULL
;
732 stack_frame_head
= fra
.me
.prev
;
735 static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor
[] = "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_class_visitor)";
736 void syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t p0
, val_t p1
){
737 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
741 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
742 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
744 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_class_visitor
;
745 fra
.me
.has_broke
= 0;
747 fra
.me
.nitni_local_ref_head
= NULL
;
748 fra
.me
.REG
[0] = NIT_NULL
;
749 fra
.me
.REG
[1] = NIT_NULL
;
750 fra
.me
.REG
[2] = NIT_NULL
;
753 /* syntax/mmbuilder.nit:168 */
754 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
755 /* syntax/mmbuilder.nit:169 */
757 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
758 if (UNTAG_Bool(REGB0
)) {
760 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
761 if (UNTAG_Bool(REGB1
)) {
765 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
769 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
770 if (UNTAG_Bool(REGB0
)) {
771 /* syntax/mmbuilder.nit:170 */
772 CALL_parser___parser_nodes___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
773 /* syntax/mmbuilder.nit:171 */
774 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
775 if (UNTAG_Bool(REGB0
)) {
776 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 171);
778 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
779 fra
.me
.REG
[0] = fra
.me
.REG
[2];
781 /* syntax/mmbuilder.nit:169 */
786 stack_frame_head
= fra
.me
.prev
;
789 static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
[] = "mmbuilder::MMSrcLocalClass::(mmbuilder::MMLocalClass::accept_properties_visitor)";
790 void syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t p0
, val_t p1
){
791 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
795 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
796 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
798 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
799 fra
.me
.has_broke
= 0;
801 fra
.me
.nitni_local_ref_head
= NULL
;
802 fra
.me
.REG
[0] = NIT_NULL
;
803 fra
.me
.REG
[1] = NIT_NULL
;
804 fra
.me
.REG
[2] = NIT_NULL
;
805 fra
.me
.REG
[3] = NIT_NULL
;
808 /* syntax/mmbuilder.nit:178 */
809 fra
.me
.REG
[2] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
810 /* syntax/mmbuilder.nit:179 */
812 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
813 if (UNTAG_Bool(REGB0
)) {
815 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
816 if (UNTAG_Bool(REGB1
)) {
820 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
824 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
825 if (UNTAG_Bool(REGB0
)) {
826 /* syntax/mmbuilder.nit:180 */
827 CALL_parser___parser_nodes___Visitor___enter_visit(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
828 /* syntax/mmbuilder.nit:181 */
829 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
830 if (UNTAG_Bool(REGB0
)) {
831 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 181);
833 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
834 fra
.me
.REG
[2] = fra
.me
.REG
[3];
836 /* syntax/mmbuilder.nit:179 */
841 /* syntax/mmbuilder.nit:184 */
842 fra
.me
.REG
[0] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
843 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
844 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor_2
));
845 stack_frame_head
= fra
.me
.prev
;
848 void OC_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
849 struct {struct stack_frame_t me
;} fra
;
852 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
853 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
855 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___accept_properties_visitor
;
856 fra
.me
.has_broke
= 0;
858 fra
.me
.nitni_local_ref_head
= NULL
;
859 fra
.me
.REG
[0] = NIT_NULL
;
860 fra
.me
.closure_ctx
= closctx_param
;
861 fra
.me
.closure_funs
= CREG
;
864 /* syntax/mmbuilder.nit:185 */
865 CALL_syntax___mmbuilder___MMLocalProperty___accept_property_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
866 stack_frame_head
= fra
.me
.prev
;
869 static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
[] = "mmbuilder::MMSrcLocalClass::process_default_constructors";
870 void syntax___mmbuilder___MMSrcLocalClass___process_default_constructors(val_t p0
, val_t p1
){
871 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
876 static val_t once_value_7
; /* Once value */
877 static val_t once_value_8
; /* Once value */
878 static val_t once_value_13
; /* Once value */
879 static val_t once_value_14
; /* Once value */
880 static val_t once_value_15
; /* Once value */
881 static val_t once_value_16
; /* Once value */
882 static val_t once_value_17
; /* Once value */
883 static val_t once_value_18
; /* Once value */
884 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
885 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
887 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
888 fra
.me
.has_broke
= 0;
889 fra
.me
.REG_size
= 11;
890 fra
.me
.nitni_local_ref_head
= NULL
;
891 fra
.me
.REG
[0] = NIT_NULL
;
892 fra
.me
.REG
[1] = NIT_NULL
;
893 fra
.me
.REG
[2] = NIT_NULL
;
894 fra
.me
.REG
[3] = NIT_NULL
;
895 fra
.me
.REG
[4] = NIT_NULL
;
896 fra
.me
.REG
[5] = NIT_NULL
;
897 fra
.me
.REG
[6] = NIT_NULL
;
898 fra
.me
.REG
[7] = NIT_NULL
;
899 fra
.me
.REG
[8] = NIT_NULL
;
900 fra
.me
.REG
[9] = NIT_NULL
;
901 fra
.me
.REG
[10] = NIT_NULL
;
904 /* syntax/mmbuilder.nit:189 */
905 fra
.me
.REG
[2] = fra
.me
.REG
[0];
906 /* syntax/mmbuilder.nit:193 */
907 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
908 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_1
));
909 switch ((&(fra
.me
))->has_broke
) {
911 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
913 /* syntax/mmbuilder.nit:201 */
914 fra
.me
.REG
[3] = NEW_ArraySet_standard___collection___array___ArraySet___init();
915 /* syntax/mmbuilder.nit:202 */
916 fra
.me
.REG
[4] = NEW_ArraySet_standard___collection___array___ArraySet___init();
917 /* syntax/mmbuilder.nit:203 */
918 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
919 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
920 /* ../lib/standard/collection/array.nit:270 */
922 /* ../lib/standard/collection/array.nit:271 */
923 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
924 if (UNTAG_Bool(REGB1
)) {
926 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
928 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
929 /* ../lib/standard/collection/array.nit:272 */
930 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
931 /* ../lib/standard/collection/array.nit:273 */
933 /* ../lib/standard/collection/array.nit:24 */
934 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
935 if (UNTAG_Bool(REGB1
)) {
937 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
939 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
940 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
941 if (UNTAG_Bool(REGB2
)) {
943 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
945 /* ../lib/standard/kernel.nit:242 */
946 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
947 /* ../lib/standard/collection/array.nit:273 */
948 if (UNTAG_Bool(REGB1
)) {
949 /* ../lib/standard/collection/array.nit:274 */
950 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
951 if (UNTAG_Bool(REGB1
)) {
952 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
954 /* ../lib/standard/collection/array.nit:725 */
955 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
956 /* syntax/mmbuilder.nit:204 */
957 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
958 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
959 if (UNTAG_Bool(REGB1
)) {
960 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
961 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
962 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
967 if (UNTAG_Bool(REGB1
)) {
970 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
971 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
974 if (UNTAG_Bool(REGB1
)) {
977 /* syntax/mmbuilder.nit:205 */
978 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
979 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[8])(fra
.me
.REG
[8], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_5
));
980 /* syntax/mmbuilder.nit:209 */
983 fra
.me
.REG
[8] = BOX_NativeString("init");
985 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
986 once_value_8
= fra
.me
.REG
[8];
987 register_static_object(&once_value_8
);
988 } else fra
.me
.REG
[8] = once_value_8
;
989 fra
.me
.REG
[8] = fra
.me
.REG
[8];
990 fra
.me
.REG
[8] = CALL_symbol___String___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
991 once_value_7
= fra
.me
.REG
[8];
992 register_static_object(&once_value_7
);
993 } else fra
.me
.REG
[8] = once_value_7
;
994 fra
.me
.REG
[8] = fra
.me
.REG
[8];
995 /* syntax/mmbuilder.nit:210 */
996 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
997 if (UNTAG_Bool(REGB1
)) {
998 /* syntax/mmbuilder.nit:211 */
999 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1000 /* syntax/mmbuilder.nit:212 */
1001 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
1002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8]);
1005 /* ../lib/standard/collection/array.nit:275 */
1007 /* ../lib/standard/kernel.nit:245 */
1008 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1009 /* ../lib/standard/collection/array.nit:275 */
1012 /* ../lib/standard/collection/array.nit:273 */
1017 /* syntax/mmbuilder.nit:217 */
1018 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___init();
1019 /* syntax/mmbuilder.nit:218 */
1020 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1021 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1022 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[5])(fra
.me
.REG
[5], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_10
));
1023 /* syntax/mmbuilder.nit:225 */
1024 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1025 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1026 if (UNTAG_Bool(REGB0
)) {
1027 /* syntax/mmbuilder.nit:228 */
1028 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
1029 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_11
));
1030 /* syntax/mmbuilder.nit:236 */
1031 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1032 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1033 fra
.me
.REG
[8] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[5]);
1034 fra
.me
.REG
[5] = fra
.me
.REG
[8];
1035 /* syntax/mmbuilder.nit:239 */
1036 fra
.me
.REG
[8] = NIT_NULL
;
1037 /* ../lib/standard/collection/array.nit:24 */
1038 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1039 if (UNTAG_Bool(REGB0
)) {
1041 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1043 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1044 /* syntax/mmbuilder.nit:241 */
1046 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1047 if (UNTAG_Bool(REGB2
)) {
1049 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1051 /* ../lib/standard/kernel.nit:244 */
1052 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1053 /* syntax/mmbuilder.nit:241 */
1054 if (UNTAG_Bool(REGB1
)) {
1055 /* syntax/mmbuilder.nit:242 */
1056 fra
.me
.REG
[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1058 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1059 if (!once_value_13
) {
1060 fra
.me
.REG
[10] = BOX_NativeString("Error: Explicit constructor required in ");
1061 REGB1
= TAG_Int(40);
1062 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB1
);
1063 once_value_13
= fra
.me
.REG
[10];
1064 register_static_object(&once_value_13
);
1065 } else fra
.me
.REG
[10] = once_value_13
;
1066 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1068 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1070 if (!once_value_14
) {
1071 fra
.me
.REG
[10] = BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are ");
1072 REGB1
= TAG_Int(80);
1073 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB1
);
1074 once_value_14
= fra
.me
.REG
[10];
1075 register_static_object(&once_value_14
);
1076 } else fra
.me
.REG
[10] = once_value_14
;
1077 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1078 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1079 if (!once_value_15
) {
1080 fra
.me
.REG
[10] = BOX_NativeString(", ");
1082 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB1
);
1083 once_value_15
= fra
.me
.REG
[10];
1084 register_static_object(&once_value_15
);
1085 } else fra
.me
.REG
[10] = once_value_15
;
1086 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1087 fra
.me
.REG
[10] = CALL_standard___string___Collection___join(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[10]);
1088 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1089 if (!once_value_16
) {
1090 fra
.me
.REG
[10] = BOX_NativeString(". Costructors are ");
1091 REGB1
= TAG_Int(18);
1092 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB1
);
1093 once_value_16
= fra
.me
.REG
[10];
1094 register_static_object(&once_value_16
);
1095 } else fra
.me
.REG
[10] = once_value_16
;
1096 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1098 if (!once_value_17
) {
1099 fra
.me
.REG
[10] = BOX_NativeString(", ");
1101 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB1
);
1102 once_value_17
= fra
.me
.REG
[10];
1103 register_static_object(&once_value_17
);
1104 } else fra
.me
.REG
[10] = once_value_17
;
1105 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1106 fra
.me
.REG
[10] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[10]);
1107 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1108 if (!once_value_18
) {
1109 fra
.me
.REG
[10] = BOX_NativeString(".");
1111 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB1
);
1112 once_value_18
= fra
.me
.REG
[10];
1113 register_static_object(&once_value_18
);
1114 } else fra
.me
.REG
[10] = once_value_18
;
1115 fra
.me
.REG
[10] = fra
.me
.REG
[10];
1116 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
1117 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
1118 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7], fra
.me
.REG
[9]);
1119 /* syntax/mmbuilder.nit:243 */
1122 /* ../lib/standard/collection/array.nit:24 */
1123 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1124 if (UNTAG_Bool(REGB1
)) {
1126 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1128 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1129 /* syntax/mmbuilder.nit:244 */
1131 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
1132 if (UNTAG_Bool(REGB2
)) {
1134 /* ../lib/standard/kernel.nit:237 */
1135 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
1136 /* syntax/mmbuilder.nit:244 */
1139 if (UNTAG_Bool(REGB2
)) {
1140 /* syntax/mmbuilder.nit:245 */
1141 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1142 fra
.me
.REG
[8] = fra
.me
.REG
[5];
1145 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_19
));
1146 /* syntax/mmbuilder.nit:254 */
1147 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1148 REGB2
= TAG_Bool(fra
.me
.REG
[8]!=NIT_NULL
);
1149 if (UNTAG_Bool(REGB2
)) {
1151 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 254);
1153 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1154 if (UNTAG_Bool(REGB2
)) {
1155 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 254);
1157 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1158 CALL_metamodel___abstractmetamodel___MMGlobalClass___mixin_of__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[8]);
1160 /* syntax/mmbuilder.nit:259 */
1161 fra
.me
.REG
[3] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1162 fra
.me
.REG
[3] = NEW_MMImplicitInit_syntax___syntax_base___MMImplicitInit___init(fra
.me
.REG
[2], fra
.me
.REG
[6], fra
.me
.REG
[3]);
1163 /* syntax/mmbuilder.nit:260 */
1164 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[3]);
1167 stack_frame_head
= fra
.me
.prev
;
1170 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1171 struct {struct stack_frame_t me
;} fra
;
1176 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1177 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1179 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1180 fra
.me
.has_broke
= 0;
1181 fra
.me
.REG_size
= 1;
1182 fra
.me
.nitni_local_ref_head
= NULL
;
1183 fra
.me
.REG
[0] = NIT_NULL
;
1184 fra
.me
.closure_ctx
= closctx_param
;
1185 fra
.me
.closure_funs
= CREG
;
1187 CREG
[0] = clos_fun0
;
1188 /* syntax/mmbuilder.nit:194 */
1189 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1190 if (UNTAG_Bool(REGB0
)) {
1191 /* syntax/mmbuilder.nit:196 */
1192 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1193 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1194 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],closctx
->REG
[2]));
1195 if (UNTAG_Bool(REGB0
)) {
1197 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[2]);
1200 if (UNTAG_Bool(REGB0
)) {
1201 closctx
->has_broke
= 1;
1206 stack_frame_head
= fra
.me
.prev
;
1209 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_5(struct stack_frame_t
*closctx
, val_t p0
){
1210 struct {struct stack_frame_t me
;} fra
;
1213 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1214 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1216 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1217 fra
.me
.has_broke
= 0;
1218 fra
.me
.REG_size
= 1;
1219 fra
.me
.nitni_local_ref_head
= NULL
;
1220 fra
.me
.REG
[0] = NIT_NULL
;
1222 /* syntax/mmbuilder.nit:206 */
1223 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1224 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1225 if (UNTAG_Bool(REGB0
)) {
1228 /* syntax/mmbuilder.nit:207 */
1229 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[4])(closctx
->REG
[4], fra
.me
.REG
[0]);
1231 stack_frame_head
= fra
.me
.prev
;
1234 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_10(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1235 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1240 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1241 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1243 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1244 fra
.me
.has_broke
= 0;
1245 fra
.me
.REG_size
= 2;
1246 fra
.me
.nitni_local_ref_head
= NULL
;
1247 fra
.me
.REG
[0] = NIT_NULL
;
1248 fra
.me
.REG
[1] = NIT_NULL
;
1249 fra
.me
.closure_ctx
= closctx_param
;
1250 fra
.me
.closure_funs
= CREG
;
1252 CREG
[0] = clos_fun0
;
1253 /* syntax/mmbuilder.nit:219 */
1254 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_syntax___syntax_base___MMSrcAttribute
, ID_syntax___syntax_base___MMSrcAttribute
)) /*cast MMSrcAttribute*/;
1255 if (UNTAG_Bool(REGB0
)) {
1256 /* syntax/mmbuilder.nit:220 */
1257 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1258 /* syntax/mmbuilder.nit:221 */
1259 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1260 if (UNTAG_Bool(REGB0
)) {
1261 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 221);
1263 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1264 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1265 if (UNTAG_Bool(REGB0
)) {
1267 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1268 if (UNTAG_Bool(REGB1
)) {
1269 REGB1
= TAG_Bool(0);
1272 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1276 if (UNTAG_Bool(REGB0
)) {
1277 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[6])(closctx
->REG
[6], fra
.me
.REG
[0]);
1280 stack_frame_head
= fra
.me
.prev
;
1283 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_11(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1284 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1288 /* syntax/mmbuilder.nit:229 */
1289 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1290 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1292 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1293 fra
.me
.has_broke
= 0;
1294 fra
.me
.REG_size
= 2;
1295 fra
.me
.nitni_local_ref_head
= NULL
;
1296 fra
.me
.REG
[0] = NIT_NULL
;
1297 fra
.me
.REG
[1] = NIT_NULL
;
1298 fra
.me
.closure_ctx
= closctx_param
;
1299 fra
.me
.closure_funs
= CREG
;
1301 CREG
[0] = clos_fun0
;
1302 /* syntax/mmbuilder.nit:230 */
1303 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1304 /* syntax/mmbuilder.nit:231 */
1305 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1306 if (UNTAG_Bool(REGB0
)) {
1309 /* syntax/mmbuilder.nit:232 */
1310 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1311 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_mixin(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1312 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1313 if (UNTAG_Bool(REGB0
)) {
1314 /* syntax/mmbuilder.nit:233 */
1315 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[5])(closctx
->REG
[5], fra
.me
.REG
[0]);
1318 stack_frame_head
= fra
.me
.prev
;
1321 void OC_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors_19(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
1322 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1328 /* syntax/mmbuilder.nit:248 */
1329 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1330 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1332 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___process_default_constructors
;
1333 fra
.me
.has_broke
= 0;
1334 fra
.me
.REG_size
= 2;
1335 fra
.me
.nitni_local_ref_head
= NULL
;
1336 fra
.me
.REG
[0] = NIT_NULL
;
1337 fra
.me
.REG
[1] = NIT_NULL
;
1338 fra
.me
.closure_ctx
= closctx_param
;
1339 fra
.me
.closure_funs
= CREG
;
1341 CREG
[0] = clos_fun0
;
1342 /* syntax/mmbuilder.nit:250 */
1343 REGB0
= TAG_Bool(closctx
->REG
[8]==NIT_NULL
);
1344 if (UNTAG_Bool(REGB0
)) {
1346 REGB1
= TAG_Bool(closctx
->REG
[8]==NIT_NULL
);
1347 if (UNTAG_Bool(REGB1
)) {
1348 REGB1
= TAG_Bool(0);
1351 REGB1
= CALL_standard___kernel___Object_____eqeq(closctx
->REG
[8])(closctx
->REG
[8], NIT_NULL
);
1355 if (UNTAG_Bool(REGB0
)) {
1356 REGB0
= TAG_Bool(1);
1358 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1359 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],closctx
->REG
[8]));
1360 if (UNTAG_Bool(REGB1
)) {
1362 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[8]);
1367 if (UNTAG_Bool(REGB0
)) {
1368 /* syntax/mmbuilder.nit:251 */
1369 CALL_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
1371 stack_frame_head
= fra
.me
.prev
;
1374 static const char LOCATE_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property
[] = "mmbuilder::MMSrcLocalClass::add_src_local_property";
1375 void syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(val_t p0
, val_t p1
, val_t p2
){
1376 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1379 static val_t once_value_1
; /* Once value */
1380 static val_t once_value_2
; /* Once value */
1381 static val_t once_value_3
; /* Once value */
1382 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1383 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1385 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property
;
1386 fra
.me
.has_broke
= 0;
1387 fra
.me
.REG_size
= 7;
1388 fra
.me
.nitni_local_ref_head
= NULL
;
1389 fra
.me
.REG
[0] = NIT_NULL
;
1390 fra
.me
.REG
[1] = NIT_NULL
;
1391 fra
.me
.REG
[2] = NIT_NULL
;
1392 fra
.me
.REG
[3] = NIT_NULL
;
1393 fra
.me
.REG
[4] = NIT_NULL
;
1394 fra
.me
.REG
[5] = NIT_NULL
;
1395 fra
.me
.REG
[6] = NIT_NULL
;
1399 /* syntax/mmbuilder.nit:269 */
1400 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1401 /* syntax/mmbuilder.nit:271 */
1402 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1403 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1404 if (UNTAG_Bool(REGB0
)) {
1405 /* syntax/mmbuilder.nit:272 */
1406 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMLocalProperty___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1408 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1409 if (!once_value_1
) {
1410 fra
.me
.REG
[6] = BOX_NativeString("Error: A property ");
1411 REGB0
= TAG_Int(18);
1412 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
1413 once_value_1
= fra
.me
.REG
[6];
1414 register_static_object(&once_value_1
);
1415 } else fra
.me
.REG
[6] = once_value_1
;
1416 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1418 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1420 if (!once_value_2
) {
1421 fra
.me
.REG
[6] = BOX_NativeString(" is already defined in class ");
1422 REGB0
= TAG_Int(29);
1423 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
1424 once_value_2
= fra
.me
.REG
[6];
1425 register_static_object(&once_value_2
);
1426 } else fra
.me
.REG
[6] = once_value_2
;
1427 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1428 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1429 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1430 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1432 if (!once_value_3
) {
1433 fra
.me
.REG
[6] = BOX_NativeString(".");
1435 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
1436 once_value_3
= fra
.me
.REG
[6];
1437 register_static_object(&once_value_3
);
1438 } else fra
.me
.REG
[6] = once_value_3
;
1439 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1441 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1442 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[5]);
1443 /* syntax/mmbuilder.nit:273 */
1446 /* syntax/mmbuilder.nit:275 */
1447 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcLocalClass___src_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1448 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[2]);
1449 /* syntax/mmbuilder.nit:278 */
1450 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1451 if (UNTAG_Bool(REGB0
)) {
1452 /* syntax/mmbuilder.nit:279 */
1453 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1454 /* syntax/mmbuilder.nit:280 */
1455 CALL_metamodel___inheritance___MMLocalProperty___inherit_global(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1457 /* syntax/mmbuilder.nit:283 */
1458 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalProperty___is_global_set(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1459 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1460 if (UNTAG_Bool(REGB0
)) {
1461 /* syntax/mmbuilder.nit:284 */
1462 CALL_metamodel___abstractmetamodel___MMLocalProperty___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1463 /* syntax/mmbuilder.nit:285 */
1464 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1465 REGB0
= CALL_syntax___syntax_base___MMLocalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1466 CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1469 stack_frame_head
= fra
.me
.prev
;
1472 static const char LOCATE_syntax___mmbuilder___MMLocalProperty___accept_property_visitor
[] = "mmbuilder::MMLocalProperty::accept_property_visitor";
1473 void syntax___mmbuilder___MMLocalProperty___accept_property_visitor(val_t p0
, val_t p1
){
1474 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1476 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1477 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1479 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMLocalProperty___accept_property_visitor
;
1480 fra
.me
.has_broke
= 0;
1481 fra
.me
.REG_size
= 2;
1482 fra
.me
.nitni_local_ref_head
= NULL
;
1483 fra
.me
.REG
[0] = NIT_NULL
;
1484 fra
.me
.REG
[1] = NIT_NULL
;
1487 stack_frame_head
= fra
.me
.prev
;
1490 static const char LOCATE_syntax___mmbuilder___MMImplicitInit___super_init
[] = "mmbuilder::MMImplicitInit::(syntax_base::MMImplicitInit::super_init)";
1491 val_t
syntax___mmbuilder___MMImplicitInit___super_init(val_t p0
){
1492 struct {struct stack_frame_t me
;} fra
;
1494 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1495 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1497 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMImplicitInit___super_init
;
1498 fra
.me
.has_broke
= 0;
1499 fra
.me
.REG_size
= 1;
1500 fra
.me
.nitni_local_ref_head
= NULL
;
1501 fra
.me
.REG
[0] = NIT_NULL
;
1503 /* syntax/mmbuilder.nit:297 */
1504 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[0]);
1505 stack_frame_head
= fra
.me
.prev
;
1506 return fra
.me
.REG
[0];
1508 static const char LOCATE_syntax___mmbuilder___MMImplicitInit___accept_property_visitor
[] = "mmbuilder::MMImplicitInit::(mmbuilder::MMLocalProperty::accept_property_visitor)";
1509 void syntax___mmbuilder___MMImplicitInit___accept_property_visitor(val_t p0
, val_t p1
){
1510 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
1517 static val_t once_value_1
; /* Once value */
1518 static val_t once_value_2
; /* Once value */
1519 static val_t once_value_3
; /* Once value */
1520 static val_t once_value_4
; /* Once value */
1521 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1522 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1524 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMImplicitInit___accept_property_visitor
;
1525 fra
.me
.has_broke
= 0;
1526 fra
.me
.REG_size
= 9;
1527 fra
.me
.nitni_local_ref_head
= NULL
;
1528 fra
.me
.REG
[0] = NIT_NULL
;
1529 fra
.me
.REG
[1] = NIT_NULL
;
1530 fra
.me
.REG
[2] = NIT_NULL
;
1531 fra
.me
.REG
[3] = NIT_NULL
;
1532 fra
.me
.REG
[4] = NIT_NULL
;
1533 fra
.me
.REG
[5] = NIT_NULL
;
1534 fra
.me
.REG
[6] = NIT_NULL
;
1535 fra
.me
.REG
[7] = NIT_NULL
;
1536 fra
.me
.REG
[8] = NIT_NULL
;
1539 /* syntax/mmbuilder.nit:298 */
1540 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1541 /* syntax/mmbuilder.nit:300 */
1542 fra
.me
.REG
[3] = NIT_NULL
;
1543 /* syntax/mmbuilder.nit:301 */
1544 fra
.me
.REG
[4] = CALL_syntax___syntax_base___MMImplicitInit___super_inits(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1545 /* ../lib/standard/collection/array.nit:270 */
1547 /* ../lib/standard/collection/array.nit:271 */
1548 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1549 if (UNTAG_Bool(REGB1
)) {
1551 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
1553 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1554 /* ../lib/standard/collection/array.nit:272 */
1555 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1556 /* ../lib/standard/collection/array.nit:273 */
1558 /* ../lib/standard/collection/array.nit:24 */
1559 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1560 if (UNTAG_Bool(REGB1
)) {
1562 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1564 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1565 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1566 if (UNTAG_Bool(REGB2
)) {
1568 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1570 /* ../lib/standard/kernel.nit:242 */
1571 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1572 /* ../lib/standard/collection/array.nit:273 */
1573 if (UNTAG_Bool(REGB1
)) {
1574 /* ../lib/standard/collection/array.nit:274 */
1575 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1576 if (UNTAG_Bool(REGB1
)) {
1577 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
1579 /* ../lib/standard/collection/array.nit:725 */
1580 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1581 /* syntax/mmbuilder.nit:302 */
1582 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1583 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1584 if (UNTAG_Bool(REGB1
)) {
1585 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 302);
1587 REGB1
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1589 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1590 if (UNTAG_Bool(REGB3
)) {
1592 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1594 /* ../lib/standard/kernel.nit:244 */
1595 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
1596 /* syntax/mmbuilder.nit:302 */
1597 if (UNTAG_Bool(REGB2
)) {
1598 /* syntax/mmbuilder.nit:303 */
1599 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1600 if (UNTAG_Bool(REGB2
)) {
1602 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1603 if (UNTAG_Bool(REGB1
)) {
1604 REGB1
= TAG_Bool(0);
1607 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1611 if (UNTAG_Bool(REGB2
)) {
1612 /* syntax/mmbuilder.nit:304 */
1613 fra
.me
.REG
[3] = fra
.me
.REG
[6];
1615 /* syntax/mmbuilder.nit:306 */
1617 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1618 if (!once_value_1
) {
1619 fra
.me
.REG
[8] = BOX_NativeString("Error: explicit constructor needed in ");
1620 REGB2
= TAG_Int(38);
1621 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB2
);
1622 once_value_1
= fra
.me
.REG
[8];
1623 register_static_object(&once_value_1
);
1624 } else fra
.me
.REG
[8] = once_value_1
;
1625 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1626 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1627 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1628 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1630 if (!once_value_2
) {
1631 fra
.me
.REG
[8] = BOX_NativeString(" since both super-constructor ");
1632 REGB2
= TAG_Int(30);
1633 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB2
);
1634 once_value_2
= fra
.me
.REG
[8];
1635 register_static_object(&once_value_2
);
1636 } else fra
.me
.REG
[8] = once_value_2
;
1637 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1639 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1640 if (UNTAG_Bool(REGB2
)) {
1641 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 306);
1643 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1645 if (!once_value_3
) {
1646 fra
.me
.REG
[8] = BOX_NativeString(" and ");
1648 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB2
);
1649 once_value_3
= fra
.me
.REG
[8];
1650 register_static_object(&once_value_3
);
1651 } else fra
.me
.REG
[8] = once_value_3
;
1652 fra
.me
.REG
[8] = fra
.me
.REG
[8];
1653 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1654 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1656 if (!once_value_4
) {
1657 fra
.me
.REG
[6] = BOX_NativeString(" have paramters");
1658 REGB2
= TAG_Int(15);
1659 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
1660 once_value_4
= fra
.me
.REG
[6];
1661 register_static_object(&once_value_4
);
1662 } else fra
.me
.REG
[6] = once_value_4
;
1663 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1664 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1665 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1666 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[7]);
1667 /* syntax/mmbuilder.nit:307 */
1671 /* ../lib/standard/collection/array.nit:275 */
1673 /* ../lib/standard/kernel.nit:245 */
1674 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1675 /* ../lib/standard/collection/array.nit:275 */
1678 /* ../lib/standard/collection/array.nit:273 */
1683 /* syntax/mmbuilder.nit:311 */
1684 ATTR_syntax___mmbuilder___MMImplicitInit____super_init(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
1685 /* syntax/mmbuilder.nit:313 */
1686 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1687 /* syntax/mmbuilder.nit:314 */
1688 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1689 if (UNTAG_Bool(REGB0
)) {
1691 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1692 if (UNTAG_Bool(REGB2
)) {
1693 REGB2
= TAG_Bool(0);
1696 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
1700 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1701 if (UNTAG_Bool(REGB0
)) {
1702 /* syntax/mmbuilder.nit:315 */
1703 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1704 if (UNTAG_Bool(REGB0
)) {
1705 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 315);
1707 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1708 /* syntax/mmbuilder.nit:316 */
1710 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1711 if (UNTAG_Bool(REGB2
)) {
1712 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 316);
1714 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1715 /* ../lib/standard/kernel.nit:404 */
1717 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1718 if (UNTAG_Bool(REGB1
)) {
1720 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1722 /* ../lib/standard/kernel.nit:242 */
1723 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1724 /* ../lib/standard/kernel.nit:404 */
1725 if (UNTAG_Bool(REGB1
)) {
1726 /* syntax/mmbuilder.nit:316 */
1728 /* syntax/mmbuilder.nit:317 */
1729 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1730 if (UNTAG_Bool(REGB3
)) {
1731 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 317);
1733 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1734 /* ../lib/standard/collection/array.nit:281 */
1736 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1737 if (UNTAG_Bool(REGB4
)) {
1739 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1741 /* ../lib/standard/kernel.nit:243 */
1742 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
1743 /* ../lib/standard/collection/array.nit:281 */
1744 if (UNTAG_Bool(REGB3
)) {
1745 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
1746 if (UNTAG_Bool(REGB3
)) {
1748 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
1750 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1751 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1752 if (UNTAG_Bool(REGB4
)) {
1754 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1756 /* ../lib/standard/kernel.nit:242 */
1757 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
1759 /* ../lib/standard/collection/array.nit:281 */
1760 REGB4
= TAG_Bool(0);
1763 if (UNTAG_Bool(REGB3
)) {
1765 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
1767 /* ../lib/standard/collection/array.nit:282 */
1768 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
1769 REGB3
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1770 if (UNTAG_Bool(REGB3
)) {
1771 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
1773 /* ../lib/standard/collection/array.nit:725 */
1774 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1775 /* ../lib/standard/collection/array.nit:282 */
1778 /* syntax/mmbuilder.nit:317 */
1779 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1780 /* ../lib/standard/kernel.nit:406 */
1782 /* ../lib/standard/kernel.nit:245 */
1783 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1784 /* ../lib/standard/kernel.nit:406 */
1787 /* ../lib/standard/kernel.nit:404 */
1793 /* syntax/mmbuilder.nit:320 */
1794 fra
.me
.REG
[3] = CALL_syntax___syntax_base___MMImplicitInit___unassigned_attributes(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1795 /* ../lib/standard/collection/array.nit:270 */
1797 /* ../lib/standard/collection/array.nit:271 */
1798 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1799 if (UNTAG_Bool(REGB2
)) {
1801 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
1803 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1804 /* ../lib/standard/collection/array.nit:272 */
1805 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1806 /* ../lib/standard/collection/array.nit:273 */
1808 /* ../lib/standard/collection/array.nit:24 */
1809 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1810 if (UNTAG_Bool(REGB2
)) {
1812 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1814 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1815 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1816 if (UNTAG_Bool(REGB1
)) {
1818 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1820 /* ../lib/standard/kernel.nit:242 */
1821 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1822 /* ../lib/standard/collection/array.nit:273 */
1823 if (UNTAG_Bool(REGB2
)) {
1824 /* ../lib/standard/collection/array.nit:274 */
1825 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1826 if (UNTAG_Bool(REGB2
)) {
1827 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
1829 /* ../lib/standard/collection/array.nit:725 */
1830 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1831 /* syntax/mmbuilder.nit:321 */
1832 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1833 /* syntax/mmbuilder.nit:322 */
1834 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1835 if (UNTAG_Bool(REGB2
)) {
1837 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1838 if (UNTAG_Bool(REGB1
)) {
1839 REGB1
= TAG_Bool(0);
1842 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
1846 if (UNTAG_Bool(REGB2
)) {
1849 /* syntax/mmbuilder.nit:323 */
1850 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1851 /* syntax/mmbuilder.nit:324 */
1852 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1853 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1854 REGB2
= TAG_Char('_');
1855 REGB1
= TAG_Bool(IS_EQUAL_ON(REGB2
,fra
.me
.REG
[8]));
1856 if (UNTAG_Bool(REGB1
)) {
1858 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1859 if (UNTAG_Bool(REGB3
)) {
1860 REGB3
= TAG_Bool(0);
1863 /* ../lib/standard/kernel.nit:434 */
1864 REGB2
= TAG_Bool((fra
.me
.REG
[8])==(REGB2
));
1865 /* syntax/mmbuilder.nit:324 */
1869 if (UNTAG_Bool(REGB1
)) {
1870 REGB1
= TAG_Bool(1);
1872 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1873 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1874 REGB2
= TAG_Char('@');
1875 REGB3
= TAG_Bool(IS_EQUAL_ON(REGB2
,fra
.me
.REG
[8]));
1876 if (UNTAG_Bool(REGB3
)) {
1878 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1879 if (UNTAG_Bool(REGB4
)) {
1880 REGB4
= TAG_Bool(0);
1883 /* ../lib/standard/kernel.nit:434 */
1884 REGB2
= TAG_Bool((fra
.me
.REG
[8])==(REGB2
));
1885 /* syntax/mmbuilder.nit:324 */
1891 if (UNTAG_Bool(REGB1
)) {
1892 /* syntax/mmbuilder.nit:325 */
1893 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1895 fra
.me
.REG
[4] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1896 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1897 fra
.me
.REG
[6] = fra
.me
.REG
[4];
1899 /* syntax/mmbuilder.nit:327 */
1900 REGB1
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1901 if (UNTAG_Bool(REGB1
)) {
1902 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 327);
1904 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1905 REGB1
= TAG_Bool((fra
.me
.REG
[7]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[7], COLOR_metamodel___static_type___MMType
, ID_metamodel___static_type___MMType
)) /*cast MMType*/;
1906 if (UNTAG_Bool(REGB1
)) {
1908 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 327);
1910 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1912 /* ../lib/standard/collection/array.nit:275 */
1914 /* ../lib/standard/kernel.nit:245 */
1915 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1916 /* ../lib/standard/collection/array.nit:275 */
1919 /* ../lib/standard/collection/array.nit:273 */
1924 /* syntax/mmbuilder.nit:329 */
1925 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1926 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1927 fra
.me
.REG
[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[0]);
1928 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1930 stack_frame_head
= fra
.me
.prev
;
1933 static const char LOCATE_syntax___mmbuilder___MMSrcAncestor___local_class
[] = "mmbuilder::MMSrcAncestor::(static_type::MMAncestor::local_class)";
1934 val_t
syntax___mmbuilder___MMSrcAncestor___local_class(val_t p0
){
1935 struct {struct stack_frame_t me
;} fra
;
1938 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1939 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1941 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcAncestor___local_class
;
1942 fra
.me
.has_broke
= 0;
1943 fra
.me
.REG_size
= 1;
1944 fra
.me
.nitni_local_ref_head
= NULL
;
1945 fra
.me
.REG
[0] = NIT_NULL
;
1947 /* syntax/mmbuilder.nit:337 */
1948 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
1949 if (UNTAG_Bool(REGB0
)) {
1951 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_syntax___mmbuilder
, 337);
1953 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[0]);
1954 stack_frame_head
= fra
.me
.prev
;
1955 return fra
.me
.REG
[0];
1957 static const char LOCATE_syntax___mmbuilder___MMSrcAncestor___init
[] = "mmbuilder::MMSrcAncestor::init";
1958 void syntax___mmbuilder___MMSrcAncestor___init(val_t p0
, val_t p1
, int* init_table
){
1959 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___MMSrcAncestor
].i
;
1960 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1962 if (init_table
[itpos1
]) return;
1963 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1964 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1966 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MMSrcAncestor___init
;
1967 fra
.me
.has_broke
= 0;
1968 fra
.me
.REG_size
= 3;
1969 fra
.me
.nitni_local_ref_head
= NULL
;
1970 fra
.me
.REG
[0] = NIT_NULL
;
1971 fra
.me
.REG
[1] = NIT_NULL
;
1972 fra
.me
.REG
[2] = NIT_NULL
;
1975 /* syntax/mmbuilder.nit:339 */
1976 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1977 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1978 /* syntax/mmbuilder.nit:341 */
1979 ATTR_syntax___mmbuilder___MMSrcAncestor____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
1980 stack_frame_head
= fra
.me
.prev
;
1981 init_table
[itpos1
] = 1;
1984 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity
[] = "mmbuilder::ClassBuilderVisitor::local_class_arity";
1985 val_t
syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(val_t p0
){
1986 struct {struct stack_frame_t me
;} fra
;
1989 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1990 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
1992 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity
;
1993 fra
.me
.has_broke
= 0;
1994 fra
.me
.REG_size
= 1;
1995 fra
.me
.nitni_local_ref_head
= NULL
;
1996 fra
.me
.REG
[0] = NIT_NULL
;
1998 /* syntax/mmbuilder.nit:352 */
1999 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0])!=NIT_NULL
);
2000 if (UNTAG_Bool(REGB0
)) {
2002 nit_abort("Uninitialized attribute %s", "_local_class_arity", LOCATE_syntax___mmbuilder
, 352);
2004 REGB0
= ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]);
2005 stack_frame_head
= fra
.me
.prev
;
2008 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq
[] = "mmbuilder::ClassBuilderVisitor::local_class_arity=";
2009 void syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t p0
, val_t p1
){
2010 struct {struct stack_frame_t me
;} fra
;
2013 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2014 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2016 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq
;
2017 fra
.me
.has_broke
= 0;
2018 fra
.me
.REG_size
= 1;
2019 fra
.me
.nitni_local_ref_head
= NULL
;
2020 fra
.me
.REG
[0] = NIT_NULL
;
2023 /* syntax/mmbuilder.nit:352 */
2024 ATTR_syntax___mmbuilder___ClassBuilderVisitor____local_class_arity(fra
.me
.REG
[0]) = REGB0
;
2025 stack_frame_head
= fra
.me
.prev
;
2028 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals
[] = "mmbuilder::ClassBuilderVisitor::formals";
2029 val_t
syntax___mmbuilder___ClassBuilderVisitor___formals(val_t p0
){
2030 struct {struct stack_frame_t me
;} fra
;
2032 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2033 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2035 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals
;
2036 fra
.me
.has_broke
= 0;
2037 fra
.me
.REG_size
= 1;
2038 fra
.me
.nitni_local_ref_head
= NULL
;
2039 fra
.me
.REG
[0] = NIT_NULL
;
2041 /* syntax/mmbuilder.nit:355 */
2042 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]);
2043 stack_frame_head
= fra
.me
.prev
;
2044 return fra
.me
.REG
[0];
2046 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals__eq
[] = "mmbuilder::ClassBuilderVisitor::formals=";
2047 void syntax___mmbuilder___ClassBuilderVisitor___formals__eq(val_t p0
, val_t p1
){
2048 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2050 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2051 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2053 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___formals__eq
;
2054 fra
.me
.has_broke
= 0;
2055 fra
.me
.REG_size
= 2;
2056 fra
.me
.nitni_local_ref_head
= NULL
;
2057 fra
.me
.REG
[0] = NIT_NULL
;
2058 fra
.me
.REG
[1] = NIT_NULL
;
2061 /* syntax/mmbuilder.nit:355 */
2062 ATTR_syntax___mmbuilder___ClassBuilderVisitor____formals(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2063 stack_frame_head
= fra
.me
.prev
;
2066 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___visit
[] = "mmbuilder::ClassBuilderVisitor::(parser_nodes::Visitor::visit)";
2067 void syntax___mmbuilder___ClassBuilderVisitor___visit(val_t p0
, val_t p1
){
2068 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2070 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2071 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2073 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___visit
;
2074 fra
.me
.has_broke
= 0;
2075 fra
.me
.REG_size
= 2;
2076 fra
.me
.nitni_local_ref_head
= NULL
;
2077 fra
.me
.REG
[0] = NIT_NULL
;
2078 fra
.me
.REG
[1] = NIT_NULL
;
2081 /* syntax/mmbuilder.nit:358 */
2082 CALL_syntax___mmbuilder___ANode___accept_class_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2083 stack_frame_head
= fra
.me
.prev
;
2086 static const char LOCATE_syntax___mmbuilder___ClassBuilderVisitor___init
[] = "mmbuilder::ClassBuilderVisitor::init";
2087 void syntax___mmbuilder___ClassBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2088 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassBuilderVisitor
].i
;
2089 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2091 if (init_table
[itpos2
]) return;
2092 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2093 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2095 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassBuilderVisitor___init
;
2096 fra
.me
.has_broke
= 0;
2097 fra
.me
.REG_size
= 3;
2098 fra
.me
.nitni_local_ref_head
= NULL
;
2099 fra
.me
.REG
[0] = NIT_NULL
;
2100 fra
.me
.REG
[1] = NIT_NULL
;
2101 fra
.me
.REG
[2] = NIT_NULL
;
2105 /* syntax/mmbuilder.nit:359 */
2106 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2107 stack_frame_head
= fra
.me
.prev
;
2108 init_table
[itpos2
] = 1;
2111 static const char LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit
[] = "mmbuilder::ClassSpecializationBuilderVisitor::(parser_nodes::Visitor::visit)";
2112 void syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t p0
, val_t p1
){
2113 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2115 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2116 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2118 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___visit
;
2119 fra
.me
.has_broke
= 0;
2120 fra
.me
.REG_size
= 2;
2121 fra
.me
.nitni_local_ref_head
= NULL
;
2122 fra
.me
.REG
[0] = NIT_NULL
;
2123 fra
.me
.REG
[1] = NIT_NULL
;
2126 /* syntax/mmbuilder.nit:366 */
2127 CALL_syntax___mmbuilder___ANode___accept_class_specialization_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2128 stack_frame_head
= fra
.me
.prev
;
2131 static const char LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init
[] = "mmbuilder::ClassSpecializationBuilderVisitor::init";
2132 void syntax___mmbuilder___ClassSpecializationBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2133 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassSpecializationBuilderVisitor
].i
;
2134 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2136 if (init_table
[itpos3
]) return;
2137 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2138 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2140 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassSpecializationBuilderVisitor___init
;
2141 fra
.me
.has_broke
= 0;
2142 fra
.me
.REG_size
= 3;
2143 fra
.me
.nitni_local_ref_head
= NULL
;
2144 fra
.me
.REG
[0] = NIT_NULL
;
2145 fra
.me
.REG
[1] = NIT_NULL
;
2146 fra
.me
.REG
[2] = NIT_NULL
;
2150 /* syntax/mmbuilder.nit:367 */
2151 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2152 stack_frame_head
= fra
.me
.prev
;
2153 init_table
[itpos3
] = 1;
2156 static const char LOCATE_syntax___mmbuilder___ClassAncestorBuilder___visit
[] = "mmbuilder::ClassAncestorBuilder::(parser_nodes::Visitor::visit)";
2157 void syntax___mmbuilder___ClassAncestorBuilder___visit(val_t p0
, val_t p1
){
2158 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2160 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2161 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2163 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassAncestorBuilder___visit
;
2164 fra
.me
.has_broke
= 0;
2165 fra
.me
.REG_size
= 2;
2166 fra
.me
.nitni_local_ref_head
= NULL
;
2167 fra
.me
.REG
[0] = NIT_NULL
;
2168 fra
.me
.REG
[1] = NIT_NULL
;
2171 /* syntax/mmbuilder.nit:374 */
2172 CALL_syntax___mmbuilder___ANode___accept_class_ancestor_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2173 stack_frame_head
= fra
.me
.prev
;
2176 static const char LOCATE_syntax___mmbuilder___ClassAncestorBuilder___init
[] = "mmbuilder::ClassAncestorBuilder::init";
2177 void syntax___mmbuilder___ClassAncestorBuilder___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2178 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassAncestorBuilder
].i
;
2179 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2181 if (init_table
[itpos4
]) return;
2182 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2183 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2185 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassAncestorBuilder___init
;
2186 fra
.me
.has_broke
= 0;
2187 fra
.me
.REG_size
= 3;
2188 fra
.me
.nitni_local_ref_head
= NULL
;
2189 fra
.me
.REG
[0] = NIT_NULL
;
2190 fra
.me
.REG
[1] = NIT_NULL
;
2191 fra
.me
.REG
[2] = NIT_NULL
;
2195 /* syntax/mmbuilder.nit:375 */
2196 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2197 stack_frame_head
= fra
.me
.prev
;
2198 init_table
[itpos4
] = 1;
2201 static const char LOCATE_syntax___mmbuilder___ClassVerifierVisitor___visit
[] = "mmbuilder::ClassVerifierVisitor::(parser_nodes::Visitor::visit)";
2202 void syntax___mmbuilder___ClassVerifierVisitor___visit(val_t p0
, val_t p1
){
2203 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2205 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2206 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2208 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassVerifierVisitor___visit
;
2209 fra
.me
.has_broke
= 0;
2210 fra
.me
.REG_size
= 2;
2211 fra
.me
.nitni_local_ref_head
= NULL
;
2212 fra
.me
.REG
[0] = NIT_NULL
;
2213 fra
.me
.REG
[1] = NIT_NULL
;
2216 /* syntax/mmbuilder.nit:382 */
2217 CALL_syntax___mmbuilder___ANode___accept_class_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2218 stack_frame_head
= fra
.me
.prev
;
2221 static const char LOCATE_syntax___mmbuilder___ClassVerifierVisitor___init
[] = "mmbuilder::ClassVerifierVisitor::init";
2222 void syntax___mmbuilder___ClassVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2223 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___ClassVerifierVisitor
].i
;
2224 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2226 if (init_table
[itpos5
]) return;
2227 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2228 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2230 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ClassVerifierVisitor___init
;
2231 fra
.me
.has_broke
= 0;
2232 fra
.me
.REG_size
= 3;
2233 fra
.me
.nitni_local_ref_head
= NULL
;
2234 fra
.me
.REG
[0] = NIT_NULL
;
2235 fra
.me
.REG
[1] = NIT_NULL
;
2236 fra
.me
.REG
[2] = NIT_NULL
;
2240 /* syntax/mmbuilder.nit:383 */
2241 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2242 stack_frame_head
= fra
.me
.prev
;
2243 init_table
[itpos5
] = 1;
2246 static const char LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___visit
[] = "mmbuilder::PropertyBuilderVisitor::(parser_nodes::Visitor::visit)";
2247 void syntax___mmbuilder___PropertyBuilderVisitor___visit(val_t p0
, val_t p1
){
2248 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2250 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2251 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2253 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___visit
;
2254 fra
.me
.has_broke
= 0;
2255 fra
.me
.REG_size
= 2;
2256 fra
.me
.nitni_local_ref_head
= NULL
;
2257 fra
.me
.REG
[0] = NIT_NULL
;
2258 fra
.me
.REG
[1] = NIT_NULL
;
2261 /* syntax/mmbuilder.nit:393 */
2262 CALL_syntax___mmbuilder___ANode___accept_property_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2263 stack_frame_head
= fra
.me
.prev
;
2266 static const char LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___init
[] = "mmbuilder::PropertyBuilderVisitor::init";
2267 void syntax___mmbuilder___PropertyBuilderVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2268 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___PropertyBuilderVisitor
].i
;
2269 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2271 if (init_table
[itpos6
]) return;
2272 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2273 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2275 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyBuilderVisitor___init
;
2276 fra
.me
.has_broke
= 0;
2277 fra
.me
.REG_size
= 3;
2278 fra
.me
.nitni_local_ref_head
= NULL
;
2279 fra
.me
.REG
[0] = NIT_NULL
;
2280 fra
.me
.REG
[1] = NIT_NULL
;
2281 fra
.me
.REG
[2] = NIT_NULL
;
2285 /* syntax/mmbuilder.nit:394 */
2286 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2287 stack_frame_head
= fra
.me
.prev
;
2288 init_table
[itpos6
] = 1;
2291 static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder
[] = "mmbuilder::PropertyVerifierVisitor::signature_builder";
2292 val_t
syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(val_t p0
){
2293 struct {struct stack_frame_t me
;} fra
;
2296 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2297 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2299 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder
;
2300 fra
.me
.has_broke
= 0;
2301 fra
.me
.REG_size
= 1;
2302 fra
.me
.nitni_local_ref_head
= NULL
;
2303 fra
.me
.REG
[0] = NIT_NULL
;
2305 /* syntax/mmbuilder.nit:402 */
2306 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0])!=NIT_NULL
);
2307 if (UNTAG_Bool(REGB0
)) {
2309 nit_abort("Uninitialized attribute %s", "_signature_builder", LOCATE_syntax___mmbuilder
, 402);
2311 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]);
2312 stack_frame_head
= fra
.me
.prev
;
2313 return fra
.me
.REG
[0];
2315 static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq
[] = "mmbuilder::PropertyVerifierVisitor::signature_builder=";
2316 void syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t p0
, val_t p1
){
2317 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2319 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2320 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2322 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq
;
2323 fra
.me
.has_broke
= 0;
2324 fra
.me
.REG_size
= 2;
2325 fra
.me
.nitni_local_ref_head
= NULL
;
2326 fra
.me
.REG
[0] = NIT_NULL
;
2327 fra
.me
.REG
[1] = NIT_NULL
;
2330 /* syntax/mmbuilder.nit:402 */
2331 ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2332 stack_frame_head
= fra
.me
.prev
;
2335 static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___visit
[] = "mmbuilder::PropertyVerifierVisitor::(parser_nodes::Visitor::visit)";
2336 void syntax___mmbuilder___PropertyVerifierVisitor___visit(val_t p0
, val_t p1
){
2337 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2339 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2340 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2342 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___visit
;
2343 fra
.me
.has_broke
= 0;
2344 fra
.me
.REG_size
= 2;
2345 fra
.me
.nitni_local_ref_head
= NULL
;
2346 fra
.me
.REG
[0] = NIT_NULL
;
2347 fra
.me
.REG
[1] = NIT_NULL
;
2350 /* syntax/mmbuilder.nit:405 */
2351 CALL_syntax___mmbuilder___ANode___accept_property_verifier(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2352 stack_frame_head
= fra
.me
.prev
;
2355 static const char LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___init
[] = "mmbuilder::PropertyVerifierVisitor::init";
2356 void syntax___mmbuilder___PropertyVerifierVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2357 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___PropertyVerifierVisitor
].i
;
2358 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2360 if (init_table
[itpos7
]) return;
2361 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2362 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2364 fra
.me
.meth
= LOCATE_syntax___mmbuilder___PropertyVerifierVisitor___init
;
2365 fra
.me
.has_broke
= 0;
2366 fra
.me
.REG_size
= 4;
2367 fra
.me
.nitni_local_ref_head
= NULL
;
2368 fra
.me
.REG
[0] = NIT_NULL
;
2369 fra
.me
.REG
[1] = NIT_NULL
;
2370 fra
.me
.REG
[2] = NIT_NULL
;
2371 fra
.me
.REG
[3] = NIT_NULL
;
2375 /* syntax/mmbuilder.nit:407 */
2376 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2377 /* syntax/mmbuilder.nit:409 */
2378 CALL_syntax___syntax_base___AbsSyntaxVisitor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], init_table
);
2379 /* syntax/mmbuilder.nit:410 */
2380 fra
.me
.REG
[2] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
2381 ATTR_syntax___mmbuilder___PropertyVerifierVisitor____signature_builder(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
2382 stack_frame_head
= fra
.me
.prev
;
2383 init_table
[itpos7
] = 1;
2386 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___params
[] = "mmbuilder::SignatureBuilder::params";
2387 val_t
syntax___mmbuilder___SignatureBuilder___params(val_t p0
){
2388 struct {struct stack_frame_t me
;} fra
;
2391 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2392 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2394 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___params
;
2395 fra
.me
.has_broke
= 0;
2396 fra
.me
.REG_size
= 1;
2397 fra
.me
.nitni_local_ref_head
= NULL
;
2398 fra
.me
.REG
[0] = NIT_NULL
;
2400 /* syntax/mmbuilder.nit:416 */
2401 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0])!=NIT_NULL
);
2402 if (UNTAG_Bool(REGB0
)) {
2404 nit_abort("Uninitialized attribute %s", "_params", LOCATE_syntax___mmbuilder
, 416);
2406 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]);
2407 stack_frame_head
= fra
.me
.prev
;
2408 return fra
.me
.REG
[0];
2410 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___params__eq
[] = "mmbuilder::SignatureBuilder::params=";
2411 void syntax___mmbuilder___SignatureBuilder___params__eq(val_t p0
, val_t p1
){
2412 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2414 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2415 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2417 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___params__eq
;
2418 fra
.me
.has_broke
= 0;
2419 fra
.me
.REG_size
= 2;
2420 fra
.me
.nitni_local_ref_head
= NULL
;
2421 fra
.me
.REG
[0] = NIT_NULL
;
2422 fra
.me
.REG
[1] = NIT_NULL
;
2425 /* syntax/mmbuilder.nit:416 */
2426 ATTR_syntax___mmbuilder___SignatureBuilder____params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2427 stack_frame_head
= fra
.me
.prev
;
2430 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params
[] = "mmbuilder::SignatureBuilder::untyped_params";
2431 val_t
syntax___mmbuilder___SignatureBuilder___untyped_params(val_t p0
){
2432 struct {struct stack_frame_t me
;} fra
;
2435 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2436 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2438 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params
;
2439 fra
.me
.has_broke
= 0;
2440 fra
.me
.REG_size
= 1;
2441 fra
.me
.nitni_local_ref_head
= NULL
;
2442 fra
.me
.REG
[0] = NIT_NULL
;
2444 /* syntax/mmbuilder.nit:419 */
2445 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0])!=NIT_NULL
);
2446 if (UNTAG_Bool(REGB0
)) {
2448 nit_abort("Uninitialized attribute %s", "_untyped_params", LOCATE_syntax___mmbuilder
, 419);
2450 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]);
2451 stack_frame_head
= fra
.me
.prev
;
2452 return fra
.me
.REG
[0];
2454 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params__eq
[] = "mmbuilder::SignatureBuilder::untyped_params=";
2455 void syntax___mmbuilder___SignatureBuilder___untyped_params__eq(val_t p0
, val_t p1
){
2456 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2458 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2459 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2461 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___untyped_params__eq
;
2462 fra
.me
.has_broke
= 0;
2463 fra
.me
.REG_size
= 2;
2464 fra
.me
.nitni_local_ref_head
= NULL
;
2465 fra
.me
.REG
[0] = NIT_NULL
;
2466 fra
.me
.REG
[1] = NIT_NULL
;
2469 /* syntax/mmbuilder.nit:419 */
2470 ATTR_syntax___mmbuilder___SignatureBuilder____untyped_params(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2471 stack_frame_head
= fra
.me
.prev
;
2474 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank
[] = "mmbuilder::SignatureBuilder::vararg_rank";
2475 val_t
syntax___mmbuilder___SignatureBuilder___vararg_rank(val_t p0
){
2476 struct {struct stack_frame_t me
;} fra
;
2479 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2480 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2482 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank
;
2483 fra
.me
.has_broke
= 0;
2484 fra
.me
.REG_size
= 1;
2485 fra
.me
.nitni_local_ref_head
= NULL
;
2486 fra
.me
.REG
[0] = NIT_NULL
;
2488 /* syntax/mmbuilder.nit:422 */
2489 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
2490 if (UNTAG_Bool(REGB0
)) {
2492 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_syntax___mmbuilder
, 422);
2494 REGB0
= ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]);
2495 stack_frame_head
= fra
.me
.prev
;
2498 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq
[] = "mmbuilder::SignatureBuilder::vararg_rank=";
2499 void syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(val_t p0
, val_t p1
){
2500 struct {struct stack_frame_t me
;} fra
;
2503 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2504 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2506 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq
;
2507 fra
.me
.has_broke
= 0;
2508 fra
.me
.REG_size
= 1;
2509 fra
.me
.nitni_local_ref_head
= NULL
;
2510 fra
.me
.REG
[0] = NIT_NULL
;
2513 /* syntax/mmbuilder.nit:422 */
2514 ATTR_syntax___mmbuilder___SignatureBuilder____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
2515 stack_frame_head
= fra
.me
.prev
;
2518 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls
[] = "mmbuilder::SignatureBuilder::closure_decls";
2519 val_t
syntax___mmbuilder___SignatureBuilder___closure_decls(val_t p0
){
2520 struct {struct stack_frame_t me
;} fra
;
2523 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2524 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2526 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls
;
2527 fra
.me
.has_broke
= 0;
2528 fra
.me
.REG_size
= 1;
2529 fra
.me
.nitni_local_ref_head
= NULL
;
2530 fra
.me
.REG
[0] = NIT_NULL
;
2532 /* syntax/mmbuilder.nit:425 */
2533 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0])!=NIT_NULL
);
2534 if (UNTAG_Bool(REGB0
)) {
2536 nit_abort("Uninitialized attribute %s", "_closure_decls", LOCATE_syntax___mmbuilder
, 425);
2538 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]);
2539 stack_frame_head
= fra
.me
.prev
;
2540 return fra
.me
.REG
[0];
2542 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls__eq
[] = "mmbuilder::SignatureBuilder::closure_decls=";
2543 void syntax___mmbuilder___SignatureBuilder___closure_decls__eq(val_t p0
, val_t p1
){
2544 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2546 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2547 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2549 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___closure_decls__eq
;
2550 fra
.me
.has_broke
= 0;
2551 fra
.me
.REG_size
= 2;
2552 fra
.me
.nitni_local_ref_head
= NULL
;
2553 fra
.me
.REG
[0] = NIT_NULL
;
2554 fra
.me
.REG
[1] = NIT_NULL
;
2557 /* syntax/mmbuilder.nit:425 */
2558 ATTR_syntax___mmbuilder___SignatureBuilder____closure_decls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2559 stack_frame_head
= fra
.me
.prev
;
2562 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured
[] = "mmbuilder::SignatureBuilder::has_error_occured";
2563 val_t
syntax___mmbuilder___SignatureBuilder___has_error_occured(val_t p0
){
2564 struct {struct stack_frame_t me
;} fra
;
2567 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2568 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2570 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured
;
2571 fra
.me
.has_broke
= 0;
2572 fra
.me
.REG_size
= 1;
2573 fra
.me
.nitni_local_ref_head
= NULL
;
2574 fra
.me
.REG
[0] = NIT_NULL
;
2576 /* syntax/mmbuilder.nit:428 */
2577 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0])!=NIT_NULL
);
2578 if (UNTAG_Bool(REGB0
)) {
2580 nit_abort("Uninitialized attribute %s", "_has_error_occured", LOCATE_syntax___mmbuilder
, 428);
2582 REGB0
= ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]);
2583 stack_frame_head
= fra
.me
.prev
;
2586 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq
[] = "mmbuilder::SignatureBuilder::has_error_occured=";
2587 void syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(val_t p0
, val_t p1
){
2588 struct {struct stack_frame_t me
;} fra
;
2591 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2592 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2594 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq
;
2595 fra
.me
.has_broke
= 0;
2596 fra
.me
.REG_size
= 1;
2597 fra
.me
.nitni_local_ref_head
= NULL
;
2598 fra
.me
.REG
[0] = NIT_NULL
;
2601 /* syntax/mmbuilder.nit:428 */
2602 ATTR_syntax___mmbuilder___SignatureBuilder____has_error_occured(fra
.me
.REG
[0]) = REGB0
;
2603 stack_frame_head
= fra
.me
.prev
;
2606 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___signature
[] = "mmbuilder::SignatureBuilder::signature";
2607 val_t
syntax___mmbuilder___SignatureBuilder___signature(val_t p0
){
2608 struct {struct stack_frame_t me
;} fra
;
2610 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2611 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2613 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___signature
;
2614 fra
.me
.has_broke
= 0;
2615 fra
.me
.REG_size
= 1;
2616 fra
.me
.nitni_local_ref_head
= NULL
;
2617 fra
.me
.REG
[0] = NIT_NULL
;
2619 /* syntax/mmbuilder.nit:431 */
2620 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]);
2621 stack_frame_head
= fra
.me
.prev
;
2622 return fra
.me
.REG
[0];
2624 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___signature__eq
[] = "mmbuilder::SignatureBuilder::signature=";
2625 void syntax___mmbuilder___SignatureBuilder___signature__eq(val_t p0
, val_t p1
){
2626 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2628 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2629 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2631 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___signature__eq
;
2632 fra
.me
.has_broke
= 0;
2633 fra
.me
.REG_size
= 2;
2634 fra
.me
.nitni_local_ref_head
= NULL
;
2635 fra
.me
.REG
[0] = NIT_NULL
;
2636 fra
.me
.REG
[1] = NIT_NULL
;
2639 /* syntax/mmbuilder.nit:431 */
2640 ATTR_syntax___mmbuilder___SignatureBuilder____signature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2641 stack_frame_head
= fra
.me
.prev
;
2644 static const char LOCATE_syntax___mmbuilder___SignatureBuilder___init
[] = "mmbuilder::SignatureBuilder::init";
2645 void syntax___mmbuilder___SignatureBuilder___init(val_t p0
, int* init_table
){
2646 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___mmbuilder___SignatureBuilder
].i
;
2647 struct {struct stack_frame_t me
;} fra
;
2649 if (init_table
[itpos8
]) return;
2650 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2651 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2653 fra
.me
.meth
= LOCATE_syntax___mmbuilder___SignatureBuilder___init
;
2654 fra
.me
.has_broke
= 0;
2655 fra
.me
.REG_size
= 0;
2656 fra
.me
.nitni_local_ref_head
= NULL
;
2657 stack_frame_head
= fra
.me
.prev
;
2658 init_table
[itpos8
] = 1;
2661 static const char LOCATE_syntax___mmbuilder___ANode___accept_class_builder
[] = "mmbuilder::ANode::accept_class_builder";
2662 void syntax___mmbuilder___ANode___accept_class_builder(val_t p0
, val_t p1
){
2663 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2665 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2666 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2668 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_builder
;
2669 fra
.me
.has_broke
= 0;
2670 fra
.me
.REG_size
= 2;
2671 fra
.me
.nitni_local_ref_head
= NULL
;
2672 fra
.me
.REG
[0] = NIT_NULL
;
2673 fra
.me
.REG
[1] = NIT_NULL
;
2676 /* syntax/mmbuilder.nit:438 */
2677 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2678 stack_frame_head
= fra
.me
.prev
;
2681 static const char LOCATE_syntax___mmbuilder___ANode___accept_class_specialization_builder
[] = "mmbuilder::ANode::accept_class_specialization_builder";
2682 void syntax___mmbuilder___ANode___accept_class_specialization_builder(val_t p0
, val_t p1
){
2683 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2685 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2686 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2688 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_specialization_builder
;
2689 fra
.me
.has_broke
= 0;
2690 fra
.me
.REG_size
= 2;
2691 fra
.me
.nitni_local_ref_head
= NULL
;
2692 fra
.me
.REG
[0] = NIT_NULL
;
2693 fra
.me
.REG
[1] = NIT_NULL
;
2696 /* syntax/mmbuilder.nit:439 */
2697 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2698 stack_frame_head
= fra
.me
.prev
;
2701 static const char LOCATE_syntax___mmbuilder___ANode___accept_class_ancestor_builder
[] = "mmbuilder::ANode::accept_class_ancestor_builder";
2702 void syntax___mmbuilder___ANode___accept_class_ancestor_builder(val_t p0
, val_t p1
){
2703 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2705 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2706 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2708 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_ancestor_builder
;
2709 fra
.me
.has_broke
= 0;
2710 fra
.me
.REG_size
= 2;
2711 fra
.me
.nitni_local_ref_head
= NULL
;
2712 fra
.me
.REG
[0] = NIT_NULL
;
2713 fra
.me
.REG
[1] = NIT_NULL
;
2716 /* syntax/mmbuilder.nit:440 */
2717 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2718 stack_frame_head
= fra
.me
.prev
;
2721 static const char LOCATE_syntax___mmbuilder___ANode___accept_class_verifier
[] = "mmbuilder::ANode::accept_class_verifier";
2722 void syntax___mmbuilder___ANode___accept_class_verifier(val_t p0
, val_t p1
){
2723 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2725 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2726 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2728 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_class_verifier
;
2729 fra
.me
.has_broke
= 0;
2730 fra
.me
.REG_size
= 2;
2731 fra
.me
.nitni_local_ref_head
= NULL
;
2732 fra
.me
.REG
[0] = NIT_NULL
;
2733 fra
.me
.REG
[1] = NIT_NULL
;
2736 /* syntax/mmbuilder.nit:441 */
2737 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2738 stack_frame_head
= fra
.me
.prev
;
2741 static const char LOCATE_syntax___mmbuilder___ANode___accept_property_builder
[] = "mmbuilder::ANode::accept_property_builder";
2742 void syntax___mmbuilder___ANode___accept_property_builder(val_t p0
, val_t p1
){
2743 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2745 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2746 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2748 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_property_builder
;
2749 fra
.me
.has_broke
= 0;
2750 fra
.me
.REG_size
= 2;
2751 fra
.me
.nitni_local_ref_head
= NULL
;
2752 fra
.me
.REG
[0] = NIT_NULL
;
2753 fra
.me
.REG
[1] = NIT_NULL
;
2756 /* syntax/mmbuilder.nit:442 */
2757 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2758 stack_frame_head
= fra
.me
.prev
;
2761 static const char LOCATE_syntax___mmbuilder___ANode___accept_property_verifier
[] = "mmbuilder::ANode::accept_property_verifier";
2762 void syntax___mmbuilder___ANode___accept_property_verifier(val_t p0
, val_t p1
){
2763 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2765 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2766 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2768 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANode___accept_property_verifier
;
2769 fra
.me
.has_broke
= 0;
2770 fra
.me
.REG_size
= 2;
2771 fra
.me
.nitni_local_ref_head
= NULL
;
2772 fra
.me
.REG
[0] = NIT_NULL
;
2773 fra
.me
.REG
[1] = NIT_NULL
;
2776 /* syntax/mmbuilder.nit:443 */
2777 CALL_syntax___syntax_base___ANode___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2778 stack_frame_head
= fra
.me
.prev
;
2781 static const char LOCATE_syntax___mmbuilder___AModule___import_super_modules
[] = "mmbuilder::AModule::import_super_modules";
2782 void syntax___mmbuilder___AModule___import_super_modules(val_t p0
, val_t p1
, val_t p2
){
2783 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2787 static val_t once_value_2
; /* Once value */
2788 static val_t once_value_3
; /* Once value */
2789 static val_t once_value_4
; /* Once value */
2790 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2791 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2793 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModule___import_super_modules
;
2794 fra
.me
.has_broke
= 0;
2795 fra
.me
.REG_size
= 5;
2796 fra
.me
.nitni_local_ref_head
= NULL
;
2797 fra
.me
.REG
[0] = NIT_NULL
;
2798 fra
.me
.REG
[1] = NIT_NULL
;
2799 fra
.me
.REG
[2] = NIT_NULL
;
2800 fra
.me
.REG
[3] = NIT_NULL
;
2801 fra
.me
.REG
[4] = NIT_NULL
;
2805 /* syntax/mmbuilder.nit:451 */
2806 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
2807 /* syntax/mmbuilder.nit:452 */
2808 fra
.me
.REG
[4] = NIT_NULL
;
2809 /* syntax/mmbuilder.nit:453 */
2810 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModule___n_imports(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2811 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___AModule___import_super_modules_1
));
2812 /* syntax/mmbuilder.nit:463 */
2813 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2814 if (UNTAG_Bool(REGB0
)) {
2816 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2817 if (UNTAG_Bool(REGB1
)) {
2818 REGB1
= TAG_Bool(0);
2821 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
2825 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2826 if (UNTAG_Bool(REGB0
)) {
2827 /* syntax/mmbuilder.nit:464 */
2828 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2829 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2830 if (UNTAG_Bool(REGB0
)) {
2831 /* syntax/mmbuilder.nit:465 */
2832 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2833 if (UNTAG_Bool(REGB0
)) {
2834 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 465);
2836 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2837 if (!once_value_2
) {
2838 fra
.me
.REG
[0] = BOX_NativeString("Error: Top modules cannot import other modules.");
2839 REGB0
= TAG_Int(47);
2840 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2841 once_value_2
= fra
.me
.REG
[0];
2842 register_static_object(&once_value_2
);
2843 } else fra
.me
.REG
[0] = once_value_2
;
2844 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2845 CALL_toolcontext___ToolContext___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
2848 /* syntax/mmbuilder.nit:467 */
2849 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2850 if (UNTAG_Bool(REGB0
)) {
2851 /* syntax/mmbuilder.nit:468 */
2852 if (!once_value_3
) {
2853 if (!once_value_4
) {
2854 fra
.me
.REG
[0] = BOX_NativeString("standard");
2856 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2857 once_value_4
= fra
.me
.REG
[0];
2858 register_static_object(&once_value_4
);
2859 } else fra
.me
.REG
[0] = once_value_4
;
2860 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2861 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2862 once_value_3
= fra
.me
.REG
[0];
2863 register_static_object(&once_value_3
);
2864 } else fra
.me
.REG
[0] = once_value_3
;
2865 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2866 /* syntax/mmbuilder.nit:469 */
2867 fra
.me
.REG
[0] = CALL_mmloader___ToolContext___get_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
2868 /* syntax/mmbuilder.nit:470 */
2869 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2870 /* syntax/mmbuilder.nit:471 */
2872 CALL_metamodel___abstractmetamodel___MMModule___add_super_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], REGB0
);
2875 /* syntax/mmbuilder.nit:474 */
2876 CALL_metamodel___abstractmetamodel___MMContext___add_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3]);
2877 stack_frame_head
= fra
.me
.prev
;
2880 void OC_syntax___mmbuilder___AModule___import_super_modules_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2881 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2886 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2887 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2889 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModule___import_super_modules
;
2890 fra
.me
.has_broke
= 0;
2891 fra
.me
.REG_size
= 2;
2892 fra
.me
.nitni_local_ref_head
= NULL
;
2893 fra
.me
.REG
[0] = NIT_NULL
;
2894 fra
.me
.REG
[1] = NIT_NULL
;
2895 fra
.me
.closure_ctx
= closctx_param
;
2896 fra
.me
.closure_funs
= CREG
;
2898 CREG
[0] = clos_fun0
;
2899 /* syntax/mmbuilder.nit:454 */
2900 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___AImport___module_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2901 /* syntax/mmbuilder.nit:455 */
2902 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2903 if (UNTAG_Bool(REGB0
)) {
2905 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2906 if (UNTAG_Bool(REGB1
)) {
2907 REGB1
= TAG_Bool(0);
2910 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
2914 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2915 if (UNTAG_Bool(REGB0
)) {
2916 /* syntax/mmbuilder.nit:456 */
2917 fra
.me
.REG
[1] = CALL_mmloader___ToolContext___get_module(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1], closctx
->REG
[2]);
2918 /* syntax/mmbuilder.nit:457 */
2919 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[1]);
2920 /* syntax/mmbuilder.nit:458 */
2921 REGB0
= CALL_syntax___mmbuilder___AImport___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2922 CALL_metamodel___abstractmetamodel___MMModule___add_super_module(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[1], REGB0
);
2924 /* syntax/mmbuilder.nit:460 */
2925 closctx
->REG
[4] = fra
.me
.REG
[0];
2927 stack_frame_head
= fra
.me
.prev
;
2930 static const char LOCATE_syntax___mmbuilder___AModuledecl___accept_class_builder
[] = "mmbuilder::AModuledecl::(mmbuilder::ANode::accept_class_builder)";
2931 void syntax___mmbuilder___AModuledecl___accept_class_builder(val_t p0
, val_t p1
){
2932 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2936 static val_t once_value_1
; /* Once value */
2937 static val_t once_value_2
; /* Once value */
2938 static val_t once_value_3
; /* Once value */
2939 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2940 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
2942 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AModuledecl___accept_class_builder
;
2943 fra
.me
.has_broke
= 0;
2944 fra
.me
.REG_size
= 5;
2945 fra
.me
.nitni_local_ref_head
= NULL
;
2946 fra
.me
.REG
[0] = NIT_NULL
;
2947 fra
.me
.REG
[1] = NIT_NULL
;
2948 fra
.me
.REG
[2] = NIT_NULL
;
2949 fra
.me
.REG
[3] = NIT_NULL
;
2950 fra
.me
.REG
[4] = NIT_NULL
;
2953 /* syntax/mmbuilder.nit:481 */
2954 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2955 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2956 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2957 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2958 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2959 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
2960 if (UNTAG_Bool(REGB0
)) {
2962 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2965 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2966 if (UNTAG_Bool(REGB0
)) {
2967 /* syntax/mmbuilder.nit:482 */
2968 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2969 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2971 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2972 if (!once_value_1
) {
2973 fra
.me
.REG
[4] = BOX_NativeString("Error: Module name mismatch between ");
2974 REGB0
= TAG_Int(36);
2975 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
2976 once_value_1
= fra
.me
.REG
[4];
2977 register_static_object(&once_value_1
);
2978 } else fra
.me
.REG
[4] = once_value_1
;
2979 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2980 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2981 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2982 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2983 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2985 if (!once_value_2
) {
2986 fra
.me
.REG
[4] = BOX_NativeString(" and ");
2988 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
2989 once_value_2
= fra
.me
.REG
[4];
2990 register_static_object(&once_value_2
);
2991 } else fra
.me
.REG
[4] = once_value_2
;
2992 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2993 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
2994 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuledecl___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2995 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2996 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2997 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2998 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2999 if (!once_value_3
) {
3000 fra
.me
.REG
[0] = BOX_NativeString("");
3002 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
3003 once_value_3
= fra
.me
.REG
[0];
3004 register_static_object(&once_value_3
);
3005 } else fra
.me
.REG
[0] = once_value_3
;
3006 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
3008 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3009 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3], fra
.me
.REG
[2]);
3011 stack_frame_head
= fra
.me
.prev
;
3014 static const char LOCATE_syntax___mmbuilder___AImport___module_name
[] = "mmbuilder::AImport::module_name";
3015 val_t
syntax___mmbuilder___AImport___module_name(val_t p0
){
3016 struct {struct stack_frame_t me
;} fra
;
3018 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3019 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3021 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AImport___module_name
;
3022 fra
.me
.has_broke
= 0;
3023 fra
.me
.REG_size
= 0;
3024 fra
.me
.nitni_local_ref_head
= NULL
;
3025 /* syntax/mmbuilder.nit:488 */
3026 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 488);
3027 stack_frame_head
= fra
.me
.prev
;
3030 static const char LOCATE_syntax___mmbuilder___AImport___visibility_level
[] = "mmbuilder::AImport::visibility_level";
3031 val_t
syntax___mmbuilder___AImport___visibility_level(val_t p0
){
3032 struct {struct stack_frame_t me
;} fra
;
3034 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3035 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3037 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AImport___visibility_level
;
3038 fra
.me
.has_broke
= 0;
3039 fra
.me
.REG_size
= 0;
3040 fra
.me
.nitni_local_ref_head
= NULL
;
3041 /* syntax/mmbuilder.nit:491 */
3042 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 491);
3043 stack_frame_head
= fra
.me
.prev
;
3046 static const char LOCATE_syntax___mmbuilder___AStdImport___module_name
[] = "mmbuilder::AStdImport::(mmbuilder::AImport::module_name)";
3047 val_t
syntax___mmbuilder___AStdImport___module_name(val_t p0
){
3048 struct {struct stack_frame_t me
;} fra
;
3050 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3051 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3053 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdImport___module_name
;
3054 fra
.me
.has_broke
= 0;
3055 fra
.me
.REG_size
= 1;
3056 fra
.me
.nitni_local_ref_head
= NULL
;
3057 fra
.me
.REG
[0] = NIT_NULL
;
3059 /* syntax/mmbuilder.nit:497 */
3060 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdImport___n_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3061 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AModuleName___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3062 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3065 stack_frame_head
= fra
.me
.prev
;
3066 return fra
.me
.REG
[0];
3068 static const char LOCATE_syntax___mmbuilder___AStdImport___visibility_level
[] = "mmbuilder::AStdImport::(mmbuilder::AImport::visibility_level)";
3069 val_t
syntax___mmbuilder___AStdImport___visibility_level(val_t p0
){
3070 struct {struct stack_frame_t me
;} fra
;
3073 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3074 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3076 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdImport___visibility_level
;
3077 fra
.me
.has_broke
= 0;
3078 fra
.me
.REG_size
= 1;
3079 fra
.me
.nitni_local_ref_head
= NULL
;
3080 fra
.me
.REG
[0] = NIT_NULL
;
3082 /* syntax/mmbuilder.nit:501 */
3083 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdImport___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3084 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3087 stack_frame_head
= fra
.me
.prev
;
3090 static const char LOCATE_syntax___mmbuilder___ANoImport___module_name
[] = "mmbuilder::ANoImport::(mmbuilder::AImport::module_name)";
3091 val_t
syntax___mmbuilder___ANoImport___module_name(val_t p0
){
3092 struct {struct stack_frame_t me
;} fra
;
3094 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3095 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3097 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANoImport___module_name
;
3098 fra
.me
.has_broke
= 0;
3099 fra
.me
.REG_size
= 1;
3100 fra
.me
.nitni_local_ref_head
= NULL
;
3101 fra
.me
.REG
[0] = NIT_NULL
;
3103 /* syntax/mmbuilder.nit:507 */
3104 fra
.me
.REG
[0] = NIT_NULL
;
3107 stack_frame_head
= fra
.me
.prev
;
3108 return fra
.me
.REG
[0];
3110 static const char LOCATE_syntax___mmbuilder___AVisibility___level
[] = "mmbuilder::AVisibility::level";
3111 val_t
syntax___mmbuilder___AVisibility___level(val_t p0
){
3112 struct {struct stack_frame_t me
;} fra
;
3114 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3115 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3117 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AVisibility___level
;
3118 fra
.me
.has_broke
= 0;
3119 fra
.me
.REG_size
= 0;
3120 fra
.me
.nitni_local_ref_head
= NULL
;
3121 /* syntax/mmbuilder.nit:512 */
3122 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 512);
3123 stack_frame_head
= fra
.me
.prev
;
3126 static const char LOCATE_syntax___mmbuilder___APublicVisibility___level
[] = "mmbuilder::APublicVisibility::(mmbuilder::AVisibility::level)";
3127 val_t
syntax___mmbuilder___APublicVisibility___level(val_t p0
){
3128 struct {struct stack_frame_t me
;} fra
;
3131 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3132 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3134 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APublicVisibility___level
;
3135 fra
.me
.has_broke
= 0;
3136 fra
.me
.REG_size
= 1;
3137 fra
.me
.nitni_local_ref_head
= NULL
;
3138 fra
.me
.REG
[0] = NIT_NULL
;
3140 /* syntax/mmbuilder.nit:516 */
3144 stack_frame_head
= fra
.me
.prev
;
3147 static const char LOCATE_syntax___mmbuilder___AProtectedVisibility___level
[] = "mmbuilder::AProtectedVisibility::(mmbuilder::AVisibility::level)";
3148 val_t
syntax___mmbuilder___AProtectedVisibility___level(val_t p0
){
3149 struct {struct stack_frame_t me
;} fra
;
3152 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3153 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3155 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AProtectedVisibility___level
;
3156 fra
.me
.has_broke
= 0;
3157 fra
.me
.REG_size
= 1;
3158 fra
.me
.nitni_local_ref_head
= NULL
;
3159 fra
.me
.REG
[0] = NIT_NULL
;
3161 /* syntax/mmbuilder.nit:519 */
3165 stack_frame_head
= fra
.me
.prev
;
3168 static const char LOCATE_syntax___mmbuilder___APrivateVisibility___level
[] = "mmbuilder::APrivateVisibility::(mmbuilder::AVisibility::level)";
3169 val_t
syntax___mmbuilder___APrivateVisibility___level(val_t p0
){
3170 struct {struct stack_frame_t me
;} fra
;
3173 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3174 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3176 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APrivateVisibility___level
;
3177 fra
.me
.has_broke
= 0;
3178 fra
.me
.REG_size
= 1;
3179 fra
.me
.nitni_local_ref_head
= NULL
;
3180 fra
.me
.REG
[0] = NIT_NULL
;
3182 /* syntax/mmbuilder.nit:522 */
3186 stack_frame_head
= fra
.me
.prev
;
3189 static const char LOCATE_syntax___mmbuilder___AIntrudeVisibility___level
[] = "mmbuilder::AIntrudeVisibility::(mmbuilder::AVisibility::level)";
3190 val_t
syntax___mmbuilder___AIntrudeVisibility___level(val_t p0
){
3191 struct {struct stack_frame_t me
;} fra
;
3194 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3195 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3197 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AIntrudeVisibility___level
;
3198 fra
.me
.has_broke
= 0;
3199 fra
.me
.REG_size
= 1;
3200 fra
.me
.nitni_local_ref_head
= NULL
;
3201 fra
.me
.REG
[0] = NIT_NULL
;
3203 /* syntax/mmbuilder.nit:525 */
3207 stack_frame_head
= fra
.me
.prev
;
3210 static const char LOCATE_syntax___mmbuilder___AClassdef___local_class
[] = "mmbuilder::AClassdef::(syntax_base::AClassdef::local_class)";
3211 val_t
syntax___mmbuilder___AClassdef___local_class(val_t p0
){
3212 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3215 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3216 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3218 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___local_class
;
3219 fra
.me
.has_broke
= 0;
3220 fra
.me
.REG_size
= 2;
3221 fra
.me
.nitni_local_ref_head
= NULL
;
3222 fra
.me
.REG
[0] = NIT_NULL
;
3223 fra
.me
.REG
[1] = NIT_NULL
;
3225 /* syntax/mmbuilder.nit:530 */
3226 fra
.me
.REG
[1] = fra
.me
.REG
[0];
3227 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[1]);
3228 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
3229 if (UNTAG_Bool(REGB0
)) {
3231 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 530);
3235 stack_frame_head
= fra
.me
.prev
;
3236 return fra
.me
.REG
[1];
3238 static const char LOCATE_syntax___mmbuilder___AClassdef___name
[] = "mmbuilder::AClassdef::name";
3239 val_t
syntax___mmbuilder___AClassdef___name(val_t p0
){
3240 struct {struct stack_frame_t me
;} fra
;
3242 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3243 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3245 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___name
;
3246 fra
.me
.has_broke
= 0;
3247 fra
.me
.REG_size
= 0;
3248 fra
.me
.nitni_local_ref_head
= NULL
;
3249 /* syntax/mmbuilder.nit:533 */
3250 nit_abort("Deferred method called", NULL
, LOCATE_syntax___mmbuilder
, 533);
3251 stack_frame_head
= fra
.me
.prev
;
3254 static const char LOCATE_syntax___mmbuilder___AClassdef___arity
[] = "mmbuilder::AClassdef::arity";
3255 val_t
syntax___mmbuilder___AClassdef___arity(val_t p0
){
3256 struct {struct stack_frame_t me
;} fra
;
3259 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3260 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3262 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___arity
;
3263 fra
.me
.has_broke
= 0;
3264 fra
.me
.REG_size
= 1;
3265 fra
.me
.nitni_local_ref_head
= NULL
;
3266 fra
.me
.REG
[0] = NIT_NULL
;
3268 /* syntax/mmbuilder.nit:537 */
3272 stack_frame_head
= fra
.me
.prev
;
3275 static const char LOCATE_syntax___mmbuilder___AClassdef___visibility_level
[] = "mmbuilder::AClassdef::visibility_level";
3276 val_t
syntax___mmbuilder___AClassdef___visibility_level(val_t p0
){
3277 struct {struct stack_frame_t me
;} fra
;
3280 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3281 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3283 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___visibility_level
;
3284 fra
.me
.has_broke
= 0;
3285 fra
.me
.REG_size
= 1;
3286 fra
.me
.nitni_local_ref_head
= NULL
;
3287 fra
.me
.REG
[0] = NIT_NULL
;
3289 /* syntax/mmbuilder.nit:540 */
3293 stack_frame_head
= fra
.me
.prev
;
3296 static const char LOCATE_syntax___mmbuilder___AClassdef___accept_class_builder
[] = "mmbuilder::AClassdef::(mmbuilder::ANode::accept_class_builder)";
3297 void syntax___mmbuilder___AClassdef___accept_class_builder(val_t p0
, val_t p1
){
3298 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3302 static val_t once_value_1
; /* Once value */
3303 static val_t once_value_2
; /* Once value */
3304 static val_t once_value_3
; /* Once value */
3305 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3306 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3308 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_class_builder
;
3309 fra
.me
.has_broke
= 0;
3310 fra
.me
.REG_size
= 9;
3311 fra
.me
.nitni_local_ref_head
= NULL
;
3312 fra
.me
.REG
[0] = NIT_NULL
;
3313 fra
.me
.REG
[1] = NIT_NULL
;
3314 fra
.me
.REG
[2] = NIT_NULL
;
3315 fra
.me
.REG
[3] = NIT_NULL
;
3316 fra
.me
.REG
[4] = NIT_NULL
;
3317 fra
.me
.REG
[5] = NIT_NULL
;
3318 fra
.me
.REG
[6] = NIT_NULL
;
3319 fra
.me
.REG
[7] = NIT_NULL
;
3320 fra
.me
.REG
[8] = NIT_NULL
;
3323 /* syntax/mmbuilder.nit:542 */
3324 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3325 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3326 /* syntax/mmbuilder.nit:545 */
3327 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3328 /* syntax/mmbuilder.nit:546 */
3329 fra
.me
.REG
[5] = CALL_syntax___syntax_base___MMSrcModule___src_local_classes(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3330 /* syntax/mmbuilder.nit:547 */
3331 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3332 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3333 if (UNTAG_Bool(REGB0
)) {
3334 /* syntax/mmbuilder.nit:548 */
3335 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3336 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
3337 /* syntax/mmbuilder.nit:549 */
3338 ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3339 /* syntax/mmbuilder.nit:550 */
3340 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3341 if (UNTAG_Bool(REGB0
)) {
3342 /* syntax/mmbuilder.nit:552 */
3344 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3345 if (!once_value_1
) {
3346 fra
.me
.REG
[8] = BOX_NativeString("Error: A class ");
3347 REGB0
= TAG_Int(15);
3348 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
3349 once_value_1
= fra
.me
.REG
[8];
3350 register_static_object(&once_value_1
);
3351 } else fra
.me
.REG
[8] = once_value_1
;
3352 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3353 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3354 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3355 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3357 if (!once_value_2
) {
3358 fra
.me
.REG
[8] = BOX_NativeString(" is already defined at line ");
3359 REGB0
= TAG_Int(28);
3360 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
3361 once_value_2
= fra
.me
.REG
[8];
3362 register_static_object(&once_value_2
);
3363 } else fra
.me
.REG
[8] = once_value_2
;
3364 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3365 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3366 fra
.me
.REG
[8] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3367 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3368 if (UNTAG_Bool(REGB0
)) {
3369 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 552);
3371 fra
.me
.REG
[8] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3372 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3373 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
3374 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3375 if (!once_value_3
) {
3376 fra
.me
.REG
[8] = BOX_NativeString(".");
3378 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
3379 once_value_3
= fra
.me
.REG
[8];
3380 register_static_object(&once_value_3
);
3381 } else fra
.me
.REG
[8] = once_value_3
;
3382 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3383 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3384 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3385 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3386 /* syntax/mmbuilder.nit:553 */
3389 /* syntax/mmbuilder.nit:556 */
3390 fra
.me
.REG
[7] = CALL_syntax___syntax_base___MMSrcLocalClass___node(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3391 /* syntax/mmbuilder.nit:557 */
3393 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3394 if (UNTAG_Bool(REGB0
)) {
3395 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 557);
3397 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3398 REGB0
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3399 if (UNTAG_Bool(REGB0
)) {
3401 REGB1
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
3402 if (UNTAG_Bool(REGB1
)) {
3403 REGB1
= TAG_Bool(0);
3406 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
3410 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3411 if (UNTAG_Bool(REGB0
)) {
3412 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3413 if (UNTAG_Bool(REGB0
)) {
3414 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 557);
3416 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AClassdef___next_node(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3417 fra
.me
.REG
[7] = fra
.me
.REG
[8];
3423 /* syntax/mmbuilder.nit:558 */
3424 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
3425 if (UNTAG_Bool(REGB0
)) {
3426 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 558);
3428 CALL_syntax___syntax_base___AClassdef___next_node__eq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3430 /* syntax/mmbuilder.nit:560 */
3431 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3432 REGB0
= CALL_syntax___mmbuilder___AClassdef___arity(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3433 fra
.me
.REG
[7] = NEW_MMSrcLocalClass_syntax___syntax_base___MMSrcLocalClass___init(fra
.me
.REG
[4], fra
.me
.REG
[7], fra
.me
.REG
[2], REGB0
);
3434 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3435 /* syntax/mmbuilder.nit:561 */
3436 ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]) = fra
.me
.REG
[6];
3437 /* syntax/mmbuilder.nit:562 */
3438 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3439 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7], fra
.me
.REG
[6]);
3440 /* syntax/mmbuilder.nit:563 */
3441 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3442 REGB0
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3443 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3444 if (UNTAG_Bool(REGB0
)) {
3445 /* syntax/mmbuilder.nit:564 */
3446 CALL_syntax___mmbuilder___AClassdef___build_class_introduction(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3448 /* syntax/mmbuilder.nit:566 */
3449 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3450 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMModule___global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3451 /* syntax/mmbuilder.nit:567 */
3452 CALL_syntax___mmbuilder___AClassdef___build_class_refinement(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[7]);
3455 /* syntax/mmbuilder.nit:571 */
3457 CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
3458 /* syntax/mmbuilder.nit:572 */
3459 fra
.me
.REG
[6] = CALL_syntax___syntax_base___MMSrcLocalClass___formal_dict(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3460 CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
3461 /* syntax/mmbuilder.nit:575 */
3462 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3463 /* syntax/mmbuilder.nit:578 */
3464 CALL_syntax___mmbuilder___ClassBuilderVisitor___formals__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3466 stack_frame_head
= fra
.me
.prev
;
3469 static const char LOCATE_syntax___mmbuilder___AClassdef___build_class_introduction
[] = "mmbuilder::AClassdef::build_class_introduction";
3470 void syntax___mmbuilder___AClassdef___build_class_introduction(val_t p0
, val_t p1
){
3471 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3475 static val_t once_value_1
; /* Once value */
3476 static val_t once_value_2
; /* Once value */
3477 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3478 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3480 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___build_class_introduction
;
3481 fra
.me
.has_broke
= 0;
3482 fra
.me
.REG_size
= 5;
3483 fra
.me
.nitni_local_ref_head
= NULL
;
3484 fra
.me
.REG
[0] = NIT_NULL
;
3485 fra
.me
.REG
[1] = NIT_NULL
;
3486 fra
.me
.REG
[2] = NIT_NULL
;
3487 fra
.me
.REG
[3] = NIT_NULL
;
3488 fra
.me
.REG
[4] = NIT_NULL
;
3491 /* syntax/mmbuilder.nit:583 */
3492 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3493 CALL_metamodel___abstractmetamodel___MMLocalClass___new_global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3494 /* syntax/mmbuilder.nit:584 */
3495 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3496 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3497 /* syntax/mmbuilder.nit:586 */
3498 REGB0
= CALL_syntax___mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3499 CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3500 /* syntax/mmbuilder.nit:587 */
3501 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3502 if (UNTAG_Bool(REGB0
)) {
3503 /* syntax/mmbuilder.nit:588 */
3504 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3505 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3506 if (UNTAG_Bool(REGB0
)) {
3508 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3509 if (UNTAG_Bool(REGB1
)) {
3510 REGB1
= TAG_Bool(0);
3513 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3517 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3518 if (UNTAG_Bool(REGB0
)) {
3519 /* syntax/mmbuilder.nit:589 */
3521 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3522 if (!once_value_1
) {
3523 fra
.me
.REG
[4] = BOX_NativeString("Redef error: No class ");
3524 REGB0
= TAG_Int(22);
3525 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
3526 once_value_1
= fra
.me
.REG
[4];
3527 register_static_object(&once_value_1
);
3528 } else fra
.me
.REG
[4] = once_value_1
;
3529 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3530 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3531 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3532 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3533 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3534 if (!once_value_2
) {
3535 fra
.me
.REG
[4] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
3536 REGB0
= TAG_Int(61);
3537 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
3538 once_value_2
= fra
.me
.REG
[4];
3539 register_static_object(&once_value_2
);
3540 } else fra
.me
.REG
[4] = once_value_2
;
3541 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3543 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3544 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3545 /* syntax/mmbuilder.nit:590 */
3548 /* syntax/mmbuilder.nit:592 */
3549 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3550 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3551 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3552 /* syntax/mmbuilder.nit:593 */
3553 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3554 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3555 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3556 /* syntax/mmbuilder.nit:594 */
3557 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3558 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3559 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3562 stack_frame_head
= fra
.me
.prev
;
3565 static const char LOCATE_syntax___mmbuilder___AClassdef___build_class_refinement
[] = "mmbuilder::AClassdef::build_class_refinement";
3566 void syntax___mmbuilder___AClassdef___build_class_refinement(val_t p0
, val_t p1
, val_t p2
){
3567 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
3572 static val_t once_value_1
; /* Once value */
3573 static val_t once_value_2
; /* Once value */
3574 static val_t once_value_4
; /* Once value */
3575 static val_t once_value_5
; /* Once value */
3576 static val_t once_value_6
; /* Once value */
3577 static val_t once_value_7
; /* Once value */
3578 static val_t once_value_8
; /* Once value */
3579 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3580 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3582 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___build_class_refinement
;
3583 fra
.me
.has_broke
= 0;
3584 fra
.me
.REG_size
= 5;
3585 fra
.me
.nitni_local_ref_head
= NULL
;
3586 fra
.me
.REG
[0] = NIT_NULL
;
3587 fra
.me
.REG
[1] = NIT_NULL
;
3588 fra
.me
.REG
[2] = NIT_NULL
;
3589 fra
.me
.REG
[3] = NIT_NULL
;
3590 fra
.me
.REG
[4] = NIT_NULL
;
3594 /* syntax/mmbuilder.nit:600 */
3595 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3596 CALL_metamodel___abstractmetamodel___MMLocalClass___set_global(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3597 /* syntax/mmbuilder.nit:602 */
3598 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3599 CALL_syntax___syntax_base___MMGlobalClass___check_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3600 /* syntax/mmbuilder.nit:603 */
3601 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3602 if (UNTAG_Bool(REGB0
)) {
3603 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3604 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3605 if (UNTAG_Bool(REGB0
)) {
3607 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3608 if (UNTAG_Bool(REGB1
)) {
3609 REGB1
= TAG_Bool(0);
3612 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
3617 REGB1
= TAG_Bool(0);
3620 if (UNTAG_Bool(REGB0
)) {
3621 /* syntax/mmbuilder.nit:604 */
3623 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3624 if (!once_value_1
) {
3625 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
3626 REGB0
= TAG_Int(13);
3627 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
3628 once_value_1
= fra
.me
.REG
[4];
3629 register_static_object(&once_value_1
);
3630 } else fra
.me
.REG
[4] = once_value_1
;
3631 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3633 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3634 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3635 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3636 if (!once_value_2
) {
3637 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
3638 REGB0
= TAG_Int(58);
3639 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
3640 once_value_2
= fra
.me
.REG
[4];
3641 register_static_object(&once_value_2
);
3642 } else fra
.me
.REG
[4] = once_value_2
;
3643 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3645 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3646 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3647 /* syntax/mmbuilder.nit:605 */
3650 /* syntax/mmbuilder.nit:608 */
3651 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3652 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3653 fra
.me
.REG
[3] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
3654 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3655 if (UNTAG_Bool(REGB1
)) {
3656 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 608);
3658 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3659 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
3660 if (UNTAG_Bool(REGB2
)) {
3662 /* ../lib/standard/kernel.nit:237 */
3663 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
3664 /* syntax/mmbuilder.nit:608 */
3667 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3668 if (UNTAG_Bool(REGB2
)) {
3669 /* syntax/mmbuilder.nit:609 */
3671 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3672 if (!once_value_4
) {
3673 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity missmatch; got ");
3674 REGB2
= TAG_Int(51);
3675 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
3676 once_value_4
= fra
.me
.REG
[4];
3677 register_static_object(&once_value_4
);
3678 } else fra
.me
.REG
[4] = once_value_4
;
3679 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3680 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3681 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[0]);
3682 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3683 if (UNTAG_Bool(REGB2
)) {
3684 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 609);
3686 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3687 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
3688 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3689 if (!once_value_5
) {
3690 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
3691 REGB2
= TAG_Int(11);
3692 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
3693 once_value_5
= fra
.me
.REG
[4];
3694 register_static_object(&once_value_5
);
3695 } else fra
.me
.REG
[4] = once_value_5
;
3696 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3697 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3698 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3699 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3700 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
3701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3702 if (!once_value_6
) {
3703 fra
.me
.REG
[4] = BOX_NativeString(".");
3705 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
3706 once_value_6
= fra
.me
.REG
[4];
3707 register_static_object(&once_value_6
);
3708 } else fra
.me
.REG
[4] = once_value_6
;
3709 fra
.me
.REG
[4] = fra
.me
.REG
[4];
3710 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
3711 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3712 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
3714 /* syntax/mmbuilder.nit:612 */
3715 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AStdClassdef
, ID_parser___parser_nodes___AStdClassdef
)) /*cast AStdClassdef*/;
3716 if (UNTAG_Bool(REGB2
)) {
3717 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3718 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3719 if (UNTAG_Bool(REGB2
)) {
3720 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3721 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3723 REGB1
= TAG_Bool(0);
3726 if (UNTAG_Bool(REGB2
)) {
3727 REGB2
= TAG_Bool(1);
3729 /* syntax/mmbuilder.nit:613 */
3730 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3731 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3732 /* syntax/mmbuilder.nit:612 */
3735 if (UNTAG_Bool(REGB2
)) {
3736 /* syntax/mmbuilder.nit:613 */
3737 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3738 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3740 /* syntax/mmbuilder.nit:612 */
3741 REGB1
= TAG_Bool(0);
3744 if (UNTAG_Bool(REGB2
)) {
3745 REGB2
= TAG_Bool(1);
3747 /* syntax/mmbuilder.nit:614 */
3748 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3749 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3750 /* syntax/mmbuilder.nit:612 */
3753 if (UNTAG_Bool(REGB2
)) {
3754 /* syntax/mmbuilder.nit:614 */
3755 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3756 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3758 /* syntax/mmbuilder.nit:612 */
3759 REGB1
= TAG_Bool(0);
3763 REGB1
= TAG_Bool(0);
3766 if (UNTAG_Bool(REGB2
)) {
3767 /* syntax/mmbuilder.nit:616 */
3769 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
3770 if (!once_value_7
) {
3771 fra
.me
.REG
[3] = BOX_NativeString("Redef error: cannot change kind of class ");
3772 REGB2
= TAG_Int(41);
3773 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB2
);
3774 once_value_7
= fra
.me
.REG
[3];
3775 register_static_object(&once_value_7
);
3776 } else fra
.me
.REG
[3] = once_value_7
;
3777 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3778 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3779 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3780 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3781 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3782 if (!once_value_8
) {
3783 fra
.me
.REG
[3] = BOX_NativeString(".");
3785 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB2
);
3786 once_value_8
= fra
.me
.REG
[3];
3787 register_static_object(&once_value_8
);
3788 } else fra
.me
.REG
[3] = once_value_8
;
3789 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3790 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
3791 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3792 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
3795 stack_frame_head
= fra
.me
.prev
;
3798 static const char LOCATE_syntax___mmbuilder___AClassdef___accept_class_verifier
[] = "mmbuilder::AClassdef::(mmbuilder::ANode::accept_class_verifier)";
3799 void syntax___mmbuilder___AClassdef___accept_class_verifier(val_t p0
, val_t p1
){
3800 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3805 static val_t once_value_1
; /* Once value */
3806 static val_t once_value_2
; /* Once value */
3807 static val_t once_value_3
; /* Once value */
3808 static val_t once_value_4
; /* Once value */
3809 static val_t once_value_5
; /* Once value */
3810 static val_t once_value_6
; /* Once value */
3811 static val_t once_value_7
; /* Once value */
3812 static val_t once_value_8
; /* Once value */
3813 static val_t once_value_9
; /* Once value */
3814 static val_t once_value_10
; /* Once value */
3815 static val_t once_value_11
; /* Once value */
3816 static val_t once_value_12
; /* Once value */
3817 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3818 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
3820 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_class_verifier
;
3821 fra
.me
.has_broke
= 0;
3822 fra
.me
.REG_size
= 9;
3823 fra
.me
.nitni_local_ref_head
= NULL
;
3824 fra
.me
.REG
[0] = NIT_NULL
;
3825 fra
.me
.REG
[1] = NIT_NULL
;
3826 fra
.me
.REG
[2] = NIT_NULL
;
3827 fra
.me
.REG
[3] = NIT_NULL
;
3828 fra
.me
.REG
[4] = NIT_NULL
;
3829 fra
.me
.REG
[5] = NIT_NULL
;
3830 fra
.me
.REG
[6] = NIT_NULL
;
3831 fra
.me
.REG
[7] = NIT_NULL
;
3832 fra
.me
.REG
[8] = NIT_NULL
;
3835 /* syntax/mmbuilder.nit:620 */
3836 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3837 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3838 /* syntax/mmbuilder.nit:622 */
3839 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3840 /* syntax/mmbuilder.nit:623 */
3841 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3842 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3843 if (UNTAG_Bool(REGB0
)) {
3844 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 623);
3846 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3847 /* syntax/mmbuilder.nit:624 */
3848 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
3849 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3850 if (UNTAG_Bool(REGB0
)) {
3851 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 624);
3853 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3854 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3855 /* ../lib/standard/collection/array.nit:270 */
3857 /* ../lib/standard/collection/array.nit:271 */
3858 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3859 if (UNTAG_Bool(REGB1
)) {
3861 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
3863 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3864 /* ../lib/standard/collection/array.nit:272 */
3865 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
3866 /* ../lib/standard/collection/array.nit:273 */
3868 /* ../lib/standard/collection/array.nit:24 */
3869 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3870 if (UNTAG_Bool(REGB1
)) {
3872 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3874 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3875 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3876 if (UNTAG_Bool(REGB2
)) {
3878 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3880 /* ../lib/standard/kernel.nit:242 */
3881 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3882 /* ../lib/standard/collection/array.nit:273 */
3883 if (UNTAG_Bool(REGB1
)) {
3884 /* ../lib/standard/collection/array.nit:274 */
3885 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3886 if (UNTAG_Bool(REGB1
)) {
3887 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
3889 /* ../lib/standard/collection/array.nit:725 */
3890 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
3891 /* syntax/mmbuilder.nit:625 */
3892 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3893 /* syntax/mmbuilder.nit:626 */
3894 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3895 if (UNTAG_Bool(REGB1
)) {
3896 /* syntax/mmbuilder.nit:627 */
3897 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3898 if (UNTAG_Bool(REGB1
)) {
3899 /* syntax/mmbuilder.nit:628 */
3901 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3902 if (!once_value_1
) {
3903 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3904 REGB1
= TAG_Int(25);
3905 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
3906 once_value_1
= fra
.me
.REG
[8];
3907 register_static_object(&once_value_1
);
3908 } else fra
.me
.REG
[8] = once_value_1
;
3909 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3910 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3911 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3912 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3913 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3914 if (!once_value_2
) {
3915 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
3916 REGB1
= TAG_Int(30);
3917 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
3918 once_value_2
= fra
.me
.REG
[8];
3919 register_static_object(&once_value_2
);
3920 } else fra
.me
.REG
[8] = once_value_2
;
3921 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3923 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3924 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3925 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3926 if (!once_value_3
) {
3927 fra
.me
.REG
[8] = BOX_NativeString(".");
3929 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
3930 once_value_3
= fra
.me
.REG
[8];
3931 register_static_object(&once_value_3
);
3932 } else fra
.me
.REG
[8] = once_value_3
;
3933 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3935 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3936 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3938 /* syntax/mmbuilder.nit:629 */
3939 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3940 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3941 if (UNTAG_Bool(REGB1
)) {
3942 /* syntax/mmbuilder.nit:630 */
3944 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3945 if (!once_value_4
) {
3946 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
3947 REGB1
= TAG_Int(25);
3948 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
3949 once_value_4
= fra
.me
.REG
[8];
3950 register_static_object(&once_value_4
);
3951 } else fra
.me
.REG
[8] = once_value_4
;
3952 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3953 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3954 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3955 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3957 if (!once_value_5
) {
3958 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
3959 REGB1
= TAG_Int(25);
3960 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
3961 once_value_5
= fra
.me
.REG
[8];
3962 register_static_object(&once_value_5
);
3963 } else fra
.me
.REG
[8] = once_value_5
;
3964 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3965 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3966 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3967 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
3968 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3969 if (!once_value_6
) {
3970 fra
.me
.REG
[8] = BOX_NativeString(".");
3972 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
3973 once_value_6
= fra
.me
.REG
[8];
3974 register_static_object(&once_value_6
);
3975 } else fra
.me
.REG
[8] = once_value_6
;
3976 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3978 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3979 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
3983 /* syntax/mmbuilder.nit:632 */
3984 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3985 if (UNTAG_Bool(REGB1
)) {
3986 /* syntax/mmbuilder.nit:633 */
3987 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3988 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3989 if (UNTAG_Bool(REGB1
)) {
3990 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3991 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3993 REGB2
= TAG_Bool(0);
3996 if (UNTAG_Bool(REGB1
)) {
3997 /* syntax/mmbuilder.nit:634 */
3999 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4000 if (!once_value_7
) {
4001 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
4002 REGB1
= TAG_Int(26);
4003 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4004 once_value_7
= fra
.me
.REG
[8];
4005 register_static_object(&once_value_7
);
4006 } else fra
.me
.REG
[8] = once_value_7
;
4007 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4008 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4009 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4010 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4012 if (!once_value_8
) {
4013 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4014 REGB1
= TAG_Int(25);
4015 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4016 once_value_8
= fra
.me
.REG
[8];
4017 register_static_object(&once_value_8
);
4018 } else fra
.me
.REG
[8] = once_value_8
;
4019 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4020 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4021 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4022 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4024 if (!once_value_9
) {
4025 fra
.me
.REG
[8] = BOX_NativeString(".");
4027 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4028 once_value_9
= fra
.me
.REG
[8];
4029 register_static_object(&once_value_9
);
4030 } else fra
.me
.REG
[8] = once_value_9
;
4031 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4032 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4033 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4034 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4037 /* syntax/mmbuilder.nit:637 */
4038 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4039 if (UNTAG_Bool(REGB1
)) {
4040 /* syntax/mmbuilder.nit:638 */
4042 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4043 if (!once_value_10
) {
4044 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
4045 REGB1
= TAG_Int(21);
4046 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
4047 once_value_10
= fra
.me
.REG
[7];
4048 register_static_object(&once_value_10
);
4049 } else fra
.me
.REG
[7] = once_value_10
;
4050 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4052 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4053 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4055 if (!once_value_11
) {
4056 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise enum class ");
4057 REGB1
= TAG_Int(30);
4058 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
4059 once_value_11
= fra
.me
.REG
[7];
4060 register_static_object(&once_value_11
);
4061 } else fra
.me
.REG
[7] = once_value_11
;
4062 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4063 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4064 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4065 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4067 if (!once_value_12
) {
4068 fra
.me
.REG
[5] = BOX_NativeString(".");
4070 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
4071 once_value_12
= fra
.me
.REG
[5];
4072 register_static_object(&once_value_12
);
4073 } else fra
.me
.REG
[5] = once_value_12
;
4074 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4075 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4076 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4077 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
4081 /* ../lib/standard/collection/array.nit:275 */
4083 /* ../lib/standard/kernel.nit:245 */
4084 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4085 /* ../lib/standard/collection/array.nit:275 */
4088 /* ../lib/standard/collection/array.nit:273 */
4093 stack_frame_head
= fra
.me
.prev
;
4096 static const char LOCATE_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor
[] = "mmbuilder::AClassdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
4097 void syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
4098 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4100 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4101 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4103 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor
;
4104 fra
.me
.has_broke
= 0;
4105 fra
.me
.REG_size
= 4;
4106 fra
.me
.nitni_local_ref_head
= NULL
;
4107 fra
.me
.REG
[0] = NIT_NULL
;
4108 fra
.me
.REG
[1] = NIT_NULL
;
4109 fra
.me
.REG
[2] = NIT_NULL
;
4110 fra
.me
.REG
[3] = NIT_NULL
;
4113 /* syntax/mmbuilder.nit:645 */
4114 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4115 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4116 /* syntax/mmbuilder.nit:647 */
4117 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4118 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
4119 /* syntax/mmbuilder.nit:648 */
4120 CALL_SUPER_syntax___mmbuilder___AClassdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4121 /* syntax/mmbuilder.nit:649 */
4122 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
4123 stack_frame_head
= fra
.me
.prev
;
4126 static const char LOCATE_syntax___mmbuilder___AClasskind___is_interface
[] = "mmbuilder::AClasskind::is_interface";
4127 val_t
syntax___mmbuilder___AClasskind___is_interface(val_t p0
){
4128 struct {struct stack_frame_t me
;} fra
;
4131 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4132 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4134 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_interface
;
4135 fra
.me
.has_broke
= 0;
4136 fra
.me
.REG_size
= 1;
4137 fra
.me
.nitni_local_ref_head
= NULL
;
4138 fra
.me
.REG
[0] = NIT_NULL
;
4140 /* syntax/mmbuilder.nit:654 */
4141 REGB0
= TAG_Bool(0);
4144 stack_frame_head
= fra
.me
.prev
;
4147 static const char LOCATE_syntax___mmbuilder___AClasskind___is_enum
[] = "mmbuilder::AClasskind::is_enum";
4148 val_t
syntax___mmbuilder___AClasskind___is_enum(val_t p0
){
4149 struct {struct stack_frame_t me
;} fra
;
4152 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4153 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4155 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_enum
;
4156 fra
.me
.has_broke
= 0;
4157 fra
.me
.REG_size
= 1;
4158 fra
.me
.nitni_local_ref_head
= NULL
;
4159 fra
.me
.REG
[0] = NIT_NULL
;
4161 /* syntax/mmbuilder.nit:655 */
4162 REGB0
= TAG_Bool(0);
4165 stack_frame_head
= fra
.me
.prev
;
4168 static const char LOCATE_syntax___mmbuilder___AClasskind___is_abstract
[] = "mmbuilder::AClasskind::is_abstract";
4169 val_t
syntax___mmbuilder___AClasskind___is_abstract(val_t p0
){
4170 struct {struct stack_frame_t me
;} fra
;
4173 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4174 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4176 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_abstract
;
4177 fra
.me
.has_broke
= 0;
4178 fra
.me
.REG_size
= 1;
4179 fra
.me
.nitni_local_ref_head
= NULL
;
4180 fra
.me
.REG
[0] = NIT_NULL
;
4182 /* syntax/mmbuilder.nit:656 */
4183 REGB0
= TAG_Bool(0);
4186 stack_frame_head
= fra
.me
.prev
;
4189 static const char LOCATE_syntax___mmbuilder___AClasskind___is_extern
[] = "mmbuilder::AClasskind::is_extern";
4190 val_t
syntax___mmbuilder___AClasskind___is_extern(val_t p0
){
4191 struct {struct stack_frame_t me
;} fra
;
4194 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4195 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4197 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClasskind___is_extern
;
4198 fra
.me
.has_broke
= 0;
4199 fra
.me
.REG_size
= 1;
4200 fra
.me
.nitni_local_ref_head
= NULL
;
4201 fra
.me
.REG
[0] = NIT_NULL
;
4203 /* syntax/mmbuilder.nit:657 */
4204 REGB0
= TAG_Bool(0);
4207 stack_frame_head
= fra
.me
.prev
;
4210 static const char LOCATE_syntax___mmbuilder___AInterfaceClasskind___is_interface
[] = "mmbuilder::AInterfaceClasskind::(mmbuilder::AClasskind::is_interface)";
4211 val_t
syntax___mmbuilder___AInterfaceClasskind___is_interface(val_t p0
){
4212 struct {struct stack_frame_t me
;} fra
;
4215 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4216 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4218 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AInterfaceClasskind___is_interface
;
4219 fra
.me
.has_broke
= 0;
4220 fra
.me
.REG_size
= 1;
4221 fra
.me
.nitni_local_ref_head
= NULL
;
4222 fra
.me
.REG
[0] = NIT_NULL
;
4224 /* syntax/mmbuilder.nit:661 */
4225 REGB0
= TAG_Bool(1);
4228 stack_frame_head
= fra
.me
.prev
;
4231 static const char LOCATE_syntax___mmbuilder___AEnumClasskind___is_enum
[] = "mmbuilder::AEnumClasskind::(mmbuilder::AClasskind::is_enum)";
4232 val_t
syntax___mmbuilder___AEnumClasskind___is_enum(val_t p0
){
4233 struct {struct stack_frame_t me
;} fra
;
4236 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4237 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4239 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AEnumClasskind___is_enum
;
4240 fra
.me
.has_broke
= 0;
4241 fra
.me
.REG_size
= 1;
4242 fra
.me
.nitni_local_ref_head
= NULL
;
4243 fra
.me
.REG
[0] = NIT_NULL
;
4245 /* syntax/mmbuilder.nit:664 */
4246 REGB0
= TAG_Bool(1);
4249 stack_frame_head
= fra
.me
.prev
;
4252 static const char LOCATE_syntax___mmbuilder___AExternClasskind___is_extern
[] = "mmbuilder::AExternClasskind::(mmbuilder::AClasskind::is_extern)";
4253 val_t
syntax___mmbuilder___AExternClasskind___is_extern(val_t p0
){
4254 struct {struct stack_frame_t me
;} fra
;
4257 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4258 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4260 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExternClasskind___is_extern
;
4261 fra
.me
.has_broke
= 0;
4262 fra
.me
.REG_size
= 1;
4263 fra
.me
.nitni_local_ref_head
= NULL
;
4264 fra
.me
.REG
[0] = NIT_NULL
;
4266 /* syntax/mmbuilder.nit:667 */
4267 REGB0
= TAG_Bool(1);
4270 stack_frame_head
= fra
.me
.prev
;
4273 static const char LOCATE_syntax___mmbuilder___AAbstractClasskind___is_abstract
[] = "mmbuilder::AAbstractClasskind::(mmbuilder::AClasskind::is_abstract)";
4274 val_t
syntax___mmbuilder___AAbstractClasskind___is_abstract(val_t p0
){
4275 struct {struct stack_frame_t me
;} fra
;
4278 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4279 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4281 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAbstractClasskind___is_abstract
;
4282 fra
.me
.has_broke
= 0;
4283 fra
.me
.REG_size
= 1;
4284 fra
.me
.nitni_local_ref_head
= NULL
;
4285 fra
.me
.REG
[0] = NIT_NULL
;
4287 /* syntax/mmbuilder.nit:670 */
4288 REGB0
= TAG_Bool(1);
4291 stack_frame_head
= fra
.me
.prev
;
4294 static const char LOCATE_syntax___mmbuilder___AStdClassdef___name
[] = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::name)";
4295 val_t
syntax___mmbuilder___AStdClassdef___name(val_t p0
){
4296 struct {struct stack_frame_t me
;} fra
;
4299 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4300 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4302 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___name
;
4303 fra
.me
.has_broke
= 0;
4304 fra
.me
.REG_size
= 1;
4305 fra
.me
.nitni_local_ref_head
= NULL
;
4306 fra
.me
.REG
[0] = NIT_NULL
;
4308 /* syntax/mmbuilder.nit:676 */
4309 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4310 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4311 if (UNTAG_Bool(REGB0
)) {
4312 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 676);
4314 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4317 stack_frame_head
= fra
.me
.prev
;
4318 return fra
.me
.REG
[0];
4320 static const char LOCATE_syntax___mmbuilder___AStdClassdef___arity
[] = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::arity)";
4321 val_t
syntax___mmbuilder___AStdClassdef___arity(val_t p0
){
4322 struct {struct stack_frame_t me
;} fra
;
4325 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4326 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4328 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___arity
;
4329 fra
.me
.has_broke
= 0;
4330 fra
.me
.REG_size
= 1;
4331 fra
.me
.nitni_local_ref_head
= NULL
;
4332 fra
.me
.REG
[0] = NIT_NULL
;
4334 /* syntax/mmbuilder.nit:680 */
4335 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_formaldefs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4336 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4339 stack_frame_head
= fra
.me
.prev
;
4342 static const char LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder
[] = "mmbuilder::AStdClassdef::(mmbuilder::ANode::accept_class_specialization_builder)";
4343 void syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(val_t p0
, val_t p1
){
4344 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
4348 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4349 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4351 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder
;
4352 fra
.me
.has_broke
= 0;
4353 fra
.me
.REG_size
= 4;
4354 fra
.me
.nitni_local_ref_head
= NULL
;
4355 fra
.me
.REG
[0] = NIT_NULL
;
4356 fra
.me
.REG
[1] = NIT_NULL
;
4357 fra
.me
.REG
[2] = NIT_NULL
;
4358 fra
.me
.REG
[3] = NIT_NULL
;
4361 /* syntax/mmbuilder.nit:682 */
4362 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4363 /* syntax/mmbuilder.nit:684 */
4364 CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4365 /* syntax/mmbuilder.nit:686 */
4366 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4367 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4368 /* syntax/mmbuilder.nit:687 */
4369 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4370 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4371 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[3]));
4372 if (UNTAG_Bool(REGB0
)) {
4374 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
4377 if (UNTAG_Bool(REGB0
)) {
4378 /* syntax/mmbuilder.nit:688 */
4379 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4380 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4381 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4382 /* syntax/mmbuilder.nit:689 */
4383 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4384 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4385 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4386 /* syntax/mmbuilder.nit:690 */
4387 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4388 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4389 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4390 /* syntax/mmbuilder.nit:691 */
4391 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4392 REGB0
= CALL_syntax___mmbuilder___AClasskind___is_extern(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4393 CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4394 /* syntax/mmbuilder.nit:692 */
4395 REGB0
= CALL_syntax___mmbuilder___AClassdef___visibility_level(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4396 CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4398 stack_frame_head
= fra
.me
.prev
;
4401 static const char LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_verifier
[] = "mmbuilder::AStdClassdef::(mmbuilder::ANode::accept_class_verifier)";
4402 void syntax___mmbuilder___AStdClassdef___accept_class_verifier(val_t p0
, val_t p1
){
4403 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
4408 static val_t once_value_1
; /* Once value */
4409 static val_t once_value_2
; /* Once value */
4410 static val_t once_value_3
; /* Once value */
4411 static val_t once_value_4
; /* Once value */
4412 static val_t once_value_5
; /* Once value */
4413 static val_t once_value_6
; /* Once value */
4414 static val_t once_value_7
; /* Once value */
4415 static val_t once_value_8
; /* Once value */
4416 static val_t once_value_9
; /* Once value */
4417 static val_t once_value_10
; /* Once value */
4418 static val_t once_value_11
; /* Once value */
4419 static val_t once_value_12
; /* Once value */
4420 static val_t once_value_13
; /* Once value */
4421 static val_t once_value_14
; /* Once value */
4422 static val_t once_value_15
; /* Once value */
4423 static val_t once_value_16
; /* Once value */
4424 static val_t once_value_17
; /* Once value */
4425 static val_t once_value_18
; /* Once value */
4426 static val_t once_value_19
; /* Once value */
4427 static val_t once_value_20
; /* Once value */
4428 static val_t once_value_23
; /* Once value */
4429 static val_t once_value_24
; /* Once value */
4430 static val_t once_value_25
; /* Once value */
4431 static val_t once_value_26
; /* Once value */
4432 static val_t once_value_27
; /* Once value */
4433 static val_t once_value_28
; /* Once value */
4434 static val_t once_value_29
; /* Once value */
4435 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4436 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
4438 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___accept_class_verifier
;
4439 fra
.me
.has_broke
= 0;
4440 fra
.me
.REG_size
= 9;
4441 fra
.me
.nitni_local_ref_head
= NULL
;
4442 fra
.me
.REG
[0] = NIT_NULL
;
4443 fra
.me
.REG
[1] = NIT_NULL
;
4444 fra
.me
.REG
[2] = NIT_NULL
;
4445 fra
.me
.REG
[3] = NIT_NULL
;
4446 fra
.me
.REG
[4] = NIT_NULL
;
4447 fra
.me
.REG
[5] = NIT_NULL
;
4448 fra
.me
.REG
[6] = NIT_NULL
;
4449 fra
.me
.REG
[7] = NIT_NULL
;
4450 fra
.me
.REG
[8] = NIT_NULL
;
4453 /* syntax/mmbuilder.nit:695 */
4454 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4455 fra
.me
.REG
[3] = fra
.me
.REG
[1];
4456 /* syntax/mmbuilder.nit:697 */
4457 CALL_SUPER_syntax___mmbuilder___AStdClassdef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
4458 /* syntax/mmbuilder.nit:698 */
4459 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4460 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
4461 if (UNTAG_Bool(REGB0
)) {
4462 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 698);
4464 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4465 /* syntax/mmbuilder.nit:699 */
4466 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4467 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4468 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
4469 if (UNTAG_Bool(REGB0
)) {
4471 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4474 if (UNTAG_Bool(REGB0
)) {
4475 /* syntax/mmbuilder.nit:701 */
4476 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4477 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4478 if (UNTAG_Bool(REGB0
)) {
4480 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4481 if (UNTAG_Bool(REGB1
)) {
4482 REGB1
= TAG_Bool(0);
4485 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4489 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4490 if (UNTAG_Bool(REGB0
)) {
4491 /* syntax/mmbuilder.nit:702 */
4493 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4494 if (!once_value_1
) {
4495 fra
.me
.REG
[0] = BOX_NativeString("Redef error: No class ");
4496 REGB0
= TAG_Int(22);
4497 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
4498 once_value_1
= fra
.me
.REG
[0];
4499 register_static_object(&once_value_1
);
4500 } else fra
.me
.REG
[0] = once_value_1
;
4501 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4502 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4503 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4504 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4505 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4506 if (!once_value_2
) {
4507 fra
.me
.REG
[0] = BOX_NativeString(" is imported. Remove the redef keyword to define a new class.");
4508 REGB0
= TAG_Int(61);
4509 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
4510 once_value_2
= fra
.me
.REG
[0];
4511 register_static_object(&once_value_2
);
4512 } else fra
.me
.REG
[0] = once_value_2
;
4513 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4514 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4515 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4516 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
4518 /* syntax/mmbuilder.nit:704 */
4519 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4520 if (UNTAG_Bool(REGB0
)) {
4521 /* syntax/mmbuilder.nit:705 */
4522 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4523 REGB0
= TAG_Bool(1);
4524 CALL_metamodel___abstractmetamodel___MMModule___is_extern_hybrid__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
4526 /* syntax/mmbuilder.nit:708 */
4527 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4528 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4529 if (UNTAG_Bool(REGB0
)) {
4530 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 708);
4532 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4533 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4534 /* ../lib/standard/collection/array.nit:270 */
4536 /* ../lib/standard/collection/array.nit:271 */
4537 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4538 if (UNTAG_Bool(REGB1
)) {
4540 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
4542 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4543 /* ../lib/standard/collection/array.nit:272 */
4544 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
4545 /* ../lib/standard/collection/array.nit:273 */
4547 /* ../lib/standard/collection/array.nit:24 */
4548 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
4549 if (UNTAG_Bool(REGB1
)) {
4551 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4553 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
4554 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4555 if (UNTAG_Bool(REGB2
)) {
4557 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4559 /* ../lib/standard/kernel.nit:242 */
4560 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
4561 /* ../lib/standard/collection/array.nit:273 */
4562 if (UNTAG_Bool(REGB1
)) {
4563 /* ../lib/standard/collection/array.nit:274 */
4564 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4565 if (UNTAG_Bool(REGB1
)) {
4566 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
4568 /* ../lib/standard/collection/array.nit:725 */
4569 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
4570 /* syntax/mmbuilder.nit:709 */
4571 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4572 /* syntax/mmbuilder.nit:710 */
4573 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4574 if (UNTAG_Bool(REGB1
)) {
4575 /* syntax/mmbuilder.nit:711 */
4576 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4577 if (UNTAG_Bool(REGB1
)) {
4578 /* syntax/mmbuilder.nit:712 */
4580 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4581 if (!once_value_3
) {
4582 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
4583 REGB1
= TAG_Int(25);
4584 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4585 once_value_3
= fra
.me
.REG
[8];
4586 register_static_object(&once_value_3
);
4587 } else fra
.me
.REG
[8] = once_value_3
;
4588 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4590 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4591 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4593 if (!once_value_4
) {
4594 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
4595 REGB1
= TAG_Int(30);
4596 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4597 once_value_4
= fra
.me
.REG
[8];
4598 register_static_object(&once_value_4
);
4599 } else fra
.me
.REG
[8] = once_value_4
;
4600 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4602 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4603 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4604 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4605 if (!once_value_5
) {
4606 fra
.me
.REG
[8] = BOX_NativeString(".");
4608 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4609 once_value_5
= fra
.me
.REG
[8];
4610 register_static_object(&once_value_5
);
4611 } else fra
.me
.REG
[8] = once_value_5
;
4612 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4613 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4614 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4615 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4617 /* syntax/mmbuilder.nit:713 */
4618 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4619 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4620 if (UNTAG_Bool(REGB1
)) {
4621 /* syntax/mmbuilder.nit:714 */
4623 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4624 if (!once_value_6
) {
4625 fra
.me
.REG
[8] = BOX_NativeString("Special error: Interface ");
4626 REGB1
= TAG_Int(25);
4627 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4628 once_value_6
= fra
.me
.REG
[8];
4629 register_static_object(&once_value_6
);
4630 } else fra
.me
.REG
[8] = once_value_6
;
4631 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4633 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4634 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4635 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4636 if (!once_value_7
) {
4637 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4638 REGB1
= TAG_Int(25);
4639 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4640 once_value_7
= fra
.me
.REG
[8];
4641 register_static_object(&once_value_7
);
4642 } else fra
.me
.REG
[8] = once_value_7
;
4643 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4645 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4646 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4648 if (!once_value_8
) {
4649 fra
.me
.REG
[8] = BOX_NativeString(".");
4651 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4652 once_value_8
= fra
.me
.REG
[8];
4653 register_static_object(&once_value_8
);
4654 } else fra
.me
.REG
[8] = once_value_8
;
4655 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4657 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4658 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4662 /* syntax/mmbuilder.nit:716 */
4663 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4664 if (UNTAG_Bool(REGB1
)) {
4665 /* syntax/mmbuilder.nit:717 */
4666 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4667 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4668 if (UNTAG_Bool(REGB1
)) {
4669 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4670 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4672 REGB2
= TAG_Bool(0);
4675 if (UNTAG_Bool(REGB1
)) {
4676 /* syntax/mmbuilder.nit:718 */
4678 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4679 if (!once_value_9
) {
4680 fra
.me
.REG
[8] = BOX_NativeString("Special error: Enum class ");
4681 REGB1
= TAG_Int(26);
4682 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4683 once_value_9
= fra
.me
.REG
[8];
4684 register_static_object(&once_value_9
);
4685 } else fra
.me
.REG
[8] = once_value_9
;
4686 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4688 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4689 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4690 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4691 if (!once_value_10
) {
4692 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4693 REGB1
= TAG_Int(25);
4694 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4695 once_value_10
= fra
.me
.REG
[8];
4696 register_static_object(&once_value_10
);
4697 } else fra
.me
.REG
[8] = once_value_10
;
4698 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4699 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4700 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4701 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4702 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4703 if (!once_value_11
) {
4704 fra
.me
.REG
[8] = BOX_NativeString(".");
4706 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4707 once_value_11
= fra
.me
.REG
[8];
4708 register_static_object(&once_value_11
);
4709 } else fra
.me
.REG
[8] = once_value_11
;
4710 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4712 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4713 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4716 /* syntax/mmbuilder.nit:720 */
4717 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4718 if (UNTAG_Bool(REGB1
)) {
4719 /* syntax/mmbuilder.nit:721 */
4720 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4721 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4722 if (UNTAG_Bool(REGB1
)) {
4723 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4724 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
4726 REGB2
= TAG_Bool(0);
4729 if (UNTAG_Bool(REGB1
)) {
4730 /* syntax/mmbuilder.nit:722 */
4732 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4733 if (!once_value_12
) {
4734 fra
.me
.REG
[8] = BOX_NativeString("Special error: Extern class ");
4735 REGB1
= TAG_Int(28);
4736 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4737 once_value_12
= fra
.me
.REG
[8];
4738 register_static_object(&once_value_12
);
4739 } else fra
.me
.REG
[8] = once_value_12
;
4740 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4742 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4743 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4744 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4745 if (!once_value_13
) {
4746 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise class ");
4747 REGB1
= TAG_Int(25);
4748 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4749 once_value_13
= fra
.me
.REG
[8];
4750 register_static_object(&once_value_13
);
4751 } else fra
.me
.REG
[8] = once_value_13
;
4752 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4753 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4754 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4755 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4757 if (!once_value_14
) {
4758 fra
.me
.REG
[8] = BOX_NativeString(".");
4760 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4761 once_value_14
= fra
.me
.REG
[8];
4762 register_static_object(&once_value_14
);
4763 } else fra
.me
.REG
[8] = once_value_14
;
4764 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4765 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4766 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4767 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4770 /* syntax/mmbuilder.nit:725 */
4771 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4772 if (UNTAG_Bool(REGB1
)) {
4773 /* syntax/mmbuilder.nit:726 */
4775 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4776 if (!once_value_15
) {
4777 fra
.me
.REG
[8] = BOX_NativeString("Special error: Class ");
4778 REGB1
= TAG_Int(21);
4779 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4780 once_value_15
= fra
.me
.REG
[8];
4781 register_static_object(&once_value_15
);
4782 } else fra
.me
.REG
[8] = once_value_15
;
4783 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4785 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4786 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4787 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4788 if (!once_value_16
) {
4789 fra
.me
.REG
[8] = BOX_NativeString(" try to specialise enum class ");
4790 REGB1
= TAG_Int(30);
4791 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4792 once_value_16
= fra
.me
.REG
[8];
4793 register_static_object(&once_value_16
);
4794 } else fra
.me
.REG
[8] = once_value_16
;
4795 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4797 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4798 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
4799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4800 if (!once_value_17
) {
4801 fra
.me
.REG
[8] = BOX_NativeString(".");
4803 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB1
);
4804 once_value_17
= fra
.me
.REG
[8];
4805 register_static_object(&once_value_17
);
4806 } else fra
.me
.REG
[8] = once_value_17
;
4807 fra
.me
.REG
[8] = fra
.me
.REG
[8];
4808 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
4809 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4810 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[7]);
4812 /* syntax/mmbuilder.nit:727 */
4813 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4814 if (UNTAG_Bool(REGB1
)) {
4815 /* syntax/mmbuilder.nit:728 */
4817 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
4818 if (!once_value_18
) {
4819 fra
.me
.REG
[7] = BOX_NativeString("Special error: Class ");
4820 REGB1
= TAG_Int(21);
4821 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
4822 once_value_18
= fra
.me
.REG
[7];
4823 register_static_object(&once_value_18
);
4824 } else fra
.me
.REG
[7] = once_value_18
;
4825 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4827 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4828 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
4829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4830 if (!once_value_19
) {
4831 fra
.me
.REG
[7] = BOX_NativeString(" try to specialise extern class ");
4832 REGB1
= TAG_Int(32);
4833 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
4834 once_value_19
= fra
.me
.REG
[7];
4835 register_static_object(&once_value_19
);
4836 } else fra
.me
.REG
[7] = once_value_19
;
4837 fra
.me
.REG
[7] = fra
.me
.REG
[7];
4838 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
4839 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4840 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
4841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4842 if (!once_value_20
) {
4843 fra
.me
.REG
[5] = BOX_NativeString(".");
4845 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
4846 once_value_20
= fra
.me
.REG
[5];
4847 register_static_object(&once_value_20
);
4848 } else fra
.me
.REG
[5] = once_value_20
;
4849 fra
.me
.REG
[5] = fra
.me
.REG
[5];
4850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
4851 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
4852 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
4858 /* ../lib/standard/collection/array.nit:275 */
4860 /* ../lib/standard/kernel.nit:245 */
4861 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
4862 /* ../lib/standard/collection/array.nit:275 */
4865 /* ../lib/standard/collection/array.nit:273 */
4870 /* syntax/mmbuilder.nit:733 */
4873 /* syntax/mmbuilder.nit:738 */
4874 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
4875 CALL_syntax___syntax_base___MMGlobalClass___check_visibility(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4876 /* syntax/mmbuilder.nit:739 */
4877 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4878 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4879 if (UNTAG_Bool(REGB0
)) {
4881 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4882 if (UNTAG_Bool(REGB1
)) {
4883 REGB1
= TAG_Bool(0);
4886 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4890 if (UNTAG_Bool(REGB0
)) {
4891 /* syntax/mmbuilder.nit:740 */
4893 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
4894 if (!once_value_23
) {
4895 fra
.me
.REG
[4] = BOX_NativeString("Redef error: ");
4896 REGB0
= TAG_Int(13);
4897 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
4898 once_value_23
= fra
.me
.REG
[4];
4899 register_static_object(&once_value_23
);
4900 } else fra
.me
.REG
[4] = once_value_23
;
4901 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4902 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4903 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4904 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4906 if (!once_value_24
) {
4907 fra
.me
.REG
[4] = BOX_NativeString(" is an imported class. Add the redef keyword to refine it.");
4908 REGB0
= TAG_Int(58);
4909 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
4910 once_value_24
= fra
.me
.REG
[4];
4911 register_static_object(&once_value_24
);
4912 } else fra
.me
.REG
[4] = once_value_24
;
4913 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4914 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4915 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4916 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4917 /* syntax/mmbuilder.nit:741 */
4920 /* syntax/mmbuilder.nit:744 */
4921 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4922 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4923 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4924 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4925 if (UNTAG_Bool(REGB1
)) {
4926 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 744);
4928 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4929 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
4930 if (UNTAG_Bool(REGB2
)) {
4932 /* ../lib/standard/kernel.nit:237 */
4933 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
4934 /* syntax/mmbuilder.nit:744 */
4937 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4938 if (UNTAG_Bool(REGB2
)) {
4939 /* syntax/mmbuilder.nit:745 */
4941 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
4942 if (!once_value_25
) {
4943 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Formal parameter arity mismatch; got ");
4944 REGB2
= TAG_Int(50);
4945 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
4946 once_value_25
= fra
.me
.REG
[4];
4947 register_static_object(&once_value_25
);
4948 } else fra
.me
.REG
[4] = once_value_25
;
4949 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4950 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4951 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AClassdef____local_class(fra
.me
.REG
[2]);
4952 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4953 if (UNTAG_Bool(REGB2
)) {
4954 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 745);
4956 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4957 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4958 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4959 if (!once_value_26
) {
4960 fra
.me
.REG
[4] = BOX_NativeString(", expected ");
4961 REGB2
= TAG_Int(11);
4962 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
4963 once_value_26
= fra
.me
.REG
[4];
4964 register_static_object(&once_value_26
);
4965 } else fra
.me
.REG
[4] = once_value_26
;
4966 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4968 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4969 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4970 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4972 if (!once_value_27
) {
4973 fra
.me
.REG
[4] = BOX_NativeString(".");
4975 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
4976 once_value_27
= fra
.me
.REG
[4];
4977 register_static_object(&once_value_27
);
4978 } else fra
.me
.REG
[4] = once_value_27
;
4979 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4980 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4981 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4982 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
4984 /* syntax/mmbuilder.nit:749 */
4985 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4986 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
4987 if (UNTAG_Bool(REGB2
)) {
4988 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
4989 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_interface(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4991 REGB1
= TAG_Bool(0);
4994 if (UNTAG_Bool(REGB2
)) {
4995 REGB2
= TAG_Bool(1);
4997 /* syntax/mmbuilder.nit:750 */
4998 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_abstract(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4999 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
5000 /* syntax/mmbuilder.nit:749 */
5003 if (UNTAG_Bool(REGB2
)) {
5004 /* syntax/mmbuilder.nit:750 */
5005 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5006 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_abstract(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5008 /* syntax/mmbuilder.nit:749 */
5009 REGB1
= TAG_Bool(0);
5012 if (UNTAG_Bool(REGB2
)) {
5013 REGB2
= TAG_Bool(1);
5015 /* syntax/mmbuilder.nit:751 */
5016 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5017 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
5018 /* syntax/mmbuilder.nit:749 */
5021 if (UNTAG_Bool(REGB2
)) {
5022 /* syntax/mmbuilder.nit:751 */
5023 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5024 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_enum(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5026 /* syntax/mmbuilder.nit:749 */
5027 REGB1
= TAG_Bool(0);
5030 if (UNTAG_Bool(REGB2
)) {
5031 REGB2
= TAG_Bool(1);
5033 /* syntax/mmbuilder.nit:752 */
5034 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5035 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
5036 /* syntax/mmbuilder.nit:749 */
5039 if (UNTAG_Bool(REGB2
)) {
5040 /* syntax/mmbuilder.nit:752 */
5041 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AStdClassdef___n_classkind(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5042 REGB2
= CALL_syntax___mmbuilder___AClasskind___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5044 /* syntax/mmbuilder.nit:749 */
5045 REGB1
= TAG_Bool(0);
5048 /* syntax/mmbuilder.nit:748 */
5049 if (UNTAG_Bool(REGB2
)) {
5050 /* syntax/mmbuilder.nit:754 */
5052 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
5053 if (!once_value_28
) {
5054 fra
.me
.REG
[0] = BOX_NativeString("Redef error: cannot change kind of class ");
5055 REGB2
= TAG_Int(41);
5056 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
5057 once_value_28
= fra
.me
.REG
[0];
5058 register_static_object(&once_value_28
);
5059 } else fra
.me
.REG
[0] = once_value_28
;
5060 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5062 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___AClassdef___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5063 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5065 if (!once_value_29
) {
5066 fra
.me
.REG
[0] = BOX_NativeString(".");
5068 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
5069 once_value_29
= fra
.me
.REG
[0];
5070 register_static_object(&once_value_29
);
5071 } else fra
.me
.REG
[0] = once_value_29
;
5072 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5073 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5074 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5075 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[1]);
5078 stack_frame_head
= fra
.me
.prev
;
5081 static const char LOCATE_syntax___mmbuilder___AStdClassdef___visibility_level
[] = "mmbuilder::AStdClassdef::(mmbuilder::AClassdef::visibility_level)";
5082 val_t
syntax___mmbuilder___AStdClassdef___visibility_level(val_t p0
){
5083 struct {struct stack_frame_t me
;} fra
;
5086 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5087 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5089 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStdClassdef___visibility_level
;
5090 fra
.me
.has_broke
= 0;
5091 fra
.me
.REG_size
= 1;
5092 fra
.me
.nitni_local_ref_head
= NULL
;
5093 fra
.me
.REG
[0] = NIT_NULL
;
5095 /* syntax/mmbuilder.nit:760 */
5096 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AStdClassdef___n_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5097 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5100 stack_frame_head
= fra
.me
.prev
;
5103 static const char LOCATE_syntax___mmbuilder___AMainClassdef___name
[] = "mmbuilder::AMainClassdef::(mmbuilder::AClassdef::name)";
5104 val_t
syntax___mmbuilder___AMainClassdef___name(val_t p0
){
5105 struct {struct stack_frame_t me
;} fra
;
5108 static val_t once_value_1
; /* Once value */
5109 static val_t once_value_2
; /* Once value */
5110 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5111 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5113 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMainClassdef___name
;
5114 fra
.me
.has_broke
= 0;
5115 fra
.me
.REG_size
= 1;
5116 fra
.me
.nitni_local_ref_head
= NULL
;
5117 fra
.me
.REG
[0] = NIT_NULL
;
5119 /* syntax/mmbuilder.nit:767 */
5120 if (!once_value_1
) {
5121 if (!once_value_2
) {
5122 fra
.me
.REG
[0] = BOX_NativeString("Sys");
5124 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
5125 once_value_2
= fra
.me
.REG
[0];
5126 register_static_object(&once_value_2
);
5127 } else fra
.me
.REG
[0] = once_value_2
;
5128 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5129 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5130 once_value_1
= fra
.me
.REG
[0];
5131 register_static_object(&once_value_1
);
5132 } else fra
.me
.REG
[0] = once_value_1
;
5133 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5136 stack_frame_head
= fra
.me
.prev
;
5137 return fra
.me
.REG
[0];
5139 static const char LOCATE_syntax___mmbuilder___ATopClassdef___name
[] = "mmbuilder::ATopClassdef::(mmbuilder::AClassdef::name)";
5140 val_t
syntax___mmbuilder___ATopClassdef___name(val_t p0
){
5141 struct {struct stack_frame_t me
;} fra
;
5144 static val_t once_value_1
; /* Once value */
5145 static val_t once_value_2
; /* Once value */
5146 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5147 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5149 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATopClassdef___name
;
5150 fra
.me
.has_broke
= 0;
5151 fra
.me
.REG_size
= 1;
5152 fra
.me
.nitni_local_ref_head
= NULL
;
5153 fra
.me
.REG
[0] = NIT_NULL
;
5155 /* syntax/mmbuilder.nit:774 */
5156 if (!once_value_1
) {
5157 if (!once_value_2
) {
5158 fra
.me
.REG
[0] = BOX_NativeString("Object");
5160 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
5161 once_value_2
= fra
.me
.REG
[0];
5162 register_static_object(&once_value_2
);
5163 } else fra
.me
.REG
[0] = once_value_2
;
5164 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5165 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5166 once_value_1
= fra
.me
.REG
[0];
5167 register_static_object(&once_value_1
);
5168 } else fra
.me
.REG
[0] = once_value_1
;
5169 fra
.me
.REG
[0] = fra
.me
.REG
[0];
5172 stack_frame_head
= fra
.me
.prev
;
5173 return fra
.me
.REG
[0];
5175 static const char LOCATE_syntax___mmbuilder___AFormaldef___accept_class_builder
[] = "mmbuilder::AFormaldef::(mmbuilder::ANode::accept_class_builder)";
5176 void syntax___mmbuilder___AFormaldef___accept_class_builder(val_t p0
, val_t p1
){
5177 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
5181 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5182 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5184 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFormaldef___accept_class_builder
;
5185 fra
.me
.has_broke
= 0;
5186 fra
.me
.REG_size
= 6;
5187 fra
.me
.nitni_local_ref_head
= NULL
;
5188 fra
.me
.REG
[0] = NIT_NULL
;
5189 fra
.me
.REG
[1] = NIT_NULL
;
5190 fra
.me
.REG
[2] = NIT_NULL
;
5191 fra
.me
.REG
[3] = NIT_NULL
;
5192 fra
.me
.REG
[4] = NIT_NULL
;
5193 fra
.me
.REG
[5] = NIT_NULL
;
5196 /* syntax/mmbuilder.nit:782 */
5197 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5198 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5199 /* syntax/mmbuilder.nit:784 */
5200 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AFormaldef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5201 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5202 /* syntax/mmbuilder.nit:785 */
5203 REGB0
= CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5204 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5205 fra
.me
.REG
[5] = NEW_MMTypeFormalParameter_metamodel___genericity___MMTypeFormalParameter___init(fra
.me
.REG
[4], REGB0
, fra
.me
.REG
[5]);
5206 /* syntax/mmbuilder.nit:786 */
5207 ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]) = fra
.me
.REG
[5];
5208 /* syntax/mmbuilder.nit:787 */
5209 REGB0
= CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5211 /* ../lib/standard/kernel.nit:245 */
5212 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5213 /* syntax/mmbuilder.nit:787 */
5214 CALL_syntax___mmbuilder___ClassBuilderVisitor___local_class_arity__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
5215 /* syntax/mmbuilder.nit:788 */
5216 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5217 CALL_metamodel___genericity___MMLocalClass___register_formal(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
5218 /* syntax/mmbuilder.nit:789 */
5219 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___ClassBuilderVisitor___formals(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5220 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
5221 if (UNTAG_Bool(REGB1
)) {
5222 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 789);
5224 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
5225 /* syntax/mmbuilder.nit:790 */
5226 CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5227 stack_frame_head
= fra
.me
.prev
;
5230 static const char LOCATE_syntax___mmbuilder___AFormaldef___accept_class_verifier
[] = "mmbuilder::AFormaldef::(mmbuilder::ANode::accept_class_verifier)";
5231 void syntax___mmbuilder___AFormaldef___accept_class_verifier(val_t p0
, val_t p1
){
5232 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
5236 static val_t once_value_2
; /* Once value */
5237 static val_t once_value_3
; /* Once value */
5238 static val_t once_value_4
; /* Once value */
5239 static val_t once_value_5
; /* Once value */
5240 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5241 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5243 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFormaldef___accept_class_verifier
;
5244 fra
.me
.has_broke
= 0;
5245 fra
.me
.REG_size
= 6;
5246 fra
.me
.nitni_local_ref_head
= NULL
;
5247 fra
.me
.REG
[0] = NIT_NULL
;
5248 fra
.me
.REG
[1] = NIT_NULL
;
5249 fra
.me
.REG
[2] = NIT_NULL
;
5250 fra
.me
.REG
[3] = NIT_NULL
;
5251 fra
.me
.REG
[4] = NIT_NULL
;
5252 fra
.me
.REG
[5] = NIT_NULL
;
5255 /* syntax/mmbuilder.nit:793 */
5256 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5257 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5258 /* syntax/mmbuilder.nit:795 */
5259 CALL_SUPER_syntax___mmbuilder___AFormaldef___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5260 /* syntax/mmbuilder.nit:796 */
5261 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5262 /* syntax/mmbuilder.nit:797 */
5263 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5264 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5265 /* syntax/mmbuilder.nit:798 */
5266 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
5267 if (UNTAG_Bool(REGB0
)) {
5269 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5272 if (UNTAG_Bool(REGB0
)) {
5273 /* syntax/mmbuilder.nit:799 */
5274 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5275 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5276 if (UNTAG_Bool(REGB0
)) {
5278 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5279 if (UNTAG_Bool(REGB1
)) {
5280 REGB1
= TAG_Bool(0);
5283 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5287 if (UNTAG_Bool(REGB0
)) {
5288 /* syntax/mmbuilder.nit:800 */
5289 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5290 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5291 fra
.me
.REG
[5] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5292 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___as_nullable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5293 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5294 if (UNTAG_Bool(REGB0
)) {
5295 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 800);
5297 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5299 /* syntax/mmbuilder.nit:802 */
5300 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5301 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5302 if (UNTAG_Bool(REGB0
)) {
5303 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 802);
5305 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
5306 /* syntax/mmbuilder.nit:803 */
5307 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5308 if (UNTAG_Bool(REGB0
)) {
5310 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5311 if (UNTAG_Bool(REGB1
)) {
5312 REGB1
= TAG_Bool(0);
5315 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
5319 if (UNTAG_Bool(REGB0
)) {
5322 /* syntax/mmbuilder.nit:804 */
5323 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5324 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5325 if (UNTAG_Bool(REGB0
)) {
5326 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 804);
5328 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5331 /* syntax/mmbuilder.nit:807 */
5332 fra
.me
.REG
[5] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5333 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
5334 if (UNTAG_Bool(REGB0
)) {
5335 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 807);
5337 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5338 fra
.me
.REG
[0] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
5339 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5340 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5341 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5342 /* syntax/mmbuilder.nit:808 */
5343 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5344 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5345 if (UNTAG_Bool(REGB0
)) {
5347 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5348 if (UNTAG_Bool(REGB1
)) {
5349 REGB1
= TAG_Bool(0);
5352 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
5356 if (UNTAG_Bool(REGB0
)) {
5357 /* syntax/mmbuilder.nit:809 */
5358 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5359 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5360 if (UNTAG_Bool(REGB0
)) {
5361 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 809);
5363 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5365 /* syntax/mmbuilder.nit:811 */
5366 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AFormaldef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5367 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5368 if (UNTAG_Bool(REGB0
)) {
5369 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 811);
5371 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5372 /* syntax/mmbuilder.nit:812 */
5373 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5374 if (UNTAG_Bool(REGB0
)) {
5376 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5377 if (UNTAG_Bool(REGB1
)) {
5378 REGB1
= TAG_Bool(0);
5381 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
5385 if (UNTAG_Bool(REGB0
)) {
5388 /* syntax/mmbuilder.nit:813 */
5389 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5390 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5391 if (UNTAG_Bool(REGB0
)) {
5392 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 813);
5394 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
5395 /* syntax/mmbuilder.nit:814 */
5396 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5397 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
5398 if (UNTAG_Bool(REGB0
)) {
5399 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 814);
5401 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5402 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[5]));
5403 if (UNTAG_Bool(REGB0
)) {
5405 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5408 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5409 if (UNTAG_Bool(REGB0
)) {
5410 /* syntax/mmbuilder.nit:815 */
5412 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5413 if (!once_value_2
) {
5414 fra
.me
.REG
[4] = BOX_NativeString("Redef error: Cannot change formal parameter type of class ");
5415 REGB0
= TAG_Int(58);
5416 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
5417 once_value_2
= fra
.me
.REG
[4];
5418 register_static_object(&once_value_2
);
5419 } else fra
.me
.REG
[4] = once_value_2
;
5420 fra
.me
.REG
[4] = fra
.me
.REG
[4];
5421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
5422 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5423 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5424 if (!once_value_3
) {
5425 fra
.me
.REG
[1] = BOX_NativeString("; got ");
5427 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
5428 once_value_3
= fra
.me
.REG
[1];
5429 register_static_object(&once_value_3
);
5430 } else fra
.me
.REG
[1] = once_value_3
;
5431 fra
.me
.REG
[1] = fra
.me
.REG
[1];
5432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5433 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AFormaldef____formal(fra
.me
.REG
[2]);
5434 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5435 if (UNTAG_Bool(REGB0
)) {
5436 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 815);
5438 fra
.me
.REG
[1] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5439 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5441 if (!once_value_4
) {
5442 fra
.me
.REG
[1] = BOX_NativeString(", expected ");
5443 REGB0
= TAG_Int(11);
5444 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
5445 once_value_4
= fra
.me
.REG
[1];
5446 register_static_object(&once_value_4
);
5447 } else fra
.me
.REG
[1] = once_value_4
;
5448 fra
.me
.REG
[1] = fra
.me
.REG
[1];
5449 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5450 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5452 if (!once_value_5
) {
5453 fra
.me
.REG
[5] = BOX_NativeString(".");
5455 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
5456 once_value_5
= fra
.me
.REG
[5];
5457 register_static_object(&once_value_5
);
5458 } else fra
.me
.REG
[5] = once_value_5
;
5459 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5460 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
5461 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5462 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[0]);
5467 stack_frame_head
= fra
.me
.prev
;
5470 static const char LOCATE_syntax___mmbuilder___ASuperclass___ancestor
[] = "mmbuilder::ASuperclass::ancestor";
5471 val_t
syntax___mmbuilder___ASuperclass___ancestor(val_t p0
){
5472 struct {struct stack_frame_t me
;} fra
;
5474 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5475 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5477 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___ancestor
;
5478 fra
.me
.has_broke
= 0;
5479 fra
.me
.REG_size
= 1;
5480 fra
.me
.nitni_local_ref_head
= NULL
;
5481 fra
.me
.REG
[0] = NIT_NULL
;
5483 /* syntax/mmbuilder.nit:823 */
5484 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[0]);
5485 stack_frame_head
= fra
.me
.prev
;
5486 return fra
.me
.REG
[0];
5488 static const char LOCATE_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder
[] = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_specialization_builder)";
5489 void syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(val_t p0
, val_t p1
){
5490 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5494 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5495 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5497 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder
;
5498 fra
.me
.has_broke
= 0;
5499 fra
.me
.REG_size
= 4;
5500 fra
.me
.nitni_local_ref_head
= NULL
;
5501 fra
.me
.REG
[0] = NIT_NULL
;
5502 fra
.me
.REG
[1] = NIT_NULL
;
5503 fra
.me
.REG
[2] = NIT_NULL
;
5504 fra
.me
.REG
[3] = NIT_NULL
;
5507 /* syntax/mmbuilder.nit:825 */
5508 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5509 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5510 /* syntax/mmbuilder.nit:827 */
5511 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_specialization_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5512 /* syntax/mmbuilder.nit:828 */
5513 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5514 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AType___get_local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
5515 /* syntax/mmbuilder.nit:829 */
5516 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5517 if (UNTAG_Bool(REGB0
)) {
5519 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5520 if (UNTAG_Bool(REGB1
)) {
5521 REGB1
= TAG_Bool(0);
5524 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
5528 if (UNTAG_Bool(REGB0
)) {
5531 /* syntax/mmbuilder.nit:830 */
5532 fra
.me
.REG
[1] = NEW_MMSrcAncestor_syntax___mmbuilder___MMSrcAncestor___init(fra
.me
.REG
[1]);
5533 /* syntax/mmbuilder.nit:831 */
5534 ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
5535 /* syntax/mmbuilder.nit:832 */
5536 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5537 CALL_metamodel___inheritance___MMLocalClass___add_direct_parent(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
5539 stack_frame_head
= fra
.me
.prev
;
5542 static const char LOCATE_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder
[] = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_ancestor_builder)";
5543 void syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t p0
, val_t p1
){
5544 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5547 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5548 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5550 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder
;
5551 fra
.me
.has_broke
= 0;
5552 fra
.me
.REG_size
= 4;
5553 fra
.me
.nitni_local_ref_head
= NULL
;
5554 fra
.me
.REG
[0] = NIT_NULL
;
5555 fra
.me
.REG
[1] = NIT_NULL
;
5556 fra
.me
.REG
[2] = NIT_NULL
;
5557 fra
.me
.REG
[3] = NIT_NULL
;
5560 /* syntax/mmbuilder.nit:835 */
5561 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5562 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5563 /* syntax/mmbuilder.nit:837 */
5564 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_ancestor_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5565 /* syntax/mmbuilder.nit:838 */
5566 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
5567 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5568 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_unchecked_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
5569 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
5570 if (UNTAG_Bool(REGB0
)) {
5571 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 838);
5573 CALL_metamodel___static_type___MMAncestor___stype__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
5574 /* syntax/mmbuilder.nit:839 */
5575 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___ASuperclass____ancestor(fra
.me
.REG
[2]);
5576 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5577 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5578 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5579 if (UNTAG_Bool(REGB0
)) {
5580 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 839);
5582 CALL_metamodel___static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5583 stack_frame_head
= fra
.me
.prev
;
5586 static const char LOCATE_syntax___mmbuilder___ASuperclass___accept_class_verifier
[] = "mmbuilder::ASuperclass::(mmbuilder::ANode::accept_class_verifier)";
5587 void syntax___mmbuilder___ASuperclass___accept_class_verifier(val_t p0
, val_t p1
){
5588 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5590 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5591 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5593 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASuperclass___accept_class_verifier
;
5594 fra
.me
.has_broke
= 0;
5595 fra
.me
.REG_size
= 4;
5596 fra
.me
.nitni_local_ref_head
= NULL
;
5597 fra
.me
.REG
[0] = NIT_NULL
;
5598 fra
.me
.REG
[1] = NIT_NULL
;
5599 fra
.me
.REG
[2] = NIT_NULL
;
5600 fra
.me
.REG
[3] = NIT_NULL
;
5603 /* syntax/mmbuilder.nit:842 */
5604 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5605 fra
.me
.REG
[3] = fra
.me
.REG
[1];
5606 /* syntax/mmbuilder.nit:844 */
5607 CALL_SUPER_syntax___mmbuilder___ASuperclass___accept_class_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
5608 /* syntax/mmbuilder.nit:845 */
5609 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ASuperclass___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5610 CALL_syntax___syntax_base___AType___check_conform(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
5611 stack_frame_head
= fra
.me
.prev
;
5614 static const char LOCATE_syntax___mmbuilder___APropdef___process_and_check
[] = "mmbuilder::APropdef::process_and_check";
5615 void syntax___mmbuilder___APropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5616 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
5622 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5623 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5625 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___process_and_check
;
5626 fra
.me
.has_broke
= 0;
5627 fra
.me
.REG_size
= 4;
5628 fra
.me
.nitni_local_ref_head
= NULL
;
5629 fra
.me
.REG
[0] = NIT_NULL
;
5630 fra
.me
.REG
[1] = NIT_NULL
;
5631 fra
.me
.REG
[2] = NIT_NULL
;
5632 fra
.me
.REG
[3] = NIT_NULL
;
5638 /* syntax/mmbuilder.nit:858 */
5639 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5640 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5641 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[2]));
5642 if (UNTAG_Bool(REGB2
)) {
5644 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
5647 if (UNTAG_Bool(REGB2
)) {
5648 /* syntax/mmbuilder.nit:859 */
5649 CALL_syntax___mmbuilder___APropdef___do_and_check_intro(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
, REGB1
);
5651 /* syntax/mmbuilder.nit:861 */
5652 CALL_syntax___mmbuilder___APropdef___do_and_check_redef(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
, REGB1
);
5654 stack_frame_head
= fra
.me
.prev
;
5657 static const char LOCATE_syntax___mmbuilder___APropdef___do_and_check_intro
[] = "mmbuilder::APropdef::do_and_check_intro";
5658 void syntax___mmbuilder___APropdef___do_and_check_intro(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5659 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
5666 static val_t once_value_1
; /* Once value */
5667 static val_t once_value_2
; /* Once value */
5668 static val_t once_value_3
; /* Once value */
5669 static val_t once_value_4
; /* Once value */
5670 static val_t once_value_5
; /* Once value */
5671 static val_t once_value_6
; /* Once value */
5672 static val_t once_value_7
; /* Once value */
5673 static val_t once_value_8
; /* Once value */
5674 static val_t once_value_9
; /* Once value */
5675 static val_t once_value_10
; /* Once value */
5676 static val_t once_value_11
; /* Once value */
5677 static val_t once_value_12
; /* Once value */
5678 static val_t once_value_13
; /* Once value */
5679 static val_t once_value_14
; /* Once value */
5680 static val_t once_value_15
; /* Once value */
5681 static val_t once_value_16
; /* Once value */
5682 static val_t once_value_17
; /* Once value */
5683 static val_t once_value_18
; /* Once value */
5684 static val_t once_value_19
; /* Once value */
5685 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5686 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
5688 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___do_and_check_intro
;
5689 fra
.me
.has_broke
= 0;
5690 fra
.me
.REG_size
= 7;
5691 fra
.me
.nitni_local_ref_head
= NULL
;
5692 fra
.me
.REG
[0] = NIT_NULL
;
5693 fra
.me
.REG
[1] = NIT_NULL
;
5694 fra
.me
.REG
[2] = NIT_NULL
;
5695 fra
.me
.REG
[3] = NIT_NULL
;
5696 fra
.me
.REG
[4] = NIT_NULL
;
5697 fra
.me
.REG
[5] = NIT_NULL
;
5698 fra
.me
.REG
[6] = NIT_NULL
;
5704 /* syntax/mmbuilder.nit:868 */
5705 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5706 /* syntax/mmbuilder.nit:869 */
5707 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5708 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5709 /* syntax/mmbuilder.nit:870 */
5710 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5711 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5712 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5714 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
5715 if (UNTAG_Bool(REGB4
)) {
5717 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5719 /* ../lib/standard/kernel.nit:243 */
5720 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
5721 /* syntax/mmbuilder.nit:870 */
5722 if (UNTAG_Bool(REGB3
)) {
5723 /* syntax/mmbuilder.nit:872 */
5727 /* syntax/mmbuilder.nit:874 */
5728 CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
5729 /* syntax/mmbuilder.nit:875 */
5730 if (UNTAG_Bool(REGB0
)) {
5731 /* syntax/mmbuilder.nit:876 */
5733 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5734 if (!once_value_1
) {
5735 fra
.me
.REG
[6] = BOX_NativeString("Error: No property ");
5736 REGB0
= TAG_Int(19);
5737 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5738 once_value_1
= fra
.me
.REG
[6];
5739 register_static_object(&once_value_1
);
5740 } else fra
.me
.REG
[6] = once_value_1
;
5741 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5742 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5743 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5744 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5745 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5746 if (!once_value_2
) {
5747 fra
.me
.REG
[6] = BOX_NativeString("::");
5749 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5750 once_value_2
= fra
.me
.REG
[6];
5751 register_static_object(&once_value_2
);
5752 } else fra
.me
.REG
[6] = once_value_2
;
5753 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5754 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5755 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5757 if (!once_value_3
) {
5758 fra
.me
.REG
[6] = BOX_NativeString(" is inherited. Remove the redef keyword to define a new property.");
5759 REGB0
= TAG_Int(65);
5760 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5761 once_value_3
= fra
.me
.REG
[6];
5762 register_static_object(&once_value_3
);
5763 } else fra
.me
.REG
[6] = once_value_3
;
5764 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5765 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5766 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5767 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5769 /* syntax/mmbuilder.nit:878 */
5770 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_attribute(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5771 if (UNTAG_Bool(REGB0
)) {
5772 /* syntax/mmbuilder.nit:879 */
5773 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5774 if (UNTAG_Bool(REGB0
)) {
5775 /* syntax/mmbuilder.nit:880 */
5777 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5778 if (!once_value_4
) {
5779 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5780 REGB0
= TAG_Int(35);
5781 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5782 once_value_4
= fra
.me
.REG
[6];
5783 register_static_object(&once_value_4
);
5784 } else fra
.me
.REG
[6] = once_value_4
;
5785 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5787 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5789 if (!once_value_5
) {
5790 fra
.me
.REG
[6] = BOX_NativeString(" in the interface ");
5791 REGB0
= TAG_Int(18);
5792 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5793 once_value_5
= fra
.me
.REG
[6];
5794 register_static_object(&once_value_5
);
5795 } else fra
.me
.REG
[6] = once_value_5
;
5796 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5798 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5799 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5800 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5801 if (!once_value_6
) {
5802 fra
.me
.REG
[6] = BOX_NativeString(".");
5804 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5805 once_value_6
= fra
.me
.REG
[6];
5806 register_static_object(&once_value_6
);
5807 } else fra
.me
.REG
[6] = once_value_6
;
5808 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5810 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5811 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5813 /* syntax/mmbuilder.nit:881 */
5814 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5815 if (UNTAG_Bool(REGB0
)) {
5816 /* syntax/mmbuilder.nit:882 */
5818 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5819 if (!once_value_7
) {
5820 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5821 REGB0
= TAG_Int(35);
5822 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5823 once_value_7
= fra
.me
.REG
[6];
5824 register_static_object(&once_value_7
);
5825 } else fra
.me
.REG
[6] = once_value_7
;
5826 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5828 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5830 if (!once_value_8
) {
5831 fra
.me
.REG
[6] = BOX_NativeString(" in the enum class ");
5832 REGB0
= TAG_Int(19);
5833 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5834 once_value_8
= fra
.me
.REG
[6];
5835 register_static_object(&once_value_8
);
5836 } else fra
.me
.REG
[6] = once_value_8
;
5837 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5838 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5839 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5840 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5842 if (!once_value_9
) {
5843 fra
.me
.REG
[6] = BOX_NativeString(".");
5845 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5846 once_value_9
= fra
.me
.REG
[6];
5847 register_static_object(&once_value_9
);
5848 } else fra
.me
.REG
[6] = once_value_9
;
5849 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5851 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5852 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5854 /* syntax/mmbuilder.nit:883 */
5855 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5856 if (UNTAG_Bool(REGB0
)) {
5857 /* syntax/mmbuilder.nit:884 */
5859 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5860 if (!once_value_10
) {
5861 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define attribute ");
5862 REGB0
= TAG_Int(35);
5863 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5864 once_value_10
= fra
.me
.REG
[6];
5865 register_static_object(&once_value_10
);
5866 } else fra
.me
.REG
[6] = once_value_10
;
5867 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5868 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5869 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5870 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5871 if (!once_value_11
) {
5872 fra
.me
.REG
[6] = BOX_NativeString(" in the extern class ");
5873 REGB0
= TAG_Int(21);
5874 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5875 once_value_11
= fra
.me
.REG
[6];
5876 register_static_object(&once_value_11
);
5877 } else fra
.me
.REG
[6] = once_value_11
;
5878 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5880 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5881 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5883 if (!once_value_12
) {
5884 fra
.me
.REG
[6] = BOX_NativeString(".");
5886 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5887 once_value_12
= fra
.me
.REG
[6];
5888 register_static_object(&once_value_12
);
5889 } else fra
.me
.REG
[6] = once_value_12
;
5890 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5892 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5893 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5898 /* syntax/mmbuilder.nit:886 */
5899 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5900 if (UNTAG_Bool(REGB0
)) {
5901 /* syntax/mmbuilder.nit:887 */
5902 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_interface(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5903 if (UNTAG_Bool(REGB0
)) {
5904 /* syntax/mmbuilder.nit:888 */
5906 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5907 if (!once_value_13
) {
5908 fra
.me
.REG
[6] = BOX_NativeString("Error: Attempt to define a constructor ");
5909 REGB0
= TAG_Int(39);
5910 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5911 once_value_13
= fra
.me
.REG
[6];
5912 register_static_object(&once_value_13
);
5913 } else fra
.me
.REG
[6] = once_value_13
;
5914 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5915 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5916 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5917 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5918 if (!once_value_14
) {
5919 fra
.me
.REG
[6] = BOX_NativeString(" in the class ");
5920 REGB0
= TAG_Int(14);
5921 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5922 once_value_14
= fra
.me
.REG
[6];
5923 register_static_object(&once_value_14
);
5924 } else fra
.me
.REG
[6] = once_value_14
;
5925 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5927 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5928 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5930 if (!once_value_15
) {
5931 fra
.me
.REG
[6] = BOX_NativeString(".");
5933 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB0
);
5934 once_value_15
= fra
.me
.REG
[6];
5935 register_static_object(&once_value_15
);
5936 } else fra
.me
.REG
[6] = once_value_15
;
5937 fra
.me
.REG
[6] = fra
.me
.REG
[6];
5938 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
5939 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5940 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
5942 /* syntax/mmbuilder.nit:889 */
5943 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_enum(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5944 if (UNTAG_Bool(REGB0
)) {
5945 /* syntax/mmbuilder.nit:890 */
5947 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5948 if (!once_value_16
) {
5949 fra
.me
.REG
[5] = BOX_NativeString("Error: Attempt to define a constructor ");
5950 REGB0
= TAG_Int(39);
5951 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
5952 once_value_16
= fra
.me
.REG
[5];
5953 register_static_object(&once_value_16
);
5954 } else fra
.me
.REG
[5] = once_value_16
;
5955 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5957 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5958 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5959 if (!once_value_17
) {
5960 fra
.me
.REG
[5] = BOX_NativeString(" in the enum ");
5961 REGB0
= TAG_Int(13);
5962 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
5963 once_value_17
= fra
.me
.REG
[5];
5964 register_static_object(&once_value_17
);
5965 } else fra
.me
.REG
[5] = once_value_17
;
5966 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5968 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5969 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5970 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5971 if (!once_value_18
) {
5972 fra
.me
.REG
[5] = BOX_NativeString(".");
5974 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
5975 once_value_18
= fra
.me
.REG
[5];
5976 register_static_object(&once_value_18
);
5977 } else fra
.me
.REG
[5] = once_value_18
;
5978 fra
.me
.REG
[5] = fra
.me
.REG
[5];
5979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
5980 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5981 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
5986 /* syntax/mmbuilder.nit:895 */
5987 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5988 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5989 if (UNTAG_Bool(REGB0
)) {
5991 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5992 if (UNTAG_Bool(REGB1
)) {
5993 REGB1
= TAG_Bool(0);
5996 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6000 if (UNTAG_Bool(REGB0
)) {
6001 /* syntax/mmbuilder.nit:896 */
6002 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6003 if (UNTAG_Bool(REGB0
)) {
6004 /* syntax/mmbuilder.nit:897 */
6005 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6006 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6007 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___super_methods_named(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
6008 /* syntax/mmbuilder.nit:898 */
6009 CALL_syntax___mmbuilder___APropdef___inherit_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[4]);
6011 /* syntax/mmbuilder.nit:900 */
6012 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6013 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6014 if (UNTAG_Bool(REGB0
)) {
6016 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6017 if (UNTAG_Bool(REGB1
)) {
6018 REGB1
= TAG_Bool(0);
6021 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6025 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6026 if (UNTAG_Bool(REGB0
)) {
6027 REGB0
= TAG_Bool(1);
6029 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6030 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6033 if (UNTAG_Bool(REGB0
)) {
6035 /* syntax/mmbuilder.nit:902 */
6036 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6037 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6038 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6039 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6040 if (UNTAG_Bool(REGB0
)) {
6041 /* syntax/mmbuilder.nit:903 */
6042 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6043 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6044 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6045 if (!once_value_19
) {
6046 fra
.me
.REG
[0] = BOX_NativeString("Error: Untyped parameter.");
6047 REGB0
= TAG_Int(25);
6048 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
6049 once_value_19
= fra
.me
.REG
[0];
6050 register_static_object(&once_value_19
);
6051 } else fra
.me
.REG
[0] = once_value_19
;
6052 fra
.me
.REG
[0] = fra
.me
.REG
[0];
6053 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[0]);
6055 /* syntax/mmbuilder.nit:905 */
6056 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
6057 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6058 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6059 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[4]);
6060 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
6061 /* syntax/mmbuilder.nit:906 */
6062 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6063 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6064 /* ../lib/standard/collection/array.nit:270 */
6066 /* ../lib/standard/collection/array.nit:271 */
6067 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
6068 if (UNTAG_Bool(REGB1
)) {
6070 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
6072 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
6073 /* ../lib/standard/collection/array.nit:272 */
6074 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
6075 /* ../lib/standard/collection/array.nit:273 */
6077 /* ../lib/standard/collection/array.nit:24 */
6078 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
6079 if (UNTAG_Bool(REGB1
)) {
6081 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6083 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
6084 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6085 if (UNTAG_Bool(REGB3
)) {
6087 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6089 /* ../lib/standard/kernel.nit:242 */
6090 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
6091 /* ../lib/standard/collection/array.nit:273 */
6092 if (UNTAG_Bool(REGB1
)) {
6093 /* ../lib/standard/collection/array.nit:274 */
6094 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6095 if (UNTAG_Bool(REGB1
)) {
6096 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
6098 /* ../lib/standard/collection/array.nit:725 */
6099 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
6100 /* syntax/mmbuilder.nit:907 */
6101 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6102 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
6103 if (UNTAG_Bool(REGB1
)) {
6104 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 907);
6106 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6107 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6108 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
6109 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
6110 /* ../lib/standard/collection/array.nit:275 */
6112 /* ../lib/standard/kernel.nit:245 */
6113 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
6114 /* ../lib/standard/collection/array.nit:275 */
6117 /* ../lib/standard/collection/array.nit:273 */
6125 stack_frame_head
= fra
.me
.prev
;
6128 static const char LOCATE_syntax___mmbuilder___APropdef___inherit_signature
[] = "mmbuilder::APropdef::inherit_signature";
6129 void syntax___mmbuilder___APropdef___inherit_signature(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
6130 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
6137 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6138 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
6140 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___inherit_signature
;
6141 fra
.me
.has_broke
= 0;
6142 fra
.me
.REG_size
= 11;
6143 fra
.me
.nitni_local_ref_head
= NULL
;
6144 fra
.me
.REG
[0] = NIT_NULL
;
6145 fra
.me
.REG
[1] = NIT_NULL
;
6146 fra
.me
.REG
[2] = NIT_NULL
;
6147 fra
.me
.REG
[3] = NIT_NULL
;
6148 fra
.me
.REG
[4] = NIT_NULL
;
6149 fra
.me
.REG
[5] = NIT_NULL
;
6150 fra
.me
.REG
[6] = NIT_NULL
;
6151 fra
.me
.REG
[7] = NIT_NULL
;
6152 fra
.me
.REG
[8] = NIT_NULL
;
6153 fra
.me
.REG
[9] = NIT_NULL
;
6154 fra
.me
.REG
[10] = NIT_NULL
;
6159 /* syntax/mmbuilder.nit:915 */
6160 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6161 /* ../lib/standard/collection/array.nit:270 */
6163 /* ../lib/standard/collection/array.nit:271 */
6164 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
6165 if (UNTAG_Bool(REGB1
)) {
6167 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
6169 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
6170 /* ../lib/standard/collection/array.nit:272 */
6171 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
6172 /* ../lib/standard/collection/array.nit:273 */
6174 /* ../lib/standard/collection/array.nit:24 */
6175 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
6176 if (UNTAG_Bool(REGB1
)) {
6178 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6180 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
6181 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6182 if (UNTAG_Bool(REGB2
)) {
6184 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6186 /* ../lib/standard/kernel.nit:242 */
6187 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
6188 /* ../lib/standard/collection/array.nit:273 */
6189 if (UNTAG_Bool(REGB1
)) {
6190 /* ../lib/standard/collection/array.nit:274 */
6191 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6192 if (UNTAG_Bool(REGB1
)) {
6193 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
6195 /* ../lib/standard/collection/array.nit:725 */
6196 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
6197 /* syntax/mmbuilder.nit:917 */
6198 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6199 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6200 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6201 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
6202 if (UNTAG_Bool(REGB1
)) {
6203 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 917);
6205 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
6206 /* syntax/mmbuilder.nit:919 */
6207 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6208 if (UNTAG_Bool(REGB1
)) {
6210 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
6211 if (UNTAG_Bool(REGB2
)) {
6212 REGB2
= TAG_Bool(0);
6215 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
6219 if (UNTAG_Bool(REGB1
)) {
6220 /* syntax/mmbuilder.nit:920 */
6221 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6222 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6223 /* ../lib/standard/collection/array.nit:24 */
6224 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6225 if (UNTAG_Bool(REGB1
)) {
6227 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6229 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6230 /* syntax/mmbuilder.nit:920 */
6231 REGB2
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6232 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
6233 if (UNTAG_Bool(REGB3
)) {
6235 /* ../lib/standard/kernel.nit:237 */
6236 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
6237 /* syntax/mmbuilder.nit:920 */
6240 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
6241 if (UNTAG_Bool(REGB3
)) {
6242 /* syntax/mmbuilder.nit:921 */
6245 /* syntax/mmbuilder.nit:923 */
6246 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6247 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6248 /* ../lib/standard/collection/array.nit:270 */
6250 /* ../lib/standard/collection/array.nit:271 */
6251 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6252 if (UNTAG_Bool(REGB2
)) {
6254 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
6256 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6257 /* ../lib/standard/collection/array.nit:272 */
6258 fra
.me
.REG
[7] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
6259 /* ../lib/standard/collection/array.nit:273 */
6261 /* ../lib/standard/collection/array.nit:24 */
6262 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6263 if (UNTAG_Bool(REGB2
)) {
6265 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6267 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6268 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
6269 if (UNTAG_Bool(REGB1
)) {
6271 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6273 /* ../lib/standard/kernel.nit:242 */
6274 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
6275 /* ../lib/standard/collection/array.nit:273 */
6276 if (UNTAG_Bool(REGB2
)) {
6277 /* ../lib/standard/collection/array.nit:274 */
6278 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6279 if (UNTAG_Bool(REGB2
)) {
6280 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
6282 /* ../lib/standard/collection/array.nit:725 */
6283 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB3
)];
6284 /* syntax/mmbuilder.nit:924 */
6285 REGB2
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6286 fra
.me
.REG
[9] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
6287 /* syntax/mmbuilder.nit:925 */
6288 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6289 /* syntax/mmbuilder.nit:926 */
6290 REGB2
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6291 REGB1
= CALL_metamodel___vararg___MMSignature___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
6292 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
6293 if (UNTAG_Bool(REGB4
)) {
6295 /* ../lib/standard/kernel.nit:237 */
6296 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
6297 /* syntax/mmbuilder.nit:926 */
6300 if (UNTAG_Bool(REGB4
)) {
6301 /* syntax/mmbuilder.nit:927 */
6302 fra
.me
.REG
[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[9]);
6303 fra
.me
.REG
[9] = fra
.me
.REG
[10];
6305 /* syntax/mmbuilder.nit:929 */
6306 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6307 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6308 /* ../lib/standard/collection/array.nit:275 */
6310 /* ../lib/standard/kernel.nit:245 */
6311 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
6312 /* ../lib/standard/collection/array.nit:275 */
6315 /* ../lib/standard/collection/array.nit:273 */
6320 /* syntax/mmbuilder.nit:932 */
6321 fra
.me
.REG
[0] = fra
.me
.REG
[6];
6322 /* syntax/mmbuilder.nit:933 */
6323 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
6325 /* ../lib/standard/collection/array.nit:275 */
6327 /* ../lib/standard/kernel.nit:245 */
6328 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
6329 /* ../lib/standard/collection/array.nit:275 */
6332 /* ../lib/standard/collection/array.nit:273 */
6338 stack_frame_head
= fra
.me
.prev
;
6341 static const char LOCATE_syntax___mmbuilder___APropdef___do_and_check_redef
[] = "mmbuilder::APropdef::do_and_check_redef";
6342 void syntax___mmbuilder___APropdef___do_and_check_redef(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
6343 struct {struct stack_frame_t me
; val_t MORE_REG
[13];} fra
;
6353 static val_t once_value_1
; /* Once value */
6354 static val_t once_value_2
; /* Once value */
6355 static val_t once_value_3
; /* Once value */
6356 static val_t once_value_5
; /* Once value */
6357 static val_t once_value_6
; /* Once value */
6358 static val_t once_value_7
; /* Once value */
6359 static val_t once_value_8
; /* Once value */
6360 static val_t once_value_9
; /* Once value */
6361 static val_t once_value_10
; /* Once value */
6362 static val_t once_value_12
; /* Once value */
6363 static val_t once_value_13
; /* Once value */
6364 static val_t once_value_14
; /* Once value */
6365 static val_t once_value_15
; /* Once value */
6366 static val_t once_value_16
; /* Once value */
6367 static val_t once_value_17
; /* Once value */
6368 static val_t once_value_18
; /* Once value */
6369 static val_t once_value_19
; /* Once value */
6370 static val_t once_value_20
; /* Once value */
6371 static val_t once_value_21
; /* Once value */
6372 static val_t once_value_22
; /* Once value */
6373 static val_t once_value_23
; /* Once value */
6374 static val_t once_value_26
; /* Once value */
6375 static val_t once_value_27
; /* Once value */
6376 static val_t once_value_28
; /* Once value */
6377 static val_t once_value_29
; /* Once value */
6378 static val_t once_value_30
; /* Once value */
6379 static val_t once_value_31
; /* Once value */
6380 static val_t once_value_32
; /* Once value */
6381 static val_t once_value_33
; /* Once value */
6382 static val_t once_value_34
; /* Once value */
6383 static val_t once_value_35
; /* Once value */
6384 static val_t once_value_37
; /* Once value */
6385 static val_t once_value_38
; /* Once value */
6386 static val_t once_value_39
; /* Once value */
6387 static val_t once_value_40
; /* Once value */
6388 static val_t once_value_41
; /* Once value */
6389 static val_t once_value_42
; /* Once value */
6390 static val_t once_value_43
; /* Once value */
6391 static val_t once_value_44
; /* Once value */
6392 static val_t once_value_45
; /* Once value */
6393 static val_t once_value_46
; /* Once value */
6394 static val_t once_value_47
; /* Once value */
6395 static val_t once_value_48
; /* Once value */
6396 static val_t once_value_49
; /* Once value */
6397 static val_t once_value_50
; /* Once value */
6398 static val_t once_value_51
; /* Once value */
6399 static val_t once_value_52
; /* Once value */
6400 static val_t once_value_53
; /* Once value */
6401 static val_t once_value_54
; /* Once value */
6402 static val_t once_value_55
; /* Once value */
6403 static val_t once_value_56
; /* Once value */
6404 static val_t once_value_57
; /* Once value */
6405 static val_t once_value_58
; /* Once value */
6406 static val_t once_value_59
; /* Once value */
6407 static val_t once_value_60
; /* Once value */
6408 static val_t once_value_61
; /* Once value */
6409 static val_t once_value_62
; /* Once value */
6410 static val_t once_value_63
; /* Once value */
6411 static val_t once_value_65
; /* Once value */
6412 static val_t once_value_66
; /* Once value */
6413 static val_t once_value_67
; /* Once value */
6414 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
6415 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
6417 fra
.me
.meth
= LOCATE_syntax___mmbuilder___APropdef___do_and_check_redef
;
6418 fra
.me
.has_broke
= 0;
6419 fra
.me
.REG_size
= 14;
6420 fra
.me
.nitni_local_ref_head
= NULL
;
6421 fra
.me
.REG
[0] = NIT_NULL
;
6422 fra
.me
.REG
[1] = NIT_NULL
;
6423 fra
.me
.REG
[2] = NIT_NULL
;
6424 fra
.me
.REG
[3] = NIT_NULL
;
6425 fra
.me
.REG
[4] = NIT_NULL
;
6426 fra
.me
.REG
[5] = NIT_NULL
;
6427 fra
.me
.REG
[6] = NIT_NULL
;
6428 fra
.me
.REG
[7] = NIT_NULL
;
6429 fra
.me
.REG
[8] = NIT_NULL
;
6430 fra
.me
.REG
[9] = NIT_NULL
;
6431 fra
.me
.REG
[10] = NIT_NULL
;
6432 fra
.me
.REG
[11] = NIT_NULL
;
6433 fra
.me
.REG
[12] = NIT_NULL
;
6434 fra
.me
.REG
[13] = NIT_NULL
;
6440 /* syntax/mmbuilder.nit:941 */
6441 REGB2
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AInitPropdef
, ID_parser___parser_nodes___AInitPropdef
)) /*cast AInitPropdef*/;
6442 /* syntax/mmbuilder.nit:942 */
6443 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6444 /* syntax/mmbuilder.nit:944 */
6445 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6446 if (UNTAG_Bool(REGB0
)) {
6447 /* syntax/mmbuilder.nit:945 */
6449 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6450 if (!once_value_1
) {
6451 fra
.me
.REG
[5] = BOX_NativeString("Redef error: ");
6452 REGB0
= TAG_Int(13);
6453 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
6454 once_value_1
= fra
.me
.REG
[5];
6455 register_static_object(&once_value_1
);
6456 } else fra
.me
.REG
[5] = once_value_1
;
6457 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6458 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6459 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6460 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6462 if (!once_value_2
) {
6463 fra
.me
.REG
[5] = BOX_NativeString("::");
6465 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
6466 once_value_2
= fra
.me
.REG
[5];
6467 register_static_object(&once_value_2
);
6468 } else fra
.me
.REG
[5] = once_value_2
;
6469 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6471 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6472 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6473 if (!once_value_3
) {
6474 fra
.me
.REG
[5] = BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword.");
6475 REGB0
= TAG_Int(65);
6476 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
6477 once_value_3
= fra
.me
.REG
[5];
6478 register_static_object(&once_value_3
);
6479 } else fra
.me
.REG
[5] = once_value_3
;
6480 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6482 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6483 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6484 /* syntax/mmbuilder.nit:946 */
6487 /* syntax/mmbuilder.nit:948 */
6488 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6489 if (UNTAG_Bool(REGB0
)) {
6490 REGB0
= TAG_Bool(!UNTAG_Bool(REGB2
));
6492 REGB3
= TAG_Bool(0);
6495 if (UNTAG_Bool(REGB0
)) {
6496 /* syntax/mmbuilder.nit:949 */
6498 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6499 if (!once_value_5
) {
6500 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A method ");
6501 REGB0
= TAG_Int(22);
6502 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
6503 once_value_5
= fra
.me
.REG
[5];
6504 register_static_object(&once_value_5
);
6505 } else fra
.me
.REG
[5] = once_value_5
;
6506 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6508 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6509 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6510 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6511 if (!once_value_6
) {
6512 fra
.me
.REG
[5] = BOX_NativeString("::");
6514 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
6515 once_value_6
= fra
.me
.REG
[5];
6516 register_static_object(&once_value_6
);
6517 } else fra
.me
.REG
[5] = once_value_6
;
6518 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6519 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6520 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6522 if (!once_value_7
) {
6523 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a constructor.");
6524 REGB0
= TAG_Int(31);
6525 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
6526 once_value_7
= fra
.me
.REG
[5];
6527 register_static_object(&once_value_7
);
6528 } else fra
.me
.REG
[5] = once_value_7
;
6529 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6530 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6531 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6532 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6534 /* syntax/mmbuilder.nit:950 */
6535 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
6536 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6537 if (UNTAG_Bool(REGB0
)) {
6539 REGB0
= TAG_Bool(0);
6542 if (UNTAG_Bool(REGB2
)) {
6543 /* syntax/mmbuilder.nit:951 */
6545 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
6546 if (!once_value_8
) {
6547 fra
.me
.REG
[5] = BOX_NativeString("Redef error: A constructor ");
6548 REGB2
= TAG_Int(27);
6549 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB2
);
6550 once_value_8
= fra
.me
.REG
[5];
6551 register_static_object(&once_value_8
);
6552 } else fra
.me
.REG
[5] = once_value_8
;
6553 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6554 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6555 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6556 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6558 if (!once_value_9
) {
6559 fra
.me
.REG
[5] = BOX_NativeString("::");
6561 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB2
);
6562 once_value_9
= fra
.me
.REG
[5];
6563 register_static_object(&once_value_9
);
6564 } else fra
.me
.REG
[5] = once_value_9
;
6565 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6566 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6567 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6568 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6569 if (!once_value_10
) {
6570 fra
.me
.REG
[5] = BOX_NativeString(" cannot redefine a method.");
6571 REGB2
= TAG_Int(26);
6572 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB2
);
6573 once_value_10
= fra
.me
.REG
[5];
6574 register_static_object(&once_value_10
);
6575 } else fra
.me
.REG
[5] = once_value_10
;
6576 fra
.me
.REG
[5] = fra
.me
.REG
[5];
6577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
6578 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
6579 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
6582 /* syntax/mmbuilder.nit:954 */
6583 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6584 /* syntax/mmbuilder.nit:956 */
6585 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___prhe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6586 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
6587 /* ../lib/standard/collection/array.nit:270 */
6589 /* ../lib/standard/collection/array.nit:271 */
6590 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6591 if (UNTAG_Bool(REGB0
)) {
6593 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
6595 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6596 /* ../lib/standard/collection/array.nit:272 */
6597 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
6598 /* ../lib/standard/collection/array.nit:273 */
6600 /* ../lib/standard/collection/array.nit:24 */
6601 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
6602 if (UNTAG_Bool(REGB0
)) {
6604 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6606 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
6607 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
6608 if (UNTAG_Bool(REGB3
)) {
6610 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6612 /* ../lib/standard/kernel.nit:242 */
6613 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB0
));
6614 /* ../lib/standard/collection/array.nit:273 */
6615 if (UNTAG_Bool(REGB0
)) {
6616 /* ../lib/standard/collection/array.nit:274 */
6617 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
6618 if (UNTAG_Bool(REGB0
)) {
6619 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
6621 /* ../lib/standard/collection/array.nit:725 */
6622 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
6623 /* syntax/mmbuilder.nit:957 */
6624 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6625 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6626 fra
.me
.REG
[9] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
6627 /* syntax/mmbuilder.nit:958 */
6628 fra
.me
.REG
[7] = CALL_metamodel___static_type___MMLocalProperty___signature(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6629 /* syntax/mmbuilder.nit:959 */
6630 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6631 if (UNTAG_Bool(REGB0
)) {
6633 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6634 if (UNTAG_Bool(REGB3
)) {
6635 REGB3
= TAG_Bool(0);
6638 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], NIT_NULL
);
6642 if (UNTAG_Bool(REGB0
)) {
6645 /* syntax/mmbuilder.nit:960 */
6646 fra
.me
.REG
[8] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6647 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6648 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6649 if (UNTAG_Bool(REGB0
)) {
6650 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 960);
6652 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___adaptation_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
6653 fra
.me
.REG
[7] = fra
.me
.REG
[8];
6654 /* syntax/mmbuilder.nit:962 */
6655 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6656 if (UNTAG_Bool(REGB0
)) {
6658 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
6659 if (UNTAG_Bool(REGB3
)) {
6660 REGB3
= TAG_Bool(0);
6663 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
6667 if (UNTAG_Bool(REGB0
)) {
6668 /* syntax/mmbuilder.nit:964 */
6669 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6670 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6671 /* ../lib/standard/collection/array.nit:24 */
6672 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6673 if (UNTAG_Bool(REGB0
)) {
6675 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6677 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6678 /* syntax/mmbuilder.nit:964 */
6679 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6680 if (UNTAG_Bool(REGB3
)) {
6681 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 964);
6683 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6684 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
6685 if (UNTAG_Bool(REGB4
)) {
6687 /* ../lib/standard/kernel.nit:237 */
6688 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
6689 /* syntax/mmbuilder.nit:964 */
6692 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
6693 if (UNTAG_Bool(REGB4
)) {
6694 /* syntax/mmbuilder.nit:965 */
6695 REGB4
= TAG_Int(11);
6696 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
6697 if (!once_value_12
) {
6698 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
6699 REGB4
= TAG_Int(13);
6700 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB4
);
6701 once_value_12
= fra
.me
.REG
[10];
6702 register_static_object(&once_value_12
);
6703 } else fra
.me
.REG
[10] = once_value_12
;
6704 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6705 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6706 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6707 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6709 if (!once_value_13
) {
6710 fra
.me
.REG
[10] = BOX_NativeString("::");
6712 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB4
);
6713 once_value_13
= fra
.me
.REG
[10];
6714 register_static_object(&once_value_13
);
6715 } else fra
.me
.REG
[10] = once_value_13
;
6716 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6718 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6720 if (!once_value_14
) {
6721 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
6722 REGB4
= TAG_Int(11);
6723 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB4
);
6724 once_value_14
= fra
.me
.REG
[10];
6725 register_static_object(&once_value_14
);
6726 } else fra
.me
.REG
[10] = once_value_14
;
6727 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6728 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6729 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6730 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6732 if (!once_value_15
) {
6733 fra
.me
.REG
[10] = BOX_NativeString("::");
6735 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB4
);
6736 once_value_15
= fra
.me
.REG
[10];
6737 register_static_object(&once_value_15
);
6738 } else fra
.me
.REG
[10] = once_value_15
;
6739 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6741 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6742 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6743 if (!once_value_16
) {
6744 fra
.me
.REG
[10] = BOX_NativeString(" with ");
6746 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB4
);
6747 once_value_16
= fra
.me
.REG
[10];
6748 register_static_object(&once_value_16
);
6749 } else fra
.me
.REG
[10] = once_value_16
;
6750 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6752 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6753 if (UNTAG_Bool(REGB4
)) {
6754 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 965);
6756 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6757 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(REGB4
)(REGB4
);
6758 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6759 if (!once_value_17
) {
6760 fra
.me
.REG
[10] = BOX_NativeString(" parameter(s).");
6761 REGB4
= TAG_Int(14);
6762 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB4
);
6763 once_value_17
= fra
.me
.REG
[10];
6764 register_static_object(&once_value_17
);
6765 } else fra
.me
.REG
[10] = once_value_17
;
6766 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6767 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6768 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6769 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6770 /* syntax/mmbuilder.nit:966 */
6773 /* syntax/mmbuilder.nit:968 */
6774 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6775 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6776 /* ../lib/standard/collection/array.nit:24 */
6777 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6778 if (UNTAG_Bool(REGB4
)) {
6780 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6782 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6783 /* syntax/mmbuilder.nit:968 */
6784 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6785 if (UNTAG_Bool(REGB3
)) {
6786 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 968);
6788 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6789 /* ../lib/standard/collection/array.nit:24 */
6790 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6791 if (UNTAG_Bool(REGB3
)) {
6793 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6795 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6796 /* syntax/mmbuilder.nit:968 */
6797 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB3
));
6798 if (UNTAG_Bool(REGB0
)) {
6800 /* ../lib/standard/kernel.nit:237 */
6801 REGB3
= TAG_Bool((REGB4
)==(REGB3
));
6802 /* syntax/mmbuilder.nit:968 */
6805 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
6806 if (UNTAG_Bool(REGB0
)) {
6807 /* syntax/mmbuilder.nit:969 */
6808 REGB0
= TAG_Int(11);
6809 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
6810 if (!once_value_18
) {
6811 fra
.me
.REG
[10] = BOX_NativeString("Redef error: ");
6812 REGB0
= TAG_Int(13);
6813 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB0
);
6814 once_value_18
= fra
.me
.REG
[10];
6815 register_static_object(&once_value_18
);
6816 } else fra
.me
.REG
[10] = once_value_18
;
6817 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6818 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6819 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6820 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6822 if (!once_value_19
) {
6823 fra
.me
.REG
[10] = BOX_NativeString("::");
6825 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB0
);
6826 once_value_19
= fra
.me
.REG
[10];
6827 register_static_object(&once_value_19
);
6828 } else fra
.me
.REG
[10] = once_value_19
;
6829 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6830 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6831 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
6832 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6833 if (!once_value_20
) {
6834 fra
.me
.REG
[10] = BOX_NativeString(" redefines ");
6835 REGB0
= TAG_Int(11);
6836 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB0
);
6837 once_value_20
= fra
.me
.REG
[10];
6838 register_static_object(&once_value_20
);
6839 } else fra
.me
.REG
[10] = once_value_20
;
6840 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6842 fra
.me
.REG
[10] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6843 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
6844 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6845 if (!once_value_21
) {
6846 fra
.me
.REG
[10] = BOX_NativeString("::");
6848 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB0
);
6849 once_value_21
= fra
.me
.REG
[10];
6850 register_static_object(&once_value_21
);
6851 } else fra
.me
.REG
[10] = once_value_21
;
6852 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6853 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6854 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
6855 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6856 if (!once_value_22
) {
6857 fra
.me
.REG
[10] = BOX_NativeString(" with ");
6859 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB0
);
6860 once_value_22
= fra
.me
.REG
[10];
6861 register_static_object(&once_value_22
);
6862 } else fra
.me
.REG
[10] = once_value_22
;
6863 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6865 REGB0
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6866 if (UNTAG_Bool(REGB0
)) {
6867 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 969);
6869 REGB0
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6870 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
6871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6872 if (!once_value_23
) {
6873 fra
.me
.REG
[10] = BOX_NativeString(" closure(s).");
6874 REGB0
= TAG_Int(12);
6875 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB0
);
6876 once_value_23
= fra
.me
.REG
[10];
6877 register_static_object(&once_value_23
);
6878 } else fra
.me
.REG
[10] = once_value_23
;
6879 fra
.me
.REG
[10] = fra
.me
.REG
[10];
6880 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[10]);
6881 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6882 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[8]);
6883 /* syntax/mmbuilder.nit:970 */
6886 /* syntax/mmbuilder.nit:972 */
6887 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
6888 fra
.me
.REG
[8] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
6889 /* ../lib/standard/collection/array.nit:270 */
6891 /* ../lib/standard/collection/array.nit:271 */
6892 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6893 if (UNTAG_Bool(REGB3
)) {
6895 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
6897 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6898 /* ../lib/standard/collection/array.nit:272 */
6899 fra
.me
.REG
[10] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[8]);
6900 /* ../lib/standard/collection/array.nit:273 */
6902 /* ../lib/standard/collection/array.nit:24 */
6903 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8])!=NIT_NULL
);
6904 if (UNTAG_Bool(REGB3
)) {
6906 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
6908 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[8]);
6909 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
6910 if (UNTAG_Bool(REGB4
)) {
6912 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6914 /* ../lib/standard/kernel.nit:242 */
6915 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
6916 /* ../lib/standard/collection/array.nit:273 */
6917 if (UNTAG_Bool(REGB3
)) {
6918 /* ../lib/standard/collection/array.nit:274 */
6919 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
6920 if (UNTAG_Bool(REGB3
)) {
6921 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
6923 /* ../lib/standard/collection/array.nit:725 */
6924 fra
.me
.REG
[11] = ((Nit_NativeArray
)fra
.me
.REG
[10])->val
[UNTAG_Int(REGB0
)];
6925 /* syntax/mmbuilder.nit:973 */
6926 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6927 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6928 if (UNTAG_Bool(REGB4
)) {
6929 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 973);
6931 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB3
);
6932 /* syntax/mmbuilder.nit:974 */
6933 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
6934 /* syntax/mmbuilder.nit:975 */
6935 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6936 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6937 if (UNTAG_Bool(REGB4
)) {
6938 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 975);
6940 REGB4
= CALL_metamodel___vararg___MMSignature___vararg_rank(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6941 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB4
));
6942 if (UNTAG_Bool(REGB5
)) {
6944 /* ../lib/standard/kernel.nit:237 */
6945 REGB4
= TAG_Bool((REGB3
)==(REGB4
));
6946 /* syntax/mmbuilder.nit:975 */
6949 if (UNTAG_Bool(REGB5
)) {
6950 /* syntax/mmbuilder.nit:976 */
6951 fra
.me
.REG
[13] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[12]);
6952 fra
.me
.REG
[12] = fra
.me
.REG
[13];
6954 /* syntax/mmbuilder.nit:978 */
6955 fra
.me
.REG
[13] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6956 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[13])(fra
.me
.REG
[13], fra
.me
.REG
[12]);
6957 /* syntax/mmbuilder.nit:980 */
6958 REGB5
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
6959 if (UNTAG_Bool(REGB5
)) {
6960 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 980);
6962 fra
.me
.REG
[12] = CALL_metamodel___static_type___MMSignature___params(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
6963 REGB5
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
6964 /* ../lib/standard/collection/array.nit:281 */
6966 REGB3
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
6967 if (UNTAG_Bool(REGB3
)) {
6969 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6971 /* ../lib/standard/kernel.nit:243 */
6972 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)>=UNTAG_Int(REGB4
));
6973 /* ../lib/standard/collection/array.nit:281 */
6974 if (UNTAG_Bool(REGB4
)) {
6975 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[12])!=NIT_NULL
);
6976 if (UNTAG_Bool(REGB4
)) {
6978 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
6980 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[12]);
6981 REGB3
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB5
), VTID_standard___kernel___Comparable___OTHER(REGB5
))) /*cast OTHER*/;
6982 if (UNTAG_Bool(REGB3
)) {
6984 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
6986 /* ../lib/standard/kernel.nit:242 */
6987 REGB4
= TAG_Bool(UNTAG_Int(REGB5
)<UNTAG_Int(REGB4
));
6989 /* ../lib/standard/collection/array.nit:281 */
6990 REGB3
= TAG_Bool(0);
6993 if (UNTAG_Bool(REGB4
)) {
6995 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
6997 /* ../lib/standard/collection/array.nit:282 */
6998 fra
.me
.REG
[12] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[12]);
6999 REGB4
= TAG_Bool(fra
.me
.REG
[12]==NIT_NULL
);
7000 if (UNTAG_Bool(REGB4
)) {
7001 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
7003 /* ../lib/standard/collection/array.nit:725 */
7004 fra
.me
.REG
[12] = ((Nit_NativeArray
)fra
.me
.REG
[12])->val
[UNTAG_Int(REGB5
)];
7005 /* ../lib/standard/collection/array.nit:282 */
7008 /* syntax/mmbuilder.nit:980 */
7009 fra
.me
.REG
[11] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7010 fra
.me
.REG
[11] = CALL_syntax___syntax_base___Variable___name(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7011 REGB5
= TAG_Bool(fra
.me
.REG
[12]==NIT_NULL
);
7012 if (UNTAG_Bool(REGB5
)) {
7013 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 980);
7015 CALL_metamodel___static_type___MMParam___name__eq(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[11]);
7016 /* ../lib/standard/collection/array.nit:275 */
7018 /* ../lib/standard/kernel.nit:245 */
7019 REGB5
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB5
));
7020 /* ../lib/standard/collection/array.nit:275 */
7023 /* ../lib/standard/collection/array.nit:273 */
7028 /* syntax/mmbuilder.nit:982 */
7029 fra
.me
.REG
[4] = fra
.me
.REG
[7];
7030 /* syntax/mmbuilder.nit:983 */
7031 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
7033 /* syntax/mmbuilder.nit:987 */
7034 fra
.me
.REG
[10] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7035 REGB0
= CALL_toolcontext___ToolContext___error_count(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7036 /* syntax/mmbuilder.nit:995 */
7037 REGB5
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7038 if (UNTAG_Bool(REGB5
)) {
7039 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 995);
7041 REGB5
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7042 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7043 if (UNTAG_Bool(REGB4
)) {
7044 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 995);
7046 REGB4
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7047 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB5
,REGB4
));
7048 if (UNTAG_Bool(REGB3
)) {
7050 /* ../lib/standard/kernel.nit:237 */
7051 REGB4
= TAG_Bool((REGB5
)==(REGB4
));
7052 /* syntax/mmbuilder.nit:995 */
7055 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7056 if (UNTAG_Bool(REGB3
)) {
7057 /* syntax/mmbuilder.nit:996 */
7058 REGB3
= TAG_Int(11);
7059 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7060 if (!once_value_26
) {
7061 fra
.me
.REG
[8] = BOX_NativeString("Redef error: ");
7062 REGB3
= TAG_Int(13);
7063 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB3
);
7064 once_value_26
= fra
.me
.REG
[8];
7065 register_static_object(&once_value_26
);
7066 } else fra
.me
.REG
[8] = once_value_26
;
7067 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7068 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7069 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7070 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7072 if (!once_value_27
) {
7073 fra
.me
.REG
[8] = BOX_NativeString("::");
7075 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB3
);
7076 once_value_27
= fra
.me
.REG
[8];
7077 register_static_object(&once_value_27
);
7078 } else fra
.me
.REG
[8] = once_value_27
;
7079 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7080 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7081 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7082 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7083 if (!once_value_28
) {
7084 fra
.me
.REG
[8] = BOX_NativeString(" redefines ");
7085 REGB3
= TAG_Int(11);
7086 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB3
);
7087 once_value_28
= fra
.me
.REG
[8];
7088 register_static_object(&once_value_28
);
7089 } else fra
.me
.REG
[8] = once_value_28
;
7090 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7092 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7093 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7094 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7095 if (!once_value_29
) {
7096 fra
.me
.REG
[8] = BOX_NativeString("::");
7098 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB3
);
7099 once_value_29
= fra
.me
.REG
[8];
7100 register_static_object(&once_value_29
);
7101 } else fra
.me
.REG
[8] = once_value_29
;
7102 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7103 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7104 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7105 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7106 if (!once_value_30
) {
7107 fra
.me
.REG
[8] = BOX_NativeString(" with ");
7109 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB3
);
7110 once_value_30
= fra
.me
.REG
[8];
7111 register_static_object(&once_value_30
);
7112 } else fra
.me
.REG
[8] = once_value_30
;
7113 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7115 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7116 if (UNTAG_Bool(REGB3
)) {
7117 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 996);
7119 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7120 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(REGB3
)(REGB3
);
7121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7122 if (!once_value_31
) {
7123 fra
.me
.REG
[8] = BOX_NativeString(" parameter(s).");
7124 REGB3
= TAG_Int(14);
7125 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB3
);
7126 once_value_31
= fra
.me
.REG
[8];
7127 register_static_object(&once_value_31
);
7128 } else fra
.me
.REG
[8] = once_value_31
;
7129 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7130 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7131 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7132 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
7134 /* syntax/mmbuilder.nit:997 */
7135 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7136 if (UNTAG_Bool(REGB3
)) {
7137 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 997);
7139 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7141 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
7142 if (UNTAG_Bool(REGB5
)) {
7144 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7146 /* ../lib/standard/kernel.nit:244 */
7147 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB4
));
7148 /* syntax/mmbuilder.nit:997 */
7149 if (UNTAG_Bool(REGB4
)) {
7150 /* syntax/mmbuilder.nit:998 */
7151 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AMethPropdef
, ID_parser___parser_nodes___AMethPropdef
)) /*cast AMethPropdef*/;
7152 if (UNTAG_Bool(REGB4
)) {
7153 /* syntax/mmbuilder.nit:1000 */
7155 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7156 if (UNTAG_Bool(REGB3
)) {
7157 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1000);
7159 REGB3
= CALL_metamodel___static_type___MMSignature___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7160 /* ../lib/standard/kernel.nit:404 */
7162 REGB5
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
7163 if (UNTAG_Bool(REGB5
)) {
7165 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
7167 /* ../lib/standard/kernel.nit:242 */
7168 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
7169 /* ../lib/standard/kernel.nit:404 */
7170 if (UNTAG_Bool(REGB5
)) {
7171 /* syntax/mmbuilder.nit:1000 */
7173 /* syntax/mmbuilder.nit:1001 */
7174 REGB6
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7175 if (UNTAG_Bool(REGB6
)) {
7176 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1001);
7178 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB5
);
7179 REGB6
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7180 if (UNTAG_Bool(REGB6
)) {
7181 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1001);
7183 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB5
);
7184 REGB6
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7185 if (UNTAG_Bool(REGB6
)) {
7187 REGB7
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7190 REGB6
= TAG_Bool(!UNTAG_Bool(REGB6
));
7191 if (UNTAG_Bool(REGB6
)) {
7192 /* syntax/mmbuilder.nit:1002 */
7193 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7194 REGB6
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7195 if (UNTAG_Bool(REGB6
)) {
7196 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1002);
7198 fra
.me
.REG
[8] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7199 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB5
);
7201 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB6
);
7202 if (!once_value_32
) {
7203 fra
.me
.REG
[11] = BOX_NativeString("Redef error: Expected ");
7204 REGB6
= TAG_Int(22);
7205 fra
.me
.REG
[11] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[11])(fra
.me
.REG
[11], REGB6
);
7206 once_value_32
= fra
.me
.REG
[11];
7207 register_static_object(&once_value_32
);
7208 } else fra
.me
.REG
[11] = once_value_32
;
7209 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7210 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7211 REGB6
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7212 if (UNTAG_Bool(REGB6
)) {
7213 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1002);
7215 fra
.me
.REG
[11] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB5
);
7216 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7217 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7218 if (!once_value_33
) {
7219 fra
.me
.REG
[11] = BOX_NativeString(", as in ");
7221 fra
.me
.REG
[11] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[11])(fra
.me
.REG
[11], REGB5
);
7222 once_value_33
= fra
.me
.REG
[11];
7223 register_static_object(&once_value_33
);
7224 } else fra
.me
.REG
[11] = once_value_33
;
7225 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7227 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7228 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7230 if (!once_value_34
) {
7231 fra
.me
.REG
[11] = BOX_NativeString("::");
7233 fra
.me
.REG
[11] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[11])(fra
.me
.REG
[11], REGB5
);
7234 once_value_34
= fra
.me
.REG
[11];
7235 register_static_object(&once_value_34
);
7236 } else fra
.me
.REG
[11] = once_value_34
;
7237 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7238 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7239 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7240 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7241 if (!once_value_35
) {
7242 fra
.me
.REG
[11] = BOX_NativeString(".");
7244 fra
.me
.REG
[11] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[11])(fra
.me
.REG
[11], REGB5
);
7245 once_value_35
= fra
.me
.REG
[11];
7246 register_static_object(&once_value_35
);
7247 } else fra
.me
.REG
[11] = once_value_35
;
7248 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7249 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7250 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7251 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8], fra
.me
.REG
[10]);
7253 /* ../lib/standard/kernel.nit:406 */
7255 /* ../lib/standard/kernel.nit:245 */
7256 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB5
));
7257 /* ../lib/standard/kernel.nit:406 */
7260 /* ../lib/standard/kernel.nit:404 */
7266 /* syntax/mmbuilder.nit:1005 */
7267 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AAttrPropdef
, ID_parser___parser_nodes___AAttrPropdef
)) /*cast AAttrPropdef*/;
7268 if (UNTAG_Bool(REGB4
)) {
7269 /* syntax/mmbuilder.nit:1007 */
7271 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7272 if (UNTAG_Bool(REGB3
)) {
7273 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1007);
7275 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB4
);
7277 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7278 if (UNTAG_Bool(REGB3
)) {
7279 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1007);
7281 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
7282 REGB4
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7283 if (UNTAG_Bool(REGB4
)) {
7285 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7288 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7289 if (UNTAG_Bool(REGB4
)) {
7290 /* syntax/mmbuilder.nit:1008 */
7291 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7293 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7294 if (!once_value_37
) {
7295 fra
.me
.REG
[11] = BOX_NativeString("Redef error: Expected ");
7296 REGB4
= TAG_Int(22);
7297 fra
.me
.REG
[11] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[11])(fra
.me
.REG
[11], REGB4
);
7298 once_value_37
= fra
.me
.REG
[11];
7299 register_static_object(&once_value_37
);
7300 } else fra
.me
.REG
[11] = once_value_37
;
7301 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7302 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7304 REGB3
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7305 if (UNTAG_Bool(REGB3
)) {
7306 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1008);
7308 fra
.me
.REG
[11] = CALL_metamodel___static_type___MMSignature_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
7309 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7310 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7311 if (!once_value_38
) {
7312 fra
.me
.REG
[11] = BOX_NativeString(", as in the parameter of ");
7313 REGB4
= TAG_Int(25);
7314 fra
.me
.REG
[11] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[11])(fra
.me
.REG
[11], REGB4
);
7315 once_value_38
= fra
.me
.REG
[11];
7316 register_static_object(&once_value_38
);
7317 } else fra
.me
.REG
[11] = once_value_38
;
7318 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7319 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7320 fra
.me
.REG
[11] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7321 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7323 if (!once_value_39
) {
7324 fra
.me
.REG
[11] = BOX_NativeString("::");
7326 fra
.me
.REG
[11] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[11])(fra
.me
.REG
[11], REGB4
);
7327 once_value_39
= fra
.me
.REG
[11];
7328 register_static_object(&once_value_39
);
7329 } else fra
.me
.REG
[11] = once_value_39
;
7330 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7332 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7334 if (!once_value_40
) {
7335 fra
.me
.REG
[11] = BOX_NativeString(".");
7337 fra
.me
.REG
[11] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[11])(fra
.me
.REG
[11], REGB4
);
7338 once_value_40
= fra
.me
.REG
[11];
7339 register_static_object(&once_value_40
);
7340 } else fra
.me
.REG
[11] = once_value_40
;
7341 fra
.me
.REG
[11] = fra
.me
.REG
[11];
7342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[11]);
7343 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7344 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[8], fra
.me
.REG
[10]);
7347 /* syntax/mmbuilder.nit:1012 */
7348 nit_abort("Aborted", NULL
, LOCATE_syntax___mmbuilder
, 1012);
7353 /* syntax/mmbuilder.nit:1016 */
7354 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7355 if (UNTAG_Bool(REGB4
)) {
7356 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1016);
7358 fra
.me
.REG
[10] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7359 /* syntax/mmbuilder.nit:1017 */
7360 REGB4
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
7361 if (UNTAG_Bool(REGB4
)) {
7362 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1017);
7364 fra
.me
.REG
[8] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7365 /* syntax/mmbuilder.nit:1018 */
7366 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7367 if (UNTAG_Bool(REGB4
)) {
7369 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7370 if (UNTAG_Bool(REGB3
)) {
7371 REGB3
= TAG_Bool(0);
7374 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7378 if (UNTAG_Bool(REGB4
)) {
7379 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7380 if (UNTAG_Bool(REGB4
)) {
7382 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7383 if (UNTAG_Bool(REGB3
)) {
7384 REGB3
= TAG_Bool(0);
7387 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7391 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7393 REGB3
= TAG_Bool(0);
7396 if (UNTAG_Bool(REGB4
)) {
7397 /* syntax/mmbuilder.nit:1019 */
7399 fra
.me
.REG
[11] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7400 if (!once_value_41
) {
7401 fra
.me
.REG
[12] = BOX_NativeString("Redef error: The procedure ");
7402 REGB4
= TAG_Int(27);
7403 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB4
);
7404 once_value_41
= fra
.me
.REG
[12];
7405 register_static_object(&once_value_41
);
7406 } else fra
.me
.REG
[12] = once_value_41
;
7407 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7408 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7409 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7410 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7412 if (!once_value_42
) {
7413 fra
.me
.REG
[12] = BOX_NativeString("::");
7415 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB4
);
7416 once_value_42
= fra
.me
.REG
[12];
7417 register_static_object(&once_value_42
);
7418 } else fra
.me
.REG
[12] = once_value_42
;
7419 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7420 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7421 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7423 if (!once_value_43
) {
7424 fra
.me
.REG
[12] = BOX_NativeString(" redefines the function ");
7425 REGB4
= TAG_Int(24);
7426 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB4
);
7427 once_value_43
= fra
.me
.REG
[12];
7428 register_static_object(&once_value_43
);
7429 } else fra
.me
.REG
[12] = once_value_43
;
7430 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7432 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7433 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7434 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7435 if (!once_value_44
) {
7436 fra
.me
.REG
[12] = BOX_NativeString("::");
7438 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB4
);
7439 once_value_44
= fra
.me
.REG
[12];
7440 register_static_object(&once_value_44
);
7441 } else fra
.me
.REG
[12] = once_value_44
;
7442 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7443 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7444 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7445 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7446 if (!once_value_45
) {
7447 fra
.me
.REG
[12] = BOX_NativeString(".");
7449 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB4
);
7450 once_value_45
= fra
.me
.REG
[12];
7451 register_static_object(&once_value_45
);
7452 } else fra
.me
.REG
[12] = once_value_45
;
7453 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7455 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7456 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[11]);
7458 /* syntax/mmbuilder.nit:1020 */
7459 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7460 if (UNTAG_Bool(REGB4
)) {
7462 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7463 if (UNTAG_Bool(REGB3
)) {
7464 REGB3
= TAG_Bool(0);
7467 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7471 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7472 if (UNTAG_Bool(REGB4
)) {
7473 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7474 if (UNTAG_Bool(REGB4
)) {
7476 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7477 if (UNTAG_Bool(REGB3
)) {
7478 REGB3
= TAG_Bool(0);
7481 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7486 REGB3
= TAG_Bool(0);
7489 if (UNTAG_Bool(REGB4
)) {
7490 /* syntax/mmbuilder.nit:1021 */
7492 fra
.me
.REG
[11] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7493 if (!once_value_46
) {
7494 fra
.me
.REG
[12] = BOX_NativeString("Redef error: The function ");
7495 REGB4
= TAG_Int(26);
7496 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB4
);
7497 once_value_46
= fra
.me
.REG
[12];
7498 register_static_object(&once_value_46
);
7499 } else fra
.me
.REG
[12] = once_value_46
;
7500 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7502 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7503 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7504 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7505 if (!once_value_47
) {
7506 fra
.me
.REG
[12] = BOX_NativeString("::");
7508 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB4
);
7509 once_value_47
= fra
.me
.REG
[12];
7510 register_static_object(&once_value_47
);
7511 } else fra
.me
.REG
[12] = once_value_47
;
7512 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7513 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7514 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7516 if (!once_value_48
) {
7517 fra
.me
.REG
[12] = BOX_NativeString(" redefines the procedure ");
7518 REGB4
= TAG_Int(25);
7519 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB4
);
7520 once_value_48
= fra
.me
.REG
[12];
7521 register_static_object(&once_value_48
);
7522 } else fra
.me
.REG
[12] = once_value_48
;
7523 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7524 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7525 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7526 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7527 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7528 if (!once_value_49
) {
7529 fra
.me
.REG
[12] = BOX_NativeString("::");
7531 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB4
);
7532 once_value_49
= fra
.me
.REG
[12];
7533 register_static_object(&once_value_49
);
7534 } else fra
.me
.REG
[12] = once_value_49
;
7535 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7537 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7538 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7539 if (!once_value_50
) {
7540 fra
.me
.REG
[12] = BOX_NativeString(".");
7542 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB4
);
7543 once_value_50
= fra
.me
.REG
[12];
7544 register_static_object(&once_value_50
);
7545 } else fra
.me
.REG
[12] = once_value_50
;
7546 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7547 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[11])(fra
.me
.REG
[11], fra
.me
.REG
[12]);
7548 fra
.me
.REG
[11] = CALL_standard___string___Object___to_s(fra
.me
.REG
[11])(fra
.me
.REG
[11]);
7549 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[11]);
7551 /* syntax/mmbuilder.nit:1022 */
7552 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7553 if (UNTAG_Bool(REGB4
)) {
7555 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7556 if (UNTAG_Bool(REGB3
)) {
7557 REGB3
= TAG_Bool(0);
7560 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7564 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7565 if (UNTAG_Bool(REGB4
)) {
7566 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7567 if (UNTAG_Bool(REGB4
)) {
7569 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7570 if (UNTAG_Bool(REGB3
)) {
7571 REGB3
= TAG_Bool(0);
7574 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7578 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7580 REGB3
= TAG_Bool(0);
7583 if (UNTAG_Bool(REGB4
)) {
7584 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7585 if (UNTAG_Bool(REGB4
)) {
7586 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1022);
7588 REGB4
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7589 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7591 REGB3
= TAG_Bool(0);
7594 if (UNTAG_Bool(REGB4
)) {
7595 /* syntax/mmbuilder.nit:1023 */
7596 fra
.me
.REG
[11] = NIT_NULL
;
7597 /* syntax/mmbuilder.nit:1024 */
7598 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AMethPropdef
, ID_parser___parser_nodes___AMethPropdef
)) /*cast AMethPropdef*/;
7599 if (UNTAG_Bool(REGB4
)) {
7600 /* syntax/mmbuilder.nit:1025 */
7601 fra
.me
.REG
[12] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7602 REGB4
= TAG_Bool(fra
.me
.REG
[12]==NIT_NULL
);
7603 if (UNTAG_Bool(REGB4
)) {
7604 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1025);
7606 fra
.me
.REG
[12] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7607 fra
.me
.REG
[11] = fra
.me
.REG
[12];
7609 /* syntax/mmbuilder.nit:1026 */
7610 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___AAttrPropdef
, ID_parser___parser_nodes___AAttrPropdef
)) /*cast AAttrPropdef*/;
7611 if (UNTAG_Bool(REGB4
)) {
7612 /* syntax/mmbuilder.nit:1027 */
7613 fra
.me
.REG
[12] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7614 fra
.me
.REG
[11] = fra
.me
.REG
[12];
7616 /* syntax/mmbuilder.nit:1028 */
7617 REGB4
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_parser___parser_nodes___ATypePropdef
, ID_parser___parser_nodes___ATypePropdef
)) /*cast ATypePropdef*/;
7618 if (UNTAG_Bool(REGB4
)) {
7619 /* syntax/mmbuilder.nit:1029 */
7620 fra
.me
.REG
[12] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
7621 fra
.me
.REG
[11] = fra
.me
.REG
[12];
7625 /* syntax/mmbuilder.nit:1031 */
7627 fra
.me
.REG
[12] = NEW_Array_standard___collection___array___Array___with_capacity(REGB4
);
7628 if (!once_value_51
) {
7629 fra
.me
.REG
[13] = BOX_NativeString("Redef error: Expected ");
7630 REGB4
= TAG_Int(22);
7631 fra
.me
.REG
[13] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[13])(fra
.me
.REG
[13], REGB4
);
7632 once_value_51
= fra
.me
.REG
[13];
7633 register_static_object(&once_value_51
);
7634 } else fra
.me
.REG
[13] = once_value_51
;
7635 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7636 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7637 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7639 if (!once_value_52
) {
7640 fra
.me
.REG
[13] = BOX_NativeString(", as in ");
7642 fra
.me
.REG
[13] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[13])(fra
.me
.REG
[13], REGB4
);
7643 once_value_52
= fra
.me
.REG
[13];
7644 register_static_object(&once_value_52
);
7645 } else fra
.me
.REG
[13] = once_value_52
;
7646 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7648 fra
.me
.REG
[13] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7649 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[13])(fra
.me
.REG
[13]);
7650 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7651 if (!once_value_53
) {
7652 fra
.me
.REG
[13] = BOX_NativeString("::");
7654 fra
.me
.REG
[13] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[13])(fra
.me
.REG
[13], REGB4
);
7655 once_value_53
= fra
.me
.REG
[13];
7656 register_static_object(&once_value_53
);
7657 } else fra
.me
.REG
[13] = once_value_53
;
7658 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7660 fra
.me
.REG
[13] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7662 if (!once_value_54
) {
7663 fra
.me
.REG
[13] = BOX_NativeString(".");
7665 fra
.me
.REG
[13] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[13])(fra
.me
.REG
[13], REGB4
);
7666 once_value_54
= fra
.me
.REG
[13];
7667 register_static_object(&once_value_54
);
7668 } else fra
.me
.REG
[13] = once_value_54
;
7669 fra
.me
.REG
[13] = fra
.me
.REG
[13];
7670 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[12])(fra
.me
.REG
[12], fra
.me
.REG
[13]);
7671 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7672 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[11], fra
.me
.REG
[12]);
7674 /* syntax/mmbuilder.nit:1032 */
7675 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
7676 if (UNTAG_Bool(REGB4
)) {
7677 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1032);
7679 REGB4
= CALL_metamodel___static_type___MMSignature_____l(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
7680 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
7681 if (UNTAG_Bool(REGB4
)) {
7682 fra
.me
.REG
[7] = CALL_syntax___syntax_base___AbsSyntaxVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7683 REGB4
= CALL_toolcontext___ToolContext___error_count(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7684 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB4
));
7685 if (UNTAG_Bool(REGB3
)) {
7687 /* ../lib/standard/kernel.nit:237 */
7688 REGB4
= TAG_Bool((REGB0
)==(REGB4
));
7689 /* syntax/mmbuilder.nit:1032 */
7693 REGB4
= TAG_Bool(0);
7696 if (UNTAG_Bool(REGB3
)) {
7697 /* syntax/mmbuilder.nit:1034 */
7699 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7700 if (!once_value_55
) {
7701 fra
.me
.REG
[12] = BOX_NativeString("Redef error: Incompatible redefinition of ");
7702 REGB3
= TAG_Int(42);
7703 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB3
);
7704 once_value_55
= fra
.me
.REG
[12];
7705 register_static_object(&once_value_55
);
7706 } else fra
.me
.REG
[12] = once_value_55
;
7707 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7709 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7710 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7712 if (!once_value_56
) {
7713 fra
.me
.REG
[12] = BOX_NativeString("::");
7715 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB3
);
7716 once_value_56
= fra
.me
.REG
[12];
7717 register_static_object(&once_value_56
);
7718 } else fra
.me
.REG
[12] = once_value_56
;
7719 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7720 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7721 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7723 if (!once_value_57
) {
7724 fra
.me
.REG
[12] = BOX_NativeString(" with ");
7726 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB3
);
7727 once_value_57
= fra
.me
.REG
[12];
7728 register_static_object(&once_value_57
);
7729 } else fra
.me
.REG
[12] = once_value_57
;
7730 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7732 fra
.me
.REG
[12] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7733 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[12])(fra
.me
.REG
[12]);
7734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7735 if (!once_value_58
) {
7736 fra
.me
.REG
[12] = BOX_NativeString("::");
7738 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB3
);
7739 once_value_58
= fra
.me
.REG
[12];
7740 register_static_object(&once_value_58
);
7741 } else fra
.me
.REG
[12] = once_value_58
;
7742 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7743 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7744 fra
.me
.REG
[12] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7745 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7746 if (!once_value_59
) {
7747 fra
.me
.REG
[12] = BOX_NativeString("");
7749 fra
.me
.REG
[12] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[12])(fra
.me
.REG
[12], REGB3
);
7750 once_value_59
= fra
.me
.REG
[12];
7751 register_static_object(&once_value_59
);
7752 } else fra
.me
.REG
[12] = once_value_59
;
7753 fra
.me
.REG
[12] = fra
.me
.REG
[12];
7754 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[12]);
7755 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
7756 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[7]);
7758 /* syntax/mmbuilder.nit:1035 */
7759 REGB3
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7760 if (UNTAG_Bool(REGB3
)) {
7762 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7763 if (UNTAG_Bool(REGB4
)) {
7764 REGB4
= TAG_Bool(0);
7767 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], NIT_NULL
);
7771 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7772 if (UNTAG_Bool(REGB3
)) {
7773 REGB3
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7774 if (UNTAG_Bool(REGB3
)) {
7776 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
7777 if (UNTAG_Bool(REGB4
)) {
7778 REGB4
= TAG_Bool(0);
7781 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], NIT_NULL
);
7785 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7787 REGB4
= TAG_Bool(0);
7790 if (UNTAG_Bool(REGB3
)) {
7791 REGB3
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[10],fra
.me
.REG
[8]));
7792 if (UNTAG_Bool(REGB3
)) {
7794 REGB4
= TAG_Bool(fra
.me
.REG
[10]==NIT_NULL
);
7795 if (UNTAG_Bool(REGB4
)) {
7796 REGB4
= TAG_Bool(0);
7799 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7803 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7805 REGB4
= TAG_Bool(0);
7808 if (UNTAG_Bool(REGB3
)) {
7809 REGB3
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_metamodel___abstractmetamodel___MMAttribute
, ID_metamodel___abstractmetamodel___MMAttribute
)) /*cast MMAttribute*/;
7811 REGB4
= TAG_Bool(0);
7814 if (UNTAG_Bool(REGB3
)) {
7815 /* syntax/mmbuilder.nit:1036 */
7817 fra
.me
.REG
[10] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
7818 if (!once_value_60
) {
7819 fra
.me
.REG
[7] = BOX_NativeString("Redef error: Expected ");
7820 REGB3
= TAG_Int(22);
7821 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB3
);
7822 once_value_60
= fra
.me
.REG
[7];
7823 register_static_object(&once_value_60
);
7824 } else fra
.me
.REG
[7] = once_value_60
;
7825 fra
.me
.REG
[7] = fra
.me
.REG
[7];
7826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[7]);
7827 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7829 if (!once_value_61
) {
7830 fra
.me
.REG
[8] = BOX_NativeString(", as in ");
7832 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB3
);
7833 once_value_61
= fra
.me
.REG
[8];
7834 register_static_object(&once_value_61
);
7835 } else fra
.me
.REG
[8] = once_value_61
;
7836 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7837 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7838 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7839 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
7840 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7841 if (!once_value_62
) {
7842 fra
.me
.REG
[8] = BOX_NativeString("::");
7844 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB3
);
7845 once_value_62
= fra
.me
.REG
[8];
7846 register_static_object(&once_value_62
);
7847 } else fra
.me
.REG
[8] = once_value_62
;
7848 fra
.me
.REG
[8] = fra
.me
.REG
[8];
7849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[8]);
7850 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
7851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
7852 if (!once_value_63
) {
7853 fra
.me
.REG
[9] = BOX_NativeString(".");
7855 fra
.me
.REG
[9] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[9])(fra
.me
.REG
[9], REGB3
);
7856 once_value_63
= fra
.me
.REG
[9];
7857 register_static_object(&once_value_63
);
7858 } else fra
.me
.REG
[9] = once_value_63
;
7859 fra
.me
.REG
[9] = fra
.me
.REG
[9];
7860 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[10])(fra
.me
.REG
[10], fra
.me
.REG
[9]);
7861 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
7862 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[10]);
7868 /* ../lib/standard/collection/array.nit:275 */
7870 /* ../lib/standard/kernel.nit:245 */
7871 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
7872 /* ../lib/standard/collection/array.nit:275 */
7875 /* ../lib/standard/collection/array.nit:273 */
7881 /* syntax/mmbuilder.nit:1040 */
7883 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
7884 if (UNTAG_Bool(REGB3
)) {
7886 /* ../lib/standard/kernel.nit:237 */
7887 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
7888 /* syntax/mmbuilder.nit:1040 */
7891 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
7892 if (UNTAG_Bool(REGB3
)) {
7893 REGB3
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
7894 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
7895 if (UNTAG_Bool(REGB2
)) {
7897 /* ../lib/standard/kernel.nit:237 */
7898 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
7899 /* syntax/mmbuilder.nit:1040 */
7902 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
7904 REGB1
= TAG_Bool(0);
7907 if (UNTAG_Bool(REGB2
)) {
7908 /* syntax/mmbuilder.nit:1041 */
7910 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
7911 if (!once_value_65
) {
7912 fra
.me
.REG
[6] = BOX_NativeString("Redef error: ");
7913 REGB2
= TAG_Int(13);
7914 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
7915 once_value_65
= fra
.me
.REG
[6];
7916 register_static_object(&once_value_65
);
7917 } else fra
.me
.REG
[6] = once_value_65
;
7918 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7920 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7921 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
7922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7923 if (!once_value_66
) {
7924 fra
.me
.REG
[6] = BOX_NativeString("::");
7926 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB2
);
7927 once_value_66
= fra
.me
.REG
[6];
7928 register_static_object(&once_value_66
);
7929 } else fra
.me
.REG
[6] = once_value_66
;
7930 fra
.me
.REG
[6] = fra
.me
.REG
[6];
7931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
7932 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
7933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
7934 if (!once_value_67
) {
7935 fra
.me
.REG
[2] = BOX_NativeString(" redefinition cannot change visibility.");
7936 REGB2
= TAG_Int(39);
7937 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
);
7938 once_value_67
= fra
.me
.REG
[2];
7939 register_static_object(&once_value_67
);
7940 } else fra
.me
.REG
[2] = once_value_67
;
7941 fra
.me
.REG
[2] = fra
.me
.REG
[2];
7942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
7943 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
7944 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
7946 /* syntax/mmbuilder.nit:1043 */
7947 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
7948 REGB2
= TAG_Bool(1);
7949 CALL_syntax___syntax_base___MMGlobalProperty___check_visibility(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4], REGB2
);
7951 stack_frame_head
= fra
.me
.prev
;
7954 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___readmethod
[] = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::readmethod)";
7955 val_t
syntax___mmbuilder___AAttrPropdef___readmethod(val_t p0
){
7956 struct {struct stack_frame_t me
;} fra
;
7958 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7959 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7961 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___readmethod
;
7962 fra
.me
.has_broke
= 0;
7963 fra
.me
.REG_size
= 1;
7964 fra
.me
.nitni_local_ref_head
= NULL
;
7965 fra
.me
.REG
[0] = NIT_NULL
;
7967 /* syntax/mmbuilder.nit:1048 */
7968 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[0]);
7969 stack_frame_head
= fra
.me
.prev
;
7970 return fra
.me
.REG
[0];
7972 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___writemethod
[] = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::writemethod)";
7973 val_t
syntax___mmbuilder___AAttrPropdef___writemethod(val_t p0
){
7974 struct {struct stack_frame_t me
;} fra
;
7976 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7977 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7979 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___writemethod
;
7980 fra
.me
.has_broke
= 0;
7981 fra
.me
.REG_size
= 1;
7982 fra
.me
.nitni_local_ref_head
= NULL
;
7983 fra
.me
.REG
[0] = NIT_NULL
;
7985 /* syntax/mmbuilder.nit:1049 */
7986 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[0]);
7987 stack_frame_head
= fra
.me
.prev
;
7988 return fra
.me
.REG
[0];
7990 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___prop
[] = "mmbuilder::AAttrPropdef::(syntax_base::AAttrPropdef::prop)";
7991 val_t
syntax___mmbuilder___AAttrPropdef___prop(val_t p0
){
7992 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
7995 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7996 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
7998 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___prop
;
7999 fra
.me
.has_broke
= 0;
8000 fra
.me
.REG_size
= 2;
8001 fra
.me
.nitni_local_ref_head
= NULL
;
8002 fra
.me
.REG
[0] = NIT_NULL
;
8003 fra
.me
.REG
[1] = NIT_NULL
;
8005 /* syntax/mmbuilder.nit:1051 */
8006 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8007 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[1]);
8008 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
8009 if (UNTAG_Bool(REGB0
)) {
8011 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1051);
8015 stack_frame_head
= fra
.me
.prev
;
8016 return fra
.me
.REG
[1];
8018 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_builder
[] = "mmbuilder::AAttrPropdef::(mmbuilder::ANode::accept_property_builder)";
8019 void syntax___mmbuilder___AAttrPropdef___accept_property_builder(val_t p0
, val_t p1
){
8020 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
8025 static val_t once_value_1
; /* Once value */
8026 static val_t once_value_2
; /* Once value */
8027 static val_t once_value_3
; /* Once value */
8028 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8029 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8031 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_builder
;
8032 fra
.me
.has_broke
= 0;
8033 fra
.me
.REG_size
= 6;
8034 fra
.me
.nitni_local_ref_head
= NULL
;
8035 fra
.me
.REG
[0] = NIT_NULL
;
8036 fra
.me
.REG
[1] = NIT_NULL
;
8037 fra
.me
.REG
[2] = NIT_NULL
;
8038 fra
.me
.REG
[3] = NIT_NULL
;
8039 fra
.me
.REG
[4] = NIT_NULL
;
8040 fra
.me
.REG
[5] = NIT_NULL
;
8043 /* syntax/mmbuilder.nit:1053 */
8044 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8045 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8046 /* syntax/mmbuilder.nit:1055 */
8047 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8048 /* syntax/mmbuilder.nit:1057 */
8049 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8050 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8051 if (UNTAG_Bool(REGB0
)) {
8053 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8054 if (UNTAG_Bool(REGB1
)) {
8055 REGB1
= TAG_Bool(0);
8058 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8062 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8063 if (UNTAG_Bool(REGB0
)) {
8064 /* syntax/mmbuilder.nit:1058 */
8065 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8066 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8067 if (UNTAG_Bool(REGB0
)) {
8068 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1058);
8070 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8072 /* syntax/mmbuilder.nit:1060 */
8073 if (!once_value_1
) {
8074 fra
.me
.REG
[0] = BOX_NativeString("@");
8076 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
8077 once_value_1
= fra
.me
.REG
[0];
8078 register_static_object(&once_value_1
);
8079 } else fra
.me
.REG
[0] = once_value_1
;
8080 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8081 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8082 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8083 if (UNTAG_Bool(REGB0
)) {
8084 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1060);
8086 fra
.me
.REG
[4] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8087 fra
.me
.REG
[4] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
8088 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8089 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8091 /* syntax/mmbuilder.nit:1062 */
8092 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8093 /* syntax/mmbuilder.nit:1063 */
8094 fra
.me
.REG
[0] = NEW_MMSrcAttribute_syntax___syntax_base___MMSrcAttribute___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8095 /* syntax/mmbuilder.nit:1064 */
8096 ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
8097 /* syntax/mmbuilder.nit:1065 */
8098 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8099 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
8100 /* syntax/mmbuilder.nit:1067 */
8101 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8102 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8103 if (UNTAG_Bool(REGB0
)) {
8105 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8106 if (UNTAG_Bool(REGB1
)) {
8107 REGB1
= TAG_Bool(0);
8110 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8114 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8115 if (UNTAG_Bool(REGB0
)) {
8116 REGB0
= TAG_Bool(1);
8118 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8119 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8120 if (UNTAG_Bool(REGB1
)) {
8122 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8123 if (UNTAG_Bool(REGB2
)) {
8124 REGB2
= TAG_Bool(0);
8127 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8133 if (UNTAG_Bool(REGB0
)) {
8134 /* syntax/mmbuilder.nit:1068 */
8135 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8136 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8137 if (UNTAG_Bool(REGB0
)) {
8139 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8140 if (UNTAG_Bool(REGB1
)) {
8141 REGB1
= TAG_Bool(0);
8144 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8148 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8149 if (UNTAG_Bool(REGB0
)) {
8150 /* syntax/mmbuilder.nit:1069 */
8151 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8152 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8153 if (UNTAG_Bool(REGB0
)) {
8154 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1069);
8156 fra
.me
.REG
[0] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8158 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
8159 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8160 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8162 /* syntax/mmbuilder.nit:1071 */
8163 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8164 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8165 if (UNTAG_Bool(REGB0
)) {
8166 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1071);
8168 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8169 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8171 /* syntax/mmbuilder.nit:1073 */
8172 fra
.me
.REG
[0] = NEW_MMReadImplementationMethod_syntax___syntax_base___MMReadImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8173 /* syntax/mmbuilder.nit:1074 */
8174 ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
8175 /* syntax/mmbuilder.nit:1075 */
8176 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8177 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[0]);
8179 /* syntax/mmbuilder.nit:1077 */
8180 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8181 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8182 if (UNTAG_Bool(REGB0
)) {
8184 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8185 if (UNTAG_Bool(REGB1
)) {
8186 REGB1
= TAG_Bool(0);
8189 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8193 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8194 if (UNTAG_Bool(REGB0
)) {
8195 REGB0
= TAG_Bool(1);
8197 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8198 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8199 if (UNTAG_Bool(REGB1
)) {
8201 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8202 if (UNTAG_Bool(REGB2
)) {
8203 REGB2
= TAG_Bool(0);
8206 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8212 if (UNTAG_Bool(REGB0
)) {
8213 /* syntax/mmbuilder.nit:1078 */
8214 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8215 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8216 if (UNTAG_Bool(REGB0
)) {
8218 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8219 if (UNTAG_Bool(REGB1
)) {
8220 REGB1
= TAG_Bool(0);
8223 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
8227 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8228 if (UNTAG_Bool(REGB0
)) {
8229 /* syntax/mmbuilder.nit:1079 */
8230 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8231 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
8232 if (UNTAG_Bool(REGB0
)) {
8233 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1079);
8235 fra
.me
.REG
[0] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8237 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
8238 if (!once_value_2
) {
8239 fra
.me
.REG
[5] = BOX_NativeString("=");
8241 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
8242 once_value_2
= fra
.me
.REG
[5];
8243 register_static_object(&once_value_2
);
8244 } else fra
.me
.REG
[5] = once_value_2
;
8245 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8246 fra
.me
.REG
[5] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
8247 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8248 fra
.me
.REG
[1] = fra
.me
.REG
[5];
8250 /* syntax/mmbuilder.nit:1081 */
8251 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id2(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8252 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8253 if (UNTAG_Bool(REGB0
)) {
8254 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1081);
8256 fra
.me
.REG
[5] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8257 if (!once_value_3
) {
8258 fra
.me
.REG
[0] = BOX_NativeString("=");
8260 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
8261 once_value_3
= fra
.me
.REG
[0];
8262 register_static_object(&once_value_3
);
8263 } else fra
.me
.REG
[0] = once_value_3
;
8264 fra
.me
.REG
[0] = fra
.me
.REG
[0];
8265 fra
.me
.REG
[0] = CALL_standard___string___String_____plus(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
8266 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
8267 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8269 /* syntax/mmbuilder.nit:1083 */
8270 fra
.me
.REG
[4] = NEW_MMWriteImplementationMethod_syntax___syntax_base___MMWriteImplementationMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[4], fra
.me
.REG
[2]);
8271 /* syntax/mmbuilder.nit:1084 */
8272 ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]) = fra
.me
.REG
[4];
8273 /* syntax/mmbuilder.nit:1085 */
8274 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8275 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8277 stack_frame_head
= fra
.me
.prev
;
8280 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_verifier
[] = "mmbuilder::AAttrPropdef::(mmbuilder::ANode::accept_property_verifier)";
8281 void syntax___mmbuilder___AAttrPropdef___accept_property_verifier(val_t p0
, val_t p1
){
8282 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
8288 static val_t once_value_2
; /* Once value */
8289 static val_t once_value_3
; /* Once value */
8290 static val_t once_value_4
; /* Once value */
8291 static val_t once_value_5
; /* Once value */
8292 static val_t once_value_6
; /* Once value */
8293 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8294 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8296 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_property_verifier
;
8297 fra
.me
.has_broke
= 0;
8298 fra
.me
.REG_size
= 7;
8299 fra
.me
.nitni_local_ref_head
= NULL
;
8300 fra
.me
.REG
[0] = NIT_NULL
;
8301 fra
.me
.REG
[1] = NIT_NULL
;
8302 fra
.me
.REG
[2] = NIT_NULL
;
8303 fra
.me
.REG
[3] = NIT_NULL
;
8304 fra
.me
.REG
[4] = NIT_NULL
;
8305 fra
.me
.REG
[5] = NIT_NULL
;
8306 fra
.me
.REG
[6] = NIT_NULL
;
8309 /* syntax/mmbuilder.nit:1089 */
8310 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8311 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8312 /* syntax/mmbuilder.nit:1091 */
8313 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8314 /* syntax/mmbuilder.nit:1092 */
8315 fra
.me
.REG
[1] = NIT_NULL
;
8316 /* syntax/mmbuilder.nit:1093 */
8317 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8318 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8319 if (UNTAG_Bool(REGB0
)) {
8321 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8322 if (UNTAG_Bool(REGB1
)) {
8323 REGB1
= TAG_Bool(0);
8326 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8330 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8331 if (UNTAG_Bool(REGB0
)) {
8332 /* syntax/mmbuilder.nit:1094 */
8333 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8334 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8335 if (UNTAG_Bool(REGB0
)) {
8336 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1094);
8338 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
8339 /* syntax/mmbuilder.nit:1095 */
8340 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8341 if (UNTAG_Bool(REGB0
)) {
8343 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8344 if (UNTAG_Bool(REGB1
)) {
8345 REGB1
= TAG_Bool(0);
8348 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8352 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8353 if (UNTAG_Bool(REGB0
)) {
8354 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8359 /* syntax/mmbuilder.nit:1096 */
8360 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8361 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8362 if (UNTAG_Bool(REGB0
)) {
8364 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8365 if (UNTAG_Bool(REGB1
)) {
8366 REGB1
= TAG_Bool(0);
8369 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8373 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8374 if (UNTAG_Bool(REGB0
)) {
8375 /* syntax/mmbuilder.nit:1097 */
8376 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8377 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8378 if (UNTAG_Bool(REGB0
)) {
8379 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1097);
8381 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___AExpr___get_easy_stype(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
8382 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8385 /* syntax/mmbuilder.nit:1100 */
8386 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8387 if (UNTAG_Bool(REGB0
)) {
8389 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8390 if (UNTAG_Bool(REGB1
)) {
8391 REGB1
= TAG_Bool(0);
8394 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8398 if (UNTAG_Bool(REGB0
)) {
8399 /* syntax/mmbuilder.nit:1101 */
8401 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
8402 if (!once_value_2
) {
8403 fra
.me
.REG
[5] = BOX_NativeString("Not yet implemented: Attribute definition ");
8404 REGB0
= TAG_Int(42);
8405 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
8406 once_value_2
= fra
.me
.REG
[5];
8407 register_static_object(&once_value_2
);
8408 } else fra
.me
.REG
[5] = once_value_2
;
8409 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8410 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8411 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8412 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8413 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8415 if (!once_value_3
) {
8416 fra
.me
.REG
[5] = BOX_NativeString("::");
8418 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
8419 once_value_3
= fra
.me
.REG
[5];
8420 register_static_object(&once_value_3
);
8421 } else fra
.me
.REG
[5] = once_value_3
;
8422 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8423 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8424 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8425 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8427 if (!once_value_4
) {
8428 fra
.me
.REG
[5] = BOX_NativeString(" requires an explicit type.");
8429 REGB0
= TAG_Int(27);
8430 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
8431 once_value_4
= fra
.me
.REG
[5];
8432 register_static_object(&once_value_4
);
8433 } else fra
.me
.REG
[5] = once_value_4
;
8434 fra
.me
.REG
[5] = fra
.me
.REG
[5];
8435 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
8436 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8437 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[4]);
8438 /* syntax/mmbuilder.nit:1102 */
8441 /* syntax/mmbuilder.nit:1105 */
8442 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AAttrPropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8443 /* syntax/mmbuilder.nit:1106 */
8444 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
8445 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8446 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8447 fra
.me
.REG
[6] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[6]);
8448 /* syntax/mmbuilder.nit:1107 */
8449 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8450 /* syntax/mmbuilder.nit:1108 */
8451 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8452 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
8453 /* syntax/mmbuilder.nit:1109 */
8454 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8455 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8456 if (UNTAG_Bool(REGB1
)) {
8458 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8459 if (UNTAG_Bool(REGB2
)) {
8460 REGB2
= TAG_Bool(0);
8463 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8467 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8468 if (UNTAG_Bool(REGB1
)) {
8469 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8470 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8471 if (UNTAG_Bool(REGB1
)) {
8473 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
8474 if (UNTAG_Bool(REGB2
)) {
8475 REGB2
= TAG_Bool(0);
8478 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
8482 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8484 REGB2
= TAG_Bool(0);
8487 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB1
, REGB0
);
8488 /* syntax/mmbuilder.nit:1110 */
8489 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8490 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8491 if (UNTAG_Bool(REGB1
)) {
8493 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8494 if (UNTAG_Bool(REGB2
)) {
8495 REGB2
= TAG_Bool(0);
8498 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8502 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8503 if (UNTAG_Bool(REGB1
)) {
8504 REGB1
= TAG_Bool(1);
8506 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8507 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8508 if (UNTAG_Bool(REGB2
)) {
8510 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8511 if (UNTAG_Bool(REGB3
)) {
8512 REGB3
= TAG_Bool(0);
8515 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8521 if (UNTAG_Bool(REGB1
)) {
8522 /* syntax/mmbuilder.nit:1111 */
8523 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AAttrPropdef____readmethod(fra
.me
.REG
[2]);
8524 REGB1
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8525 if (UNTAG_Bool(REGB1
)) {
8527 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1111);
8529 /* syntax/mmbuilder.nit:1112 */
8530 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8531 /* syntax/mmbuilder.nit:1113 */
8532 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8533 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8534 if (UNTAG_Bool(REGB1
)) {
8536 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8537 if (UNTAG_Bool(REGB2
)) {
8538 REGB2
= TAG_Bool(0);
8541 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8545 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8546 if (UNTAG_Bool(REGB1
)) {
8547 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_readable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8548 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8549 if (UNTAG_Bool(REGB1
)) {
8550 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1113);
8552 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_kwredef(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8553 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8554 if (UNTAG_Bool(REGB1
)) {
8556 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8557 if (UNTAG_Bool(REGB2
)) {
8558 REGB2
= TAG_Bool(0);
8561 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8565 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8567 REGB2
= TAG_Bool(0);
8570 if (UNTAG_Bool(REGB1
)) {
8571 REGB1
= TAG_Bool(1);
8573 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8574 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8575 if (UNTAG_Bool(REGB2
)) {
8577 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8578 if (UNTAG_Bool(REGB3
)) {
8579 REGB3
= TAG_Bool(0);
8582 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8586 if (UNTAG_Bool(REGB2
)) {
8587 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8588 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8589 if (UNTAG_Bool(REGB2
)) {
8591 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8592 if (UNTAG_Bool(REGB3
)) {
8593 REGB3
= TAG_Bool(0);
8596 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8600 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
8602 REGB3
= TAG_Bool(0);
8607 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB1
, REGB0
);
8608 /* syntax/mmbuilder.nit:1114 */
8609 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8610 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8611 if (UNTAG_Bool(REGB1
)) {
8613 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8614 if (UNTAG_Bool(REGB2
)) {
8615 REGB2
= TAG_Bool(0);
8618 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8622 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8623 if (UNTAG_Bool(REGB1
)) {
8624 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8625 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8626 if (UNTAG_Bool(REGB1
)) {
8627 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1114);
8629 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8632 /* syntax/mmbuilder.nit:1116 */
8633 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8634 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8635 if (UNTAG_Bool(REGB1
)) {
8637 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8638 if (UNTAG_Bool(REGB2
)) {
8639 REGB2
= TAG_Bool(0);
8642 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8646 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8647 if (UNTAG_Bool(REGB1
)) {
8648 REGB1
= TAG_Bool(1);
8650 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8651 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8652 if (UNTAG_Bool(REGB2
)) {
8654 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8655 if (UNTAG_Bool(REGB3
)) {
8656 REGB3
= TAG_Bool(0);
8659 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
8665 if (UNTAG_Bool(REGB1
)) {
8666 /* syntax/mmbuilder.nit:1117 */
8667 fra
.me
.REG
[4] = ATTR_syntax___mmbuilder___AAttrPropdef____writemethod(fra
.me
.REG
[2]);
8668 REGB1
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8669 if (UNTAG_Bool(REGB1
)) {
8671 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1117);
8673 /* syntax/mmbuilder.nit:1118 */
8675 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
8676 if (!once_value_5
) {
8677 if (!once_value_6
) {
8678 fra
.me
.REG
[6] = BOX_NativeString("value");
8680 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
8681 once_value_6
= fra
.me
.REG
[6];
8682 register_static_object(&once_value_6
);
8683 } else fra
.me
.REG
[6] = once_value_6
;
8684 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8685 fra
.me
.REG
[6] = CALL_symbol___String___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8686 once_value_5
= fra
.me
.REG
[6];
8687 register_static_object(&once_value_5
);
8688 } else fra
.me
.REG
[6] = once_value_5
;
8689 fra
.me
.REG
[6] = fra
.me
.REG
[6];
8690 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[1], fra
.me
.REG
[6]);
8691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6]);
8692 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_items(fra
.me
.REG
[0]);
8693 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
8694 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8695 fra
.me
.REG
[6] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[6]);
8696 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
8697 /* syntax/mmbuilder.nit:1120 */
8698 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8699 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8700 if (UNTAG_Bool(REGB1
)) {
8702 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8703 if (UNTAG_Bool(REGB2
)) {
8704 REGB2
= TAG_Bool(0);
8707 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8711 if (UNTAG_Bool(REGB1
)) {
8712 /* syntax/mmbuilder.nit:1121 */
8713 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8714 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8715 if (UNTAG_Bool(REGB1
)) {
8717 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8718 if (UNTAG_Bool(REGB2
)) {
8719 REGB2
= TAG_Bool(0);
8722 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8726 if (UNTAG_Bool(REGB1
)) {
8730 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8731 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8732 if (UNTAG_Bool(REGB1
)) {
8733 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1121);
8735 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_visibility(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8736 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8737 if (UNTAG_Bool(REGB1
)) {
8738 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1121);
8740 REGB1
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8744 /* syntax/mmbuilder.nit:1123 */
8745 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8746 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8747 if (UNTAG_Bool(REGB1
)) {
8749 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8750 if (UNTAG_Bool(REGB2
)) {
8751 REGB2
= TAG_Bool(0);
8754 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8758 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8759 if (UNTAG_Bool(REGB1
)) {
8760 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_writable(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8761 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8762 if (UNTAG_Bool(REGB1
)) {
8763 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1123);
8765 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAble___n_kwredef(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
8766 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8767 if (UNTAG_Bool(REGB1
)) {
8769 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8770 if (UNTAG_Bool(REGB2
)) {
8771 REGB2
= TAG_Bool(0);
8774 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8778 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
8780 REGB2
= TAG_Bool(0);
8783 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB1
, REGB0
);
8784 /* syntax/mmbuilder.nit:1124 */
8785 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8786 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8787 if (UNTAG_Bool(REGB0
)) {
8789 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
8790 if (UNTAG_Bool(REGB1
)) {
8791 REGB1
= TAG_Bool(0);
8794 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
8798 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
8799 if (UNTAG_Bool(REGB0
)) {
8800 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AAttrPropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8801 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
8802 if (UNTAG_Bool(REGB0
)) {
8803 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1124);
8805 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4]);
8809 stack_frame_head
= fra
.me
.prev
;
8812 static const char LOCATE_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
[] = "mmbuilder::AAttrPropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
8813 void syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
8814 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
8816 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8817 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8819 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
;
8820 fra
.me
.has_broke
= 0;
8821 fra
.me
.REG_size
= 4;
8822 fra
.me
.nitni_local_ref_head
= NULL
;
8823 fra
.me
.REG
[0] = NIT_NULL
;
8824 fra
.me
.REG
[1] = NIT_NULL
;
8825 fra
.me
.REG
[2] = NIT_NULL
;
8826 fra
.me
.REG
[3] = NIT_NULL
;
8829 /* syntax/mmbuilder.nit:1128 */
8830 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8831 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8832 /* syntax/mmbuilder.nit:1130 */
8833 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AAttrPropdef____prop(fra
.me
.REG
[2]);
8834 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
8835 /* syntax/mmbuilder.nit:1131 */
8836 CALL_SUPER_syntax___mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8837 /* syntax/mmbuilder.nit:1132 */
8838 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
8839 stack_frame_head
= fra
.me
.prev
;
8842 static const char LOCATE_syntax___mmbuilder___AMethPropdef___name
[] = "mmbuilder::AMethPropdef::name";
8843 val_t
syntax___mmbuilder___AMethPropdef___name(val_t p0
){
8844 struct {struct stack_frame_t me
;} fra
;
8846 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8847 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8849 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___name
;
8850 fra
.me
.has_broke
= 0;
8851 fra
.me
.REG_size
= 1;
8852 fra
.me
.nitni_local_ref_head
= NULL
;
8853 fra
.me
.REG
[0] = NIT_NULL
;
8855 /* syntax/mmbuilder.nit:1137 */
8856 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethPropdef____name(fra
.me
.REG
[0]);
8857 stack_frame_head
= fra
.me
.prev
;
8858 return fra
.me
.REG
[0];
8860 static const char LOCATE_syntax___mmbuilder___AMethPropdef___method
[] = "mmbuilder::AMethPropdef::(syntax_base::AMethPropdef::method)";
8861 val_t
syntax___mmbuilder___AMethPropdef___method(val_t p0
){
8862 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8865 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8866 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8868 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___method
;
8869 fra
.me
.has_broke
= 0;
8870 fra
.me
.REG_size
= 2;
8871 fra
.me
.nitni_local_ref_head
= NULL
;
8872 fra
.me
.REG
[0] = NIT_NULL
;
8873 fra
.me
.REG
[1] = NIT_NULL
;
8875 /* syntax/mmbuilder.nit:1141 */
8876 fra
.me
.REG
[1] = fra
.me
.REG
[0];
8877 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[1]);
8878 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
8879 if (UNTAG_Bool(REGB0
)) {
8881 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1141);
8885 stack_frame_head
= fra
.me
.prev
;
8886 return fra
.me
.REG
[1];
8888 static const char LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_builder
[] = "mmbuilder::AMethPropdef::(mmbuilder::ANode::accept_property_builder)";
8889 void syntax___mmbuilder___AMethPropdef___accept_property_builder(val_t p0
, val_t p1
){
8890 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
8895 static val_t once_value_1
; /* Once value */
8896 static val_t once_value_2
; /* Once value */
8897 static val_t once_value_3
; /* Once value */
8898 static val_t once_value_4
; /* Once value */
8899 static val_t once_value_5
; /* Once value */
8900 static val_t once_value_6
; /* Once value */
8901 static val_t once_value_7
; /* Once value */
8902 static val_t once_value_8
; /* Once value */
8903 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8904 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
8906 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_builder
;
8907 fra
.me
.has_broke
= 0;
8908 fra
.me
.REG_size
= 5;
8909 fra
.me
.nitni_local_ref_head
= NULL
;
8910 fra
.me
.REG
[0] = NIT_NULL
;
8911 fra
.me
.REG
[1] = NIT_NULL
;
8912 fra
.me
.REG
[2] = NIT_NULL
;
8913 fra
.me
.REG
[3] = NIT_NULL
;
8914 fra
.me
.REG
[4] = NIT_NULL
;
8917 /* syntax/mmbuilder.nit:1143 */
8918 fra
.me
.REG
[2] = fra
.me
.REG
[0];
8919 fra
.me
.REG
[3] = fra
.me
.REG
[1];
8920 /* syntax/mmbuilder.nit:1145 */
8921 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
8922 /* syntax/mmbuilder.nit:1147 */
8923 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8924 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8925 if (UNTAG_Bool(REGB0
)) {
8927 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
8928 if (UNTAG_Bool(REGB1
)) {
8929 REGB1
= TAG_Bool(0);
8932 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
8936 if (UNTAG_Bool(REGB0
)) {
8937 /* syntax/mmbuilder.nit:1148 */
8938 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_parser___parser_nodes___AInitPropdef
, ID_parser___parser_nodes___AInitPropdef
)) /*cast AInitPropdef*/;
8939 if (UNTAG_Bool(REGB0
)) {
8940 /* syntax/mmbuilder.nit:1149 */
8941 if (!once_value_1
) {
8942 if (!once_value_2
) {
8943 fra
.me
.REG
[1] = BOX_NativeString("init");
8945 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
8946 once_value_2
= fra
.me
.REG
[1];
8947 register_static_object(&once_value_2
);
8948 } else fra
.me
.REG
[1] = once_value_2
;
8949 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8950 fra
.me
.REG
[1] = CALL_symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
8951 once_value_1
= fra
.me
.REG
[1];
8952 register_static_object(&once_value_1
);
8953 } else fra
.me
.REG
[1] = once_value_1
;
8954 fra
.me
.REG
[1] = fra
.me
.REG
[1];
8956 /* syntax/mmbuilder.nit:1151 */
8957 if (!once_value_3
) {
8958 if (!once_value_4
) {
8959 fra
.me
.REG
[4] = BOX_NativeString("main");
8961 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
8962 once_value_4
= fra
.me
.REG
[4];
8963 register_static_object(&once_value_4
);
8964 } else fra
.me
.REG
[4] = once_value_4
;
8965 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8966 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8967 once_value_3
= fra
.me
.REG
[4];
8968 register_static_object(&once_value_3
);
8969 } else fra
.me
.REG
[4] = once_value_3
;
8970 fra
.me
.REG
[4] = fra
.me
.REG
[4];
8971 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8974 /* syntax/mmbuilder.nit:1154 */
8975 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8976 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8977 if (UNTAG_Bool(REGB0
)) {
8978 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1154);
8980 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethid___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8981 REGB0
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
8982 if (UNTAG_Bool(REGB0
)) {
8984 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1154);
8986 fra
.me
.REG
[1] = fra
.me
.REG
[4];
8987 /* syntax/mmbuilder.nit:1156 */
8988 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_methid(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
8989 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
8990 if (UNTAG_Bool(REGB0
)) {
8991 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1156);
8993 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethid___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
8994 if (!once_value_5
) {
8995 if (!once_value_6
) {
8996 fra
.me
.REG
[0] = BOX_NativeString("-");
8998 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
8999 once_value_6
= fra
.me
.REG
[0];
9000 register_static_object(&once_value_6
);
9001 } else fra
.me
.REG
[0] = once_value_6
;
9002 fra
.me
.REG
[0] = fra
.me
.REG
[0];
9003 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9004 once_value_5
= fra
.me
.REG
[0];
9005 register_static_object(&once_value_5
);
9006 } else fra
.me
.REG
[0] = once_value_5
;
9007 fra
.me
.REG
[0] = fra
.me
.REG
[0];
9008 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[4]));
9009 if (UNTAG_Bool(REGB0
)) {
9011 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9012 if (UNTAG_Bool(REGB1
)) {
9013 REGB1
= TAG_Bool(0);
9016 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
9020 if (UNTAG_Bool(REGB0
)) {
9021 /* syntax/mmbuilder.nit:1157 */
9022 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9023 /* syntax/mmbuilder.nit:1158 */
9024 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9025 if (UNTAG_Bool(REGB0
)) {
9027 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9028 if (UNTAG_Bool(REGB1
)) {
9029 REGB1
= TAG_Bool(0);
9032 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9036 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9037 if (UNTAG_Bool(REGB0
)) {
9038 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9039 if (UNTAG_Bool(REGB0
)) {
9040 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1158);
9042 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9043 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9045 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
9046 if (UNTAG_Bool(REGB2
)) {
9048 /* ../lib/standard/kernel.nit:237 */
9049 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
9050 /* syntax/mmbuilder.nit:1158 */
9054 REGB1
= TAG_Bool(0);
9057 if (UNTAG_Bool(REGB2
)) {
9058 /* syntax/mmbuilder.nit:1159 */
9059 if (!once_value_7
) {
9060 if (!once_value_8
) {
9061 fra
.me
.REG
[0] = BOX_NativeString("unary -");
9063 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
9064 once_value_8
= fra
.me
.REG
[0];
9065 register_static_object(&once_value_8
);
9066 } else fra
.me
.REG
[0] = once_value_8
;
9067 fra
.me
.REG
[0] = fra
.me
.REG
[0];
9068 fra
.me
.REG
[0] = CALL_symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9069 once_value_7
= fra
.me
.REG
[0];
9070 register_static_object(&once_value_7
);
9071 } else fra
.me
.REG
[0] = once_value_7
;
9072 fra
.me
.REG
[0] = fra
.me
.REG
[0];
9073 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9077 /* syntax/mmbuilder.nit:1163 */
9078 ATTR_syntax___mmbuilder___AMethPropdef____name(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
9079 /* syntax/mmbuilder.nit:1164 */
9080 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9081 fra
.me
.REG
[0] = NEW_MMMethSrcMethod_syntax___syntax_base___MMMethSrcMethod___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
9082 /* syntax/mmbuilder.nit:1165 */
9083 ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
9084 /* syntax/mmbuilder.nit:1166 */
9085 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9086 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
9087 stack_frame_head
= fra
.me
.prev
;
9090 static const char LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_verifier
[] = "mmbuilder::AMethPropdef::(mmbuilder::ANode::accept_property_verifier)";
9091 void syntax___mmbuilder___AMethPropdef___accept_property_verifier(val_t p0
, val_t p1
){
9092 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
9098 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9099 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9101 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_property_verifier
;
9102 fra
.me
.has_broke
= 0;
9103 fra
.me
.REG_size
= 5;
9104 fra
.me
.nitni_local_ref_head
= NULL
;
9105 fra
.me
.REG
[0] = NIT_NULL
;
9106 fra
.me
.REG
[1] = NIT_NULL
;
9107 fra
.me
.REG
[2] = NIT_NULL
;
9108 fra
.me
.REG
[3] = NIT_NULL
;
9109 fra
.me
.REG
[4] = NIT_NULL
;
9112 /* syntax/mmbuilder.nit:1169 */
9113 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9114 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9115 /* syntax/mmbuilder.nit:1171 */
9116 fra
.me
.REG
[4] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
9117 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
9118 /* syntax/mmbuilder.nit:1172 */
9119 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9120 /* syntax/mmbuilder.nit:1174 */
9121 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9122 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9123 if (UNTAG_Bool(REGB0
)) {
9126 /* syntax/mmbuilder.nit:1176 */
9127 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9128 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9129 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9130 if (UNTAG_Bool(REGB0
)) {
9132 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9133 if (UNTAG_Bool(REGB1
)) {
9134 REGB1
= TAG_Bool(0);
9137 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9141 if (UNTAG_Bool(REGB0
)) {
9143 /* syntax/mmbuilder.nit:1179 */
9144 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9145 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9146 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9147 REGB0
= TAG_Bool(fra
.me
.REG
[4]!=NIT_NULL
);
9148 if (UNTAG_Bool(REGB0
)) {
9150 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1179);
9152 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
9154 /* syntax/mmbuilder.nit:1181 */
9156 /* syntax/mmbuilder.nit:1182 */
9157 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9158 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9159 if (UNTAG_Bool(REGB1
)) {
9161 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9162 if (UNTAG_Bool(REGB2
)) {
9163 REGB2
= TAG_Bool(0);
9166 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9170 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9171 if (UNTAG_Bool(REGB1
)) {
9172 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9173 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9174 if (UNTAG_Bool(REGB1
)) {
9175 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1182);
9177 REGB1
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9179 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9180 if (UNTAG_Bool(REGB3
)) {
9182 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9184 /* ../lib/standard/kernel.nit:244 */
9185 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
9187 /* syntax/mmbuilder.nit:1182 */
9188 REGB1
= TAG_Bool(0);
9191 if (UNTAG_Bool(REGB2
)) {
9192 /* syntax/mmbuilder.nit:1183 */
9193 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9194 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9195 if (UNTAG_Bool(REGB2
)) {
9196 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1183);
9198 REGB2
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9201 /* syntax/mmbuilder.nit:1185 */
9202 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9203 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AMethPropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9204 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9205 if (UNTAG_Bool(REGB2
)) {
9207 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9208 if (UNTAG_Bool(REGB1
)) {
9209 REGB1
= TAG_Bool(0);
9212 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9216 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
9217 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB2
, REGB0
);
9218 /* syntax/mmbuilder.nit:1186 */
9219 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9220 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9221 if (UNTAG_Bool(REGB0
)) {
9223 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9224 if (UNTAG_Bool(REGB2
)) {
9225 REGB2
= TAG_Bool(0);
9228 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9232 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9233 if (UNTAG_Bool(REGB0
)) {
9234 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AMethPropdef___n_signature(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9235 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9236 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9237 if (UNTAG_Bool(REGB0
)) {
9238 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1186);
9240 CALL_syntax___mmbuilder___ASignature___check_visibility(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[2]);
9243 stack_frame_head
= fra
.me
.prev
;
9246 static const char LOCATE_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor
[] = "mmbuilder::AMethPropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
9247 void syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
9248 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9250 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9251 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9253 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor
;
9254 fra
.me
.has_broke
= 0;
9255 fra
.me
.REG_size
= 4;
9256 fra
.me
.nitni_local_ref_head
= NULL
;
9257 fra
.me
.REG
[0] = NIT_NULL
;
9258 fra
.me
.REG
[1] = NIT_NULL
;
9259 fra
.me
.REG
[2] = NIT_NULL
;
9260 fra
.me
.REG
[3] = NIT_NULL
;
9263 /* syntax/mmbuilder.nit:1189 */
9264 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9265 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9266 /* syntax/mmbuilder.nit:1191 */
9267 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___AMethPropdef____method(fra
.me
.REG
[2]);
9268 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9269 /* syntax/mmbuilder.nit:1192 */
9270 CALL_SUPER_syntax___mmbuilder___AMethPropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9271 /* syntax/mmbuilder.nit:1193 */
9272 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9273 stack_frame_head
= fra
.me
.prev
;
9276 static const char LOCATE_syntax___mmbuilder___AMainMethPropdef___process_and_check
[] = "mmbuilder::AMainMethPropdef::(mmbuilder::APropdef::process_and_check)";
9277 void syntax___mmbuilder___AMainMethPropdef___process_and_check(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
9278 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
9282 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9283 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9285 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMainMethPropdef___process_and_check
;
9286 fra
.me
.has_broke
= 0;
9287 fra
.me
.REG_size
= 3;
9288 fra
.me
.nitni_local_ref_head
= NULL
;
9289 fra
.me
.REG
[0] = NIT_NULL
;
9290 fra
.me
.REG
[1] = NIT_NULL
;
9291 fra
.me
.REG
[2] = NIT_NULL
;
9297 /* syntax/mmbuilder.nit:1200 */
9298 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9299 CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
9300 /* syntax/mmbuilder.nit:1201 */
9301 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
9302 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9303 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9304 fra
.me
.REG
[1] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[1]);
9305 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
9306 stack_frame_head
= fra
.me
.prev
;
9309 static const char LOCATE_syntax___mmbuilder___AExternPropdef___accept_property_verifier
[] = "mmbuilder::AExternPropdef::(mmbuilder::ANode::accept_property_verifier)";
9310 void syntax___mmbuilder___AExternPropdef___accept_property_verifier(val_t p0
, val_t p1
){
9311 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
9316 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9317 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9319 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExternPropdef___accept_property_verifier
;
9320 fra
.me
.has_broke
= 0;
9321 fra
.me
.REG_size
= 3;
9322 fra
.me
.nitni_local_ref_head
= NULL
;
9323 fra
.me
.REG
[0] = NIT_NULL
;
9324 fra
.me
.REG
[1] = NIT_NULL
;
9325 fra
.me
.REG
[2] = NIT_NULL
;
9328 /* syntax/mmbuilder.nit:1207 */
9329 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9330 /* syntax/mmbuilder.nit:1209 */
9331 CALL_SUPER_syntax___mmbuilder___AExternPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9332 /* syntax/mmbuilder.nit:1211 */
9333 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9334 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9335 if (UNTAG_Bool(REGB0
)) {
9337 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9338 if (UNTAG_Bool(REGB1
)) {
9339 REGB1
= TAG_Bool(0);
9342 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9346 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9347 if (UNTAG_Bool(REGB0
)) {
9348 /* syntax/mmbuilder.nit:1212 */
9349 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9350 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9351 if (UNTAG_Bool(REGB0
)) {
9352 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1212);
9354 fra
.me
.REG
[1] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9355 /* syntax/mmbuilder.nit:1213 */
9357 /* ../lib/standard/collection/array.nit:24 */
9358 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
9359 if (UNTAG_Bool(REGB1
)) {
9361 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9363 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
9364 /* syntax/mmbuilder.nit:1213 */
9366 /* ../lib/standard/kernel.nit:247 */
9367 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
9368 /* syntax/mmbuilder.nit:1213 */
9369 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB2
);
9370 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9372 /* syntax/mmbuilder.nit:1215 */
9373 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9374 fra
.me
.REG
[0] = CALL_primitive_info___MMMethod___default_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9375 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9377 /* syntax/mmbuilder.nit:1217 */
9378 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9379 CALL_syntax___syntax_base___MMMethSrcMethod___extern_name__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
9380 stack_frame_head
= fra
.me
.prev
;
9383 static const char LOCATE_syntax___mmbuilder___ATypePropdef___prop
[] = "mmbuilder::ATypePropdef::(syntax_base::ATypePropdef::prop)";
9384 val_t
syntax___mmbuilder___ATypePropdef___prop(val_t p0
){
9385 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
9388 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9389 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9391 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___prop
;
9392 fra
.me
.has_broke
= 0;
9393 fra
.me
.REG_size
= 2;
9394 fra
.me
.nitni_local_ref_head
= NULL
;
9395 fra
.me
.REG
[0] = NIT_NULL
;
9396 fra
.me
.REG
[1] = NIT_NULL
;
9398 /* syntax/mmbuilder.nit:1222 */
9399 fra
.me
.REG
[1] = fra
.me
.REG
[0];
9400 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[1]);
9401 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
9402 if (UNTAG_Bool(REGB0
)) {
9404 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1222);
9408 stack_frame_head
= fra
.me
.prev
;
9409 return fra
.me
.REG
[1];
9411 static const char LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_builder
[] = "mmbuilder::ATypePropdef::(mmbuilder::ANode::accept_property_builder)";
9412 void syntax___mmbuilder___ATypePropdef___accept_property_builder(val_t p0
, val_t p1
){
9413 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9415 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9416 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9418 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_builder
;
9419 fra
.me
.has_broke
= 0;
9420 fra
.me
.REG_size
= 4;
9421 fra
.me
.nitni_local_ref_head
= NULL
;
9422 fra
.me
.REG
[0] = NIT_NULL
;
9423 fra
.me
.REG
[1] = NIT_NULL
;
9424 fra
.me
.REG
[2] = NIT_NULL
;
9425 fra
.me
.REG
[3] = NIT_NULL
;
9428 /* syntax/mmbuilder.nit:1225 */
9429 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9430 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9431 /* syntax/mmbuilder.nit:1227 */
9432 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9433 /* syntax/mmbuilder.nit:1228 */
9434 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ATypePropdef___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9435 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9436 /* syntax/mmbuilder.nit:1229 */
9437 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9438 fra
.me
.REG
[0] = NEW_MMSrcTypeProperty_syntax___syntax_base___MMSrcTypeProperty___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
9439 /* syntax/mmbuilder.nit:1230 */
9440 ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
9441 /* syntax/mmbuilder.nit:1231 */
9442 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9443 CALL_syntax___mmbuilder___MMSrcLocalClass___add_src_local_property(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[0]);
9444 stack_frame_head
= fra
.me
.prev
;
9447 static const char LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_verifier
[] = "mmbuilder::ATypePropdef::(mmbuilder::ANode::accept_property_verifier)";
9448 void syntax___mmbuilder___ATypePropdef___accept_property_verifier(val_t p0
, val_t p1
){
9449 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
9454 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9455 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9457 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_property_verifier
;
9458 fra
.me
.has_broke
= 0;
9459 fra
.me
.REG_size
= 5;
9460 fra
.me
.nitni_local_ref_head
= NULL
;
9461 fra
.me
.REG
[0] = NIT_NULL
;
9462 fra
.me
.REG
[1] = NIT_NULL
;
9463 fra
.me
.REG
[2] = NIT_NULL
;
9464 fra
.me
.REG
[3] = NIT_NULL
;
9465 fra
.me
.REG
[4] = NIT_NULL
;
9468 /* syntax/mmbuilder.nit:1234 */
9469 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9470 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9471 /* syntax/mmbuilder.nit:1236 */
9472 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9473 /* syntax/mmbuilder.nit:1237 */
9474 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
9475 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ATypePropdef___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9476 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
9477 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9478 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9479 fra
.me
.REG
[4] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
9480 /* syntax/mmbuilder.nit:1238 */
9481 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9482 CALL_metamodel___static_type___MMLocalProperty___signature__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
9483 /* syntax/mmbuilder.nit:1239 */
9484 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ATypePropdef___n_visibility(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9485 REGB0
= CALL_syntax___mmbuilder___AVisibility___level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9486 /* syntax/mmbuilder.nit:1240 */
9487 fra
.me
.REG
[4] = CALL_syntax___syntax_base___ATypePropdef___prop(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9488 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ATypePropdef___n_kwredef(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9489 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9490 if (UNTAG_Bool(REGB1
)) {
9492 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9493 if (UNTAG_Bool(REGB2
)) {
9494 REGB2
= TAG_Bool(0);
9497 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9501 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9502 CALL_syntax___mmbuilder___APropdef___process_and_check(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3], fra
.me
.REG
[4], REGB1
, REGB0
);
9503 stack_frame_head
= fra
.me
.prev
;
9506 static const char LOCATE_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor
[] = "mmbuilder::ATypePropdef::(syntax_base::ANode::accept_abs_syntax_visitor)";
9507 void syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t p0
, val_t p1
){
9508 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9510 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9511 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9513 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor
;
9514 fra
.me
.has_broke
= 0;
9515 fra
.me
.REG_size
= 4;
9516 fra
.me
.nitni_local_ref_head
= NULL
;
9517 fra
.me
.REG
[0] = NIT_NULL
;
9518 fra
.me
.REG
[1] = NIT_NULL
;
9519 fra
.me
.REG
[2] = NIT_NULL
;
9520 fra
.me
.REG
[3] = NIT_NULL
;
9523 /* syntax/mmbuilder.nit:1243 */
9524 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9525 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9526 /* syntax/mmbuilder.nit:1245 */
9527 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___ATypePropdef____prop(fra
.me
.REG
[2]);
9528 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9529 /* syntax/mmbuilder.nit:1246 */
9530 CALL_SUPER_syntax___mmbuilder___ATypePropdef___accept_abs_syntax_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9531 /* syntax/mmbuilder.nit:1247 */
9532 CALL_syntax___syntax_base___AbsSyntaxVisitor___local_property__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
9533 stack_frame_head
= fra
.me
.prev
;
9536 static const char LOCATE_syntax___mmbuilder___MethidAccumulator___name
[] = "mmbuilder::MethidAccumulator::name";
9537 val_t
syntax___mmbuilder___MethidAccumulator___name(val_t p0
){
9538 struct {struct stack_frame_t me
;} fra
;
9541 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9542 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9544 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MethidAccumulator___name
;
9545 fra
.me
.has_broke
= 0;
9546 fra
.me
.REG_size
= 1;
9547 fra
.me
.nitni_local_ref_head
= NULL
;
9548 fra
.me
.REG
[0] = NIT_NULL
;
9550 /* syntax/mmbuilder.nit:1254 */
9551 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
9552 if (UNTAG_Bool(REGB0
)) {
9554 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder
, 1254);
9556 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
9557 stack_frame_head
= fra
.me
.prev
;
9558 return fra
.me
.REG
[0];
9560 static const char LOCATE_syntax___mmbuilder___MethidAccumulator___visit
[] = "mmbuilder::MethidAccumulator::(parser_nodes::Visitor::visit)";
9561 void syntax___mmbuilder___MethidAccumulator___visit(val_t p0
, val_t p1
){
9562 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9565 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9566 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9568 fra
.me
.meth
= LOCATE_syntax___mmbuilder___MethidAccumulator___visit
;
9569 fra
.me
.has_broke
= 0;
9570 fra
.me
.REG_size
= 4;
9571 fra
.me
.nitni_local_ref_head
= NULL
;
9572 fra
.me
.REG
[0] = NIT_NULL
;
9573 fra
.me
.REG
[1] = NIT_NULL
;
9574 fra
.me
.REG
[2] = NIT_NULL
;
9575 fra
.me
.REG
[3] = NIT_NULL
;
9578 /* syntax/mmbuilder.nit:1257 */
9579 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_parser___parser_nodes___Token
, ID_parser___parser_nodes___Token
)) /*cast Token*/;
9580 if (UNTAG_Bool(REGB0
)) {
9581 /* syntax/mmbuilder.nit:1258 */
9582 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0])!=NIT_NULL
);
9583 if (UNTAG_Bool(REGB0
)) {
9585 nit_abort("Uninitialized attribute %s", "_name", LOCATE_syntax___mmbuilder
, 1258);
9587 fra
.me
.REG
[2] = ATTR_syntax___mmbuilder___MethidAccumulator____name(fra
.me
.REG
[0]);
9588 fra
.me
.REG
[3] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9589 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9591 /* syntax/mmbuilder.nit:1260 */
9592 CALL_parser___parser_nodes___ANode___visit_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
9594 stack_frame_head
= fra
.me
.prev
;
9597 static const char LOCATE_syntax___mmbuilder___AMethid___name
[] = "mmbuilder::AMethid::(syntax_base::AMethid::name)";
9598 val_t
syntax___mmbuilder___AMethid___name(val_t p0
){
9599 struct {struct stack_frame_t me
;} fra
;
9601 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9602 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9604 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethid___name
;
9605 fra
.me
.has_broke
= 0;
9606 fra
.me
.REG_size
= 1;
9607 fra
.me
.nitni_local_ref_head
= NULL
;
9608 fra
.me
.REG
[0] = NIT_NULL
;
9610 /* syntax/mmbuilder.nit:1266 */
9611 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AMethid____name(fra
.me
.REG
[0]);
9612 stack_frame_head
= fra
.me
.prev
;
9613 return fra
.me
.REG
[0];
9615 static const char LOCATE_syntax___mmbuilder___AMethid___accept_property_builder
[] = "mmbuilder::AMethid::(mmbuilder::ANode::accept_property_builder)";
9616 void syntax___mmbuilder___AMethid___accept_property_builder(val_t p0
, val_t p1
){
9617 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9619 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9620 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9622 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AMethid___accept_property_builder
;
9623 fra
.me
.has_broke
= 0;
9624 fra
.me
.REG_size
= 4;
9625 fra
.me
.nitni_local_ref_head
= NULL
;
9626 fra
.me
.REG
[0] = NIT_NULL
;
9627 fra
.me
.REG
[1] = NIT_NULL
;
9628 fra
.me
.REG
[2] = NIT_NULL
;
9629 fra
.me
.REG
[3] = NIT_NULL
;
9632 /* syntax/mmbuilder.nit:1268 */
9633 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9634 /* syntax/mmbuilder.nit:1270 */
9635 fra
.me
.REG
[3] = NEW_MethidAccumulator_parser___parser_nodes___Visitor___init();
9636 /* syntax/mmbuilder.nit:1271 */
9637 CALL_parser___parser_nodes___Visitor___enter_visit(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
9638 /* syntax/mmbuilder.nit:1272 */
9639 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___MethidAccumulator___name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9640 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9641 fra
.me
.REG
[3] = CALL_symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9642 ATTR_syntax___mmbuilder___AMethid____name(fra
.me
.REG
[2]) = fra
.me
.REG
[3];
9643 /* syntax/mmbuilder.nit:1273 */
9644 CALL_SUPER_syntax___mmbuilder___AMethid___accept_property_builder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9645 stack_frame_head
= fra
.me
.prev
;
9648 static const char LOCATE_syntax___mmbuilder___ASignature___accept_property_verifier
[] = "mmbuilder::ASignature::(mmbuilder::ANode::accept_property_verifier)";
9649 void syntax___mmbuilder___ASignature___accept_property_verifier(val_t p0
, val_t p1
){
9650 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
9655 static val_t once_value_2
; /* Once value */
9656 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9657 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9659 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___accept_property_verifier
;
9660 fra
.me
.has_broke
= 0;
9661 fra
.me
.REG_size
= 8;
9662 fra
.me
.nitni_local_ref_head
= NULL
;
9663 fra
.me
.REG
[0] = NIT_NULL
;
9664 fra
.me
.REG
[1] = NIT_NULL
;
9665 fra
.me
.REG
[2] = NIT_NULL
;
9666 fra
.me
.REG
[3] = NIT_NULL
;
9667 fra
.me
.REG
[4] = NIT_NULL
;
9668 fra
.me
.REG
[5] = NIT_NULL
;
9669 fra
.me
.REG
[6] = NIT_NULL
;
9670 fra
.me
.REG
[7] = NIT_NULL
;
9673 /* syntax/mmbuilder.nit:1278 */
9674 fra
.me
.REG
[2] = fra
.me
.REG
[0];
9675 fra
.me
.REG
[3] = fra
.me
.REG
[1];
9676 /* syntax/mmbuilder.nit:1280 */
9677 CALL_SUPER_syntax___mmbuilder___ASignature___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
9678 /* syntax/mmbuilder.nit:1281 */
9679 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9680 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9681 if (UNTAG_Bool(REGB0
)) {
9682 /* syntax/mmbuilder.nit:1282 */
9685 /* syntax/mmbuilder.nit:1283 */
9686 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9687 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9688 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9689 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9690 if (UNTAG_Bool(REGB0
)) {
9691 /* syntax/mmbuilder.nit:1284 */
9692 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9693 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9694 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9695 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9696 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9697 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9698 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[1],fra
.me
.REG
[4]));
9699 if (UNTAG_Bool(REGB0
)) {
9701 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9702 if (UNTAG_Bool(REGB1
)) {
9703 REGB1
= TAG_Bool(0);
9706 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
9710 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9711 if (UNTAG_Bool(REGB0
)) {
9712 REGB0
= TAG_Bool(1);
9714 fra
.me
.REG
[4] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9715 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9716 if (UNTAG_Bool(REGB1
)) {
9718 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
9719 if (UNTAG_Bool(REGB2
)) {
9720 REGB2
= TAG_Bool(0);
9723 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
9727 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9730 if (UNTAG_Bool(REGB0
)) {
9731 /* syntax/mmbuilder.nit:1285 */
9732 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9733 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9734 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9735 if (!once_value_2
) {
9736 fra
.me
.REG
[1] = BOX_NativeString("Syntax error: untyped parameter.");
9737 REGB0
= TAG_Int(32);
9738 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
9739 once_value_2
= fra
.me
.REG
[1];
9740 register_static_object(&once_value_2
);
9741 } else fra
.me
.REG
[1] = once_value_2
;
9742 fra
.me
.REG
[1] = fra
.me
.REG
[1];
9743 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[1]);
9744 /* syntax/mmbuilder.nit:1286 */
9748 /* syntax/mmbuilder.nit:1288 */
9749 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9750 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9751 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9752 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9753 if (UNTAG_Bool(REGB0
)) {
9754 REGB0
= TAG_Bool(1);
9756 fra
.me
.REG
[1] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9757 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9758 if (UNTAG_Bool(REGB1
)) {
9760 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9761 if (UNTAG_Bool(REGB2
)) {
9762 REGB2
= TAG_Bool(0);
9765 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
9769 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
9772 if (UNTAG_Bool(REGB0
)) {
9773 /* syntax/mmbuilder.nit:1289 */
9774 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
9775 /* syntax/mmbuilder.nit:1290 */
9776 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9777 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
9778 /* ../lib/standard/collection/array.nit:270 */
9780 /* ../lib/standard/collection/array.nit:271 */
9781 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
9782 if (UNTAG_Bool(REGB1
)) {
9784 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
9786 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
9787 /* ../lib/standard/collection/array.nit:272 */
9788 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
9789 /* ../lib/standard/collection/array.nit:273 */
9791 /* ../lib/standard/collection/array.nit:24 */
9792 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
9793 if (UNTAG_Bool(REGB1
)) {
9795 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9797 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
9798 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9799 if (UNTAG_Bool(REGB2
)) {
9801 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9803 /* ../lib/standard/kernel.nit:242 */
9804 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
9805 /* ../lib/standard/collection/array.nit:273 */
9806 if (UNTAG_Bool(REGB1
)) {
9807 /* ../lib/standard/collection/array.nit:274 */
9808 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9809 if (UNTAG_Bool(REGB1
)) {
9810 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
9812 /* ../lib/standard/collection/array.nit:725 */
9813 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
9814 /* syntax/mmbuilder.nit:1291 */
9815 fra
.me
.REG
[7] = CALL_syntax___mmbuilder___AParam___stype(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9816 REGB1
= TAG_Bool(fra
.me
.REG
[7]!=NIT_NULL
);
9817 if (UNTAG_Bool(REGB1
)) {
9819 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1291);
9821 fra
.me
.REG
[6] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9822 fra
.me
.REG
[6] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
9823 fra
.me
.REG
[6] = NEW_MMParam_metamodel___static_type___MMParam___init(fra
.me
.REG
[7], fra
.me
.REG
[6]);
9824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
9825 /* ../lib/standard/collection/array.nit:275 */
9827 /* ../lib/standard/kernel.nit:245 */
9828 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
9829 /* ../lib/standard/collection/array.nit:275 */
9832 /* ../lib/standard/collection/array.nit:273 */
9837 /* syntax/mmbuilder.nit:1293 */
9838 fra
.me
.REG
[0] = NIT_NULL
;
9839 /* syntax/mmbuilder.nit:1294 */
9840 fra
.me
.REG
[5] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9841 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9842 if (UNTAG_Bool(REGB0
)) {
9844 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9845 if (UNTAG_Bool(REGB1
)) {
9846 REGB1
= TAG_Bool(0);
9849 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
9853 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
9854 if (UNTAG_Bool(REGB0
)) {
9855 /* syntax/mmbuilder.nit:1295 */
9856 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9857 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
9858 if (UNTAG_Bool(REGB0
)) {
9859 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1295);
9861 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
9862 fra
.me
.REG
[0] = fra
.me
.REG
[2];
9863 /* syntax/mmbuilder.nit:1296 */
9864 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9865 if (UNTAG_Bool(REGB0
)) {
9867 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
9868 if (UNTAG_Bool(REGB1
)) {
9869 REGB1
= TAG_Bool(0);
9872 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
9876 if (UNTAG_Bool(REGB0
)) {
9877 /* syntax/mmbuilder.nit:1297 */
9878 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9879 REGB0
= TAG_Bool(1);
9880 CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
9881 /* syntax/mmbuilder.nit:1298 */
9885 /* syntax/mmbuilder.nit:1301 */
9886 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9887 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9888 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9889 fra
.me
.REG
[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[5]);
9890 CALL_syntax___mmbuilder___SignatureBuilder___signature__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
9891 /* syntax/mmbuilder.nit:1302 */
9892 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9893 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9895 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
9896 if (UNTAG_Bool(REGB2
)) {
9898 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9900 /* ../lib/standard/kernel.nit:243 */
9901 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
9902 /* syntax/mmbuilder.nit:1302 */
9903 if (UNTAG_Bool(REGB1
)) {
9904 /* syntax/mmbuilder.nit:1303 */
9905 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9906 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9907 fra
.me
.REG
[2] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9908 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
9909 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
9910 if (UNTAG_Bool(REGB0
)) {
9911 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1303);
9913 CALL_metamodel___vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
9915 /* syntax/mmbuilder.nit:1305 */
9916 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9917 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
9918 /* ../lib/standard/collection/array.nit:270 */
9920 /* ../lib/standard/collection/array.nit:271 */
9921 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9922 if (UNTAG_Bool(REGB0
)) {
9924 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
9926 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9927 /* ../lib/standard/collection/array.nit:272 */
9928 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
9929 /* ../lib/standard/collection/array.nit:273 */
9931 /* ../lib/standard/collection/array.nit:24 */
9932 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
9933 if (UNTAG_Bool(REGB0
)) {
9935 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
9937 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
9938 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
9939 if (UNTAG_Bool(REGB2
)) {
9941 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
9943 /* ../lib/standard/kernel.nit:242 */
9944 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
9945 /* ../lib/standard/collection/array.nit:273 */
9946 if (UNTAG_Bool(REGB0
)) {
9947 /* ../lib/standard/collection/array.nit:274 */
9948 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
9949 if (UNTAG_Bool(REGB0
)) {
9950 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
9952 /* ../lib/standard/collection/array.nit:725 */
9953 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
9954 /* syntax/mmbuilder.nit:1306 */
9955 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
9956 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9957 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
9958 if (UNTAG_Bool(REGB0
)) {
9959 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1306);
9961 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
9962 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClosureDecl___variable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9963 fra
.me
.REG
[0] = CALL_syntax___syntax_base___ClosureVariable___closure(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
9964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
9965 /* ../lib/standard/collection/array.nit:275 */
9967 /* ../lib/standard/kernel.nit:245 */
9968 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
9969 /* ../lib/standard/collection/array.nit:275 */
9972 /* ../lib/standard/collection/array.nit:273 */
9981 stack_frame_head
= fra
.me
.prev
;
9984 static const char LOCATE_syntax___mmbuilder___ASignature___check_visibility
[] = "mmbuilder::ASignature::check_visibility";
9985 void syntax___mmbuilder___ASignature___check_visibility(val_t p0
, val_t p1
, val_t p2
){
9986 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
9991 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9992 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
9994 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___check_visibility
;
9995 fra
.me
.has_broke
= 0;
9996 fra
.me
.REG_size
= 4;
9997 fra
.me
.nitni_local_ref_head
= NULL
;
9998 fra
.me
.REG
[0] = NIT_NULL
;
9999 fra
.me
.REG
[1] = NIT_NULL
;
10000 fra
.me
.REG
[2] = NIT_NULL
;
10001 fra
.me
.REG
[3] = NIT_NULL
;
10002 fra
.me
.REG
[0] = p0
;
10003 fra
.me
.REG
[1] = p1
;
10004 fra
.me
.REG
[2] = p2
;
10005 /* syntax/mmbuilder.nit:1314 */
10006 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10007 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10008 REGB1
= TAG_Int(3);
10009 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10010 if (UNTAG_Bool(REGB2
)) {
10012 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10014 /* ../lib/standard/kernel.nit:243 */
10015 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
10016 /* syntax/mmbuilder.nit:1314 */
10017 if (UNTAG_Bool(REGB1
)) {
10020 /* syntax/mmbuilder.nit:1315 */
10021 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ASignature___n_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10022 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___ASignature___check_visibility_2
));
10023 /* syntax/mmbuilder.nit:1318 */
10024 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10025 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10026 if (UNTAG_Bool(REGB1
)) {
10028 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10029 if (UNTAG_Bool(REGB0
)) {
10030 REGB0
= TAG_Bool(0);
10033 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
10037 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
10038 if (UNTAG_Bool(REGB1
)) {
10039 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ASignature___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10040 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10041 if (UNTAG_Bool(REGB1
)) {
10042 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1318);
10044 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
10047 stack_frame_head
= fra
.me
.prev
;
10050 void OC_syntax___mmbuilder___ASignature___check_visibility_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
10051 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10056 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10057 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10059 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ASignature___check_visibility
;
10060 fra
.me
.has_broke
= 0;
10061 fra
.me
.REG_size
= 2;
10062 fra
.me
.nitni_local_ref_head
= NULL
;
10063 fra
.me
.REG
[0] = NIT_NULL
;
10064 fra
.me
.REG
[1] = NIT_NULL
;
10065 fra
.me
.closure_ctx
= closctx_param
;
10066 fra
.me
.closure_funs
= CREG
;
10067 fra
.me
.REG
[0] = p0
;
10068 CREG
[0] = clos_fun0
;
10069 /* syntax/mmbuilder.nit:1316 */
10070 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10071 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10072 if (UNTAG_Bool(REGB0
)) {
10074 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10075 if (UNTAG_Bool(REGB1
)) {
10076 REGB1
= TAG_Bool(0);
10079 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
10083 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10084 if (UNTAG_Bool(REGB0
)) {
10085 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10086 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10087 if (UNTAG_Bool(REGB0
)) {
10088 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1316);
10090 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
10092 stack_frame_head
= fra
.me
.prev
;
10095 static const char LOCATE_syntax___mmbuilder___AParam___position
[] = "mmbuilder::AParam::(syntax_base::AParam::position)";
10096 val_t
syntax___mmbuilder___AParam___position(val_t p0
){
10097 struct {struct stack_frame_t me
;} fra
;
10100 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10101 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10102 fra
.me
.line
= 1323;
10103 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___position
;
10104 fra
.me
.has_broke
= 0;
10105 fra
.me
.REG_size
= 1;
10106 fra
.me
.nitni_local_ref_head
= NULL
;
10107 fra
.me
.REG
[0] = NIT_NULL
;
10108 fra
.me
.REG
[0] = p0
;
10109 /* syntax/mmbuilder.nit:1323 */
10110 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[0])!=NIT_NULL
);
10111 if (UNTAG_Bool(REGB0
)) {
10113 nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder
, 1323);
10115 REGB0
= ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[0]);
10116 stack_frame_head
= fra
.me
.prev
;
10119 static const char LOCATE_syntax___mmbuilder___AParam___variable
[] = "mmbuilder::AParam::(syntax_base::AParam::variable)";
10120 val_t
syntax___mmbuilder___AParam___variable(val_t p0
){
10121 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10124 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10125 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10126 fra
.me
.line
= 1325;
10127 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___variable
;
10128 fra
.me
.has_broke
= 0;
10129 fra
.me
.REG_size
= 2;
10130 fra
.me
.nitni_local_ref_head
= NULL
;
10131 fra
.me
.REG
[0] = NIT_NULL
;
10132 fra
.me
.REG
[1] = NIT_NULL
;
10133 fra
.me
.REG
[0] = p0
;
10134 /* syntax/mmbuilder.nit:1325 */
10135 fra
.me
.REG
[1] = fra
.me
.REG
[0];
10136 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AParam____variable(fra
.me
.REG
[1]);
10137 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
10138 if (UNTAG_Bool(REGB0
)) {
10140 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1325);
10144 stack_frame_head
= fra
.me
.prev
;
10145 return fra
.me
.REG
[1];
10147 static const char LOCATE_syntax___mmbuilder___AParam___stype
[] = "mmbuilder::AParam::stype";
10148 val_t
syntax___mmbuilder___AParam___stype(val_t p0
){
10149 struct {struct stack_frame_t me
;} fra
;
10151 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10152 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10153 fra
.me
.line
= 1328;
10154 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___stype
;
10155 fra
.me
.has_broke
= 0;
10156 fra
.me
.REG_size
= 1;
10157 fra
.me
.nitni_local_ref_head
= NULL
;
10158 fra
.me
.REG
[0] = NIT_NULL
;
10159 fra
.me
.REG
[0] = p0
;
10160 /* syntax/mmbuilder.nit:1328 */
10161 fra
.me
.REG
[0] = ATTR_syntax___mmbuilder___AParam____stype(fra
.me
.REG
[0]);
10162 stack_frame_head
= fra
.me
.prev
;
10163 return fra
.me
.REG
[0];
10165 static const char LOCATE_syntax___mmbuilder___AParam___stype__eq
[] = "mmbuilder::AParam::stype=";
10166 void syntax___mmbuilder___AParam___stype__eq(val_t p0
, val_t p1
){
10167 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10169 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10170 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10171 fra
.me
.line
= 1328;
10172 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___stype__eq
;
10173 fra
.me
.has_broke
= 0;
10174 fra
.me
.REG_size
= 2;
10175 fra
.me
.nitni_local_ref_head
= NULL
;
10176 fra
.me
.REG
[0] = NIT_NULL
;
10177 fra
.me
.REG
[1] = NIT_NULL
;
10178 fra
.me
.REG
[0] = p0
;
10179 fra
.me
.REG
[1] = p1
;
10180 /* syntax/mmbuilder.nit:1328 */
10181 ATTR_syntax___mmbuilder___AParam____stype(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
10182 stack_frame_head
= fra
.me
.prev
;
10185 static const char LOCATE_syntax___mmbuilder___AParam___accept_property_verifier
[] = "mmbuilder::AParam::(mmbuilder::ANode::accept_property_verifier)";
10186 void syntax___mmbuilder___AParam___accept_property_verifier(val_t p0
, val_t p1
){
10187 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
10193 static val_t once_value_2
; /* Once value */
10194 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10195 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10196 fra
.me
.line
= 1331;
10197 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___accept_property_verifier
;
10198 fra
.me
.has_broke
= 0;
10199 fra
.me
.REG_size
= 7;
10200 fra
.me
.nitni_local_ref_head
= NULL
;
10201 fra
.me
.REG
[0] = NIT_NULL
;
10202 fra
.me
.REG
[1] = NIT_NULL
;
10203 fra
.me
.REG
[2] = NIT_NULL
;
10204 fra
.me
.REG
[3] = NIT_NULL
;
10205 fra
.me
.REG
[4] = NIT_NULL
;
10206 fra
.me
.REG
[5] = NIT_NULL
;
10207 fra
.me
.REG
[6] = NIT_NULL
;
10208 fra
.me
.REG
[0] = p0
;
10209 fra
.me
.REG
[1] = p1
;
10210 /* syntax/mmbuilder.nit:1331 */
10211 fra
.me
.REG
[2] = fra
.me
.REG
[0];
10212 fra
.me
.REG
[3] = fra
.me
.REG
[1];
10213 /* syntax/mmbuilder.nit:1333 */
10214 CALL_SUPER_syntax___mmbuilder___AParam___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10215 /* syntax/mmbuilder.nit:1334 */
10216 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10217 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10218 /* ../lib/standard/collection/array.nit:24 */
10219 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10220 if (UNTAG_Bool(REGB0
)) {
10222 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10224 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10225 /* syntax/mmbuilder.nit:1334 */
10226 ATTR_syntax___mmbuilder___AParam____position(fra
.me
.REG
[2]) = REGB0
;
10227 /* syntax/mmbuilder.nit:1335 */
10228 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10229 fra
.me
.REG
[1] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10230 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10231 fra
.me
.REG
[0] = NEW_ParamVariable_syntax___syntax_base___ParamVariable___init(fra
.me
.REG
[1], fra
.me
.REG
[0]);
10232 ATTR_syntax___mmbuilder___AParam____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
10233 /* syntax/mmbuilder.nit:1336 */
10234 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10235 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
10237 /* syntax/mmbuilder.nit:1337 */
10238 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10239 fra
.me
.REG
[0] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10240 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
10241 /* syntax/mmbuilder.nit:1338 */
10242 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10243 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10244 if (UNTAG_Bool(REGB0
)) {
10246 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10247 if (UNTAG_Bool(REGB1
)) {
10248 REGB1
= TAG_Bool(0);
10251 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10255 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10256 if (UNTAG_Bool(REGB0
)) {
10257 /* syntax/mmbuilder.nit:1339 */
10258 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_type(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10259 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10260 if (UNTAG_Bool(REGB0
)) {
10261 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1339);
10263 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
10264 /* syntax/mmbuilder.nit:1340 */
10265 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10266 if (UNTAG_Bool(REGB0
)) {
10268 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10269 if (UNTAG_Bool(REGB1
)) {
10270 REGB1
= TAG_Bool(0);
10273 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10277 if (UNTAG_Bool(REGB0
)) {
10278 /* syntax/mmbuilder.nit:1341 */
10279 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10280 REGB0
= TAG_Bool(1);
10281 CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
10282 /* syntax/mmbuilder.nit:1342 */
10285 /* syntax/mmbuilder.nit:1344 */
10286 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10287 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10288 /* ../lib/standard/collection/array.nit:270 */
10289 REGB0
= TAG_Int(0);
10290 /* ../lib/standard/collection/array.nit:271 */
10291 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10292 if (UNTAG_Bool(REGB1
)) {
10294 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
10296 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10297 /* ../lib/standard/collection/array.nit:272 */
10298 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
10299 /* ../lib/standard/collection/array.nit:273 */
10301 /* ../lib/standard/collection/array.nit:24 */
10302 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
10303 if (UNTAG_Bool(REGB1
)) {
10305 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10307 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
10308 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10309 if (UNTAG_Bool(REGB2
)) {
10311 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10313 /* ../lib/standard/kernel.nit:242 */
10314 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
10315 /* ../lib/standard/collection/array.nit:273 */
10316 if (UNTAG_Bool(REGB1
)) {
10317 /* ../lib/standard/collection/array.nit:274 */
10318 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
10319 if (UNTAG_Bool(REGB1
)) {
10320 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
10322 /* ../lib/standard/collection/array.nit:725 */
10323 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
10324 /* syntax/mmbuilder.nit:1345 */
10325 CALL_syntax___mmbuilder___AParam___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10326 /* syntax/mmbuilder.nit:1346 */
10327 REGB1
= CALL_syntax___mmbuilder___AParam___is_vararg(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10328 if (UNTAG_Bool(REGB1
)) {
10329 /* syntax/mmbuilder.nit:1347 */
10330 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10331 REGB1
= CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
10332 REGB2
= TAG_Int(1);
10333 /* ../lib/standard/kernel.nit:246 */
10334 REGB2
= TAG_Int(-UNTAG_Int(REGB2
));
10335 /* syntax/mmbuilder.nit:1347 */
10336 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
10337 if (UNTAG_Bool(REGB3
)) {
10339 /* ../lib/standard/kernel.nit:237 */
10340 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
10341 /* syntax/mmbuilder.nit:1347 */
10344 if (UNTAG_Bool(REGB3
)) {
10345 /* syntax/mmbuilder.nit:1348 */
10346 fra
.me
.REG
[6] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10347 REGB3
= CALL_syntax___syntax_base___AParam___position(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10348 CALL_syntax___mmbuilder___SignatureBuilder___vararg_rank__eq(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
10350 /* syntax/mmbuilder.nit:1350 */
10351 if (!once_value_2
) {
10352 fra
.me
.REG
[6] = BOX_NativeString("Error: A vararg parameter is already defined.");
10353 REGB3
= TAG_Int(45);
10354 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB3
);
10355 once_value_2
= fra
.me
.REG
[6];
10356 register_static_object(&once_value_2
);
10357 } else fra
.me
.REG
[6] = once_value_2
;
10358 fra
.me
.REG
[6] = fra
.me
.REG
[6];
10359 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[6]);
10361 /* syntax/mmbuilder.nit:1352 */
10362 fra
.me
.REG
[6] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_array(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
10363 fra
.me
.REG
[0] = fra
.me
.REG
[6];
10365 /* syntax/mmbuilder.nit:1354 */
10366 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AParam___variable(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10367 CALL_syntax___syntax_base___Variable___stype__eq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10368 /* ../lib/standard/collection/array.nit:275 */
10369 REGB3
= TAG_Int(1);
10370 /* ../lib/standard/kernel.nit:245 */
10371 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
10372 /* ../lib/standard/collection/array.nit:275 */
10375 /* ../lib/standard/collection/array.nit:273 */
10380 /* syntax/mmbuilder.nit:1356 */
10381 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10382 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___SignatureBuilder___untyped_params(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10383 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10386 stack_frame_head
= fra
.me
.prev
;
10389 static const char LOCATE_syntax___mmbuilder___AParam___is_vararg
[] = "mmbuilder::AParam::is_vararg";
10390 val_t
syntax___mmbuilder___AParam___is_vararg(val_t p0
){
10391 struct {struct stack_frame_t me
;} fra
;
10395 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10396 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10397 fra
.me
.line
= 1360;
10398 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AParam___is_vararg
;
10399 fra
.me
.has_broke
= 0;
10400 fra
.me
.REG_size
= 1;
10401 fra
.me
.nitni_local_ref_head
= NULL
;
10402 fra
.me
.REG
[0] = NIT_NULL
;
10403 fra
.me
.REG
[0] = p0
;
10404 /* syntax/mmbuilder.nit:1360 */
10405 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AParam___n_dotdotdot(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10406 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10407 if (UNTAG_Bool(REGB0
)) {
10409 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
10410 if (UNTAG_Bool(REGB1
)) {
10411 REGB1
= TAG_Bool(0);
10414 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
10418 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10421 stack_frame_head
= fra
.me
.prev
;
10424 static const char LOCATE_syntax___mmbuilder___AClosureDecl___position
[] = "mmbuilder::AClosureDecl::(syntax_base::AClosureDecl::position)";
10425 val_t
syntax___mmbuilder___AClosureDecl___position(val_t p0
){
10426 struct {struct stack_frame_t me
;} fra
;
10429 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10430 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10431 fra
.me
.line
= 1364;
10432 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___position
;
10433 fra
.me
.has_broke
= 0;
10434 fra
.me
.REG_size
= 1;
10435 fra
.me
.nitni_local_ref_head
= NULL
;
10436 fra
.me
.REG
[0] = NIT_NULL
;
10437 fra
.me
.REG
[0] = p0
;
10438 /* syntax/mmbuilder.nit:1364 */
10439 REGB0
= TAG_Bool(ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[0])!=NIT_NULL
);
10440 if (UNTAG_Bool(REGB0
)) {
10442 nit_abort("Uninitialized attribute %s", "_position", LOCATE_syntax___mmbuilder
, 1364);
10444 REGB0
= ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[0]);
10445 stack_frame_head
= fra
.me
.prev
;
10448 static const char LOCATE_syntax___mmbuilder___AClosureDecl___variable
[] = "mmbuilder::AClosureDecl::(syntax_base::AClosureDecl::variable)";
10449 val_t
syntax___mmbuilder___AClosureDecl___variable(val_t p0
){
10450 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10453 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10454 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10455 fra
.me
.line
= 1366;
10456 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___variable
;
10457 fra
.me
.has_broke
= 0;
10458 fra
.me
.REG_size
= 2;
10459 fra
.me
.nitni_local_ref_head
= NULL
;
10460 fra
.me
.REG
[0] = NIT_NULL
;
10461 fra
.me
.REG
[1] = NIT_NULL
;
10462 fra
.me
.REG
[0] = p0
;
10463 /* syntax/mmbuilder.nit:1366 */
10464 fra
.me
.REG
[1] = fra
.me
.REG
[0];
10465 fra
.me
.REG
[1] = ATTR_syntax___mmbuilder___AClosureDecl____variable(fra
.me
.REG
[1]);
10466 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
10467 if (UNTAG_Bool(REGB0
)) {
10469 nit_abort("Cast failed", NULL
, LOCATE_syntax___mmbuilder
, 1366);
10473 stack_frame_head
= fra
.me
.prev
;
10474 return fra
.me
.REG
[1];
10476 static const char LOCATE_syntax___mmbuilder___AClosureDecl___accept_property_verifier
[] = "mmbuilder::AClosureDecl::(mmbuilder::ANode::accept_property_verifier)";
10477 void syntax___mmbuilder___AClosureDecl___accept_property_verifier(val_t p0
, val_t p1
){
10478 struct {struct stack_frame_t me
; val_t MORE_REG
[10];} fra
;
10483 static val_t once_value_2
; /* Once value */
10484 static val_t once_value_3
; /* Once value */
10485 static val_t once_value_4
; /* Once value */
10486 static val_t once_value_5
; /* Once value */
10487 static val_t once_value_6
; /* Once value */
10488 static val_t once_value_7
; /* Once value */
10489 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10490 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10491 fra
.me
.line
= 1369;
10492 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AClosureDecl___accept_property_verifier
;
10493 fra
.me
.has_broke
= 0;
10494 fra
.me
.REG_size
= 11;
10495 fra
.me
.nitni_local_ref_head
= NULL
;
10496 fra
.me
.REG
[0] = NIT_NULL
;
10497 fra
.me
.REG
[1] = NIT_NULL
;
10498 fra
.me
.REG
[2] = NIT_NULL
;
10499 fra
.me
.REG
[3] = NIT_NULL
;
10500 fra
.me
.REG
[4] = NIT_NULL
;
10501 fra
.me
.REG
[5] = NIT_NULL
;
10502 fra
.me
.REG
[6] = NIT_NULL
;
10503 fra
.me
.REG
[7] = NIT_NULL
;
10504 fra
.me
.REG
[8] = NIT_NULL
;
10505 fra
.me
.REG
[9] = NIT_NULL
;
10506 fra
.me
.REG
[10] = NIT_NULL
;
10507 fra
.me
.REG
[0] = p0
;
10508 fra
.me
.REG
[1] = p1
;
10509 /* syntax/mmbuilder.nit:1369 */
10510 fra
.me
.REG
[2] = fra
.me
.REG
[0];
10511 fra
.me
.REG
[3] = fra
.me
.REG
[1];
10512 /* syntax/mmbuilder.nit:1371 */
10513 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10514 /* syntax/mmbuilder.nit:1372 */
10515 fra
.me
.REG
[5] = NEW_SignatureBuilder_syntax___mmbuilder___SignatureBuilder___init();
10516 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
10517 /* syntax/mmbuilder.nit:1373 */
10518 CALL_SUPER_syntax___mmbuilder___AClosureDecl___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10519 /* syntax/mmbuilder.nit:1374 */
10520 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10521 REGB0
= CALL_syntax___mmbuilder___SignatureBuilder___has_error_occured(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10522 if (UNTAG_Bool(REGB0
)) {
10523 /* syntax/mmbuilder.nit:1375 */
10526 /* syntax/mmbuilder.nit:1377 */
10527 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10528 fra
.me
.REG
[1] = CALL_syntax___mmbuilder___SignatureBuilder___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10529 /* syntax/mmbuilder.nit:1378 */
10530 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10531 if (UNTAG_Bool(REGB0
)) {
10533 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10534 if (UNTAG_Bool(REGB1
)) {
10535 REGB1
= TAG_Bool(0);
10538 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
10542 if (UNTAG_Bool(REGB0
)) {
10543 /* syntax/mmbuilder.nit:1379 */
10544 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
10545 fra
.me
.REG
[5] = CALL_syntax___syntax_base___AbsSyntaxVisitor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10546 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10547 fra
.me
.REG
[5] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[5]);
10548 fra
.me
.REG
[1] = fra
.me
.REG
[5];
10550 /* syntax/mmbuilder.nit:1381 */
10551 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10552 if (UNTAG_Bool(REGB0
)) {
10553 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1381);
10555 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10556 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10557 if (UNTAG_Bool(REGB0
)) {
10559 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10560 if (UNTAG_Bool(REGB1
)) {
10561 REGB1
= TAG_Bool(0);
10564 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10568 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10569 if (UNTAG_Bool(REGB0
)) {
10570 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10571 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10572 if (UNTAG_Bool(REGB0
)) {
10574 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10575 if (UNTAG_Bool(REGB1
)) {
10576 REGB1
= TAG_Bool(0);
10579 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10583 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10585 REGB1
= TAG_Bool(0);
10588 if (UNTAG_Bool(REGB0
)) {
10589 /* syntax/mmbuilder.nit:1382 */
10590 if (!once_value_2
) {
10591 fra
.me
.REG
[5] = BOX_NativeString("Syntax Error: A break block cannot have a return value.");
10592 REGB0
= TAG_Int(55);
10593 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
10594 once_value_2
= fra
.me
.REG
[5];
10595 register_static_object(&once_value_2
);
10596 } else fra
.me
.REG
[5] = once_value_2
;
10597 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10598 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2], fra
.me
.REG
[5]);
10600 /* syntax/mmbuilder.nit:1386 */
10601 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___init();
10602 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AbsSyntaxVisitor___mmmodule(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10603 fra
.me
.REG
[0] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10604 fra
.me
.REG
[0] = NEW_MMSignature_metamodel___static_type___MMSignature___init(fra
.me
.REG
[5], NIT_NULL
, fra
.me
.REG
[0]);
10605 /* syntax/mmbuilder.nit:1387 */
10606 if (!once_value_3
) {
10607 if (!once_value_4
) {
10608 fra
.me
.REG
[5] = BOX_NativeString("break");
10609 REGB0
= TAG_Int(5);
10610 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
10611 once_value_4
= fra
.me
.REG
[5];
10612 register_static_object(&once_value_4
);
10613 } else fra
.me
.REG
[5] = once_value_4
;
10614 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10615 fra
.me
.REG
[5] = CALL_symbol___String___to_symbol(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
10616 once_value_3
= fra
.me
.REG
[5];
10617 register_static_object(&once_value_3
);
10618 } else fra
.me
.REG
[5] = once_value_3
;
10619 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10620 REGB0
= TAG_Bool(0);
10621 REGB1
= TAG_Bool(1);
10622 fra
.me
.REG
[0] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra
.me
.REG
[5], fra
.me
.REG
[0], REGB0
, REGB1
);
10623 /* syntax/mmbuilder.nit:1388 */
10624 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
10625 if (UNTAG_Bool(REGB1
)) {
10626 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1388);
10628 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMSignature___closures(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
10629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
10630 /* syntax/mmbuilder.nit:1390 */
10631 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10632 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10633 /* syntax/mmbuilder.nit:1391 */
10634 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_kwbreak(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10635 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10636 if (UNTAG_Bool(REGB1
)) {
10638 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10639 if (UNTAG_Bool(REGB0
)) {
10640 REGB0
= TAG_Bool(0);
10643 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10647 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
10648 fra
.me
.REG
[5] = CALL_parser___parser_nodes___AClosureDecl___n_expr(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10649 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10650 if (UNTAG_Bool(REGB0
)) {
10652 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
10653 if (UNTAG_Bool(REGB2
)) {
10654 REGB2
= TAG_Bool(0);
10657 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
10661 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
10662 fra
.me
.REG
[1] = NEW_MMClosure_metamodel___static_type___MMClosure___init(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
, REGB0
);
10663 /* syntax/mmbuilder.nit:1392 */
10664 fra
.me
.REG
[5] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10665 /* ../lib/standard/collection/array.nit:270 */
10666 REGB0
= TAG_Int(0);
10667 /* ../lib/standard/collection/array.nit:271 */
10668 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
10669 if (UNTAG_Bool(REGB1
)) {
10671 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
10673 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
10674 /* ../lib/standard/collection/array.nit:272 */
10675 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
10676 /* ../lib/standard/collection/array.nit:273 */
10678 /* ../lib/standard/collection/array.nit:24 */
10679 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
10680 if (UNTAG_Bool(REGB1
)) {
10682 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10684 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
10685 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10686 if (UNTAG_Bool(REGB2
)) {
10688 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10690 /* ../lib/standard/kernel.nit:242 */
10691 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
10692 /* ../lib/standard/collection/array.nit:273 */
10693 if (UNTAG_Bool(REGB1
)) {
10694 /* ../lib/standard/collection/array.nit:274 */
10695 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
10696 if (UNTAG_Bool(REGB1
)) {
10697 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
10699 /* ../lib/standard/collection/array.nit:725 */
10700 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
10701 /* syntax/mmbuilder.nit:1393 */
10702 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10703 fra
.me
.REG
[8] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
10704 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[8],fra
.me
.REG
[0]));
10705 if (UNTAG_Bool(REGB1
)) {
10707 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[0]);
10710 if (UNTAG_Bool(REGB1
)) {
10711 /* syntax/mmbuilder.nit:1394 */
10712 fra
.me
.REG
[8] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10713 REGB1
= TAG_Int(5);
10714 fra
.me
.REG
[9] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
10715 if (!once_value_5
) {
10716 fra
.me
.REG
[10] = BOX_NativeString("Error: A closure '!");
10717 REGB1
= TAG_Int(19);
10718 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB1
);
10719 once_value_5
= fra
.me
.REG
[10];
10720 register_static_object(&once_value_5
);
10721 } else fra
.me
.REG
[10] = once_value_5
;
10722 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10723 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10724 fra
.me
.REG
[10] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10725 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10726 if (!once_value_6
) {
10727 fra
.me
.REG
[10] = BOX_NativeString("' already defined at ");
10728 REGB1
= TAG_Int(21);
10729 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB1
);
10730 once_value_6
= fra
.me
.REG
[10];
10731 register_static_object(&once_value_6
);
10732 } else fra
.me
.REG
[10] = once_value_6
;
10733 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10735 fra
.me
.REG
[7] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10736 fra
.me
.REG
[7] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
10737 fra
.me
.REG
[10] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10738 fra
.me
.REG
[10] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[10])(fra
.me
.REG
[10]);
10739 fra
.me
.REG
[10] = CALL_location___Location___relative_to(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[10]);
10740 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10741 if (!once_value_7
) {
10742 fra
.me
.REG
[10] = BOX_NativeString(".");
10743 REGB1
= TAG_Int(1);
10744 fra
.me
.REG
[10] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[10])(fra
.me
.REG
[10], REGB1
);
10745 once_value_7
= fra
.me
.REG
[10];
10746 register_static_object(&once_value_7
);
10747 } else fra
.me
.REG
[10] = once_value_7
;
10748 fra
.me
.REG
[10] = fra
.me
.REG
[10];
10749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[9])(fra
.me
.REG
[9], fra
.me
.REG
[10]);
10750 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[9])(fra
.me
.REG
[9]);
10751 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[8], fra
.me
.REG
[9]);
10752 /* syntax/mmbuilder.nit:1395 */
10755 /* ../lib/standard/collection/array.nit:275 */
10756 REGB1
= TAG_Int(1);
10757 /* ../lib/standard/kernel.nit:245 */
10758 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
10759 /* ../lib/standard/collection/array.nit:275 */
10762 /* ../lib/standard/collection/array.nit:273 */
10767 /* syntax/mmbuilder.nit:1398 */
10768 CALL_syntax___mmbuilder___PropertyVerifierVisitor___signature_builder__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
10769 /* syntax/mmbuilder.nit:1399 */
10770 fra
.me
.REG
[3] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10771 /* ../lib/standard/collection/array.nit:24 */
10772 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
10773 if (UNTAG_Bool(REGB0
)) {
10775 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
10777 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
10778 /* syntax/mmbuilder.nit:1399 */
10779 ATTR_syntax___mmbuilder___AClosureDecl____position(fra
.me
.REG
[2]) = REGB0
;
10780 /* syntax/mmbuilder.nit:1400 */
10781 fra
.me
.REG
[4] = CALL_syntax___mmbuilder___SignatureBuilder___closure_decls(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10782 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
10783 /* syntax/mmbuilder.nit:1401 */
10784 fra
.me
.REG
[4] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10785 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10786 fra
.me
.REG
[3] = CALL_parser___parser_nodes___AClosureDecl___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10787 fra
.me
.REG
[1] = NEW_ClosureVariable_syntax___syntax_base___ClosureVariable___init(fra
.me
.REG
[4], fra
.me
.REG
[3], fra
.me
.REG
[1]);
10788 ATTR_syntax___mmbuilder___AClosureDecl____variable(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
10790 stack_frame_head
= fra
.me
.prev
;
10793 static const char LOCATE_syntax___mmbuilder___AType___check_visibility
[] = "mmbuilder::AType::check_visibility";
10794 void syntax___mmbuilder___AType___check_visibility(val_t p0
, val_t p1
, val_t p2
){
10795 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
10800 static val_t once_value_2
; /* Once value */
10801 static val_t once_value_3
; /* Once value */
10802 static val_t once_value_4
; /* Once value */
10803 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10804 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10805 fra
.me
.line
= 1406;
10806 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AType___check_visibility
;
10807 fra
.me
.has_broke
= 0;
10808 fra
.me
.REG_size
= 6;
10809 fra
.me
.nitni_local_ref_head
= NULL
;
10810 fra
.me
.REG
[0] = NIT_NULL
;
10811 fra
.me
.REG
[1] = NIT_NULL
;
10812 fra
.me
.REG
[2] = NIT_NULL
;
10813 fra
.me
.REG
[3] = NIT_NULL
;
10814 fra
.me
.REG
[4] = NIT_NULL
;
10815 fra
.me
.REG
[5] = NIT_NULL
;
10816 fra
.me
.REG
[0] = p0
;
10817 fra
.me
.REG
[1] = p1
;
10818 fra
.me
.REG
[2] = p2
;
10819 /* syntax/mmbuilder.nit:1409 */
10820 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10821 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___visibility_level(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10822 REGB1
= TAG_Int(3);
10823 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
10824 if (UNTAG_Bool(REGB2
)) {
10826 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10828 /* ../lib/standard/kernel.nit:243 */
10829 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
10830 /* syntax/mmbuilder.nit:1409 */
10831 if (UNTAG_Bool(REGB1
)) {
10834 /* syntax/mmbuilder.nit:1410 */
10835 fra
.me
.REG
[3] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
10836 /* syntax/mmbuilder.nit:1411 */
10837 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10838 if (UNTAG_Bool(REGB1
)) {
10840 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10841 if (UNTAG_Bool(REGB0
)) {
10842 REGB0
= TAG_Bool(0);
10845 REGB0
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
10849 if (UNTAG_Bool(REGB1
)) {
10852 /* syntax/mmbuilder.nit:1412 */
10853 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
10854 if (UNTAG_Bool(REGB1
)) {
10855 nit_abort("Reciever is null", NULL
, LOCATE_syntax___mmbuilder
, 1412);
10857 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10858 /* syntax/mmbuilder.nit:1413 */
10859 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10860 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___visibility_level(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10861 REGB0
= TAG_Int(3);
10862 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
10863 if (UNTAG_Bool(REGB2
)) {
10865 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
10867 /* ../lib/standard/kernel.nit:243 */
10868 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
10869 /* syntax/mmbuilder.nit:1413 */
10870 if (UNTAG_Bool(REGB0
)) {
10871 /* syntax/mmbuilder.nit:1414 */
10872 REGB0
= TAG_Int(5);
10873 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
10874 if (!once_value_2
) {
10875 fra
.me
.REG
[5] = BOX_NativeString("Access error: Class ");
10876 REGB0
= TAG_Int(20);
10877 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB0
);
10878 once_value_2
= fra
.me
.REG
[5];
10879 register_static_object(&once_value_2
);
10880 } else fra
.me
.REG
[5] = once_value_2
;
10881 fra
.me
.REG
[5] = fra
.me
.REG
[5];
10882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
10883 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
10884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10885 if (!once_value_3
) {
10886 fra
.me
.REG
[3] = BOX_NativeString(" is private and cannot be used in the signature of the non-private property ");
10887 REGB0
= TAG_Int(76);
10888 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
10889 once_value_3
= fra
.me
.REG
[3];
10890 register_static_object(&once_value_3
);
10891 } else fra
.me
.REG
[3] = once_value_3
;
10892 fra
.me
.REG
[3] = fra
.me
.REG
[3];
10893 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10894 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
10895 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10896 if (!once_value_4
) {
10897 fra
.me
.REG
[3] = BOX_NativeString(".");
10898 REGB0
= TAG_Int(1);
10899 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
10900 once_value_4
= fra
.me
.REG
[3];
10901 register_static_object(&once_value_4
);
10902 } else fra
.me
.REG
[3] = once_value_4
;
10903 fra
.me
.REG
[3] = fra
.me
.REG
[3];
10904 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
10905 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
10906 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[4]);
10908 /* syntax/mmbuilder.nit:1416 */
10909 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AType___n_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
10910 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_syntax___mmbuilder___AType___check_visibility_5
));
10912 stack_frame_head
= fra
.me
.prev
;
10915 void OC_syntax___mmbuilder___AType___check_visibility_5(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
10916 struct {struct stack_frame_t me
;} fra
;
10919 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10920 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10922 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AType___check_visibility
;
10923 fra
.me
.has_broke
= 0;
10924 fra
.me
.REG_size
= 1;
10925 fra
.me
.nitni_local_ref_head
= NULL
;
10926 fra
.me
.REG
[0] = NIT_NULL
;
10927 fra
.me
.closure_ctx
= closctx_param
;
10928 fra
.me
.closure_funs
= CREG
;
10929 fra
.me
.REG
[0] = p0
;
10930 CREG
[0] = clos_fun0
;
10931 /* syntax/mmbuilder.nit:1417 */
10932 CALL_syntax___mmbuilder___AType___check_visibility(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1], closctx
->REG
[2]);
10933 stack_frame_head
= fra
.me
.prev
;
10936 static const char LOCATE_syntax___mmbuilder___AExpr___accept_class_builder
[] = "mmbuilder::AExpr::(mmbuilder::ANode::accept_class_builder)";
10937 void syntax___mmbuilder___AExpr___accept_class_builder(val_t p0
, val_t p1
){
10938 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10940 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10941 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10942 fra
.me
.line
= 1423;
10943 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_class_builder
;
10944 fra
.me
.has_broke
= 0;
10945 fra
.me
.REG_size
= 2;
10946 fra
.me
.nitni_local_ref_head
= NULL
;
10947 fra
.me
.REG
[0] = NIT_NULL
;
10948 fra
.me
.REG
[1] = NIT_NULL
;
10949 fra
.me
.REG
[0] = p0
;
10950 fra
.me
.REG
[1] = p1
;
10951 stack_frame_head
= fra
.me
.prev
;
10954 static const char LOCATE_syntax___mmbuilder___AExpr___accept_property_builder
[] = "mmbuilder::AExpr::(mmbuilder::ANode::accept_property_builder)";
10955 void syntax___mmbuilder___AExpr___accept_property_builder(val_t p0
, val_t p1
){
10956 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10958 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10959 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10960 fra
.me
.line
= 1424;
10961 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_property_builder
;
10962 fra
.me
.has_broke
= 0;
10963 fra
.me
.REG_size
= 2;
10964 fra
.me
.nitni_local_ref_head
= NULL
;
10965 fra
.me
.REG
[0] = NIT_NULL
;
10966 fra
.me
.REG
[1] = NIT_NULL
;
10967 fra
.me
.REG
[0] = p0
;
10968 fra
.me
.REG
[1] = p1
;
10969 stack_frame_head
= fra
.me
.prev
;
10972 static const char LOCATE_syntax___mmbuilder___AExpr___accept_property_verifier
[] = "mmbuilder::AExpr::(mmbuilder::ANode::accept_property_verifier)";
10973 void syntax___mmbuilder___AExpr___accept_property_verifier(val_t p0
, val_t p1
){
10974 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10976 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10977 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10978 fra
.me
.line
= 1425;
10979 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___accept_property_verifier
;
10980 fra
.me
.has_broke
= 0;
10981 fra
.me
.REG_size
= 2;
10982 fra
.me
.nitni_local_ref_head
= NULL
;
10983 fra
.me
.REG
[0] = NIT_NULL
;
10984 fra
.me
.REG
[1] = NIT_NULL
;
10985 fra
.me
.REG
[0] = p0
;
10986 fra
.me
.REG
[1] = p1
;
10987 stack_frame_head
= fra
.me
.prev
;
10990 static const char LOCATE_syntax___mmbuilder___AExpr___get_easy_stype
[] = "mmbuilder::AExpr::get_easy_stype";
10991 val_t
syntax___mmbuilder___AExpr___get_easy_stype(val_t p0
, val_t p1
){
10992 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
10994 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10995 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
10996 fra
.me
.line
= 1427;
10997 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AExpr___get_easy_stype
;
10998 fra
.me
.has_broke
= 0;
10999 fra
.me
.REG_size
= 2;
11000 fra
.me
.nitni_local_ref_head
= NULL
;
11001 fra
.me
.REG
[0] = NIT_NULL
;
11002 fra
.me
.REG
[1] = NIT_NULL
;
11003 fra
.me
.REG
[0] = p0
;
11004 fra
.me
.REG
[1] = p1
;
11005 /* syntax/mmbuilder.nit:1427 */
11006 fra
.me
.REG
[1] = NIT_NULL
;
11009 stack_frame_head
= fra
.me
.prev
;
11010 return fra
.me
.REG
[1];
11012 static const char LOCATE_syntax___mmbuilder___ABoolExpr___get_easy_stype
[] = "mmbuilder::ABoolExpr::(mmbuilder::AExpr::get_easy_stype)";
11013 val_t
syntax___mmbuilder___ABoolExpr___get_easy_stype(val_t p0
, val_t p1
){
11014 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11016 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11017 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11018 fra
.me
.line
= 1431;
11019 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ABoolExpr___get_easy_stype
;
11020 fra
.me
.has_broke
= 0;
11021 fra
.me
.REG_size
= 2;
11022 fra
.me
.nitni_local_ref_head
= NULL
;
11023 fra
.me
.REG
[0] = NIT_NULL
;
11024 fra
.me
.REG
[1] = NIT_NULL
;
11025 fra
.me
.REG
[0] = p0
;
11026 fra
.me
.REG
[1] = p1
;
11027 /* syntax/mmbuilder.nit:1431 */
11028 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_bool(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11031 stack_frame_head
= fra
.me
.prev
;
11032 return fra
.me
.REG
[1];
11034 static const char LOCATE_syntax___mmbuilder___AStringExpr___get_easy_stype
[] = "mmbuilder::AStringExpr::(mmbuilder::AExpr::get_easy_stype)";
11035 val_t
syntax___mmbuilder___AStringExpr___get_easy_stype(val_t p0
, val_t p1
){
11036 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11038 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11039 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11040 fra
.me
.line
= 1435;
11041 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AStringExpr___get_easy_stype
;
11042 fra
.me
.has_broke
= 0;
11043 fra
.me
.REG_size
= 2;
11044 fra
.me
.nitni_local_ref_head
= NULL
;
11045 fra
.me
.REG
[0] = NIT_NULL
;
11046 fra
.me
.REG
[1] = NIT_NULL
;
11047 fra
.me
.REG
[0] = p0
;
11048 fra
.me
.REG
[1] = p1
;
11049 /* syntax/mmbuilder.nit:1435 */
11050 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_string(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11053 stack_frame_head
= fra
.me
.prev
;
11054 return fra
.me
.REG
[1];
11056 static const char LOCATE_syntax___mmbuilder___ACharExpr___get_easy_stype
[] = "mmbuilder::ACharExpr::(mmbuilder::AExpr::get_easy_stype)";
11057 val_t
syntax___mmbuilder___ACharExpr___get_easy_stype(val_t p0
, val_t p1
){
11058 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11060 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11061 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11062 fra
.me
.line
= 1439;
11063 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ACharExpr___get_easy_stype
;
11064 fra
.me
.has_broke
= 0;
11065 fra
.me
.REG_size
= 2;
11066 fra
.me
.nitni_local_ref_head
= NULL
;
11067 fra
.me
.REG
[0] = NIT_NULL
;
11068 fra
.me
.REG
[1] = NIT_NULL
;
11069 fra
.me
.REG
[0] = p0
;
11070 fra
.me
.REG
[1] = p1
;
11071 /* syntax/mmbuilder.nit:1439 */
11072 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_char(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11075 stack_frame_head
= fra
.me
.prev
;
11076 return fra
.me
.REG
[1];
11078 static const char LOCATE_syntax___mmbuilder___AIntExpr___get_easy_stype
[] = "mmbuilder::AIntExpr::(mmbuilder::AExpr::get_easy_stype)";
11079 val_t
syntax___mmbuilder___AIntExpr___get_easy_stype(val_t p0
, val_t p1
){
11080 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11082 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11083 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11084 fra
.me
.line
= 1443;
11085 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AIntExpr___get_easy_stype
;
11086 fra
.me
.has_broke
= 0;
11087 fra
.me
.REG_size
= 2;
11088 fra
.me
.nitni_local_ref_head
= NULL
;
11089 fra
.me
.REG
[0] = NIT_NULL
;
11090 fra
.me
.REG
[1] = NIT_NULL
;
11091 fra
.me
.REG
[0] = p0
;
11092 fra
.me
.REG
[1] = p1
;
11093 /* syntax/mmbuilder.nit:1443 */
11094 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_int(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11097 stack_frame_head
= fra
.me
.prev
;
11098 return fra
.me
.REG
[1];
11100 static const char LOCATE_syntax___mmbuilder___AFloatExpr___get_easy_stype
[] = "mmbuilder::AFloatExpr::(mmbuilder::AExpr::get_easy_stype)";
11101 val_t
syntax___mmbuilder___AFloatExpr___get_easy_stype(val_t p0
, val_t p1
){
11102 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11104 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11105 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11106 fra
.me
.line
= 1447;
11107 fra
.me
.meth
= LOCATE_syntax___mmbuilder___AFloatExpr___get_easy_stype
;
11108 fra
.me
.has_broke
= 0;
11109 fra
.me
.REG_size
= 2;
11110 fra
.me
.nitni_local_ref_head
= NULL
;
11111 fra
.me
.REG
[0] = NIT_NULL
;
11112 fra
.me
.REG
[1] = NIT_NULL
;
11113 fra
.me
.REG
[0] = p0
;
11114 fra
.me
.REG
[1] = p1
;
11115 /* syntax/mmbuilder.nit:1447 */
11116 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AbsSyntaxVisitor___type_float(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
11119 stack_frame_head
= fra
.me
.prev
;
11120 return fra
.me
.REG
[1];
11122 static const char LOCATE_syntax___mmbuilder___ANewExpr___get_easy_stype
[] = "mmbuilder::ANewExpr::(mmbuilder::AExpr::get_easy_stype)";
11123 val_t
syntax___mmbuilder___ANewExpr___get_easy_stype(val_t p0
, val_t p1
){
11124 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
11126 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11127 fra
.me
.file
= LOCATE_syntax___mmbuilder
;
11128 fra
.me
.line
= 1451;
11129 fra
.me
.meth
= LOCATE_syntax___mmbuilder___ANewExpr___get_easy_stype
;
11130 fra
.me
.has_broke
= 0;
11131 fra
.me
.REG_size
= 2;
11132 fra
.me
.nitni_local_ref_head
= NULL
;
11133 fra
.me
.REG
[0] = NIT_NULL
;
11134 fra
.me
.REG
[1] = NIT_NULL
;
11135 fra
.me
.REG
[0] = p0
;
11136 fra
.me
.REG
[1] = p1
;
11137 /* syntax/mmbuilder.nit:1451 */
11138 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ANewExpr___n_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
11139 fra
.me
.REG
[1] = CALL_syntax___syntax_base___AType___get_stype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
11142 stack_frame_head
= fra
.me
.prev
;
11143 return fra
.me
.REG
[1];