1 /* This C file is generated by NIT to compile module mmbuilder. */
2 #include "mmbuilder._sep.h"
3 val_t
mmbuilder___CSHSorter___compare(val_t self
, val_t param0
, val_t param1
) {
4 struct trace_t trace
= {NULL
, NULL
, 27, LOCATE_mmbuilder___CSHSorter___compare
};
6 struct WBT_
**closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_mmbuilder
;
9 /* Register variable[0]: Local variable */
11 /* Register variable[1]: Local variable */
13 /* Register variable[2]: Local variable */
15 /* Register variable[3]: Method return value and escape marker */
16 /* Register variable[4]: Result */
17 variable
[4] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[1] /*a*/)( variable
[1] /*a*/) /*MMLocalClass::cshe*/;
18 /* Register variable[4]: Result */
19 variable
[4] = CALL_partial_order___PartialOrderElement___rank(variable
[4])(variable
[4]) /*PartialOrderElement::rank*/;
20 /* Register variable[5]: Result */
21 variable
[5] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[2] /*b*/)( variable
[2] /*b*/) /*MMLocalClass::cshe*/;
22 /* Register variable[5]: Result */
23 variable
[5] = CALL_partial_order___PartialOrderElement___rank(variable
[5])(variable
[5]) /*PartialOrderElement::rank*/;
24 /* Register variable[4]: Result */
25 variable
[4] = CALL_kernel___Comparable_____leqg(variable
[4])(variable
[4], variable
[5]) /*Int::<=>*/;
26 variable
[3] = variable
[4];
28 return_label0
: while(false);
29 tracehead
= trace
.prev
;
32 void mmbuilder___CSHSorter___init(val_t self
, int* init_table
) {
33 struct trace_t trace
= {NULL
, NULL
, 32, LOCATE_mmbuilder___CSHSorter___init
};
35 struct WBT_
**closurevariable
= NULL
;
36 trace
.prev
= tracehead
; tracehead
= &trace
;
37 trace
.file
= LOCATE_mmbuilder
;
38 /* Register variable[0]: Local variable */
40 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_CSHSorter
].i
]) return;
41 /* Register variable[1]: Method return value and escape marker */
42 return_label1
: while(false);
43 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_CSHSorter
].i
] = 1;
44 tracehead
= trace
.prev
;
47 void mmbuilder___MMSrcModule___do_mmbuilder(val_t self
, val_t param0
) {
48 struct trace_t trace
= {NULL
, NULL
, 36, LOCATE_mmbuilder___MMSrcModule___do_mmbuilder
};
49 static val_t once_value_4
; static int once_bool_4
; /* Once value for variable[7]*/
51 struct WBT_
**closurevariable
= NULL
;
52 trace
.prev
= tracehead
; tracehead
= &trace
;
53 trace
.file
= LOCATE_mmbuilder
;
54 /* Register variable[0]: Local variable */
56 /* Register variable[1]: Local variable */
58 /* Register variable[2]: Method return value and escape marker */
59 CALL_inheritance___MMModule___import_global_classes(variable
[0])(variable
[0]) /*MMModule::import_global_classes*/;
60 /* Register variable[3]: Local variable */
61 /* Register variable[4]: Result */
62 variable
[4] = NEW_ClassBuilderVisitor_mmbuilder___ClassBuilderVisitor___init( variable
[1] /*tc*/, variable
[0]) /*new ClassBuilderVisitor*/;
63 variable
[3] = variable
[4];
64 /* Register variable[4]: Result */
65 variable
[4] = CALL_syntax_base___MMSrcModule___node(variable
[0])(variable
[0]) /*MMSrcModule::node*/;
66 CALL_parser_prod___Visitor___visit( variable
[3] /*mmbv*/)( variable
[3] /*mmbv*/, variable
[4]) /*ClassBuilderVisitor::visit*/;
67 /* Register variable[4]: Result */
68 variable
[4] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
69 /* Register variable[4]: Result */
70 variable
[4] = TAG_Bool(UNTAG_Int(variable
[4])>UNTAG_Int( TAG_Int(0)));
71 if (UNTAG_Bool(variable
[4])) { /*if*/
72 exit(UNTAG_Int( TAG_Int(1)));
74 CALL_inheritance___MMModule___import_local_classes(variable
[0])(variable
[0]) /*MMModule::import_local_classes*/;
75 /* Register variable[4]: Local variable */
76 /* Register variable[5]: Result */
77 variable
[5] = NEW_ClassSpecializationBuilderVisitor_mmbuilder___ClassSpecializationBuilderVisitor___init( variable
[1] /*tc*/, variable
[0]) /*new ClassSpecializationBuilderVisitor*/;
78 variable
[4] = variable
[5];
79 /* Register variable[5]: Result */
80 variable
[5] = CALL_syntax_base___MMSrcModule___node(variable
[0])(variable
[0]) /*MMSrcModule::node*/;
81 CALL_parser_prod___Visitor___visit( variable
[4] /*mmbv1*/)( variable
[4] /*mmbv1*/, variable
[5]) /*ClassSpecializationBuilderVisitor::visit*/;
82 /* Register variable[5]: Result */
83 variable
[5] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
84 /* Register variable[5]: Result */
85 variable
[5] = TAG_Bool(UNTAG_Int(variable
[5])>UNTAG_Int( TAG_Int(0)));
86 if (UNTAG_Bool(variable
[5])) { /*if*/
87 exit(UNTAG_Int( TAG_Int(1)));
89 /* Register variable[5]: Result */
90 variable
[5] = CALL_abstractmetamodel___MMModule___local_classes(variable
[0])(variable
[0]) /*MMModule::local_classes*/;
91 /* Register variable[5]: For iterator */
92 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*AbstractArrayRead::iterator*/;
93 while (true) { /*for*/
94 /* Register variable[6]: For 'is_ok' result */
95 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
96 if (!UNTAG_Bool(variable
[6])) break; /*for*/
97 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
98 /* Register variable[7]: Local variable */
99 variable
[7] = variable
[6];
100 /* Register variable[8]: Result */
101 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global( variable
[7] /*c*/)( variable
[7] /*c*/) /*MMLocalClass::global*/;
102 /* Register variable[8]: Result */
103 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[8])(variable
[8]) /*MMGlobalClass::intro*/;
104 /* Register variable[8]: Result */
105 variable
[8] = CALL_abstractmetamodel___MMLocalClass___module(variable
[8])(variable
[8]) /*MMLocalClass::module*/;
106 /* Register variable[8]: Result */
107 variable
[8] = CALL_abstractmetamodel___MMModule___visibility_for(variable
[0])(variable
[0], variable
[8]) /*MMModule::visibility_for*/;
108 /* Register variable[9]: Result */
109 variable
[9] = CALL_abstractmetamodel___MMLocalClass___global( variable
[7] /*c*/)( variable
[7] /*c*/) /*MMLocalClass::global*/;
110 /* Register variable[9]: Result */
111 variable
[9] = CALL_abstractmetamodel___MMGlobalClass___visibility_level(variable
[9])(variable
[9]) /*MMGlobalClass::visibility_level*/;
112 /* Register variable[8]: Result */
113 variable
[8] = TAG_Bool(UNTAG_Int(variable
[8])<UNTAG_Int(variable
[9]));
114 if (UNTAG_Bool(variable
[8])) { /*if*/
117 CALL_inheritance___MMLocalClass___compute_super_classes( variable
[7] /*c*/)( variable
[7] /*c*/) /*MMLocalClass::compute_super_classes*/;
118 continue_3
: while(0);
119 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
122 /* Register variable[5]: Local variable */
123 /* Register variable[6]: Result */
124 variable
[6] = CALL_abstractmetamodel___MMModule___class_specialization_hierarchy(variable
[0])(variable
[0]) /*MMModule::class_specialization_hierarchy*/;
125 /* Register variable[6]: Result */
126 variable
[6] = CALL_array___Collection___to_a(variable
[6])(variable
[6]) /*Collection::to_a*/;
127 variable
[5] = variable
[6];
128 /* Register variable[6]: Local variable */
129 /* Register variable[7]: Once expression result */
130 if (once_bool_4
) variable
[7] = once_value_4
;
132 /* Register variable[7]: Result */
133 variable
[7] = NEW_CSHSorter_mmbuilder___CSHSorter___init() /*new CSHSorter*/;
134 once_value_4
= variable
[7];
137 /* Register variable[7]: Result */
138 variable
[6] = variable
[7];
139 CALL_sorter___AbstractSorter___sort( variable
[6] /*sorter*/)( variable
[6] /*sorter*/, variable
[5] /*classes*/) /*AbstractSorter::sort*/;
140 /* Register variable[7]: Local variable */
141 /* Register variable[8]: Result */
142 variable
[8] = NEW_ClassAncestorBuilder_mmbuilder___ClassAncestorBuilder___init( variable
[1] /*tc*/, variable
[0]) /*new ClassAncestorBuilder*/;
143 variable
[7] = variable
[8];
144 /* Register variable[8]: For iterator */
145 variable
[8] = CALL_abstract_collection___Collection___iterator( variable
[5] /*classes*/)( variable
[5] /*classes*/) /*AbstractArrayRead::iterator*/;
146 while (true) { /*for*/
147 /* Register variable[9]: For 'is_ok' result */
148 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*ArrayIterator::is_ok*/;
149 if (!UNTAG_Bool(variable
[9])) break; /*for*/
150 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
151 /* Register variable[10]: Local variable */
152 variable
[10] = variable
[9];
153 CALL_mmbuilder___MMLocalClass___accept_class_visitor( variable
[10] /*c*/)( variable
[10] /*c*/, variable
[7] /*mmbv1b*/) /*MMLocalClass::accept_class_visitor*/;
154 CALL_inheritance___MMLocalClass___compute_ancestors( variable
[10] /*c*/)( variable
[10] /*c*/) /*MMLocalClass::compute_ancestors*/;
155 continue_5
: while(0);
156 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*ArrayIterator::next*/;
159 /* Register variable[8]: Result */
160 variable
[8] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
161 /* Register variable[8]: Result */
162 variable
[8] = TAG_Bool(UNTAG_Int(variable
[8])>UNTAG_Int( TAG_Int(0)));
163 if (UNTAG_Bool(variable
[8])) { /*if*/
164 exit(UNTAG_Int( TAG_Int(1)));
166 /* Register variable[8]: Local variable */
167 /* Register variable[9]: Result */
168 variable
[9] = NEW_ClassVerifierVisitor_mmbuilder___ClassVerifierVisitor___init( variable
[1] /*tc*/, variable
[0]) /*new ClassVerifierVisitor*/;
169 variable
[8] = variable
[9];
170 /* Register variable[9]: For iterator */
171 variable
[9] = CALL_abstract_collection___Collection___iterator( variable
[5] /*classes*/)( variable
[5] /*classes*/) /*AbstractArrayRead::iterator*/;
172 while (true) { /*for*/
173 /* Register variable[10]: For 'is_ok' result */
174 variable
[10] = CALL_abstract_collection___Iterator___is_ok(variable
[9])(variable
[9]) /*ArrayIterator::is_ok*/;
175 if (!UNTAG_Bool(variable
[10])) break; /*for*/
176 variable
[10] = CALL_abstract_collection___Iterator___item(variable
[9])(variable
[9]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
177 /* Register variable[11]: Local variable */
178 variable
[11] = variable
[10];
179 CALL_mmbuilder___MMLocalClass___accept_class_visitor( variable
[11] /*c*/)( variable
[11] /*c*/, variable
[8] /*mmbv1b*/) /*MMLocalClass::accept_class_visitor*/;
180 continue_6
: while(0);
181 CALL_abstract_collection___Iterator___next(variable
[9])(variable
[9]) /*ArrayIterator::next*/;
184 /* Register variable[9]: Result */
185 variable
[9] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
186 /* Register variable[9]: Result */
187 variable
[9] = TAG_Bool(UNTAG_Int(variable
[9])>UNTAG_Int( TAG_Int(0)));
188 if (UNTAG_Bool(variable
[9])) { /*if*/
189 exit(UNTAG_Int( TAG_Int(1)));
191 /* Register variable[9]: Local variable */
192 /* Register variable[10]: Result */
193 variable
[10] = NEW_PropertyBuilderVisitor_mmbuilder___PropertyBuilderVisitor___init( variable
[1] /*tc*/, variable
[0]) /*new PropertyBuilderVisitor*/;
194 variable
[9] = variable
[10];
195 /* Register variable[10]: For iterator */
196 variable
[10] = CALL_abstract_collection___Collection___iterator( variable
[5] /*classes*/)( variable
[5] /*classes*/) /*AbstractArrayRead::iterator*/;
197 while (true) { /*for*/
198 /* Register variable[11]: For 'is_ok' result */
199 variable
[11] = CALL_abstract_collection___Iterator___is_ok(variable
[10])(variable
[10]) /*ArrayIterator::is_ok*/;
200 if (!UNTAG_Bool(variable
[11])) break; /*for*/
201 variable
[11] = CALL_abstract_collection___Iterator___item(variable
[10])(variable
[10]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
202 /* Register variable[12]: Local variable */
203 variable
[12] = variable
[11];
204 CALL_inheritance___MMLocalClass___inherit_global_properties( variable
[12] /*c*/)( variable
[12] /*c*/) /*MMLocalClass::inherit_global_properties*/;
205 CALL_mmbuilder___MMLocalClass___accept_class_visitor( variable
[12] /*c*/)( variable
[12] /*c*/, variable
[9] /*mmbv2*/) /*MMLocalClass::accept_class_visitor*/;
206 /* Register variable[13]: Result */
207 variable
[13] = TAG_Bool(( variable
[12] /*c*/==NIT_NULL
) || VAL_ISA( variable
[12] /*c*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
208 /* Ensure var variable[13]: Left 'and' operand*/
209 if (UNTAG_Bool(variable
[13])) { /* and */
210 /* Register variable[13]: Result */
211 variable
[13] = CALL_abstractmetamodel___MMLocalClass___global( variable
[12] /*c*/)( variable
[12] /*c*/) /*MMLocalClass::global*/;
212 /* Register variable[13]: Result */
213 variable
[13] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[13])(variable
[13]) /*MMGlobalClass::intro*/;
214 /* Register variable[13]: Result */
215 variable
[13] = TAG_Bool((variable
[13] == variable
[12] /*c*/) || ((variable
[13] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[13])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[13], variable
[12] /*c*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[13])(variable
[13], variable
[12] /*c*/) /*Object::==*/)))));
217 /* Register variable[13]: Result */
218 /* Ensure var variable[13]: Left 'and' operand*/
219 if (UNTAG_Bool(variable
[13])) { /* and */
220 /* Register variable[13]: Result */
221 variable
[13] = CALL_abstractmetamodel___MMLocalClass___global( variable
[12] /*c*/)( variable
[12] /*c*/) /*MMLocalClass::global*/;
222 /* Register variable[13]: Result */
223 variable
[13] = CALL_abstractmetamodel___MMGlobalClass___is_universal(variable
[13])(variable
[13]) /*MMGlobalClass::is_universal*/;
224 variable
[13] = TAG_Bool(!UNTAG_Bool(variable
[13]));
226 /* Register variable[13]: Result */
227 /* Ensure var variable[13]: Left 'and' operand*/
228 if (UNTAG_Bool(variable
[13])) { /* and */
229 /* Register variable[13]: Result */
230 variable
[13] = CALL_abstractmetamodel___MMLocalClass___global( variable
[12] /*c*/)( variable
[12] /*c*/) /*MMLocalClass::global*/;
231 /* Register variable[13]: Result */
232 variable
[13] = CALL_abstractmetamodel___MMGlobalClass___is_interface(variable
[13])(variable
[13]) /*MMGlobalClass::is_interface*/;
233 variable
[13] = TAG_Bool(!UNTAG_Bool(variable
[13]));
235 /* Register variable[13]: Result */
236 if (UNTAG_Bool(variable
[13])) { /*if*/
237 CALL_mmbuilder___MMSrcLocalClass___process_default_constructors( variable
[12] /*c*/)( variable
[12] /*c*/, variable
[9] /*mmbv2*/) /*MMSrcLocalClass::process_default_constructors*/;
239 continue_7
: while(0);
240 CALL_abstract_collection___Iterator___next(variable
[10])(variable
[10]) /*ArrayIterator::next*/;
243 /* Register variable[10]: Result */
244 variable
[10] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
245 /* Register variable[10]: Result */
246 variable
[10] = TAG_Bool(UNTAG_Int(variable
[10])>UNTAG_Int( TAG_Int(0)));
247 if (UNTAG_Bool(variable
[10])) { /*if*/
248 exit(UNTAG_Int( TAG_Int(1)));
250 /* Register variable[10]: Local variable */
251 /* Register variable[11]: Result */
252 variable
[11] = NEW_PropertyVerifierVisitor_mmbuilder___PropertyVerifierVisitor___init( variable
[1] /*tc*/, variable
[0]) /*new PropertyVerifierVisitor*/;
253 variable
[10] = variable
[11];
254 /* Register variable[11]: For iterator */
255 variable
[11] = CALL_abstract_collection___Collection___iterator( variable
[5] /*classes*/)( variable
[5] /*classes*/) /*AbstractArrayRead::iterator*/;
256 while (true) { /*for*/
257 /* Register variable[12]: For 'is_ok' result */
258 variable
[12] = CALL_abstract_collection___Iterator___is_ok(variable
[11])(variable
[11]) /*ArrayIterator::is_ok*/;
259 if (!UNTAG_Bool(variable
[12])) break; /*for*/
260 variable
[12] = CALL_abstract_collection___Iterator___item(variable
[11])(variable
[11]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
261 /* Register variable[13]: Local variable */
262 variable
[13] = variable
[12];
263 CALL_mmbuilder___MMLocalClass___accept_properties_visitor( variable
[13] /*c*/)( variable
[13] /*c*/, variable
[10] /*mmbv3*/) /*MMLocalClass::accept_properties_visitor*/;
264 continue_8
: while(0);
265 CALL_abstract_collection___Iterator___next(variable
[11])(variable
[11]) /*ArrayIterator::next*/;
268 /* Register variable[11]: For iterator */
269 variable
[11] = CALL_abstract_collection___Collection___iterator( variable
[5] /*classes*/)( variable
[5] /*classes*/) /*AbstractArrayRead::iterator*/;
270 while (true) { /*for*/
271 /* Register variable[12]: For 'is_ok' result */
272 variable
[12] = CALL_abstract_collection___Iterator___is_ok(variable
[11])(variable
[11]) /*ArrayIterator::is_ok*/;
273 if (!UNTAG_Bool(variable
[12])) break; /*for*/
274 variable
[12] = CALL_abstract_collection___Iterator___item(variable
[11])(variable
[11]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
275 /* Register variable[13]: Local variable */
276 variable
[13] = variable
[12];
277 /* Register variable[14]: Result */
278 variable
[14] = CALL_abstractmetamodel___MMLocalClass___global_properties( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::global_properties*/;
279 /* Register variable[14]: For iterator */
280 variable
[14] = CALL_abstract_collection___Collection___iterator(variable
[14])(variable
[14]) /*Collection::iterator*/;
281 while (true) { /*for*/
282 /* Register variable[15]: For 'is_ok' result */
283 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*Iterator::is_ok*/;
284 if (!UNTAG_Bool(variable
[15])) break; /*for*/
285 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*Iterator::item*/ /* Ensure var: For item*/;
286 /* Register variable[16]: Local variable */
287 variable
[16] = variable
[15];
288 /* Register variable[17]: Result */
289 variable
[17] = CALL_abstractmetamodel___MMGlobalProperty___intro( variable
[16] /*g*/)( variable
[16] /*g*/) /*MMGlobalProperty::intro*/;
290 /* Register variable[17]: Result */
291 variable
[17] = CALL_abstractmetamodel___MMLocalProperty___module(variable
[17])(variable
[17]) /*MMLocalProperty::module*/;
292 /* Register variable[17]: Result */
293 variable
[17] = CALL_abstractmetamodel___MMModule___visibility_for(variable
[0])(variable
[0], variable
[17]) /*MMModule::visibility_for*/;
294 /* Register variable[18]: Result */
295 variable
[18] = CALL_abstractmetamodel___MMGlobalProperty___visibility_level( variable
[16] /*g*/)( variable
[16] /*g*/) /*MMGlobalProperty::visibility_level*/;
296 /* Register variable[17]: Result */
297 variable
[17] = TAG_Bool(UNTAG_Int(variable
[17])<UNTAG_Int(variable
[18]));
298 if (UNTAG_Bool(variable
[17])) { /*if*/
301 /* Register variable[17]: Local variable */
302 /* Register variable[18]: Result */
303 variable
[18] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[13] /*c*/)( variable
[13] /*c*/, variable
[16] /*g*/) /*MMLocalClass::[]*/;
304 variable
[17] = variable
[18];
305 continue_10
: while(0);
306 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*Iterator::next*/;
309 continue_9
: while(0);
310 CALL_abstract_collection___Iterator___next(variable
[11])(variable
[11]) /*ArrayIterator::next*/;
313 /* Register variable[11]: Result */
314 variable
[11] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
315 /* Register variable[11]: Result */
316 variable
[11] = TAG_Bool(UNTAG_Int(variable
[11])>UNTAG_Int( TAG_Int(0)));
317 if (UNTAG_Bool(variable
[11])) { /*if*/
318 exit(UNTAG_Int( TAG_Int(1)));
320 return_label2
: while(false);
321 tracehead
= trace
.prev
;
324 void mmbuilder___MMLocalClass___accept_class_visitor(val_t self
, val_t param0
) {
325 struct trace_t trace
= {NULL
, NULL
, 125, LOCATE_mmbuilder___MMLocalClass___accept_class_visitor
};
327 struct WBT_
**closurevariable
= NULL
;
328 trace
.prev
= tracehead
; tracehead
= &trace
;
329 trace
.file
= LOCATE_mmbuilder
;
330 /* Register variable[0]: Local variable */
332 /* Register variable[1]: Local variable */
333 variable
[1] = param0
;
334 /* Register variable[2]: Method return value and escape marker */
335 return_label11
: while(false);
336 tracehead
= trace
.prev
;
339 void mmbuilder___MMLocalClass___accept_properties_visitor(val_t self
, val_t param0
) {
340 struct trace_t trace
= {NULL
, NULL
, 130, LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor
};
342 struct WBT_
**closurevariable
= NULL
;
343 trace
.prev
= tracehead
; tracehead
= &trace
;
344 trace
.file
= LOCATE_mmbuilder
;
345 /* Register variable[0]: Local variable */
347 /* Register variable[1]: Local variable */
348 variable
[1] = param0
;
349 /* Register variable[2]: Method return value and escape marker */
350 return_label12
: while(false);
351 tracehead
= trace
.prev
;
354 void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t self
, val_t param0
) {
355 struct trace_t trace
= {NULL
, NULL
, 137, LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor
};
357 struct WBT_
**closurevariable
= NULL
;
358 trace
.prev
= tracehead
; tracehead
= &trace
;
359 trace
.file
= LOCATE_mmbuilder
;
360 /* Register variable[0]: Local variable */
362 /* Register variable[1]: Local variable */
363 variable
[1] = param0
;
364 /* Register variable[2]: Method return value and escape marker */
365 /* Register variable[3]: Result */
366 variable
[3] = CALL_syntax_base___MMSrcLocalClass___nodes(variable
[0])(variable
[0]) /*MMSrcLocalClass::nodes*/;
367 /* Register variable[3]: For iterator */
368 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*AbstractArrayRead::iterator*/;
369 while (true) { /*for*/
370 /* Register variable[4]: For 'is_ok' result */
371 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*ArrayIterator::is_ok*/;
372 if (!UNTAG_Bool(variable
[4])) break; /*for*/
373 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
374 /* Register variable[5]: Local variable */
375 variable
[5] = variable
[4];
376 CALL_parser_prod___Visitor___visit( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5] /*n*/) /*Visitor::visit*/;
377 continue_14
: while(0);
378 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*ArrayIterator::next*/;
381 return_label13
: while(false);
382 tracehead
= trace
.prev
;
385 void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t self
, val_t param0
) {
386 struct trace_t trace
= {NULL
, NULL
, 144, LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor
};
388 struct WBT_
**closurevariable
= NULL
;
389 trace
.prev
= tracehead
; tracehead
= &trace
;
390 trace
.file
= LOCATE_mmbuilder
;
391 /* Register variable[0]: Local variable */
393 /* Register variable[1]: Local variable */
394 variable
[1] = param0
;
395 /* Register variable[2]: Method return value and escape marker */
396 /* Register variable[3]: Result */
397 variable
[3] = CALL_syntax_base___MMSrcLocalClass___nodes(variable
[0])(variable
[0]) /*MMSrcLocalClass::nodes*/;
398 /* Register variable[3]: For iterator */
399 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*AbstractArrayRead::iterator*/;
400 while (true) { /*for*/
401 /* Register variable[4]: For 'is_ok' result */
402 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*ArrayIterator::is_ok*/;
403 if (!UNTAG_Bool(variable
[4])) break; /*for*/
404 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
405 /* Register variable[5]: Local variable */
406 variable
[5] = variable
[4];
407 CALL_parser_prod___Visitor___visit( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5] /*n*/) /*Visitor::visit*/;
408 continue_16
: while(0);
409 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*ArrayIterator::next*/;
412 /* Register variable[3]: Result */
413 variable
[3] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(variable
[0])(variable
[0]) /*MMSrcLocalClass::src_local_properties*/;
414 /* Register variable[3]: For iterator */
415 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*MapRead::iterator*/;
416 while (true) { /*for*/
417 /* Register variable[4]: For 'is_ok' result */
418 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*Iterator::is_ok*/;
419 if (!UNTAG_Bool(variable
[4])) break; /*for*/
420 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*Iterator::item*/ /* Ensure var: For item*/;
421 /* Register variable[5]: Local variable */
422 variable
[5] = variable
[4];
423 CALL_mmbuilder___MMLocalProperty___accept_property_visitor( variable
[5] /*p*/)( variable
[5] /*p*/, variable
[1] /*v*/) /*MMLocalProperty::accept_property_visitor*/;
424 continue_17
: while(0);
425 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*Iterator::next*/;
428 return_label15
: while(false);
429 tracehead
= trace
.prev
;
432 void mmbuilder___MMSrcLocalClass___process_default_constructors(val_t self
, val_t param0
) {
433 struct trace_t trace
= {NULL
, NULL
, 156, LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
};
434 static val_t once_value_22
; static int once_bool_22
; /* Once value for variable[9]*/
435 static val_t once_value_23
= NIT_NULL
; /* Once value for string variable[9]*/
436 static val_t once_value_26
= NIT_NULL
; /* Once value for string variable[10]*/
437 static val_t once_value_27
= NIT_NULL
; /* Once value for string variable[10]*/
438 static val_t once_value_28
= NIT_NULL
; /* Once value for string variable[10]*/
439 static val_t once_value_29
= NIT_NULL
; /* Once value for string variable[10]*/
440 static val_t once_value_30
= NIT_NULL
; /* Once value for string variable[10]*/
441 static val_t once_value_31
= NIT_NULL
; /* Once value for string variable[10]*/
443 struct WBT_
**closurevariable
= NULL
;
444 trace
.prev
= tracehead
; tracehead
= &trace
;
445 trace
.file
= LOCATE_mmbuilder
;
446 /* Register variable[0]: Local variable */
448 /* Register variable[1]: Local variable */
449 variable
[1] = param0
;
450 /* Register variable[2]: Method return value and escape marker */
451 /* Register variable[3]: Result */
452 variable
[3] = CALL_abstractmetamodel___MMLocalClass___global_properties(variable
[0])(variable
[0]) /*MMLocalClass::global_properties*/;
453 /* Register variable[3]: For iterator */
454 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*Collection::iterator*/;
455 while (true) { /*for*/
456 /* Register variable[4]: For 'is_ok' result */
457 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*Iterator::is_ok*/;
458 if (!UNTAG_Bool(variable
[4])) break; /*for*/
459 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*Iterator::item*/ /* Ensure var: For item*/;
460 /* Register variable[5]: Local variable */
461 variable
[5] = variable
[4];
462 /* Register variable[6]: Result */
463 variable
[6] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[5] /*gp*/)( variable
[5] /*gp*/) /*MMGlobalProperty::is_init*/;
464 if (UNTAG_Bool(variable
[6])) { /*if*/
465 /* Register variable[6]: Result */
466 variable
[6] = CALL_abstractmetamodel___MMGlobalProperty___intro( variable
[5] /*gp*/)( variable
[5] /*gp*/) /*MMGlobalProperty::intro*/;
467 /* Register variable[6]: Result */
468 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[6])(variable
[6]) /*MMLocalProperty::local_class*/;
469 /* Register variable[6]: Result */
470 variable
[6] = TAG_Bool((variable
[6] == variable
[0]) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6],variable
[0])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], variable
[0]) /*Object::==*/)))));
471 if (UNTAG_Bool(variable
[6])) { /*if*/
475 continue_19
: while(0);
476 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*Iterator::next*/;
479 /* Register variable[3]: Local variable */
480 /* Register variable[4]: Result */
481 variable
[4] = NEW_ArraySet_array___ArraySet___init() /*new ArraySet[MMLocalProperty]*/;
482 variable
[3] = variable
[4];
483 /* Register variable[4]: Local variable */
484 /* Register variable[5]: Result */
485 variable
[5] = NEW_ArraySet_array___ArraySet___init() /*new ArraySet[MMGlobalProperty]*/;
486 variable
[4] = variable
[5];
487 /* Register variable[5]: Result */
488 variable
[5] = CALL_abstractmetamodel___MMLocalClass___che(variable
[0])(variable
[0]) /*MMLocalClass::che*/;
489 /* Register variable[5]: Result */
490 variable
[5] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[5])(variable
[5]) /*PartialOrderElement::direct_greaters*/;
491 /* Register variable[5]: For iterator */
492 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*AbstractArrayRead::iterator*/;
493 while (true) { /*for*/
494 /* Register variable[6]: For 'is_ok' result */
495 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
496 if (!UNTAG_Bool(variable
[6])) break; /*for*/
497 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
498 /* Register variable[7]: Local variable */
499 variable
[7] = variable
[6];
500 /* Register variable[8]: Result */
501 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global( variable
[7] /*sc*/)( variable
[7] /*sc*/) /*MMLocalClass::global*/;
502 /* Register variable[8]: Result */
503 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal(variable
[8])(variable
[8]) /*MMGlobalClass::is_universal*/;
504 /* Ensure var variable[8]: Left 'or' operand*/
505 if (!UNTAG_Bool(variable
[8])) { /* or */
506 /* Register variable[8]: Result */
507 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global( variable
[7] /*sc*/)( variable
[7] /*sc*/) /*MMLocalClass::global*/;
508 /* Register variable[8]: Result */
509 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface(variable
[8])(variable
[8]) /*MMGlobalClass::is_interface*/;
511 /* Register variable[8]: Result */
512 if (UNTAG_Bool(variable
[8])) { /*if*/
515 /* Register variable[8]: Result */
516 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global_properties( variable
[7] /*sc*/)( variable
[7] /*sc*/) /*MMLocalClass::global_properties*/;
517 /* Register variable[8]: For iterator */
518 variable
[8] = CALL_abstract_collection___Collection___iterator(variable
[8])(variable
[8]) /*Collection::iterator*/;
519 while (true) { /*for*/
520 /* Register variable[9]: For 'is_ok' result */
521 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*Iterator::is_ok*/;
522 if (!UNTAG_Bool(variable
[9])) break; /*for*/
523 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*Iterator::item*/ /* Ensure var: For item*/;
524 /* Register variable[10]: Local variable */
525 variable
[10] = variable
[9];
526 /* Register variable[11]: Result */
527 variable
[11] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[10] /*gp*/)( variable
[10] /*gp*/) /*MMGlobalProperty::is_init*/;
528 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[11])))) { /*if*/
531 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*super_constructors*/)( variable
[4] /*super_constructors*/, variable
[10] /*gp*/) /*ArraySet::add*/;
532 continue_21
: while(0);
533 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*Iterator::next*/;
536 /* Register variable[8]: Local variable */
537 /* Register variable[9]: Once expression result */
538 if (once_bool_22
) variable
[9] = once_value_22
;
540 /* Register variable[9]: Once String constant */
541 if (once_value_23
!= NIT_NULL
) variable
[9] = once_value_23
;
543 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)) /*new String*/;
544 once_value_23
= variable
[9];
546 /* Register variable[9]: Result */
547 /* Register variable[9]: Result */
548 variable
[9] = CALL_symbol___String___to_symbol(variable
[9])(variable
[9]) /*String::to_symbol*/;
549 once_value_22
= variable
[9];
552 /* Register variable[9]: Result */
553 variable
[8] = variable
[9];
554 /* Register variable[9]: Result */
555 variable
[9] = CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name( variable
[7] /*sc*/)( variable
[7] /*sc*/, variable
[8] /*initname*/) /*MMLocalClass::has_global_property_by_name*/;
556 if (UNTAG_Bool(variable
[9])) { /*if*/
557 /* Register variable[9]: Local variable */
558 /* Register variable[10]: Result */
559 variable
[10] = CALL_abstractmetamodel___MMLocalClass___get_property_by_name( variable
[7] /*sc*/)( variable
[7] /*sc*/, variable
[8] /*initname*/) /*MMLocalClass::get_property_by_name*/;
560 variable
[9] = variable
[10];
561 /* Register variable[10]: Result */
562 variable
[10] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[0])(variable
[0], variable
[9] /*gp*/) /*MMLocalClass::[]*/;
563 CALL_abstract_collection___SimpleCollection___add( variable
[3] /*super_inits*/)( variable
[3] /*super_inits*/, variable
[10]) /*ArraySet::add*/;
565 continue_20
: while(0);
566 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
569 /* Register variable[5]: Local variable */
570 /* Register variable[6]: Result */
571 variable
[6] = NEW_Array_array___Array___init() /*new Array[MMSrcAttribute]*/;
572 variable
[5] = variable
[6];
573 /* Register variable[6]: Result */
574 variable
[6] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(variable
[0])(variable
[0]) /*MMSrcLocalClass::src_local_properties*/;
575 /* Register variable[6]: For iterator */
576 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*MapRead::iterator*/;
577 while (true) { /*for*/
578 /* Register variable[7]: For 'is_ok' result */
579 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
580 if (!UNTAG_Bool(variable
[7])) break; /*for*/
581 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/ /* Ensure var: For item*/;
582 /* Register variable[8]: Local variable */
583 variable
[8] = variable
[7];
584 /* Register variable[9]: Result */
585 variable
[9] = TAG_Bool(( variable
[8] /*a*/==NIT_NULL
) || VAL_ISA( variable
[8] /*a*/, COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
586 if (UNTAG_Bool(variable
[9])) { /*if*/
587 /* Register variable[9]: Local variable */
588 /* Register variable[10]: Result */
589 variable
[10] = CALL_syntax_base___MMLocalProperty___node( variable
[8] /*a*/)( variable
[8] /*a*/) /*MMSrcAttribute::node*/;
590 variable
[9] = variable
[10];
591 /* Register variable[10]: Result */
592 variable
[10] = TAG_Bool(( variable
[9] /*n*/==NIT_NULL
) || VAL_ISA( variable
[9] /*n*/, COLOR_AAttrPropdef
, ID_AAttrPropdef
)) /*cast AAttrPropdef*/;
593 if (!UNTAG_Bool(variable
[10])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
, LOCATE_mmbuilder
, 188); nit_exit(1);}
594 /* Register variable[10]: Result */
595 variable
[10] = CALL_parser_nodes___AAttrPropdef___n_expr( variable
[9] /*n*/)( variable
[9] /*n*/) /*AAttrPropdef::n_expr*/;
596 /* Register variable[10]: Result */
597 variable
[10] = TAG_Bool((variable
[10] == NIT_NULL
/*null*/) || ((variable
[10] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[10])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[10], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[10])(variable
[10], NIT_NULL
/*null*/) /*Object::==*/)))));
598 if (UNTAG_Bool(variable
[10])) { /*if*/
599 CALL_abstract_collection___SimpleCollection___add( variable
[5] /*unassigned_attributes*/)( variable
[5] /*unassigned_attributes*/, variable
[8] /*a*/) /*AbstractArray::add*/;
602 continue_24
: while(0);
603 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
606 /* Register variable[6]: Result */
607 variable
[6] = CALL_abstract_collection___Collection___is_empty( variable
[4] /*super_constructors*/)( variable
[4] /*super_constructors*/) /*ArraySet::is_empty*/;
608 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[6])))) { /*if*/
609 /* Register variable[6]: Local variable */
610 /* Register variable[7]: Result */
611 variable
[7] = NEW_Array_array___Array___init() /*new Array[MMLocalClass]*/;
612 variable
[6] = variable
[7];
613 /* Register variable[7]: For iterator */
614 variable
[7] = CALL_abstract_collection___Collection___iterator( variable
[4] /*super_constructors*/)( variable
[4] /*super_constructors*/) /*ArraySet::iterator*/;
615 while (true) { /*for*/
616 /* Register variable[8]: For 'is_ok' result */
617 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*Iterator::is_ok*/;
618 if (!UNTAG_Bool(variable
[8])) break; /*for*/
619 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*Iterator::item*/ /* Ensure var: For item*/;
620 /* Register variable[9]: Local variable */
621 variable
[9] = variable
[8];
622 /* Register variable[10]: Local variable */
623 /* Register variable[11]: Result */
624 variable
[11] = CALL_abstractmetamodel___MMGlobalProperty___local_class( variable
[9] /*gp*/)( variable
[9] /*gp*/) /*MMGlobalProperty::local_class*/;
625 variable
[10] = variable
[11];
626 /* Register variable[11]: Result */
627 variable
[11] = CALL_abstract_collection___Collection___has( variable
[6] /*supers*/)( variable
[6] /*supers*/, variable
[10] /*sc*/) /*AbstractArrayRead::has*/;
628 if (UNTAG_Bool(variable
[11])) { /*if*/
631 /* Register variable[11]: Result */
632 variable
[11] = CALL_abstractmetamodel___MMLocalClass___global( variable
[10] /*sc*/)( variable
[10] /*sc*/) /*MMLocalClass::global*/;
633 /* Register variable[11]: Result */
634 variable
[11] = CALL_abstractmetamodel___MMGlobalClass___is_mixin(variable
[11])(variable
[11]) /*MMGlobalClass::is_mixin*/;
635 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[11])))) { /*if*/
636 CALL_abstract_collection___SimpleCollection___add( variable
[6] /*supers*/)( variable
[6] /*supers*/, variable
[10] /*sc*/) /*AbstractArray::add*/;
638 continue_25
: while(0);
639 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*Iterator::next*/;
642 /* Register variable[7]: Result */
643 variable
[7] = CALL_abstractmetamodel___MMLocalClass___che(variable
[0])(variable
[0]) /*MMLocalClass::che*/;
644 /* Register variable[7]: Result */
645 variable
[7] = CALL_partial_order___PartialOrderElement___order(variable
[7])(variable
[7]) /*PartialOrderElement::order*/;
646 /* Register variable[7]: Result */
647 variable
[7] = CALL_partial_order___PartialOrder___select_smallests(variable
[7])(variable
[7], variable
[6] /*supers*/) /*PartialOrder::select_smallests*/;
648 variable
[6] = variable
[7] /*supers=*/;
649 /* Register variable[7]: Local variable */
650 variable
[7] = NIT_NULL
/*null*/;
651 /* Register variable[8]: Result */
652 variable
[8] = CALL_abstract_collection___Collection___length( variable
[6] /*supers*/)( variable
[6] /*supers*/) /*AbstractArrayRead::length*/;
653 /* Register variable[8]: Result */
654 variable
[8] = TAG_Bool(UNTAG_Int(variable
[8])>UNTAG_Int( TAG_Int(1)));
655 if (UNTAG_Bool(variable
[8])) { /*if*/
656 /* Register variable[8]: Result */
657 variable
[8] = CALL_syntax_base___MMSrcLocalClass___nodes(variable
[0])(variable
[0]) /*MMSrcLocalClass::nodes*/;
658 /* Register variable[8]: Result */
659 variable
[8] = CALL_abstract_collection___Collection___first(variable
[8])(variable
[8]) /*IndexedCollectionRead::first*/;
660 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
661 /* Register variable[10]: Once String constant */
662 if (once_value_26
!= NIT_NULL
) variable
[10] = once_value_26
;
664 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: Explicit constructor required in "), TAG_Int(40)) /*new String*/;
665 once_value_26
= variable
[10];
667 /* Register variable[10]: Result */
668 /* Ensure var variable[10]: super-string element*/
669 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
670 /* Ensure var variable[0]: super-string element*/
671 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], CALL_string___Object___to_s(variable
[0])(variable
[0]) /*Object::to_s*/) /*AbstractArray::add*/;
672 /* Register variable[10]: Once String constant */
673 if (once_value_27
!= NIT_NULL
) variable
[10] = once_value_27
;
675 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are "), TAG_Int(80)) /*new String*/;
676 once_value_27
= variable
[10];
678 /* Register variable[10]: Result */
679 /* Ensure var variable[10]: super-string element*/
680 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
681 /* Register variable[10]: Once String constant */
682 if (once_value_28
!= NIT_NULL
) variable
[10] = once_value_28
;
684 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
685 once_value_28
= variable
[10];
687 /* Register variable[10]: Result */
688 /* Register variable[10]: Result */
689 variable
[10] = CALL_string___Collection___join( variable
[6] /*supers*/)( variable
[6] /*supers*/, variable
[10]) /*Collection::join*/;
690 /* Ensure var variable[10]: super-string element*/
691 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
692 /* Register variable[10]: Once String constant */
693 if (once_value_29
!= NIT_NULL
) variable
[10] = once_value_29
;
695 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(". Costructors are "), TAG_Int(18)) /*new String*/;
696 once_value_29
= variable
[10];
698 /* Register variable[10]: Result */
699 /* Ensure var variable[10]: super-string element*/
700 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
701 /* Register variable[10]: Once String constant */
702 if (once_value_30
!= NIT_NULL
) variable
[10] = once_value_30
;
704 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
705 once_value_30
= variable
[10];
707 /* Register variable[10]: Result */
708 /* Register variable[10]: Result */
709 variable
[10] = CALL_string___Collection___join( variable
[4] /*super_constructors*/)( variable
[4] /*super_constructors*/, variable
[10]) /*Collection::join*/;
710 /* Ensure var variable[10]: super-string element*/
711 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
712 /* Register variable[10]: Once String constant */
713 if (once_value_31
!= NIT_NULL
) variable
[10] = once_value_31
;
715 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
716 once_value_31
= variable
[10];
718 /* Register variable[10]: Result */
719 /* Ensure var variable[10]: super-string element*/
720 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
721 /* Register variable[9]: Result */
722 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
723 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
726 /* Register variable[8]: Result */
727 variable
[8] = CALL_abstract_collection___Collection___length( variable
[6] /*supers*/)( variable
[6] /*supers*/) /*AbstractArrayRead::length*/;
728 /* Register variable[8]: Result */
729 variable
[8] = TAG_Bool((variable
[8])==( TAG_Int(1)));
730 if (UNTAG_Bool(variable
[8])) { /*if*/
731 /* Register variable[8]: Result */
732 variable
[8] = CALL_abstract_collection___Collection___first( variable
[6] /*supers*/)( variable
[6] /*supers*/) /*IndexedCollectionRead::first*/;
733 variable
[7] = variable
[8] /*superclass=*/;
736 /* Register variable[8]: For iterator */
737 variable
[8] = CALL_abstract_collection___Collection___iterator( variable
[4] /*super_constructors*/)( variable
[4] /*super_constructors*/) /*ArraySet::iterator*/;
738 while (true) { /*for*/
739 /* Register variable[9]: For 'is_ok' result */
740 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*Iterator::is_ok*/;
741 if (!UNTAG_Bool(variable
[9])) break; /*for*/
742 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*Iterator::item*/ /* Ensure var: For item*/;
743 /* Register variable[10]: Local variable */
744 variable
[10] = variable
[9];
745 /* Register variable[11]: Result */
746 variable
[11] = TAG_Bool(( variable
[7] /*superclass*/ == NIT_NULL
/*null*/) || (( variable
[7] /*superclass*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[7] /*superclass*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[7] /*superclass*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[7] /*superclass*/)( variable
[7] /*superclass*/, NIT_NULL
/*null*/) /*Object::==*/)))));
747 /* Ensure var variable[11]: Left 'or' operand*/
748 if (!UNTAG_Bool(variable
[11])) { /* or */
749 /* Register variable[11]: Result */
750 variable
[11] = CALL_abstractmetamodel___MMGlobalProperty___local_class( variable
[10] /*gp*/)( variable
[10] /*gp*/) /*MMGlobalProperty::local_class*/;
751 /* Register variable[11]: Result */
752 variable
[11] = TAG_Bool((variable
[11] == variable
[7] /*superclass*/) || ((variable
[11] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[11])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[11], variable
[7] /*superclass*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[11])(variable
[11], variable
[7] /*superclass*/) /*Object::==*/)))));
754 /* Register variable[11]: Result */
755 if (UNTAG_Bool(variable
[11])) { /*if*/
756 CALL_inheritance___MMLocalClass___make_visible_an_inherited_global_property(variable
[0])(variable
[0], variable
[10] /*gp*/) /*MMLocalClass::make_visible_an_inherited_global_property*/;
758 continue_32
: while(0);
759 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*Iterator::next*/;
762 /* Register variable[8]: Result */
763 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global(variable
[0])(variable
[0]) /*MMLocalClass::global*/;
764 /* Register variable[9]: Result */
765 variable
[9] = CALL_abstractmetamodel___MMLocalClass___global( variable
[7] /*superclass*/)( variable
[7] /*superclass*/) /*MMLocalClass::global*/;
766 CALL_abstractmetamodel___MMGlobalClass___mixin_of__eq(variable
[8])(variable
[8], variable
[9]) /*MMGlobalClass::mixin_of=*/;
768 /* Register variable[6]: Local variable */
769 /* Register variable[7]: Result */
770 variable
[7] = CALL_array___Collection___to_a( variable
[3] /*super_inits*/)( variable
[3] /*super_inits*/) /*Collection::to_a*/;
771 /* Register variable[7]: Result */
772 variable
[7] = NEW_MMImplicitInit_syntax_base___MMImplicitInit___init(variable
[0], variable
[5] /*unassigned_attributes*/, variable
[7]) /*new MMImplicitInit*/;
773 variable
[6] = variable
[7];
774 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[0])(variable
[0], variable
[1] /*v*/, variable
[6] /*p*/) /*MMSrcLocalClass::add_src_local_property*/;
776 return_label18
: while(false);
777 tracehead
= trace
.prev
;
780 void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t self
, val_t param0
, val_t param1
) {
781 struct trace_t trace
= {NULL
, NULL
, 233, LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property
};
782 static val_t once_value_34
= NIT_NULL
; /* Once value for string variable[7]*/
783 static val_t once_value_35
= NIT_NULL
; /* Once value for string variable[7]*/
784 static val_t once_value_36
= NIT_NULL
; /* Once value for string variable[7]*/
785 static val_t once_value_37
= NIT_NULL
; /* Once value for string variable[8]*/
786 static val_t once_value_38
= NIT_NULL
; /* Once value for string variable[8]*/
787 static val_t once_value_39
= NIT_NULL
; /* Once value for string variable[8]*/
788 static val_t once_value_40
= NIT_NULL
; /* Once value for string variable[8]*/
790 struct WBT_
**closurevariable
= NULL
;
791 trace
.prev
= tracehead
; tracehead
= &trace
;
792 trace
.file
= LOCATE_mmbuilder
;
793 /* Register variable[0]: Local variable */
795 /* Register variable[1]: Local variable */
796 variable
[1] = param0
;
797 /* Register variable[2]: Local variable */
798 variable
[2] = param1
;
799 /* Register variable[3]: Method return value and escape marker */
800 /* Register variable[4]: Local variable */
801 /* Register variable[5]: Result */
802 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___name( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::name*/;
803 variable
[4] = variable
[5];
804 /* Register variable[5]: Result */
805 variable
[5] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(variable
[0])(variable
[0]) /*MMSrcLocalClass::src_local_properties*/;
806 /* Register variable[5]: Result */
807 variable
[5] = CALL_abstract_collection___MapRead___has_key(variable
[5])(variable
[5], variable
[4] /*pname*/) /*MapRead::has_key*/;
808 if (UNTAG_Bool(variable
[5])) { /*if*/
809 /* Register variable[5]: Result */
810 variable
[5] = CALL_syntax_base___MMLocalProperty___node( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::node*/;
811 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
812 /* Register variable[7]: Once String constant */
813 if (once_value_34
!= NIT_NULL
) variable
[7] = once_value_34
;
815 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("Error: A property "), TAG_Int(18)) /*new String*/;
816 once_value_34
= variable
[7];
818 /* Register variable[7]: Result */
819 /* Ensure var variable[7]: super-string element*/
820 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
821 variable
[7] = variable
[4] /*pname*/ /* Ensure var: super-string element*/;
822 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
823 /* Register variable[7]: Once String constant */
824 if (once_value_35
!= NIT_NULL
) variable
[7] = once_value_35
;
826 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(" is already defined in class "), TAG_Int(29)) /*new String*/;
827 once_value_35
= variable
[7];
829 /* Register variable[7]: Result */
830 /* Ensure var variable[7]: super-string element*/
831 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
832 /* Register variable[7]: Result */
833 variable
[7] = CALL_abstractmetamodel___MMLocalClass___name(variable
[0])(variable
[0]) /*MMLocalClass::name*/;
834 /* Ensure var variable[7]: super-string element*/
835 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
836 /* Register variable[7]: Once String constant */
837 if (once_value_36
!= NIT_NULL
) variable
[7] = once_value_36
;
839 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
840 once_value_36
= variable
[7];
842 /* Register variable[7]: Result */
843 /* Ensure var variable[7]: super-string element*/
844 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
845 /* Register variable[6]: Result */
846 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
847 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5], variable
[6]) /*AbsSyntaxVisitor::error*/;
850 /* Register variable[5]: Result */
851 variable
[5] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(variable
[0])(variable
[0]) /*MMSrcLocalClass::src_local_properties*/;
852 CALL_abstract_collection___Map_____braeq(variable
[5])(variable
[5], variable
[4] /*pname*/, variable
[2] /*prop*/) /*Map::[]=*/;
853 /* Register variable[5]: Result */
854 variable
[5] = CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(variable
[0])(variable
[0], variable
[4] /*pname*/) /*MMLocalClass::has_global_property_by_name*/;
855 if (UNTAG_Bool(variable
[5])) { /*if*/
856 /* Register variable[5]: Local variable */
857 /* Register variable[6]: Result */
858 variable
[6] = CALL_abstractmetamodel___MMLocalClass___properties_by_name(variable
[0])(variable
[0]) /*MMLocalClass::properties_by_name*/;
859 /* Register variable[6]: Result */
860 variable
[6] = CALL_abstract_collection___MapRead_____bra(variable
[6])(variable
[6], variable
[4] /*pname*/) /*MapRead::[]*/;
861 variable
[5] = variable
[6];
862 /* Register variable[6]: Result */
863 variable
[6] = CALL_abstract_collection___Collection___length( variable
[5] /*globs*/)( variable
[5] /*globs*/) /*AbstractArrayRead::length*/;
864 /* Register variable[6]: Result */
865 variable
[6] = TAG_Bool(UNTAG_Int(variable
[6])>UNTAG_Int( TAG_Int(1)));
866 if (UNTAG_Bool(variable
[6])) { /*if*/
867 /* Register variable[6]: Result */
868 variable
[6] = CALL_syntax_base___MMLocalProperty___node( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::node*/;
869 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
870 /* Register variable[8]: Once String constant */
871 if (once_value_37
!= NIT_NULL
) variable
[8] = once_value_37
;
873 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Name error: "), TAG_Int(12)) /*new String*/;
874 once_value_37
= variable
[8];
876 /* Register variable[8]: Result */
877 /* Ensure var variable[8]: super-string element*/
878 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
879 /* Ensure var variable[0]: super-string element*/
880 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[0])(variable
[0]) /*Object::to_s*/) /*AbstractArray::add*/;
881 /* Register variable[8]: Once String constant */
882 if (once_value_38
!= NIT_NULL
) variable
[8] = once_value_38
;
884 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" inherits "), TAG_Int(10)) /*new String*/;
885 once_value_38
= variable
[8];
887 /* Register variable[8]: Result */
888 /* Ensure var variable[8]: super-string element*/
889 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
890 /* Register variable[8]: Result */
891 variable
[8] = CALL_abstract_collection___Collection___length( variable
[5] /*globs*/)( variable
[5] /*globs*/) /*AbstractArrayRead::length*/;
892 /* Ensure var variable[8]: super-string element*/
893 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
894 /* Register variable[8]: Once String constant */
895 if (once_value_39
!= NIT_NULL
) variable
[8] = once_value_39
;
897 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" global properties named "), TAG_Int(25)) /*new String*/;
898 once_value_39
= variable
[8];
900 /* Register variable[8]: Result */
901 /* Ensure var variable[8]: super-string element*/
902 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
903 variable
[8] = variable
[4] /*pname*/ /* Ensure var: super-string element*/;
904 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
905 /* Register variable[8]: Once String constant */
906 if (once_value_40
!= NIT_NULL
) variable
[8] = once_value_40
;
908 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
909 once_value_40
= variable
[8];
911 /* Register variable[8]: Result */
912 /* Ensure var variable[8]: super-string element*/
913 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
914 /* Register variable[7]: Result */
915 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
916 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6], variable
[7]) /*AbsSyntaxVisitor::error*/;
918 /* Register variable[6]: Local variable */
919 /* Register variable[7]: Result */
920 variable
[7] = CALL_abstract_collection___Collection___first( variable
[5] /*globs*/)( variable
[5] /*globs*/) /*IndexedCollectionRead::first*/;
921 variable
[6] = variable
[7];
922 CALL_inheritance___MMLocalProperty___inherit_global( variable
[2] /*prop*/)( variable
[2] /*prop*/, variable
[6] /*g*/) /*MMLocalProperty::inherit_global*/;
924 /* Register variable[5]: Result */
925 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
926 /* Register variable[5]: Result */
927 variable
[5] = TAG_Bool((variable
[5] == NIT_NULL
/*null*/) || ((variable
[5] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[5])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[5], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[5])(variable
[5], NIT_NULL
/*null*/) /*Object::==*/)))));
928 if (UNTAG_Bool(variable
[5])) { /*if*/
929 CALL_abstractmetamodel___MMLocalProperty___new_global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::new_global*/;
930 /* Register variable[5]: Result */
931 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
932 /* Register variable[6]: Result */
933 variable
[6] = CALL_syntax_base___MMLocalProperty___is_init( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::is_init*/;
934 CALL_abstractmetamodel___MMGlobalProperty___is_init__eq(variable
[5])(variable
[5], variable
[6]) /*MMGlobalProperty::is_init=*/;
936 return_label33
: while(false);
937 tracehead
= trace
.prev
;
940 void mmbuilder___MMLocalProperty___accept_property_visitor(val_t self
, val_t param0
) {
941 struct trace_t trace
= {NULL
, NULL
, 263, LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor
};
943 struct WBT_
**closurevariable
= NULL
;
944 trace
.prev
= tracehead
; tracehead
= &trace
;
945 trace
.file
= LOCATE_mmbuilder
;
946 /* Register variable[0]: Local variable */
948 /* Register variable[1]: Local variable */
949 variable
[1] = param0
;
950 /* Register variable[2]: Method return value and escape marker */
951 return_label41
: while(false);
952 tracehead
= trace
.prev
;
955 void mmbuilder___MMImplicitInit___accept_property_visitor(val_t self
, val_t param0
) {
956 struct trace_t trace
= {NULL
, NULL
, 270, LOCATE_mmbuilder___MMImplicitInit___accept_property_visitor
};
957 static val_t once_value_44
= NIT_NULL
; /* Once value for string variable[8]*/
958 static val_t once_value_45
= NIT_NULL
; /* Once value for string variable[8]*/
959 static val_t once_value_46
= NIT_NULL
; /* Once value for string variable[8]*/
960 static val_t once_value_47
= NIT_NULL
; /* Once value for string variable[8]*/
962 struct WBT_
**closurevariable
= NULL
;
963 trace
.prev
= tracehead
; tracehead
= &trace
;
964 trace
.file
= LOCATE_mmbuilder
;
965 /* Register variable[0]: Local variable */
967 /* Register variable[1]: Local variable */
968 variable
[1] = param0
;
969 /* Register variable[2]: Method return value and escape marker */
970 /* Register variable[3]: Local variable */
971 variable
[3] = NIT_NULL
/*null*/;
972 /* Register variable[4]: Result */
973 variable
[4] = CALL_syntax_base___MMImplicitInit___super_inits(variable
[0])(variable
[0]) /*MMImplicitInit::super_inits*/;
974 /* Register variable[4]: For iterator */
975 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArrayRead::iterator*/;
976 while (true) { /*for*/
977 /* Register variable[5]: For 'is_ok' result */
978 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
979 if (!UNTAG_Bool(variable
[5])) break; /*for*/
980 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
981 /* Register variable[6]: Local variable */
982 variable
[6] = variable
[5];
983 /* Register variable[7]: Result */
984 variable
[7] = CALL_static_type___MMLocalProperty___signature( variable
[6] /*p*/)( variable
[6] /*p*/) /*MMLocalProperty::signature*/;
985 /* Register variable[7]: Result */
986 variable
[7] = CALL_static_type___MMSignature___arity(variable
[7])(variable
[7]) /*MMSignature::arity*/;
987 /* Register variable[7]: Result */
988 variable
[7] = TAG_Bool(UNTAG_Int(variable
[7])>UNTAG_Int( TAG_Int(0)));
989 if (UNTAG_Bool(variable
[7])) { /*if*/
990 /* Register variable[7]: Result */
991 variable
[7] = TAG_Bool(( variable
[3] /*base*/ == NIT_NULL
/*null*/) || (( variable
[3] /*base*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*base*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*base*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*base*/)( variable
[3] /*base*/, NIT_NULL
/*null*/) /*Object::==*/)))));
992 if (UNTAG_Bool(variable
[7])) { /*if*/
993 variable
[3] = variable
[6] /*p*/ /*base=*/;
995 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
996 /* Register variable[8]: Once String constant */
997 if (once_value_44
!= NIT_NULL
) variable
[8] = once_value_44
;
999 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Error: explicit constructor needed in "), TAG_Int(38)) /*new String*/;
1000 once_value_44
= variable
[8];
1002 /* Register variable[8]: Result */
1003 /* Ensure var variable[8]: super-string element*/
1004 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1005 /* Register variable[8]: Result */
1006 variable
[8] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[0])(variable
[0]) /*MMLocalProperty::local_class*/;
1007 /* Ensure var variable[8]: super-string element*/
1008 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
1009 /* Register variable[8]: Once String constant */
1010 if (once_value_45
!= NIT_NULL
) variable
[8] = once_value_45
;
1012 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" since both super-constructor "), TAG_Int(30)) /*new String*/;
1013 once_value_45
= variable
[8];
1015 /* Register variable[8]: Result */
1016 /* Ensure var variable[8]: super-string element*/
1017 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1018 /* Register variable[8]: Result */
1019 variable
[8] = CALL_abstractmetamodel___MMLocalProperty___full_name( variable
[3] /*base*/)( variable
[3] /*base*/) /*MMLocalProperty::full_name*/;
1020 /* Ensure var variable[8]: super-string element*/
1021 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1022 /* Register variable[8]: Once String constant */
1023 if (once_value_46
!= NIT_NULL
) variable
[8] = once_value_46
;
1025 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)) /*new String*/;
1026 once_value_46
= variable
[8];
1028 /* Register variable[8]: Result */
1029 /* Ensure var variable[8]: super-string element*/
1030 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1031 /* Register variable[8]: Result */
1032 variable
[8] = CALL_abstractmetamodel___MMLocalProperty___full_name( variable
[6] /*p*/)( variable
[6] /*p*/) /*MMLocalProperty::full_name*/;
1033 /* Ensure var variable[8]: super-string element*/
1034 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1035 /* Register variable[8]: Once String constant */
1036 if (once_value_47
!= NIT_NULL
) variable
[8] = once_value_47
;
1038 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" have paramters"), TAG_Int(15)) /*new String*/;
1039 once_value_47
= variable
[8];
1041 /* Register variable[8]: Result */
1042 /* Ensure var variable[8]: super-string element*/
1043 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1044 /* Register variable[7]: Result */
1045 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1046 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/, variable
[7]) /*AbsSyntaxVisitor::error*/;
1047 goto return_label42
;
1050 continue_43
: while(0);
1051 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
1054 ATTR_mmbuilder___MMImplicitInit____super_init(variable
[0]) /*MMImplicitInit::_super_init*/ = variable
[3] /*base*/;
1055 /* Register variable[4]: Local variable */
1056 /* Register variable[5]: Result */
1057 variable
[5] = NEW_Array_array___Array___init() /*new Array[MMType]*/;
1058 variable
[4] = variable
[5];
1059 /* Register variable[5]: Result */
1060 variable
[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[3] /*base*/ == NIT_NULL
/*null*/) || (( variable
[3] /*base*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*base*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*base*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*base*/)( variable
[3] /*base*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1061 if (UNTAG_Bool(variable
[5])) { /*if*/
1062 /* Register variable[5]: Local variable */
1063 /* Register variable[6]: Result */
1064 variable
[6] = CALL_static_type___MMLocalProperty___signature( variable
[3] /*base*/)( variable
[3] /*base*/) /*MMLocalProperty::signature*/;
1065 variable
[5] = variable
[6];
1066 /* Register variable[6]: Result */
1067 variable
[6] = CALL_static_type___MMSignature___arity( variable
[5] /*sig*/)( variable
[5] /*sig*/) /*MMSignature::arity*/;
1068 /* Register variable[6]: Result */
1069 variable
[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[6]) /*new Range[Int]*/;
1070 /* Register variable[6]: For iterator */
1071 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*Range::iterator*/;
1072 while (true) { /*for*/
1073 /* Register variable[7]: For 'is_ok' result */
1074 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
1075 if (!UNTAG_Bool(variable
[7])) break; /*for*/
1076 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/ /* Ensure var: For item*/;
1077 /* Register variable[8]: Local variable */
1078 variable
[8] = variable
[7];
1079 /* Register variable[9]: Result */
1080 variable
[9] = CALL_static_type___MMSignature_____bra( variable
[5] /*sig*/)( variable
[5] /*sig*/, variable
[8] /*i*/) /*MMSignature::[]*/;
1081 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*params*/)( variable
[4] /*params*/, variable
[9]) /*AbstractArray::add*/;
1082 continue_48
: while(0);
1083 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
1087 /* Register variable[5]: Result */
1088 variable
[5] = CALL_syntax_base___MMImplicitInit___unassigned_attributes(variable
[0])(variable
[0]) /*MMImplicitInit::unassigned_attributes*/;
1089 /* Register variable[5]: For iterator */
1090 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*AbstractArrayRead::iterator*/;
1091 while (true) { /*for*/
1092 /* Register variable[6]: For 'is_ok' result */
1093 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
1094 if (!UNTAG_Bool(variable
[6])) break; /*for*/
1095 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1096 /* Register variable[7]: Local variable */
1097 variable
[7] = variable
[6];
1098 /* Register variable[8]: Result */
1099 variable
[8] = CALL_static_type___MMLocalProperty___signature( variable
[7] /*a*/)( variable
[7] /*a*/) /*MMLocalProperty::signature*/;
1100 /* Register variable[8]: Result */
1101 variable
[8] = CALL_static_type___MMSignature___return_type(variable
[8])(variable
[8]) /*MMSignature::return_type*/;
1102 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*params*/)( variable
[4] /*params*/, variable
[8]) /*AbstractArray::add*/;
1103 continue_49
: while(0);
1104 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
1107 /* Register variable[5]: Result */
1108 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[0])(variable
[0]) /*MMLocalProperty::local_class*/;
1109 /* Register variable[5]: Result */
1110 variable
[5] = CALL_static_type___MMLocalClass___get_type(variable
[5])(variable
[5]) /*MMLocalClass::get_type*/;
1111 /* Register variable[5]: Result */
1112 variable
[5] = NEW_MMSignature_static_type___MMSignature___init( variable
[4] /*params*/, NIT_NULL
/*null*/, variable
[5]) /*new MMSignature*/;
1113 CALL_static_type___MMLocalProperty___signature__eq(variable
[0])(variable
[0], variable
[5]) /*MMLocalProperty::signature=*/;
1114 return_label42
: while(false);
1115 tracehead
= trace
.prev
;
1118 val_t
mmbuilder___MMImplicitInit___super_init(val_t self
) {
1119 struct trace_t trace
= {NULL
, NULL
, 269, LOCATE_mmbuilder___MMImplicitInit___super_init
};
1120 val_t
*variable
= NULL
;
1121 struct WBT_
**closurevariable
= NULL
;
1122 trace
.prev
= tracehead
; tracehead
= &trace
;
1123 trace
.file
= LOCATE_mmbuilder
;
1124 tracehead
= trace
.prev
;
1125 return ATTR_mmbuilder___MMImplicitInit____super_init( self
) /*MMImplicitInit::_super_init*/;
1127 val_t
mmbuilder___MMSrcAncestor___local_class(val_t self
) {
1128 struct trace_t trace
= {NULL
, NULL
, 305, LOCATE_mmbuilder___MMSrcAncestor___local_class
};
1129 val_t
*variable
= NULL
;
1130 struct WBT_
**closurevariable
= NULL
;
1131 trace
.prev
= tracehead
; tracehead
= &trace
;
1132 trace
.file
= LOCATE_mmbuilder
;
1133 tracehead
= trace
.prev
;
1134 return ATTR_mmbuilder___MMSrcAncestor____local_class( self
) /*MMSrcAncestor::_local_class*/;
1136 val_t
mmbuilder___MMSrcAncestor___node(val_t self
) {
1137 struct trace_t trace
= {NULL
, NULL
, 303, LOCATE_mmbuilder___MMSrcAncestor___node
};
1138 val_t
*variable
= NULL
;
1139 struct WBT_
**closurevariable
= NULL
;
1140 trace
.prev
= tracehead
; tracehead
= &trace
;
1141 trace
.file
= LOCATE_mmbuilder
;
1142 tracehead
= trace
.prev
;
1143 return ATTR_mmbuilder___MMSrcAncestor____node( self
) /*MMSrcAncestor::_node*/;
1145 void mmbuilder___MMSrcAncestor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1146 struct trace_t trace
= {NULL
, NULL
, 307, LOCATE_mmbuilder___MMSrcAncestor___init
};
1148 struct WBT_
**closurevariable
= NULL
;
1149 trace
.prev
= tracehead
; tracehead
= &trace
;
1150 trace
.file
= LOCATE_mmbuilder
;
1151 /* Register variable[0]: Local variable */
1153 /* Register variable[1]: Local variable */
1154 variable
[1] = param0
;
1155 /* Register variable[2]: Local variable */
1156 variable
[2] = param1
;
1157 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcAncestor
].i
]) return;
1158 /* Register variable[3]: Method return value and escape marker */
1159 ATTR_mmbuilder___MMSrcAncestor____node(variable
[0]) /*MMSrcAncestor::_node*/ = variable
[1] /*n*/;
1160 ATTR_mmbuilder___MMSrcAncestor____local_class(variable
[0]) /*MMSrcAncestor::_local_class*/ = variable
[2] /*c*/;
1161 return_label50
: while(false);
1162 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcAncestor
].i
] = 1;
1163 tracehead
= trace
.prev
;
1166 void mmbuilder___ClassBuilderVisitor___visit(val_t self
, val_t param0
) {
1167 struct trace_t trace
= {NULL
, NULL
, 327, LOCATE_mmbuilder___ClassBuilderVisitor___visit
};
1169 struct WBT_
**closurevariable
= NULL
;
1170 trace
.prev
= tracehead
; tracehead
= &trace
;
1171 trace
.file
= LOCATE_mmbuilder
;
1172 /* Register variable[0]: Local variable */
1174 /* Register variable[1]: Local variable */
1175 variable
[1] = param0
;
1176 /* Register variable[2]: Method return value and escape marker */
1177 CALL_mmbuilder___PNode___accept_class_builder( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[0]) /*PNode::accept_class_builder*/;
1178 return_label51
: while(false);
1179 tracehead
= trace
.prev
;
1182 val_t
mmbuilder___ClassBuilderVisitor___local_class_arity(val_t self
) {
1183 struct trace_t trace
= {NULL
, NULL
, 321, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity
};
1184 val_t
*variable
= NULL
;
1185 struct WBT_
**closurevariable
= NULL
;
1186 trace
.prev
= tracehead
; tracehead
= &trace
;
1187 trace
.file
= LOCATE_mmbuilder
;
1188 tracehead
= trace
.prev
;
1189 return ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self
) /*ClassBuilderVisitor::_local_class_arity*/;
1191 void mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t self
, val_t param0
) {
1192 struct trace_t trace
= {NULL
, NULL
, 321, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq
};
1193 val_t
*variable
= NULL
;
1194 struct WBT_
**closurevariable
= NULL
;
1195 trace
.prev
= tracehead
; tracehead
= &trace
;
1196 trace
.file
= LOCATE_mmbuilder
;
1197 ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self
) /*ClassBuilderVisitor::_local_class_arity*/ = param0
;
1198 tracehead
= trace
.prev
;
1201 val_t
mmbuilder___ClassBuilderVisitor___formals(val_t self
) {
1202 struct trace_t trace
= {NULL
, NULL
, 324, LOCATE_mmbuilder___ClassBuilderVisitor___formals
};
1203 val_t
*variable
= NULL
;
1204 struct WBT_
**closurevariable
= NULL
;
1205 trace
.prev
= tracehead
; tracehead
= &trace
;
1206 trace
.file
= LOCATE_mmbuilder
;
1207 tracehead
= trace
.prev
;
1208 return ATTR_mmbuilder___ClassBuilderVisitor____formals( self
) /*ClassBuilderVisitor::_formals*/;
1210 void mmbuilder___ClassBuilderVisitor___formals__eq(val_t self
, val_t param0
) {
1211 struct trace_t trace
= {NULL
, NULL
, 324, LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq
};
1212 val_t
*variable
= NULL
;
1213 struct WBT_
**closurevariable
= NULL
;
1214 trace
.prev
= tracehead
; tracehead
= &trace
;
1215 trace
.file
= LOCATE_mmbuilder
;
1216 ATTR_mmbuilder___ClassBuilderVisitor____formals( self
) /*ClassBuilderVisitor::_formals*/ = param0
;
1217 tracehead
= trace
.prev
;
1220 void mmbuilder___ClassBuilderVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1221 struct trace_t trace
= {NULL
, NULL
, 328, LOCATE_mmbuilder___ClassBuilderVisitor___init
};
1223 struct WBT_
**closurevariable
= NULL
;
1224 trace
.prev
= tracehead
; tracehead
= &trace
;
1225 trace
.file
= LOCATE_mmbuilder
;
1226 /* Register variable[0]: Local variable */
1228 /* Register variable[1]: Local variable */
1229 variable
[1] = param0
;
1230 /* Register variable[2]: Local variable */
1231 variable
[2] = param1
;
1232 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassBuilderVisitor
].i
]) return;
1233 /* Register variable[3]: Method return value and escape marker */
1234 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
1235 return_label52
: while(false);
1236 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassBuilderVisitor
].i
] = 1;
1237 tracehead
= trace
.prev
;
1240 void mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t self
, val_t param0
) {
1241 struct trace_t trace
= {NULL
, NULL
, 335, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit
};
1243 struct WBT_
**closurevariable
= NULL
;
1244 trace
.prev
= tracehead
; tracehead
= &trace
;
1245 trace
.file
= LOCATE_mmbuilder
;
1246 /* Register variable[0]: Local variable */
1248 /* Register variable[1]: Local variable */
1249 variable
[1] = param0
;
1250 /* Register variable[2]: Method return value and escape marker */
1251 CALL_mmbuilder___PNode___accept_class_specialization_builder( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[0]) /*PNode::accept_class_specialization_builder*/;
1252 return_label53
: while(false);
1253 tracehead
= trace
.prev
;
1256 void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1257 struct trace_t trace
= {NULL
, NULL
, 336, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init
};
1259 struct WBT_
**closurevariable
= NULL
;
1260 trace
.prev
= tracehead
; tracehead
= &trace
;
1261 trace
.file
= LOCATE_mmbuilder
;
1262 /* Register variable[0]: Local variable */
1264 /* Register variable[1]: Local variable */
1265 variable
[1] = param0
;
1266 /* Register variable[2]: Local variable */
1267 variable
[2] = param1
;
1268 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassSpecializationBuilderVisitor
].i
]) return;
1269 /* Register variable[3]: Method return value and escape marker */
1270 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
1271 return_label54
: while(false);
1272 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassSpecializationBuilderVisitor
].i
] = 1;
1273 tracehead
= trace
.prev
;
1276 void mmbuilder___ClassAncestorBuilder___visit(val_t self
, val_t param0
) {
1277 struct trace_t trace
= {NULL
, NULL
, 343, LOCATE_mmbuilder___ClassAncestorBuilder___visit
};
1279 struct WBT_
**closurevariable
= NULL
;
1280 trace
.prev
= tracehead
; tracehead
= &trace
;
1281 trace
.file
= LOCATE_mmbuilder
;
1282 /* Register variable[0]: Local variable */
1284 /* Register variable[1]: Local variable */
1285 variable
[1] = param0
;
1286 /* Register variable[2]: Method return value and escape marker */
1287 CALL_mmbuilder___PNode___accept_class_ancestor_builder( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[0]) /*PNode::accept_class_ancestor_builder*/;
1288 return_label55
: while(false);
1289 tracehead
= trace
.prev
;
1292 void mmbuilder___ClassAncestorBuilder___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1293 struct trace_t trace
= {NULL
, NULL
, 344, LOCATE_mmbuilder___ClassAncestorBuilder___init
};
1295 struct WBT_
**closurevariable
= NULL
;
1296 trace
.prev
= tracehead
; tracehead
= &trace
;
1297 trace
.file
= LOCATE_mmbuilder
;
1298 /* Register variable[0]: Local variable */
1300 /* Register variable[1]: Local variable */
1301 variable
[1] = param0
;
1302 /* Register variable[2]: Local variable */
1303 variable
[2] = param1
;
1304 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassAncestorBuilder
].i
]) return;
1305 /* Register variable[3]: Method return value and escape marker */
1306 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
1307 return_label56
: while(false);
1308 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassAncestorBuilder
].i
] = 1;
1309 tracehead
= trace
.prev
;
1312 void mmbuilder___ClassVerifierVisitor___visit(val_t self
, val_t param0
) {
1313 struct trace_t trace
= {NULL
, NULL
, 351, LOCATE_mmbuilder___ClassVerifierVisitor___visit
};
1315 struct WBT_
**closurevariable
= NULL
;
1316 trace
.prev
= tracehead
; tracehead
= &trace
;
1317 trace
.file
= LOCATE_mmbuilder
;
1318 /* Register variable[0]: Local variable */
1320 /* Register variable[1]: Local variable */
1321 variable
[1] = param0
;
1322 /* Register variable[2]: Method return value and escape marker */
1323 CALL_mmbuilder___PNode___accept_class_verifier( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[0]) /*PNode::accept_class_verifier*/;
1324 return_label57
: while(false);
1325 tracehead
= trace
.prev
;
1328 void mmbuilder___ClassVerifierVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1329 struct trace_t trace
= {NULL
, NULL
, 352, LOCATE_mmbuilder___ClassVerifierVisitor___init
};
1331 struct WBT_
**closurevariable
= NULL
;
1332 trace
.prev
= tracehead
; tracehead
= &trace
;
1333 trace
.file
= LOCATE_mmbuilder
;
1334 /* Register variable[0]: Local variable */
1336 /* Register variable[1]: Local variable */
1337 variable
[1] = param0
;
1338 /* Register variable[2]: Local variable */
1339 variable
[2] = param1
;
1340 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassVerifierVisitor
].i
]) return;
1341 /* Register variable[3]: Method return value and escape marker */
1342 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
1343 return_label58
: while(false);
1344 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassVerifierVisitor
].i
] = 1;
1345 tracehead
= trace
.prev
;
1348 void mmbuilder___PropertyBuilderVisitor___visit(val_t self
, val_t param0
) {
1349 struct trace_t trace
= {NULL
, NULL
, 362, LOCATE_mmbuilder___PropertyBuilderVisitor___visit
};
1351 struct WBT_
**closurevariable
= NULL
;
1352 trace
.prev
= tracehead
; tracehead
= &trace
;
1353 trace
.file
= LOCATE_mmbuilder
;
1354 /* Register variable[0]: Local variable */
1356 /* Register variable[1]: Local variable */
1357 variable
[1] = param0
;
1358 /* Register variable[2]: Method return value and escape marker */
1359 CALL_mmbuilder___PNode___accept_property_builder( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[0]) /*PNode::accept_property_builder*/;
1360 return_label59
: while(false);
1361 tracehead
= trace
.prev
;
1364 void mmbuilder___PropertyBuilderVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1365 struct trace_t trace
= {NULL
, NULL
, 363, LOCATE_mmbuilder___PropertyBuilderVisitor___init
};
1367 struct WBT_
**closurevariable
= NULL
;
1368 trace
.prev
= tracehead
; tracehead
= &trace
;
1369 trace
.file
= LOCATE_mmbuilder
;
1370 /* Register variable[0]: Local variable */
1372 /* Register variable[1]: Local variable */
1373 variable
[1] = param0
;
1374 /* Register variable[2]: Local variable */
1375 variable
[2] = param1
;
1376 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_PropertyBuilderVisitor
].i
]) return;
1377 /* Register variable[3]: Method return value and escape marker */
1378 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
1379 return_label60
: while(false);
1380 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_PropertyBuilderVisitor
].i
] = 1;
1381 tracehead
= trace
.prev
;
1384 void mmbuilder___PropertyVerifierVisitor___visit(val_t self
, val_t param0
) {
1385 struct trace_t trace
= {NULL
, NULL
, 374, LOCATE_mmbuilder___PropertyVerifierVisitor___visit
};
1387 struct WBT_
**closurevariable
= NULL
;
1388 trace
.prev
= tracehead
; tracehead
= &trace
;
1389 trace
.file
= LOCATE_mmbuilder
;
1390 /* Register variable[0]: Local variable */
1392 /* Register variable[1]: Local variable */
1393 variable
[1] = param0
;
1394 /* Register variable[2]: Method return value and escape marker */
1395 CALL_mmbuilder___PNode___accept_property_verifier( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[0]) /*PNode::accept_property_verifier*/;
1396 return_label61
: while(false);
1397 tracehead
= trace
.prev
;
1400 val_t
mmbuilder___PropertyVerifierVisitor___signature_builder(val_t self
) {
1401 struct trace_t trace
= {NULL
, NULL
, 371, LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder
};
1402 val_t
*variable
= NULL
;
1403 struct WBT_
**closurevariable
= NULL
;
1404 trace
.prev
= tracehead
; tracehead
= &trace
;
1405 trace
.file
= LOCATE_mmbuilder
;
1406 tracehead
= trace
.prev
;
1407 return ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder( self
) /*PropertyVerifierVisitor::_signature_builder*/;
1409 void mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t self
, val_t param0
) {
1410 struct trace_t trace
= {NULL
, NULL
, 371, LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder__eq
};
1411 val_t
*variable
= NULL
;
1412 struct WBT_
**closurevariable
= NULL
;
1413 trace
.prev
= tracehead
; tracehead
= &trace
;
1414 trace
.file
= LOCATE_mmbuilder
;
1415 ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder( self
) /*PropertyVerifierVisitor::_signature_builder*/ = param0
;
1416 tracehead
= trace
.prev
;
1419 void mmbuilder___PropertyVerifierVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1420 struct trace_t trace
= {NULL
, NULL
, 376, LOCATE_mmbuilder___PropertyVerifierVisitor___init
};
1422 struct WBT_
**closurevariable
= NULL
;
1423 trace
.prev
= tracehead
; tracehead
= &trace
;
1424 trace
.file
= LOCATE_mmbuilder
;
1425 /* Register variable[0]: Local variable */
1427 /* Register variable[1]: Local variable */
1428 variable
[1] = param0
;
1429 /* Register variable[2]: Local variable */
1430 variable
[2] = param1
;
1431 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_PropertyVerifierVisitor
].i
]) return;
1432 /* Register variable[3]: Method return value and escape marker */
1433 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
1434 /* Register variable[4]: Result */
1435 variable
[4] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init() /*new SignatureBuilder*/;
1436 ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(variable
[0]) /*PropertyVerifierVisitor::_signature_builder*/ = variable
[4];
1437 return_label62
: while(false);
1438 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_PropertyVerifierVisitor
].i
] = 1;
1439 tracehead
= trace
.prev
;
1442 val_t
mmbuilder___SignatureBuilder___params(val_t self
) {
1443 struct trace_t trace
= {NULL
, NULL
, 385, LOCATE_mmbuilder___SignatureBuilder___params
};
1444 val_t
*variable
= NULL
;
1445 struct WBT_
**closurevariable
= NULL
;
1446 trace
.prev
= tracehead
; tracehead
= &trace
;
1447 trace
.file
= LOCATE_mmbuilder
;
1448 tracehead
= trace
.prev
;
1449 return ATTR_mmbuilder___SignatureBuilder____params( self
) /*SignatureBuilder::_params*/;
1451 void mmbuilder___SignatureBuilder___params__eq(val_t self
, val_t param0
) {
1452 struct trace_t trace
= {NULL
, NULL
, 385, LOCATE_mmbuilder___SignatureBuilder___params__eq
};
1453 val_t
*variable
= NULL
;
1454 struct WBT_
**closurevariable
= NULL
;
1455 trace
.prev
= tracehead
; tracehead
= &trace
;
1456 trace
.file
= LOCATE_mmbuilder
;
1457 ATTR_mmbuilder___SignatureBuilder____params( self
) /*SignatureBuilder::_params*/ = param0
;
1458 tracehead
= trace
.prev
;
1461 val_t
mmbuilder___SignatureBuilder___untyped_params(val_t self
) {
1462 struct trace_t trace
= {NULL
, NULL
, 388, LOCATE_mmbuilder___SignatureBuilder___untyped_params
};
1463 val_t
*variable
= NULL
;
1464 struct WBT_
**closurevariable
= NULL
;
1465 trace
.prev
= tracehead
; tracehead
= &trace
;
1466 trace
.file
= LOCATE_mmbuilder
;
1467 tracehead
= trace
.prev
;
1468 return ATTR_mmbuilder___SignatureBuilder____untyped_params( self
) /*SignatureBuilder::_untyped_params*/;
1470 void mmbuilder___SignatureBuilder___untyped_params__eq(val_t self
, val_t param0
) {
1471 struct trace_t trace
= {NULL
, NULL
, 388, LOCATE_mmbuilder___SignatureBuilder___untyped_params__eq
};
1472 val_t
*variable
= NULL
;
1473 struct WBT_
**closurevariable
= NULL
;
1474 trace
.prev
= tracehead
; tracehead
= &trace
;
1475 trace
.file
= LOCATE_mmbuilder
;
1476 ATTR_mmbuilder___SignatureBuilder____untyped_params( self
) /*SignatureBuilder::_untyped_params*/ = param0
;
1477 tracehead
= trace
.prev
;
1480 val_t
mmbuilder___SignatureBuilder___vararg_rank(val_t self
) {
1481 struct trace_t trace
= {NULL
, NULL
, 391, LOCATE_mmbuilder___SignatureBuilder___vararg_rank
};
1482 val_t
*variable
= NULL
;
1483 struct WBT_
**closurevariable
= NULL
;
1484 trace
.prev
= tracehead
; tracehead
= &trace
;
1485 trace
.file
= LOCATE_mmbuilder
;
1486 tracehead
= trace
.prev
;
1487 return ATTR_mmbuilder___SignatureBuilder____vararg_rank( self
) /*SignatureBuilder::_vararg_rank*/;
1489 void mmbuilder___SignatureBuilder___vararg_rank__eq(val_t self
, val_t param0
) {
1490 struct trace_t trace
= {NULL
, NULL
, 391, LOCATE_mmbuilder___SignatureBuilder___vararg_rank__eq
};
1491 val_t
*variable
= NULL
;
1492 struct WBT_
**closurevariable
= NULL
;
1493 trace
.prev
= tracehead
; tracehead
= &trace
;
1494 trace
.file
= LOCATE_mmbuilder
;
1495 ATTR_mmbuilder___SignatureBuilder____vararg_rank( self
) /*SignatureBuilder::_vararg_rank*/ = param0
;
1496 tracehead
= trace
.prev
;
1499 val_t
mmbuilder___SignatureBuilder___closure_decls(val_t self
) {
1500 struct trace_t trace
= {NULL
, NULL
, 394, LOCATE_mmbuilder___SignatureBuilder___closure_decls
};
1501 val_t
*variable
= NULL
;
1502 struct WBT_
**closurevariable
= NULL
;
1503 trace
.prev
= tracehead
; tracehead
= &trace
;
1504 trace
.file
= LOCATE_mmbuilder
;
1505 tracehead
= trace
.prev
;
1506 return ATTR_mmbuilder___SignatureBuilder____closure_decls( self
) /*SignatureBuilder::_closure_decls*/;
1508 void mmbuilder___SignatureBuilder___closure_decls__eq(val_t self
, val_t param0
) {
1509 struct trace_t trace
= {NULL
, NULL
, 394, LOCATE_mmbuilder___SignatureBuilder___closure_decls__eq
};
1510 val_t
*variable
= NULL
;
1511 struct WBT_
**closurevariable
= NULL
;
1512 trace
.prev
= tracehead
; tracehead
= &trace
;
1513 trace
.file
= LOCATE_mmbuilder
;
1514 ATTR_mmbuilder___SignatureBuilder____closure_decls( self
) /*SignatureBuilder::_closure_decls*/ = param0
;
1515 tracehead
= trace
.prev
;
1518 val_t
mmbuilder___SignatureBuilder___signature(val_t self
) {
1519 struct trace_t trace
= {NULL
, NULL
, 397, LOCATE_mmbuilder___SignatureBuilder___signature
};
1520 val_t
*variable
= NULL
;
1521 struct WBT_
**closurevariable
= NULL
;
1522 trace
.prev
= tracehead
; tracehead
= &trace
;
1523 trace
.file
= LOCATE_mmbuilder
;
1524 tracehead
= trace
.prev
;
1525 return ATTR_mmbuilder___SignatureBuilder____signature( self
) /*SignatureBuilder::_signature*/;
1527 void mmbuilder___SignatureBuilder___signature__eq(val_t self
, val_t param0
) {
1528 struct trace_t trace
= {NULL
, NULL
, 397, LOCATE_mmbuilder___SignatureBuilder___signature__eq
};
1529 val_t
*variable
= NULL
;
1530 struct WBT_
**closurevariable
= NULL
;
1531 trace
.prev
= tracehead
; tracehead
= &trace
;
1532 trace
.file
= LOCATE_mmbuilder
;
1533 ATTR_mmbuilder___SignatureBuilder____signature( self
) /*SignatureBuilder::_signature*/ = param0
;
1534 tracehead
= trace
.prev
;
1537 void mmbuilder___SignatureBuilder___init(val_t self
, int* init_table
) {
1538 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_mmbuilder___SignatureBuilder___init
};
1539 val_t
*variable
= NULL
;
1540 struct WBT_
**closurevariable
= NULL
;
1541 trace
.prev
= tracehead
; tracehead
= &trace
;
1542 trace
.file
= LOCATE_mmbuilder
;
1543 tracehead
= trace
.prev
;
1546 void mmbuilder___PNode___accept_class_builder(val_t self
, val_t param0
) {
1547 struct trace_t trace
= {NULL
, NULL
, 404, LOCATE_mmbuilder___PNode___accept_class_builder
};
1549 struct WBT_
**closurevariable
= NULL
;
1550 trace
.prev
= tracehead
; tracehead
= &trace
;
1551 trace
.file
= LOCATE_mmbuilder
;
1552 /* Register variable[0]: Local variable */
1554 /* Register variable[1]: Local variable */
1555 variable
[1] = param0
;
1556 /* Register variable[2]: Method return value and escape marker */
1557 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1558 return_label63
: while(false);
1559 tracehead
= trace
.prev
;
1562 void mmbuilder___PNode___accept_class_specialization_builder(val_t self
, val_t param0
) {
1563 struct trace_t trace
= {NULL
, NULL
, 405, LOCATE_mmbuilder___PNode___accept_class_specialization_builder
};
1565 struct WBT_
**closurevariable
= NULL
;
1566 trace
.prev
= tracehead
; tracehead
= &trace
;
1567 trace
.file
= LOCATE_mmbuilder
;
1568 /* Register variable[0]: Local variable */
1570 /* Register variable[1]: Local variable */
1571 variable
[1] = param0
;
1572 /* Register variable[2]: Method return value and escape marker */
1573 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1574 return_label64
: while(false);
1575 tracehead
= trace
.prev
;
1578 void mmbuilder___PNode___accept_class_ancestor_builder(val_t self
, val_t param0
) {
1579 struct trace_t trace
= {NULL
, NULL
, 406, LOCATE_mmbuilder___PNode___accept_class_ancestor_builder
};
1581 struct WBT_
**closurevariable
= NULL
;
1582 trace
.prev
= tracehead
; tracehead
= &trace
;
1583 trace
.file
= LOCATE_mmbuilder
;
1584 /* Register variable[0]: Local variable */
1586 /* Register variable[1]: Local variable */
1587 variable
[1] = param0
;
1588 /* Register variable[2]: Method return value and escape marker */
1589 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1590 return_label65
: while(false);
1591 tracehead
= trace
.prev
;
1594 void mmbuilder___PNode___accept_class_verifier(val_t self
, val_t param0
) {
1595 struct trace_t trace
= {NULL
, NULL
, 407, LOCATE_mmbuilder___PNode___accept_class_verifier
};
1597 struct WBT_
**closurevariable
= NULL
;
1598 trace
.prev
= tracehead
; tracehead
= &trace
;
1599 trace
.file
= LOCATE_mmbuilder
;
1600 /* Register variable[0]: Local variable */
1602 /* Register variable[1]: Local variable */
1603 variable
[1] = param0
;
1604 /* Register variable[2]: Method return value and escape marker */
1605 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1606 return_label66
: while(false);
1607 tracehead
= trace
.prev
;
1610 void mmbuilder___PNode___accept_property_builder(val_t self
, val_t param0
) {
1611 struct trace_t trace
= {NULL
, NULL
, 408, LOCATE_mmbuilder___PNode___accept_property_builder
};
1613 struct WBT_
**closurevariable
= NULL
;
1614 trace
.prev
= tracehead
; tracehead
= &trace
;
1615 trace
.file
= LOCATE_mmbuilder
;
1616 /* Register variable[0]: Local variable */
1618 /* Register variable[1]: Local variable */
1619 variable
[1] = param0
;
1620 /* Register variable[2]: Method return value and escape marker */
1621 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1622 return_label67
: while(false);
1623 tracehead
= trace
.prev
;
1626 void mmbuilder___PNode___accept_property_verifier(val_t self
, val_t param0
) {
1627 struct trace_t trace
= {NULL
, NULL
, 409, LOCATE_mmbuilder___PNode___accept_property_verifier
};
1629 struct WBT_
**closurevariable
= NULL
;
1630 trace
.prev
= tracehead
; tracehead
= &trace
;
1631 trace
.file
= LOCATE_mmbuilder
;
1632 /* Register variable[0]: Local variable */
1634 /* Register variable[1]: Local variable */
1635 variable
[1] = param0
;
1636 /* Register variable[2]: Method return value and escape marker */
1637 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1638 return_label68
: while(false);
1639 tracehead
= trace
.prev
;
1642 void mmbuilder___AModule___import_super_modules(val_t self
, val_t param0
, val_t param1
) {
1643 struct trace_t trace
= {NULL
, NULL
, 413, LOCATE_mmbuilder___AModule___import_super_modules
};
1644 static val_t once_value_71
= NIT_NULL
; /* Once value for string variable[8]*/
1645 static val_t once_value_72
= NIT_NULL
; /* Once value for string variable[8]*/
1646 static val_t once_value_73
; static int once_bool_73
; /* Once value for variable[8]*/
1647 static val_t once_value_74
= NIT_NULL
; /* Once value for string variable[8]*/
1649 struct WBT_
**closurevariable
= NULL
;
1650 trace
.prev
= tracehead
; tracehead
= &trace
;
1651 trace
.file
= LOCATE_mmbuilder
;
1652 /* Register variable[0]: Local variable */
1654 /* Register variable[1]: Local variable */
1655 variable
[1] = param0
;
1656 /* Register variable[2]: Local variable */
1657 variable
[2] = param1
;
1658 /* Register variable[3]: Method return value and escape marker */
1659 /* Register variable[4]: Local variable */
1660 /* Register variable[5]: Result */
1661 variable
[5] = NEW_Array_array___Array___init() /*new Array[Symbol]*/;
1662 variable
[4] = variable
[5];
1663 /* Register variable[5]: Local variable */
1664 /* Register variable[6]: Result */
1665 variable
[6] = NEW_HashMap_hash___HashMap___init() /*new HashMap[Symbol, Int]*/;
1666 variable
[5] = variable
[6];
1667 /* Register variable[6]: Local variable */
1668 variable
[6] = NIT_NULL
/*null*/;
1669 /* Register variable[7]: Result */
1670 variable
[7] = CALL_parser_nodes___AModule___n_imports(variable
[0])(variable
[0]) /*AModule::n_imports*/;
1671 /* Register variable[7]: For iterator */
1672 variable
[7] = CALL_abstract_collection___Collection___iterator(variable
[7])(variable
[7]) /*List::iterator*/;
1673 while (true) { /*for*/
1674 /* Register variable[8]: For 'is_ok' result */
1675 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*ListIterator::is_ok*/;
1676 if (!UNTAG_Bool(variable
[8])) break; /*for*/
1677 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*ListIterator::item*/ /* Ensure var: For item*/;
1678 /* Register variable[9]: Local variable */
1679 variable
[9] = variable
[8];
1680 /* Register variable[10]: Local variable */
1681 /* Register variable[11]: Result */
1682 variable
[11] = CALL_mmbuilder___PImport___module_name( variable
[9] /*i*/)( variable
[9] /*i*/) /*PImport::module_name*/;
1683 variable
[10] = variable
[11];
1684 /* Register variable[11]: Result */
1685 variable
[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[10] /*n*/ == NIT_NULL
/*null*/) || (( variable
[10] /*n*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[10] /*n*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[10] /*n*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[10] /*n*/)( variable
[10] /*n*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1686 if (UNTAG_Bool(variable
[11])) { /*if*/
1687 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*module_names_to_import*/)( variable
[4] /*module_names_to_import*/, variable
[10] /*n*/) /*AbstractArray::add*/;
1688 /* Register variable[11]: Result */
1689 variable
[11] = CALL_mmbuilder___PImport___visibility_level( variable
[9] /*i*/)( variable
[9] /*i*/) /*PImport::visibility_level*/;
1690 CALL_abstract_collection___Map_____braeq( variable
[5] /*module_visibility*/)( variable
[5] /*module_visibility*/, variable
[10] /*n*/, variable
[11]) /*HashMap::[]=*/;
1692 variable
[6] = variable
[9] /*i*/ /*no_import=*/;
1694 continue_70
: while(0);
1695 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*ListIterator::next*/;
1698 /* Register variable[7]: Result */
1699 variable
[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[6] /*no_import*/ == NIT_NULL
/*null*/) || (( variable
[6] /*no_import*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[6] /*no_import*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[6] /*no_import*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[6] /*no_import*/)( variable
[6] /*no_import*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1700 if (UNTAG_Bool(variable
[7])) { /*if*/
1701 /* Register variable[7]: Result */
1702 variable
[7] = CALL_abstract_collection___Collection___is_empty( variable
[4] /*module_names_to_import*/)( variable
[4] /*module_names_to_import*/) /*AbstractArrayRead::is_empty*/;
1703 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[7])))) { /*if*/
1704 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1705 /* Register variable[8]: Once String constant */
1706 if (once_value_71
!= NIT_NULL
) variable
[8] = once_value_71
;
1708 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1709 once_value_71
= variable
[8];
1711 /* Register variable[8]: Result */
1712 /* Ensure var variable[8]: super-string element*/
1713 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1714 /* Register variable[8]: Result */
1715 variable
[8] = CALL_parser_prod___PNode___locate( variable
[6] /*no_import*/)( variable
[6] /*no_import*/) /*Prod::locate*/;
1716 /* Ensure var variable[8]: super-string element*/
1717 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1718 /* Register variable[8]: Once String constant */
1719 if (once_value_72
!= NIT_NULL
) variable
[8] = once_value_72
;
1721 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(": Error: Top modules cannot import other modules."), TAG_Int(49)) /*new String*/;
1722 once_value_72
= variable
[8];
1724 /* Register variable[8]: Result */
1725 /* Ensure var variable[8]: super-string element*/
1726 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
1727 /* Register variable[7]: Result */
1728 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1729 CALL_mmloader___ToolContext___error( variable
[1] /*tc*/)( variable
[1] /*tc*/, variable
[7]) /*ToolContext::error*/;
1732 /* Register variable[7]: Result */
1733 variable
[7] = CALL_abstract_collection___Collection___is_empty( variable
[4] /*module_names_to_import*/)( variable
[4] /*module_names_to_import*/) /*AbstractArrayRead::is_empty*/;
1734 if (UNTAG_Bool(variable
[7])) { /*if*/
1735 /* Register variable[7]: Local variable */
1736 /* Register variable[8]: Once expression result */
1737 if (once_bool_73
) variable
[8] = once_value_73
;
1739 /* Register variable[8]: Once String constant */
1740 if (once_value_74
!= NIT_NULL
) variable
[8] = once_value_74
;
1742 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("standard"), TAG_Int(8)) /*new String*/;
1743 once_value_74
= variable
[8];
1745 /* Register variable[8]: Result */
1746 /* Register variable[8]: Result */
1747 variable
[8] = CALL_symbol___String___to_symbol(variable
[8])(variable
[8]) /*String::to_symbol*/;
1748 once_value_73
= variable
[8];
1749 once_bool_73
= true;
1751 /* Register variable[8]: Result */
1752 variable
[7] = variable
[8];
1753 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*module_names_to_import*/)( variable
[4] /*module_names_to_import*/, variable
[7] /*stdname*/) /*AbstractArray::add*/;
1754 CALL_abstract_collection___Map_____braeq( variable
[5] /*module_visibility*/)( variable
[5] /*module_visibility*/, variable
[7] /*stdname*/, TAG_Int(1)) /*HashMap::[]=*/;
1757 CALL_mmloader___MMModule___import_supers_modules( variable
[2] /*mod*/)( variable
[2] /*mod*/, variable
[4] /*module_names_to_import*/) /*MMModule::import_supers_modules*/;
1758 /* Register variable[7]: For iterator */
1759 variable
[7] = CALL_abstract_collection___Collection___iterator( variable
[4] /*module_names_to_import*/)( variable
[4] /*module_names_to_import*/) /*AbstractArrayRead::iterator*/;
1760 while (true) { /*for*/
1761 /* Register variable[8]: For 'is_ok' result */
1762 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*ArrayIterator::is_ok*/;
1763 if (!UNTAG_Bool(variable
[8])) break; /*for*/
1764 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
1765 /* Register variable[9]: Local variable */
1766 variable
[9] = variable
[8];
1767 /* Register variable[10]: Local variable */
1768 /* Register variable[11]: Result */
1769 variable
[11] = CALL_abstract_collection___MapRead_____bra( variable
[5] /*module_visibility*/)( variable
[5] /*module_visibility*/, variable
[9] /*mname*/) /*CoupleMap::[]*/;
1770 variable
[10] = variable
[11];
1771 /* Register variable[11]: Local variable */
1772 /* Register variable[12]: Result */
1773 variable
[12] = CALL_mmloader___ToolContext___get_module( variable
[1] /*tc*/)( variable
[1] /*tc*/, variable
[9] /*mname*/, variable
[2] /*mod*/) /*ToolContext::get_module*/;
1774 variable
[11] = variable
[12];
1775 CALL_abstractmetamodel___MMModule___add_super_module( variable
[2] /*mod*/)( variable
[2] /*mod*/, variable
[11] /*m*/, variable
[10] /*level*/) /*MMModule::add_super_module*/;
1776 continue_75
: while(0);
1777 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*ArrayIterator::next*/;
1780 return_label69
: while(false);
1781 tracehead
= trace
.prev
;
1784 void mmbuilder___APackagedecl___accept_class_builder(val_t self
, val_t param0
) {
1785 struct trace_t trace
= {NULL
, NULL
, 450, LOCATE_mmbuilder___APackagedecl___accept_class_builder
};
1786 static val_t once_value_77
= NIT_NULL
; /* Once value for string variable[5]*/
1787 static val_t once_value_78
= NIT_NULL
; /* Once value for string variable[5]*/
1788 static val_t once_value_79
= NIT_NULL
; /* Once value for string variable[5]*/
1790 struct WBT_
**closurevariable
= NULL
;
1791 trace
.prev
= tracehead
; tracehead
= &trace
;
1792 trace
.file
= LOCATE_mmbuilder
;
1793 /* Register variable[0]: Local variable */
1795 /* Register variable[1]: Local variable */
1796 variable
[1] = param0
;
1797 /* Register variable[2]: Method return value and escape marker */
1798 /* Register variable[3]: Result */
1799 variable
[3] = CALL_parser_nodes___APackagedecl___n_id(variable
[0])(variable
[0]) /*APackagedecl::n_id*/;
1800 /* Register variable[3]: Result */
1801 variable
[3] = CALL_syntax_base___Token___to_symbol(variable
[3])(variable
[3]) /*Token::to_symbol*/;
1802 /* Register variable[4]: Result */
1803 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1804 /* Register variable[4]: Result */
1805 variable
[4] = CALL_abstractmetamodel___MMModule___name(variable
[4])(variable
[4]) /*MMModule::name*/;
1806 /* Register variable[3]: Result */
1807 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == variable
[4]) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3],variable
[4])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], variable
[4]) /*Object::==*/)))))));
1808 if (UNTAG_Bool(variable
[3])) { /*if*/
1809 /* Register variable[3]: Result */
1810 variable
[3] = CALL_parser_nodes___APackagedecl___n_id(variable
[0])(variable
[0]) /*APackagedecl::n_id*/;
1811 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1812 /* Register variable[5]: Once String constant */
1813 if (once_value_77
!= NIT_NULL
) variable
[5] = once_value_77
;
1815 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("Error: Package name missmatch between "), TAG_Int(38)) /*new String*/;
1816 once_value_77
= variable
[5];
1818 /* Register variable[5]: Result */
1819 /* Ensure var variable[5]: super-string element*/
1820 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
1821 /* Register variable[5]: Result */
1822 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1823 /* Register variable[5]: Result */
1824 variable
[5] = CALL_abstractmetamodel___MMModule___name(variable
[5])(variable
[5]) /*MMModule::name*/;
1825 /* Ensure var variable[5]: super-string element*/
1826 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/) /*AbstractArray::add*/;
1827 /* Register variable[5]: Once String constant */
1828 if (once_value_78
!= NIT_NULL
) variable
[5] = once_value_78
;
1830 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)) /*new String*/;
1831 once_value_78
= variable
[5];
1833 /* Register variable[5]: Result */
1834 /* Ensure var variable[5]: super-string element*/
1835 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
1836 /* Register variable[5]: Result */
1837 variable
[5] = CALL_parser_nodes___APackagedecl___n_id(variable
[0])(variable
[0]) /*APackagedecl::n_id*/;
1838 /* Register variable[5]: Result */
1839 variable
[5] = CALL_syntax_base___Token___to_symbol(variable
[5])(variable
[5]) /*Token::to_symbol*/;
1840 /* Ensure var variable[5]: super-string element*/
1841 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/) /*AbstractArray::add*/;
1842 /* Register variable[5]: Once String constant */
1843 if (once_value_79
!= NIT_NULL
) variable
[5] = once_value_79
;
1845 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1846 once_value_79
= variable
[5];
1848 /* Register variable[5]: Result */
1849 /* Ensure var variable[5]: super-string element*/
1850 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
1851 /* Register variable[4]: Result */
1852 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
1853 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3], variable
[4]) /*AbsSyntaxVisitor::error*/;
1855 return_label76
: while(false);
1856 tracehead
= trace
.prev
;
1859 val_t
mmbuilder___PImport___module_name(val_t self
) {
1860 struct trace_t trace
= {NULL
, NULL
, 459, LOCATE_mmbuilder___PImport___module_name
};
1861 val_t
*variable
= NULL
;
1862 struct WBT_
**closurevariable
= NULL
;
1863 trace
.prev
= tracehead
; tracehead
= &trace
;
1864 trace
.file
= LOCATE_mmbuilder
;
1865 fprintf(stderr
, "Deferred method called");
1866 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 459);
1868 tracehead
= trace
.prev
;
1871 val_t
mmbuilder___PImport___visibility_level(val_t self
) {
1872 struct trace_t trace
= {NULL
, NULL
, 462, LOCATE_mmbuilder___PImport___visibility_level
};
1873 val_t
*variable
= NULL
;
1874 struct WBT_
**closurevariable
= NULL
;
1875 trace
.prev
= tracehead
; tracehead
= &trace
;
1876 trace
.file
= LOCATE_mmbuilder
;
1877 fprintf(stderr
, "Deferred method called");
1878 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 462);
1880 tracehead
= trace
.prev
;
1883 val_t
mmbuilder___AImport___module_name(val_t self
) {
1884 struct trace_t trace
= {NULL
, NULL
, 466, LOCATE_mmbuilder___AImport___module_name
};
1886 struct WBT_
**closurevariable
= NULL
;
1887 trace
.prev
= tracehead
; tracehead
= &trace
;
1888 trace
.file
= LOCATE_mmbuilder
;
1889 /* Register variable[0]: Local variable */
1891 /* Register variable[1]: Method return value and escape marker */
1892 /* Register variable[2]: Result */
1893 variable
[2] = CALL_parser_nodes___AImport___n_id(variable
[0])(variable
[0]) /*AImport::n_id*/;
1894 /* Register variable[2]: Result */
1895 variable
[2] = CALL_syntax_base___Token___to_symbol(variable
[2])(variable
[2]) /*Token::to_symbol*/;
1896 variable
[1] = variable
[2];
1897 goto return_label80
;
1898 return_label80
: while(false);
1899 tracehead
= trace
.prev
;
1902 val_t
mmbuilder___AImport___visibility_level(val_t self
) {
1903 struct trace_t trace
= {NULL
, NULL
, 470, LOCATE_mmbuilder___AImport___visibility_level
};
1905 struct WBT_
**closurevariable
= NULL
;
1906 trace
.prev
= tracehead
; tracehead
= &trace
;
1907 trace
.file
= LOCATE_mmbuilder
;
1908 /* Register variable[0]: Local variable */
1910 /* Register variable[1]: Method return value and escape marker */
1911 /* Register variable[2]: Result */
1912 variable
[2] = CALL_parser_nodes___AImport___n_visibility(variable
[0])(variable
[0]) /*AImport::n_visibility*/;
1913 /* Register variable[2]: Result */
1914 variable
[2] = CALL_mmbuilder___PVisibility___level(variable
[2])(variable
[2]) /*PVisibility::level*/;
1915 variable
[1] = variable
[2];
1916 goto return_label81
;
1917 return_label81
: while(false);
1918 tracehead
= trace
.prev
;
1921 val_t
mmbuilder___ANoImport___module_name(val_t self
) {
1922 struct trace_t trace
= {NULL
, NULL
, 476, LOCATE_mmbuilder___ANoImport___module_name
};
1924 struct WBT_
**closurevariable
= NULL
;
1925 trace
.prev
= tracehead
; tracehead
= &trace
;
1926 trace
.file
= LOCATE_mmbuilder
;
1927 /* Register variable[0]: Local variable */
1929 /* Register variable[1]: Method return value and escape marker */
1930 variable
[1] = NIT_NULL
/*null*/;
1931 goto return_label82
;
1932 return_label82
: while(false);
1933 tracehead
= trace
.prev
;
1936 val_t
mmbuilder___PVisibility___level(val_t self
) {
1937 struct trace_t trace
= {NULL
, NULL
, 483, LOCATE_mmbuilder___PVisibility___level
};
1938 val_t
*variable
= NULL
;
1939 struct WBT_
**closurevariable
= NULL
;
1940 trace
.prev
= tracehead
; tracehead
= &trace
;
1941 trace
.file
= LOCATE_mmbuilder
;
1942 fprintf(stderr
, "Deferred method called");
1943 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 483);
1945 tracehead
= trace
.prev
;
1948 val_t
mmbuilder___APublicVisibility___level(val_t self
) {
1949 struct trace_t trace
= {NULL
, NULL
, 487, LOCATE_mmbuilder___APublicVisibility___level
};
1951 struct WBT_
**closurevariable
= NULL
;
1952 trace
.prev
= tracehead
; tracehead
= &trace
;
1953 trace
.file
= LOCATE_mmbuilder
;
1954 /* Register variable[0]: Local variable */
1956 /* Register variable[1]: Method return value and escape marker */
1957 variable
[1] = TAG_Int(1);
1958 goto return_label83
;
1959 return_label83
: while(false);
1960 tracehead
= trace
.prev
;
1963 val_t
mmbuilder___AProtectedVisibility___level(val_t self
) {
1964 struct trace_t trace
= {NULL
, NULL
, 490, LOCATE_mmbuilder___AProtectedVisibility___level
};
1966 struct WBT_
**closurevariable
= NULL
;
1967 trace
.prev
= tracehead
; tracehead
= &trace
;
1968 trace
.file
= LOCATE_mmbuilder
;
1969 /* Register variable[0]: Local variable */
1971 /* Register variable[1]: Method return value and escape marker */
1972 variable
[1] = TAG_Int(2);
1973 goto return_label84
;
1974 return_label84
: while(false);
1975 tracehead
= trace
.prev
;
1978 val_t
mmbuilder___APrivateVisibility___level(val_t self
) {
1979 struct trace_t trace
= {NULL
, NULL
, 493, LOCATE_mmbuilder___APrivateVisibility___level
};
1981 struct WBT_
**closurevariable
= NULL
;
1982 trace
.prev
= tracehead
; tracehead
= &trace
;
1983 trace
.file
= LOCATE_mmbuilder
;
1984 /* Register variable[0]: Local variable */
1986 /* Register variable[1]: Method return value and escape marker */
1987 variable
[1] = TAG_Int(3);
1988 goto return_label85
;
1989 return_label85
: while(false);
1990 tracehead
= trace
.prev
;
1993 val_t
mmbuilder___AIntrudeVisibility___level(val_t self
) {
1994 struct trace_t trace
= {NULL
, NULL
, 496, LOCATE_mmbuilder___AIntrudeVisibility___level
};
1996 struct WBT_
**closurevariable
= NULL
;
1997 trace
.prev
= tracehead
; tracehead
= &trace
;
1998 trace
.file
= LOCATE_mmbuilder
;
1999 /* Register variable[0]: Local variable */
2001 /* Register variable[1]: Method return value and escape marker */
2002 variable
[1] = TAG_Int(0);
2003 goto return_label86
;
2004 return_label86
: while(false);
2005 tracehead
= trace
.prev
;
2008 void mmbuilder___PClassdef___accept_abs_syntax_visitor(val_t self
, val_t param0
) {
2009 struct trace_t trace
= {NULL
, NULL
, 547, LOCATE_mmbuilder___PClassdef___accept_abs_syntax_visitor
};
2011 struct WBT_
**closurevariable
= NULL
;
2012 trace
.prev
= tracehead
; tracehead
= &trace
;
2013 trace
.file
= LOCATE_mmbuilder
;
2014 /* Register variable[0]: Local variable */
2016 /* Register variable[1]: Local variable */
2017 variable
[1] = param0
;
2018 /* Register variable[2]: Method return value and escape marker */
2019 /* Register variable[3]: Result */
2020 variable
[3] = ATTR_mmbuilder___PClassdef____local_class(variable
[0]) /*PClassdef::_local_class*/;
2021 CALL_syntax_base___AbsSyntaxVisitor___local_class__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*AbsSyntaxVisitor::local_class=*/;
2022 CALL_SUPER_mmbuilder___PClassdef___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1]) /*super PClassdef::accept_abs_syntax_visitor*/;
2023 CALL_syntax_base___AbsSyntaxVisitor___local_class__eq( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/) /*AbsSyntaxVisitor::local_class=*/;
2024 return_label87
: while(false);
2025 tracehead
= trace
.prev
;
2028 val_t
mmbuilder___PClassdef___local_class(val_t self
) {
2029 struct trace_t trace
= {NULL
, NULL
, 501, LOCATE_mmbuilder___PClassdef___local_class
};
2030 val_t
*variable
= NULL
;
2031 struct WBT_
**closurevariable
= NULL
;
2032 trace
.prev
= tracehead
; tracehead
= &trace
;
2033 trace
.file
= LOCATE_mmbuilder
;
2034 tracehead
= trace
.prev
;
2035 return ATTR_mmbuilder___PClassdef____local_class( self
) /*PClassdef::_local_class*/;
2037 void mmbuilder___PClassdef___accept_class_builder(val_t self
, val_t param0
) {
2038 struct trace_t trace
= {NULL
, NULL
, 512, LOCATE_mmbuilder___PClassdef___accept_class_builder
};
2039 static val_t once_value_89
= NIT_NULL
; /* Once value for string variable[7]*/
2040 static val_t once_value_90
= NIT_NULL
; /* Once value for string variable[7]*/
2041 static val_t once_value_91
= NIT_NULL
; /* Once value for string variable[7]*/
2043 struct WBT_
**closurevariable
= NULL
;
2044 trace
.prev
= tracehead
; tracehead
= &trace
;
2045 trace
.file
= LOCATE_mmbuilder
;
2046 /* Register variable[0]: Local variable */
2048 /* Register variable[1]: Local variable */
2049 variable
[1] = param0
;
2050 /* Register variable[2]: Method return value and escape marker */
2051 /* Register variable[3]: Local variable */
2052 /*variable[3] is variable local_class*/
2053 /* Register variable[4]: Local variable */
2054 /* Register variable[5]: Result */
2055 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
2056 variable
[4] = variable
[5];
2057 /* Register variable[5]: Local variable */
2058 /* Register variable[6]: Result */
2059 variable
[6] = CALL_syntax_base___MMSrcModule___src_local_classes( variable
[4] /*mod*/)( variable
[4] /*mod*/) /*MMSrcModule::src_local_classes*/;
2060 variable
[5] = variable
[6];
2061 /* Register variable[6]: Result */
2062 variable
[6] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*PClassdef::name*/;
2063 /* Register variable[6]: Result */
2064 variable
[6] = CALL_abstract_collection___MapRead___has_key( variable
[5] /*local_classes*/)( variable
[5] /*local_classes*/, variable
[6]) /*MapRead::has_key*/;
2065 if (UNTAG_Bool(variable
[6])) { /*if*/
2066 /* Register variable[6]: Result */
2067 variable
[6] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*PClassdef::name*/;
2068 /* Register variable[6]: Result */
2069 variable
[6] = CALL_abstract_collection___MapRead_____bra( variable
[5] /*local_classes*/)( variable
[5] /*local_classes*/, variable
[6]) /*MapRead::[]*/;
2070 variable
[3] = variable
[6] /*local_class=*/;
2071 /* Register variable[6]: Result */
2072 variable
[6] = TAG_Bool((variable
[0]==NIT_NULL
) || VAL_ISA(variable
[0], COLOR_AClassdef
, ID_AClassdef
)) /*cast AClassdef*/;
2073 if (UNTAG_Bool(variable
[6])) { /*if*/
2074 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2075 /* Register variable[7]: Once String constant */
2076 if (once_value_89
!= NIT_NULL
) variable
[7] = once_value_89
;
2078 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("Error: A class "), TAG_Int(15)) /*new String*/;
2079 once_value_89
= variable
[7];
2081 /* Register variable[7]: Result */
2082 /* Ensure var variable[7]: super-string element*/
2083 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
2084 /* Register variable[7]: Result */
2085 variable
[7] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*AClassdef::name*/;
2086 /* Ensure var variable[7]: super-string element*/
2087 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
2088 /* Register variable[7]: Once String constant */
2089 if (once_value_90
!= NIT_NULL
) variable
[7] = once_value_90
;
2091 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(" is already defined at line "), TAG_Int(28)) /*new String*/;
2092 once_value_90
= variable
[7];
2094 /* Register variable[7]: Result */
2095 /* Ensure var variable[7]: super-string element*/
2096 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
2097 /* Register variable[7]: Result */
2098 variable
[7] = CALL_syntax_base___MMSrcLocalClass___nodes( variable
[3] /*local_class*/)( variable
[3] /*local_class*/) /*MMSrcLocalClass::nodes*/;
2099 /* Register variable[7]: Result */
2100 variable
[7] = CALL_abstract_collection___Collection___first(variable
[7])(variable
[7]) /*IndexedCollectionRead::first*/;
2101 /* Register variable[7]: Result */
2102 variable
[7] = CALL_parser_prod___Prod___first_token(variable
[7])(variable
[7]) /*Prod::first_token*/;
2103 /* Register variable[7]: Result */
2104 variable
[7] = CALL_lexer___Token___line(variable
[7])(variable
[7]) /*Token::line*/;
2105 /* Ensure var variable[7]: super-string element*/
2106 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
2107 /* Register variable[7]: Once String constant */
2108 if (once_value_91
!= NIT_NULL
) variable
[7] = once_value_91
;
2110 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2111 once_value_91
= variable
[7];
2113 /* Register variable[7]: Result */
2114 /* Ensure var variable[7]: super-string element*/
2115 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
2116 /* Register variable[6]: Result */
2117 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
2118 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[6]) /*AbsSyntaxVisitor::error*/;
2119 goto return_label88
;
2121 /* Register variable[6]: Result */
2122 variable
[6] = CALL_syntax_base___MMSrcLocalClass___nodes( variable
[3] /*local_class*/)( variable
[3] /*local_class*/) /*MMSrcLocalClass::nodes*/;
2123 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[0]) /*AbstractArray::add*/;
2125 /* Register variable[6]: Result */
2126 variable
[6] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*PClassdef::name*/;
2127 /* Register variable[7]: Result */
2128 variable
[7] = CALL_mmbuilder___PClassdef___arity(variable
[0])(variable
[0]) /*PClassdef::arity*/;
2129 /* Register variable[6]: Result */
2130 variable
[6] = NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init( variable
[4] /*mod*/, variable
[6], variable
[0], variable
[7]) /*new MMSrcLocalClass*/;
2131 variable
[3] = variable
[6] /*local_class=*/;
2132 /* Register variable[6]: Result */
2133 variable
[6] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*PClassdef::name*/;
2134 CALL_abstract_collection___Map_____braeq( variable
[5] /*local_classes*/)( variable
[5] /*local_classes*/, variable
[6], variable
[3] /*local_class*/) /*Map::[]=*/;
2135 /* Register variable[6]: Result */
2136 variable
[6] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*PClassdef::name*/;
2137 /* Register variable[6]: Result */
2138 variable
[6] = CALL_abstractmetamodel___MMModule___has_global_class_named( variable
[4] /*mod*/)( variable
[4] /*mod*/, variable
[6]) /*MMModule::has_global_class_named*/;
2139 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[6])))) { /*if*/
2140 CALL_abstractmetamodel___MMLocalClass___new_global( variable
[3] /*local_class*/)( variable
[3] /*local_class*/) /*MMLocalClass::new_global*/;
2142 /* Register variable[6]: Result */
2143 variable
[6] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*PClassdef::name*/;
2144 /* Register variable[6]: Result */
2145 variable
[6] = CALL_abstractmetamodel___MMModule___global_class_named( variable
[4] /*mod*/)( variable
[4] /*mod*/, variable
[6]) /*MMModule::global_class_named*/;
2146 CALL_abstractmetamodel___MMLocalClass___set_global( variable
[3] /*local_class*/)( variable
[3] /*local_class*/, variable
[6]) /*MMLocalClass::set_global*/;
2149 ATTR_mmbuilder___PClassdef____local_class(variable
[0]) /*PClassdef::_local_class*/ = variable
[3] /*local_class*/;
2150 CALL_mmbuilder___ClassBuilderVisitor___local_class_arity__eq( variable
[1] /*v*/)( variable
[1] /*v*/, TAG_Int(0)) /*ClassBuilderVisitor::local_class_arity=*/;
2151 /* Register variable[6]: Result */
2152 variable
[6] = NEW_HashMap_hash___HashMap___init() /*new HashMap[Symbol, MMTypeFormalParameter]*/;
2153 CALL_mmbuilder___ClassBuilderVisitor___formals__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*ClassBuilderVisitor::formals=*/;
2154 CALL_SUPER_mmbuilder___PClassdef___accept_class_builder(variable
[0])(variable
[0], variable
[1]) /*super PClassdef::accept_class_builder*/;
2155 /* Register variable[6]: Result */
2156 variable
[6] = ATTR_mmbuilder___PClassdef____local_class(variable
[0]) /*PClassdef::_local_class*/;
2157 /* Register variable[7]: Result */
2158 variable
[7] = CALL_mmbuilder___ClassBuilderVisitor___formals( variable
[1] /*v*/)( variable
[1] /*v*/) /*ClassBuilderVisitor::formals*/;
2159 CALL_syntax_base___MMSrcLocalClass___formal_dict__eq(variable
[6])(variable
[6], variable
[7]) /*MMSrcLocalClass::formal_dict=*/;
2160 CALL_mmbuilder___ClassBuilderVisitor___formals__eq( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/) /*ClassBuilderVisitor::formals=*/;
2161 return_label88
: while(false);
2162 tracehead
= trace
.prev
;
2165 val_t
mmbuilder___PClassdef___name(val_t self
) {
2166 struct trace_t trace
= {NULL
, NULL
, 503, LOCATE_mmbuilder___PClassdef___name
};
2167 val_t
*variable
= NULL
;
2168 struct WBT_
**closurevariable
= NULL
;
2169 trace
.prev
= tracehead
; tracehead
= &trace
;
2170 trace
.file
= LOCATE_mmbuilder
;
2171 fprintf(stderr
, "Deferred method called");
2172 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 503);
2174 tracehead
= trace
.prev
;
2177 val_t
mmbuilder___PClassdef___arity(val_t self
) {
2178 struct trace_t trace
= {NULL
, NULL
, 506, LOCATE_mmbuilder___PClassdef___arity
};
2180 struct WBT_
**closurevariable
= NULL
;
2181 trace
.prev
= tracehead
; tracehead
= &trace
;
2182 trace
.file
= LOCATE_mmbuilder
;
2183 /* Register variable[0]: Local variable */
2185 /* Register variable[1]: Method return value and escape marker */
2186 variable
[1] = TAG_Int(0);
2187 goto return_label92
;
2188 return_label92
: while(false);
2189 tracehead
= trace
.prev
;
2192 val_t
mmbuilder___PClassdef___visibility_level(val_t self
) {
2193 struct trace_t trace
= {NULL
, NULL
, 509, LOCATE_mmbuilder___PClassdef___visibility_level
};
2195 struct WBT_
**closurevariable
= NULL
;
2196 trace
.prev
= tracehead
; tracehead
= &trace
;
2197 trace
.file
= LOCATE_mmbuilder
;
2198 /* Register variable[0]: Local variable */
2200 /* Register variable[1]: Method return value and escape marker */
2201 variable
[1] = TAG_Int(1);
2202 goto return_label93
;
2203 return_label93
: while(false);
2204 tracehead
= trace
.prev
;
2207 val_t
mmbuilder___PClasskind___is_interface(val_t self
) {
2208 struct trace_t trace
= {NULL
, NULL
, 556, LOCATE_mmbuilder___PClasskind___is_interface
};
2210 struct WBT_
**closurevariable
= NULL
;
2211 trace
.prev
= tracehead
; tracehead
= &trace
;
2212 trace
.file
= LOCATE_mmbuilder
;
2213 /* Register variable[0]: Local variable */
2215 /* Register variable[1]: Method return value and escape marker */
2216 variable
[1] = TAG_Bool(false);
2217 goto return_label94
;
2218 return_label94
: while(false);
2219 tracehead
= trace
.prev
;
2222 val_t
mmbuilder___PClasskind___is_universal(val_t self
) {
2223 struct trace_t trace
= {NULL
, NULL
, 557, LOCATE_mmbuilder___PClasskind___is_universal
};
2225 struct WBT_
**closurevariable
= NULL
;
2226 trace
.prev
= tracehead
; tracehead
= &trace
;
2227 trace
.file
= LOCATE_mmbuilder
;
2228 /* Register variable[0]: Local variable */
2230 /* Register variable[1]: Method return value and escape marker */
2231 variable
[1] = TAG_Bool(false);
2232 goto return_label95
;
2233 return_label95
: while(false);
2234 tracehead
= trace
.prev
;
2237 val_t
mmbuilder___PClasskind___is_abstract(val_t self
) {
2238 struct trace_t trace
= {NULL
, NULL
, 558, LOCATE_mmbuilder___PClasskind___is_abstract
};
2240 struct WBT_
**closurevariable
= NULL
;
2241 trace
.prev
= tracehead
; tracehead
= &trace
;
2242 trace
.file
= LOCATE_mmbuilder
;
2243 /* Register variable[0]: Local variable */
2245 /* Register variable[1]: Method return value and escape marker */
2246 variable
[1] = TAG_Bool(false);
2247 goto return_label96
;
2248 return_label96
: while(false);
2249 tracehead
= trace
.prev
;
2252 val_t
mmbuilder___AInterfaceClasskind___is_interface(val_t self
) {
2253 struct trace_t trace
= {NULL
, NULL
, 562, LOCATE_mmbuilder___AInterfaceClasskind___is_interface
};
2255 struct WBT_
**closurevariable
= NULL
;
2256 trace
.prev
= tracehead
; tracehead
= &trace
;
2257 trace
.file
= LOCATE_mmbuilder
;
2258 /* Register variable[0]: Local variable */
2260 /* Register variable[1]: Method return value and escape marker */
2261 variable
[1] = TAG_Bool(true);
2262 goto return_label97
;
2263 return_label97
: while(false);
2264 tracehead
= trace
.prev
;
2267 val_t
mmbuilder___AUniversalClasskind___is_universal(val_t self
) {
2268 struct trace_t trace
= {NULL
, NULL
, 565, LOCATE_mmbuilder___AUniversalClasskind___is_universal
};
2270 struct WBT_
**closurevariable
= NULL
;
2271 trace
.prev
= tracehead
; tracehead
= &trace
;
2272 trace
.file
= LOCATE_mmbuilder
;
2273 /* Register variable[0]: Local variable */
2275 /* Register variable[1]: Method return value and escape marker */
2276 variable
[1] = TAG_Bool(true);
2277 goto return_label98
;
2278 return_label98
: while(false);
2279 tracehead
= trace
.prev
;
2282 val_t
mmbuilder___AAbstractClasskind___is_abstract(val_t self
) {
2283 struct trace_t trace
= {NULL
, NULL
, 568, LOCATE_mmbuilder___AAbstractClasskind___is_abstract
};
2285 struct WBT_
**closurevariable
= NULL
;
2286 trace
.prev
= tracehead
; tracehead
= &trace
;
2287 trace
.file
= LOCATE_mmbuilder
;
2288 /* Register variable[0]: Local variable */
2290 /* Register variable[1]: Method return value and escape marker */
2291 variable
[1] = TAG_Bool(true);
2292 goto return_label99
;
2293 return_label99
: while(false);
2294 tracehead
= trace
.prev
;
2297 void mmbuilder___AClassdef___accept_class_verifier(val_t self
, val_t param0
) {
2298 struct trace_t trace
= {NULL
, NULL
, 580, LOCATE_mmbuilder___AClassdef___accept_class_verifier
};
2299 static val_t once_value_101
= NIT_NULL
; /* Once value for string variable[5]*/
2300 static val_t once_value_102
= NIT_NULL
; /* Once value for string variable[5]*/
2301 static val_t once_value_104
= NIT_NULL
; /* Once value for string variable[9]*/
2302 static val_t once_value_105
= NIT_NULL
; /* Once value for string variable[9]*/
2303 static val_t once_value_106
= NIT_NULL
; /* Once value for string variable[9]*/
2304 static val_t once_value_107
= NIT_NULL
; /* Once value for string variable[9]*/
2305 static val_t once_value_108
= NIT_NULL
; /* Once value for string variable[9]*/
2306 static val_t once_value_109
= NIT_NULL
; /* Once value for string variable[9]*/
2307 static val_t once_value_110
= NIT_NULL
; /* Once value for string variable[9]*/
2308 static val_t once_value_111
= NIT_NULL
; /* Once value for string variable[9]*/
2309 static val_t once_value_112
= NIT_NULL
; /* Once value for string variable[9]*/
2310 static val_t once_value_113
= NIT_NULL
; /* Once value for string variable[9]*/
2311 static val_t once_value_114
= NIT_NULL
; /* Once value for string variable[9]*/
2312 static val_t once_value_115
= NIT_NULL
; /* Once value for string variable[9]*/
2313 static val_t once_value_116
= NIT_NULL
; /* Once value for string variable[5]*/
2314 static val_t once_value_117
= NIT_NULL
; /* Once value for string variable[5]*/
2315 static val_t once_value_118
= NIT_NULL
; /* Once value for string variable[5]*/
2316 static val_t once_value_119
= NIT_NULL
; /* Once value for string variable[5]*/
2317 static val_t once_value_120
= NIT_NULL
; /* Once value for string variable[5]*/
2318 static val_t once_value_121
= NIT_NULL
; /* Once value for string variable[5]*/
2319 static val_t once_value_122
= NIT_NULL
; /* Once value for string variable[5]*/
2321 struct WBT_
**closurevariable
= NULL
;
2322 trace
.prev
= tracehead
; tracehead
= &trace
;
2323 trace
.file
= LOCATE_mmbuilder
;
2324 /* Register variable[0]: Local variable */
2326 /* Register variable[1]: Local variable */
2327 variable
[1] = param0
;
2328 /* Register variable[2]: Method return value and escape marker */
2329 CALL_SUPER_mmbuilder___AClassdef___accept_class_verifier(variable
[0])(variable
[0], variable
[1]) /*super AClassdef::accept_class_verifier*/;
2330 /* Register variable[3]: Local variable */
2331 /* Register variable[4]: Result */
2332 variable
[4] = ATTR_mmbuilder___PClassdef____local_class(variable
[0]) /*PClassdef::_local_class*/;
2333 /* Register variable[4]: Result */
2334 variable
[4] = CALL_abstractmetamodel___MMLocalClass___global(variable
[4])(variable
[4]) /*MMLocalClass::global*/;
2335 variable
[3] = variable
[4];
2336 /* Register variable[4]: Result */
2337 variable
[4] = CALL_abstractmetamodel___MMGlobalClass___intro( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::intro*/;
2338 /* Register variable[5]: Result */
2339 variable
[5] = ATTR_mmbuilder___PClassdef____local_class(variable
[0]) /*PClassdef::_local_class*/;
2340 /* Register variable[4]: Result */
2341 variable
[4] = TAG_Bool((variable
[4] == variable
[5]) || ((variable
[4] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[4])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4],variable
[5])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[4])(variable
[4], variable
[5]) /*Object::==*/)))));
2342 if (UNTAG_Bool(variable
[4])) { /*if*/
2343 /* Register variable[4]: Result */
2344 variable
[4] = CALL_mmbuilder___PClassdef___visibility_level(variable
[0])(variable
[0]) /*AClassdef::visibility_level*/;
2345 CALL_abstractmetamodel___MMGlobalClass___visibility_level__eq( variable
[3] /*glob*/)( variable
[3] /*glob*/, variable
[4]) /*MMGlobalClass::visibility_level=*/;
2346 /* Register variable[4]: Result */
2347 variable
[4] = CALL_parser_nodes___AClassdef___n_classkind(variable
[0])(variable
[0]) /*AClassdef::n_classkind*/;
2348 /* Register variable[4]: Result */
2349 variable
[4] = CALL_mmbuilder___PClasskind___is_interface(variable
[4])(variable
[4]) /*PClasskind::is_interface*/;
2350 CALL_abstractmetamodel___MMGlobalClass___is_interface__eq( variable
[3] /*glob*/)( variable
[3] /*glob*/, variable
[4]) /*MMGlobalClass::is_interface=*/;
2351 /* Register variable[4]: Result */
2352 variable
[4] = CALL_parser_nodes___AClassdef___n_classkind(variable
[0])(variable
[0]) /*AClassdef::n_classkind*/;
2353 /* Register variable[4]: Result */
2354 variable
[4] = CALL_mmbuilder___PClasskind___is_abstract(variable
[4])(variable
[4]) /*PClasskind::is_abstract*/;
2355 CALL_abstractmetamodel___MMGlobalClass___is_abstract__eq( variable
[3] /*glob*/)( variable
[3] /*glob*/, variable
[4]) /*MMGlobalClass::is_abstract=*/;
2356 /* Register variable[4]: Result */
2357 variable
[4] = CALL_parser_nodes___AClassdef___n_classkind(variable
[0])(variable
[0]) /*AClassdef::n_classkind*/;
2358 /* Register variable[4]: Result */
2359 variable
[4] = CALL_mmbuilder___PClasskind___is_universal(variable
[4])(variable
[4]) /*PClasskind::is_universal*/;
2360 CALL_abstractmetamodel___MMGlobalClass___is_universal__eq( variable
[3] /*glob*/)( variable
[3] /*glob*/, variable
[4]) /*MMGlobalClass::is_universal=*/;
2361 /* Register variable[4]: Result */
2362 variable
[4] = CALL_parser_nodes___AClassdef___n_kwredef(variable
[0])(variable
[0]) /*AClassdef::n_kwredef*/;
2363 /* Register variable[4]: Result */
2364 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[4] == NIT_NULL
/*null*/) || ((variable
[4] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[4])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[4])(variable
[4], NIT_NULL
/*null*/) /*Object::==*/)))))));
2365 if (UNTAG_Bool(variable
[4])) { /*if*/
2366 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2367 /* Register variable[5]: Once String constant */
2368 if (once_value_101
!= NIT_NULL
) variable
[5] = once_value_101
;
2370 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: No class "), TAG_Int(22)) /*new String*/;
2371 once_value_101
= variable
[5];
2373 /* Register variable[5]: Result */
2374 /* Ensure var variable[5]: super-string element*/
2375 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2376 /* Register variable[5]: Result */
2377 variable
[5] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*AClassdef::name*/;
2378 /* Ensure var variable[5]: super-string element*/
2379 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/) /*AbstractArray::add*/;
2380 /* Register variable[5]: Once String constant */
2381 if (once_value_102
!= NIT_NULL
) variable
[5] = once_value_102
;
2383 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString(" is imported. Remove the redef keyword to define a new class."), TAG_Int(61)) /*new String*/;
2384 once_value_102
= variable
[5];
2386 /* Register variable[5]: Result */
2387 /* Ensure var variable[5]: super-string element*/
2388 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2389 /* Register variable[4]: Result */
2390 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
2391 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[4]) /*AbsSyntaxVisitor::error*/;
2393 /* Register variable[4]: Result */
2394 variable
[4] = ATTR_mmbuilder___PClassdef____local_class(variable
[0]) /*PClassdef::_local_class*/;
2395 /* Register variable[4]: Result */
2396 variable
[4] = CALL_abstractmetamodel___MMLocalClass___cshe(variable
[4])(variable
[4]) /*MMLocalClass::cshe*/;
2397 /* Register variable[4]: Result */
2398 variable
[4] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[4])(variable
[4]) /*PartialOrderElement::direct_greaters*/;
2399 /* Register variable[4]: For iterator */
2400 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArrayRead::iterator*/;
2401 while (true) { /*for*/
2402 /* Register variable[5]: For 'is_ok' result */
2403 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
2404 if (!UNTAG_Bool(variable
[5])) break; /*for*/
2405 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
2406 /* Register variable[6]: Local variable */
2407 variable
[6] = variable
[5];
2408 /* Register variable[7]: Local variable */
2409 /* Register variable[8]: Result */
2410 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::global*/;
2411 variable
[7] = variable
[8];
2412 /* Register variable[8]: Result */
2413 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::is_interface*/;
2414 if (UNTAG_Bool(variable
[8])) { /*if*/
2415 /* Register variable[8]: Result */
2416 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[7] /*cg*/)( variable
[7] /*cg*/) /*MMGlobalClass::is_universal*/;
2417 if (UNTAG_Bool(variable
[8])) { /*if*/
2418 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2419 /* Register variable[9]: Once String constant */
2420 if (once_value_104
!= NIT_NULL
) variable
[9] = once_value_104
;
2422 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Interface "), TAG_Int(25)) /*new String*/;
2423 once_value_104
= variable
[9];
2425 /* Register variable[9]: Result */
2426 /* Ensure var variable[9]: super-string element*/
2427 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2428 /* Register variable[9]: Result */
2429 variable
[9] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*AClassdef::name*/;
2430 /* Ensure var variable[9]: super-string element*/
2431 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2432 /* Register variable[9]: Once String constant */
2433 if (once_value_105
!= NIT_NULL
) variable
[9] = once_value_105
;
2435 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise universal class "), TAG_Int(35)) /*new String*/;
2436 once_value_105
= variable
[9];
2438 /* Register variable[9]: Result */
2439 /* Ensure var variable[9]: super-string element*/
2440 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2441 /* Register variable[9]: Result */
2442 variable
[9] = CALL_abstractmetamodel___MMLocalClass___name( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::name*/;
2443 /* Ensure var variable[9]: super-string element*/
2444 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2445 /* Register variable[9]: Once String constant */
2446 if (once_value_106
!= NIT_NULL
) variable
[9] = once_value_106
;
2448 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2449 once_value_106
= variable
[9];
2451 /* Register variable[9]: Result */
2452 /* Ensure var variable[9]: super-string element*/
2453 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2454 /* Register variable[8]: Result */
2455 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
2456 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
2458 /* Register variable[8]: Result */
2459 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[7] /*cg*/)( variable
[7] /*cg*/) /*MMGlobalClass::is_interface*/;
2460 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[8])))) { /*if*/
2461 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2462 /* Register variable[9]: Once String constant */
2463 if (once_value_107
!= NIT_NULL
) variable
[9] = once_value_107
;
2465 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Interface "), TAG_Int(25)) /*new String*/;
2466 once_value_107
= variable
[9];
2468 /* Register variable[9]: Result */
2469 /* Ensure var variable[9]: super-string element*/
2470 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2471 /* Register variable[9]: Result */
2472 variable
[9] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*AClassdef::name*/;
2473 /* Ensure var variable[9]: super-string element*/
2474 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2475 /* Register variable[9]: Once String constant */
2476 if (once_value_108
!= NIT_NULL
) variable
[9] = once_value_108
;
2478 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise class "), TAG_Int(25)) /*new String*/;
2479 once_value_108
= variable
[9];
2481 /* Register variable[9]: Result */
2482 /* Ensure var variable[9]: super-string element*/
2483 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2484 /* Register variable[9]: Result */
2485 variable
[9] = CALL_abstractmetamodel___MMLocalClass___name( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::name*/;
2486 /* Ensure var variable[9]: super-string element*/
2487 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2488 /* Register variable[9]: Once String constant */
2489 if (once_value_109
!= NIT_NULL
) variable
[9] = once_value_109
;
2491 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2492 once_value_109
= variable
[9];
2494 /* Register variable[9]: Result */
2495 /* Ensure var variable[9]: super-string element*/
2496 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2497 /* Register variable[8]: Result */
2498 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
2499 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
2503 /* Register variable[8]: Result */
2504 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::is_universal*/;
2505 if (UNTAG_Bool(variable
[8])) { /*if*/
2506 /* Register variable[8]: Result */
2507 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[7] /*cg*/)( variable
[7] /*cg*/) /*MMGlobalClass::is_interface*/;
2508 variable
[8] = TAG_Bool(!UNTAG_Bool(variable
[8])) /* Ensure var: Left 'and' operand*/;
2509 if (UNTAG_Bool(variable
[8])) { /* and */
2510 /* Register variable[8]: Result */
2511 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[7] /*cg*/)( variable
[7] /*cg*/) /*MMGlobalClass::is_universal*/;
2512 variable
[8] = TAG_Bool(!UNTAG_Bool(variable
[8]));
2514 /* Register variable[8]: Result */
2515 if (UNTAG_Bool(variable
[8])) { /*if*/
2516 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2517 /* Register variable[9]: Once String constant */
2518 if (once_value_110
!= NIT_NULL
) variable
[9] = once_value_110
;
2520 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Universal class "), TAG_Int(31)) /*new String*/;
2521 once_value_110
= variable
[9];
2523 /* Register variable[9]: Result */
2524 /* Ensure var variable[9]: super-string element*/
2525 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2526 /* Register variable[9]: Result */
2527 variable
[9] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*AClassdef::name*/;
2528 /* Ensure var variable[9]: super-string element*/
2529 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2530 /* Register variable[9]: Once String constant */
2531 if (once_value_111
!= NIT_NULL
) variable
[9] = once_value_111
;
2533 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise class "), TAG_Int(25)) /*new String*/;
2534 once_value_111
= variable
[9];
2536 /* Register variable[9]: Result */
2537 /* Ensure var variable[9]: super-string element*/
2538 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2539 /* Register variable[9]: Result */
2540 variable
[9] = CALL_abstractmetamodel___MMLocalClass___name( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::name*/;
2541 /* Ensure var variable[9]: super-string element*/
2542 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2543 /* Register variable[9]: Once String constant */
2544 if (once_value_112
!= NIT_NULL
) variable
[9] = once_value_112
;
2546 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2547 once_value_112
= variable
[9];
2549 /* Register variable[9]: Result */
2550 /* Ensure var variable[9]: super-string element*/
2551 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2552 /* Register variable[8]: Result */
2553 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
2554 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
2557 /* Register variable[8]: Result */
2558 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[7] /*cg*/)( variable
[7] /*cg*/) /*MMGlobalClass::is_universal*/;
2559 if (UNTAG_Bool(variable
[8])) { /*if*/
2560 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2561 /* Register variable[9]: Once String constant */
2562 if (once_value_113
!= NIT_NULL
) variable
[9] = once_value_113
;
2564 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Class "), TAG_Int(21)) /*new String*/;
2565 once_value_113
= variable
[9];
2567 /* Register variable[9]: Result */
2568 /* Ensure var variable[9]: super-string element*/
2569 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2570 /* Register variable[9]: Result */
2571 variable
[9] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*AClassdef::name*/;
2572 /* Ensure var variable[9]: super-string element*/
2573 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2574 /* Register variable[9]: Once String constant */
2575 if (once_value_114
!= NIT_NULL
) variable
[9] = once_value_114
;
2577 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise universal class "), TAG_Int(35)) /*new String*/;
2578 once_value_114
= variable
[9];
2580 /* Register variable[9]: Result */
2581 /* Ensure var variable[9]: super-string element*/
2582 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2583 /* Register variable[9]: Result */
2584 variable
[9] = CALL_abstractmetamodel___MMLocalClass___name( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::name*/;
2585 /* Ensure var variable[9]: super-string element*/
2586 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2587 /* Register variable[9]: Once String constant */
2588 if (once_value_115
!= NIT_NULL
) variable
[9] = once_value_115
;
2590 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2591 once_value_115
= variable
[9];
2593 /* Register variable[9]: Result */
2594 /* Ensure var variable[9]: super-string element*/
2595 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2596 /* Register variable[8]: Result */
2597 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
2598 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
2602 continue_103
: while(0);
2603 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
2605 break_103
: while(0);
2606 goto return_label100
;
2608 /* Register variable[4]: Result */
2609 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
2610 CALL_syntax_base___MMGlobalClass___check_visibility( variable
[3] /*glob*/)( variable
[3] /*glob*/, variable
[1] /*v*/, variable
[0], variable
[4]) /*MMGlobalClass::check_visibility*/;
2611 /* Register variable[4]: Result */
2612 variable
[4] = CALL_parser_nodes___AClassdef___n_kwredef(variable
[0])(variable
[0]) /*AClassdef::n_kwredef*/;
2613 /* Register variable[4]: Result */
2614 variable
[4] = TAG_Bool((variable
[4] == NIT_NULL
/*null*/) || ((variable
[4] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[4])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[4])(variable
[4], NIT_NULL
/*null*/) /*Object::==*/)))));
2615 if (UNTAG_Bool(variable
[4])) { /*if*/
2616 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2617 /* Register variable[5]: Once String constant */
2618 if (once_value_116
!= NIT_NULL
) variable
[5] = once_value_116
;
2620 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)) /*new String*/;
2621 once_value_116
= variable
[5];
2623 /* Register variable[5]: Result */
2624 /* Ensure var variable[5]: super-string element*/
2625 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2626 /* Register variable[5]: Result */
2627 variable
[5] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*AClassdef::name*/;
2628 /* Ensure var variable[5]: super-string element*/
2629 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/) /*AbstractArray::add*/;
2630 /* Register variable[5]: Once String constant */
2631 if (once_value_117
!= NIT_NULL
) variable
[5] = once_value_117
;
2633 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString(" is an imported class. Add the redef keyword to refine it."), TAG_Int(58)) /*new String*/;
2634 once_value_117
= variable
[5];
2636 /* Register variable[5]: Result */
2637 /* Ensure var variable[5]: super-string element*/
2638 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2639 /* Register variable[4]: Result */
2640 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
2641 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[4]) /*AbsSyntaxVisitor::error*/;
2642 goto return_label100
;
2644 /* Register variable[4]: Result */
2645 variable
[4] = CALL_abstractmetamodel___MMGlobalClass___intro( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::intro*/;
2646 /* Register variable[4]: Result */
2647 variable
[4] = CALL_abstractmetamodel___MMLocalClass___arity(variable
[4])(variable
[4]) /*MMLocalClass::arity*/;
2648 /* Register variable[5]: Result */
2649 variable
[5] = ATTR_mmbuilder___PClassdef____local_class(variable
[0]) /*PClassdef::_local_class*/;
2650 /* Register variable[5]: Result */
2651 variable
[5] = CALL_abstractmetamodel___MMLocalClass___arity(variable
[5])(variable
[5]) /*MMLocalClass::arity*/;
2652 /* Register variable[4]: Result */
2653 variable
[4] = TAG_Bool((variable
[4])!=(variable
[5]));
2654 if (UNTAG_Bool(variable
[4])) { /*if*/
2655 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2656 /* Register variable[5]: Once String constant */
2657 if (once_value_118
!= NIT_NULL
) variable
[5] = once_value_118
;
2659 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Formal parameter arity missmatch; got "), TAG_Int(51)) /*new String*/;
2660 once_value_118
= variable
[5];
2662 /* Register variable[5]: Result */
2663 /* Ensure var variable[5]: super-string element*/
2664 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2665 /* Register variable[5]: Result */
2666 variable
[5] = ATTR_mmbuilder___PClassdef____local_class(variable
[0]) /*PClassdef::_local_class*/;
2667 /* Register variable[5]: Result */
2668 variable
[5] = CALL_abstractmetamodel___MMLocalClass___arity(variable
[5])(variable
[5]) /*MMLocalClass::arity*/;
2669 /* Ensure var variable[5]: super-string element*/
2670 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/) /*AbstractArray::add*/;
2671 /* Register variable[5]: Once String constant */
2672 if (once_value_119
!= NIT_NULL
) variable
[5] = once_value_119
;
2674 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString(", expected "), TAG_Int(11)) /*new String*/;
2675 once_value_119
= variable
[5];
2677 /* Register variable[5]: Result */
2678 /* Ensure var variable[5]: super-string element*/
2679 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2680 /* Register variable[5]: Result */
2681 variable
[5] = CALL_abstractmetamodel___MMGlobalClass___intro( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::intro*/;
2682 /* Register variable[5]: Result */
2683 variable
[5] = CALL_abstractmetamodel___MMLocalClass___arity(variable
[5])(variable
[5]) /*MMLocalClass::arity*/;
2684 /* Ensure var variable[5]: super-string element*/
2685 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/) /*AbstractArray::add*/;
2686 /* Register variable[5]: Once String constant */
2687 if (once_value_120
!= NIT_NULL
) variable
[5] = once_value_120
;
2689 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2690 once_value_120
= variable
[5];
2692 /* Register variable[5]: Result */
2693 /* Ensure var variable[5]: super-string element*/
2694 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2695 /* Register variable[4]: Result */
2696 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
2697 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[4]) /*AbsSyntaxVisitor::error*/;
2699 /* Register variable[4]: Result */
2700 variable
[4] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::is_interface*/;
2701 variable
[4] = TAG_Bool(!UNTAG_Bool(variable
[4])) /* Ensure var: Left 'and' operand*/;
2702 if (UNTAG_Bool(variable
[4])) { /* and */
2703 /* Register variable[4]: Result */
2704 variable
[4] = CALL_parser_nodes___AClassdef___n_classkind(variable
[0])(variable
[0]) /*AClassdef::n_classkind*/;
2705 /* Register variable[4]: Result */
2706 variable
[4] = CALL_mmbuilder___PClasskind___is_interface(variable
[4])(variable
[4]) /*PClasskind::is_interface*/;
2708 /* Register variable[4]: Result */
2709 /* Ensure var variable[4]: Left 'or' operand*/
2710 if (!UNTAG_Bool(variable
[4])) { /* or */
2711 /* Register variable[4]: Result */
2712 variable
[4] = CALL_abstractmetamodel___MMGlobalClass___is_abstract( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::is_abstract*/;
2713 variable
[4] = TAG_Bool(!UNTAG_Bool(variable
[4]));
2715 /* Register variable[4]: Result */
2716 /* Ensure var variable[4]: Left 'and' operand*/
2717 if (UNTAG_Bool(variable
[4])) { /* and */
2718 /* Register variable[4]: Result */
2719 variable
[4] = CALL_parser_nodes___AClassdef___n_classkind(variable
[0])(variable
[0]) /*AClassdef::n_classkind*/;
2720 /* Register variable[4]: Result */
2721 variable
[4] = CALL_mmbuilder___PClasskind___is_abstract(variable
[4])(variable
[4]) /*PClasskind::is_abstract*/;
2723 /* Register variable[4]: Result */
2724 /* Ensure var variable[4]: Left 'or' operand*/
2725 if (!UNTAG_Bool(variable
[4])) { /* or */
2726 /* Register variable[4]: Result */
2727 variable
[4] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::is_universal*/;
2728 variable
[4] = TAG_Bool(!UNTAG_Bool(variable
[4]));
2730 /* Register variable[4]: Result */
2731 /* Ensure var variable[4]: Left 'and' operand*/
2732 if (UNTAG_Bool(variable
[4])) { /* and */
2733 /* Register variable[4]: Result */
2734 variable
[4] = CALL_parser_nodes___AClassdef___n_classkind(variable
[0])(variable
[0]) /*AClassdef::n_classkind*/;
2735 /* Register variable[4]: Result */
2736 variable
[4] = CALL_mmbuilder___PClasskind___is_universal(variable
[4])(variable
[4]) /*PClasskind::is_universal*/;
2738 /* Register variable[4]: Result */
2739 if (UNTAG_Bool(variable
[4])) { /*if*/
2740 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2741 /* Register variable[5]: Once String constant */
2742 if (once_value_121
!= NIT_NULL
) variable
[5] = once_value_121
;
2744 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: cannot change kind of class "), TAG_Int(41)) /*new String*/;
2745 once_value_121
= variable
[5];
2747 /* Register variable[5]: Result */
2748 /* Ensure var variable[5]: super-string element*/
2749 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2750 /* Register variable[5]: Result */
2751 variable
[5] = CALL_mmbuilder___PClassdef___name(variable
[0])(variable
[0]) /*AClassdef::name*/;
2752 /* Ensure var variable[5]: super-string element*/
2753 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/) /*AbstractArray::add*/;
2754 /* Register variable[5]: Once String constant */
2755 if (once_value_122
!= NIT_NULL
) variable
[5] = once_value_122
;
2757 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2758 once_value_122
= variable
[5];
2760 /* Register variable[5]: Result */
2761 /* Ensure var variable[5]: super-string element*/
2762 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
2763 /* Register variable[4]: Result */
2764 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
2765 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[4]) /*AbsSyntaxVisitor::error*/;
2767 return_label100
: while(false);
2768 tracehead
= trace
.prev
;
2771 val_t
mmbuilder___AClassdef___name(val_t self
) {
2772 struct trace_t trace
= {NULL
, NULL
, 572, LOCATE_mmbuilder___AClassdef___name
};
2774 struct WBT_
**closurevariable
= NULL
;
2775 trace
.prev
= tracehead
; tracehead
= &trace
;
2776 trace
.file
= LOCATE_mmbuilder
;
2777 /* Register variable[0]: Local variable */
2779 /* Register variable[1]: Method return value and escape marker */
2780 /* Register variable[2]: Result */
2781 variable
[2] = CALL_parser_nodes___AClassdef___n_id(variable
[0])(variable
[0]) /*AClassdef::n_id*/;
2782 /* Register variable[2]: Result */
2783 variable
[2] = CALL_syntax_base___Token___to_symbol(variable
[2])(variable
[2]) /*Token::to_symbol*/;
2784 variable
[1] = variable
[2];
2785 goto return_label123
;
2786 return_label123
: while(false);
2787 tracehead
= trace
.prev
;
2790 val_t
mmbuilder___AClassdef___arity(val_t self
) {
2791 struct trace_t trace
= {NULL
, NULL
, 576, LOCATE_mmbuilder___AClassdef___arity
};
2793 struct WBT_
**closurevariable
= NULL
;
2794 trace
.prev
= tracehead
; tracehead
= &trace
;
2795 trace
.file
= LOCATE_mmbuilder
;
2796 /* Register variable[0]: Local variable */
2798 /* Register variable[1]: Method return value and escape marker */
2799 /* Register variable[2]: Result */
2800 variable
[2] = CALL_parser_nodes___AClassdef___n_formaldefs(variable
[0])(variable
[0]) /*AClassdef::n_formaldefs*/;
2801 /* Register variable[2]: Result */
2802 variable
[2] = CALL_abstract_collection___Collection___length(variable
[2])(variable
[2]) /*List::length*/;
2803 variable
[1] = variable
[2];
2804 goto return_label124
;
2805 return_label124
: while(false);
2806 tracehead
= trace
.prev
;
2809 val_t
mmbuilder___AClassdef___visibility_level(val_t self
) {
2810 struct trace_t trace
= {NULL
, NULL
, 637, LOCATE_mmbuilder___AClassdef___visibility_level
};
2812 struct WBT_
**closurevariable
= NULL
;
2813 trace
.prev
= tracehead
; tracehead
= &trace
;
2814 trace
.file
= LOCATE_mmbuilder
;
2815 /* Register variable[0]: Local variable */
2817 /* Register variable[1]: Method return value and escape marker */
2818 /* Register variable[2]: Result */
2819 variable
[2] = CALL_parser_nodes___AClassdef___n_visibility(variable
[0])(variable
[0]) /*AClassdef::n_visibility*/;
2820 /* Register variable[2]: Result */
2821 variable
[2] = CALL_mmbuilder___PVisibility___level(variable
[2])(variable
[2]) /*PVisibility::level*/;
2822 variable
[1] = variable
[2];
2823 goto return_label125
;
2824 return_label125
: while(false);
2825 tracehead
= trace
.prev
;
2828 val_t
mmbuilder___AMainClassdef___name(val_t self
) {
2829 struct trace_t trace
= {NULL
, NULL
, 644, LOCATE_mmbuilder___AMainClassdef___name
};
2830 static val_t once_value_127
; static int once_bool_127
; /* Once value for variable[2]*/
2831 static val_t once_value_128
= NIT_NULL
; /* Once value for string variable[2]*/
2833 struct WBT_
**closurevariable
= NULL
;
2834 trace
.prev
= tracehead
; tracehead
= &trace
;
2835 trace
.file
= LOCATE_mmbuilder
;
2836 /* Register variable[0]: Local variable */
2838 /* Register variable[1]: Method return value and escape marker */
2839 /* Register variable[2]: Once expression result */
2840 if (once_bool_127
) variable
[2] = once_value_127
;
2842 /* Register variable[2]: Once String constant */
2843 if (once_value_128
!= NIT_NULL
) variable
[2] = once_value_128
;
2845 variable
[2] = NEW_String_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)) /*new String*/;
2846 once_value_128
= variable
[2];
2848 /* Register variable[2]: Result */
2849 /* Register variable[2]: Result */
2850 variable
[2] = CALL_symbol___String___to_symbol(variable
[2])(variable
[2]) /*String::to_symbol*/;
2851 once_value_127
= variable
[2];
2852 once_bool_127
= true;
2854 /* Register variable[2]: Result */
2855 variable
[1] = variable
[2];
2856 goto return_label126
;
2857 return_label126
: while(false);
2858 tracehead
= trace
.prev
;
2861 val_t
mmbuilder___ATopClassdef___name(val_t self
) {
2862 struct trace_t trace
= {NULL
, NULL
, 651, LOCATE_mmbuilder___ATopClassdef___name
};
2863 static val_t once_value_130
; static int once_bool_130
; /* Once value for variable[2]*/
2864 static val_t once_value_131
= NIT_NULL
; /* Once value for string variable[2]*/
2866 struct WBT_
**closurevariable
= NULL
;
2867 trace
.prev
= tracehead
; tracehead
= &trace
;
2868 trace
.file
= LOCATE_mmbuilder
;
2869 /* Register variable[0]: Local variable */
2871 /* Register variable[1]: Method return value and escape marker */
2872 /* Register variable[2]: Once expression result */
2873 if (once_bool_130
) variable
[2] = once_value_130
;
2875 /* Register variable[2]: Once String constant */
2876 if (once_value_131
!= NIT_NULL
) variable
[2] = once_value_131
;
2878 variable
[2] = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)) /*new String*/;
2879 once_value_131
= variable
[2];
2881 /* Register variable[2]: Result */
2882 /* Register variable[2]: Result */
2883 variable
[2] = CALL_symbol___String___to_symbol(variable
[2])(variable
[2]) /*String::to_symbol*/;
2884 once_value_130
= variable
[2];
2885 once_bool_130
= true;
2887 /* Register variable[2]: Result */
2888 variable
[1] = variable
[2];
2889 goto return_label129
;
2890 return_label129
: while(false);
2891 tracehead
= trace
.prev
;
2894 val_t
mmbuilder___MMSrcTypeFormalParameter___node(val_t self
) {
2895 struct trace_t trace
= {NULL
, NULL
, 659, LOCATE_mmbuilder___MMSrcTypeFormalParameter___node
};
2896 val_t
*variable
= NULL
;
2897 struct WBT_
**closurevariable
= NULL
;
2898 trace
.prev
= tracehead
; tracehead
= &trace
;
2899 trace
.file
= LOCATE_mmbuilder
;
2900 tracehead
= trace
.prev
;
2901 return ATTR_mmbuilder___MMSrcTypeFormalParameter____node( self
) /*MMSrcTypeFormalParameter::_node*/;
2903 void mmbuilder___MMSrcTypeFormalParameter___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
, int* init_table
) {
2904 struct trace_t trace
= {NULL
, NULL
, 662, LOCATE_mmbuilder___MMSrcTypeFormalParameter___init
};
2906 struct WBT_
**closurevariable
= NULL
;
2907 trace
.prev
= tracehead
; tracehead
= &trace
;
2908 trace
.file
= LOCATE_mmbuilder
;
2909 /* Register variable[0]: Local variable */
2911 /* Register variable[1]: Local variable */
2912 variable
[1] = param0
;
2913 /* Register variable[2]: Local variable */
2914 variable
[2] = param1
;
2915 /* Register variable[3]: Local variable */
2916 variable
[3] = param2
;
2917 /* Register variable[4]: Local variable */
2918 variable
[4] = param3
;
2919 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcTypeFormalParameter
].i
]) return;
2920 /* Register variable[5]: Method return value and escape marker */
2921 CALL_genericity___MMTypeFormalParameter___init(variable
[0])(variable
[0], variable
[1] /*name*/, variable
[2] /*pos*/, variable
[3] /*local_class*/, init_table
/*YYY*/) /*MMTypeFormalParameter::init*/;
2922 ATTR_mmbuilder___MMSrcTypeFormalParameter____node(variable
[0]) /*MMSrcTypeFormalParameter::_node*/ = variable
[4] /*n*/;
2923 return_label132
: while(false);
2924 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcTypeFormalParameter
].i
] = 1;
2925 tracehead
= trace
.prev
;
2928 void mmbuilder___AFormaldef___accept_class_builder(val_t self
, val_t param0
) {
2929 struct trace_t trace
= {NULL
, NULL
, 673, LOCATE_mmbuilder___AFormaldef___accept_class_builder
};
2931 struct WBT_
**closurevariable
= NULL
;
2932 trace
.prev
= tracehead
; tracehead
= &trace
;
2933 trace
.file
= LOCATE_mmbuilder
;
2934 /* Register variable[0]: Local variable */
2936 /* Register variable[1]: Local variable */
2937 variable
[1] = param0
;
2938 /* Register variable[2]: Method return value and escape marker */
2939 /* Register variable[3]: Local variable */
2940 /* Register variable[4]: Result */
2941 variable
[4] = CALL_parser_nodes___AFormaldef___n_id(variable
[0])(variable
[0]) /*AFormaldef::n_id*/;
2942 /* Register variable[4]: Result */
2943 variable
[4] = CALL_syntax_base___Token___to_symbol(variable
[4])(variable
[4]) /*Token::to_symbol*/;
2944 variable
[3] = variable
[4];
2945 /* Register variable[4]: Local variable */
2946 /* Register variable[5]: Result */
2947 variable
[5] = CALL_mmbuilder___ClassBuilderVisitor___local_class_arity( variable
[1] /*v*/)( variable
[1] /*v*/) /*ClassBuilderVisitor::local_class_arity*/;
2948 /* Register variable[6]: Result */
2949 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2950 /* Register variable[5]: Result */
2951 variable
[5] = NEW_MMSrcTypeFormalParameter_mmbuilder___MMSrcTypeFormalParameter___init( variable
[3] /*name*/, variable
[5], variable
[6], variable
[0]) /*new MMSrcTypeFormalParameter*/;
2952 variable
[4] = variable
[5];
2953 ATTR_mmbuilder___AFormaldef____formal(variable
[0]) /*AFormaldef::_formal*/ = variable
[4] /*formal_type*/;
2954 /* Register variable[5]: Result */
2955 variable
[5] = CALL_mmbuilder___ClassBuilderVisitor___local_class_arity( variable
[1] /*v*/)( variable
[1] /*v*/) /*ClassBuilderVisitor::local_class_arity*/;
2956 /* Register variable[5]: Result */
2957 variable
[5] = TAG_Int(UNTAG_Int(variable
[5])+UNTAG_Int( TAG_Int(1)));
2958 CALL_mmbuilder___ClassBuilderVisitor___local_class_arity__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5]) /*ClassBuilderVisitor::local_class_arity=*/;
2959 /* Register variable[5]: Result */
2960 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2961 CALL_genericity___MMLocalClass___register_formal(variable
[5])(variable
[5], variable
[4] /*formal_type*/) /*MMLocalClass::register_formal*/;
2962 /* Register variable[5]: Result */
2963 variable
[5] = CALL_mmbuilder___ClassBuilderVisitor___formals( variable
[1] /*v*/)( variable
[1] /*v*/) /*ClassBuilderVisitor::formals*/;
2964 CALL_abstract_collection___Map_____braeq(variable
[5])(variable
[5], variable
[3] /*name*/, variable
[4] /*formal_type*/) /*Map::[]=*/;
2965 CALL_SUPER_mmbuilder___AFormaldef___accept_class_builder(variable
[0])(variable
[0], variable
[1]) /*super AFormaldef::accept_class_builder*/;
2966 return_label133
: while(false);
2967 tracehead
= trace
.prev
;
2970 void mmbuilder___AFormaldef___accept_class_verifier(val_t self
, val_t param0
) {
2971 struct trace_t trace
= {NULL
, NULL
, 684, LOCATE_mmbuilder___AFormaldef___accept_class_verifier
};
2972 static val_t once_value_135
= NIT_NULL
; /* Once value for string variable[7]*/
2973 static val_t once_value_136
= NIT_NULL
; /* Once value for string variable[7]*/
2974 static val_t once_value_137
= NIT_NULL
; /* Once value for string variable[7]*/
2975 static val_t once_value_138
= NIT_NULL
; /* Once value for string variable[7]*/
2977 struct WBT_
**closurevariable
= NULL
;
2978 trace
.prev
= tracehead
; tracehead
= &trace
;
2979 trace
.file
= LOCATE_mmbuilder
;
2980 /* Register variable[0]: Local variable */
2982 /* Register variable[1]: Local variable */
2983 variable
[1] = param0
;
2984 /* Register variable[2]: Method return value and escape marker */
2985 CALL_SUPER_mmbuilder___AFormaldef___accept_class_verifier(variable
[0])(variable
[0], variable
[1]) /*super AFormaldef::accept_class_verifier*/;
2986 /* Register variable[3]: Local variable */
2987 /* Register variable[4]: Result */
2988 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2989 variable
[3] = variable
[4];
2990 /* Register variable[4]: Local variable */
2991 /* Register variable[5]: Result */
2992 variable
[5] = CALL_abstractmetamodel___MMLocalClass___global( variable
[3] /*c*/)( variable
[3] /*c*/) /*MMLocalClass::global*/;
2993 /* Register variable[5]: Result */
2994 variable
[5] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[5])(variable
[5]) /*MMGlobalClass::intro*/;
2995 variable
[4] = variable
[5];
2996 /* Register variable[5]: Result */
2997 variable
[5] = TAG_Bool(( variable
[3] /*c*/ == variable
[4] /*o*/) || (( variable
[3] /*c*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*c*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*c*/, variable
[4] /*o*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*c*/)( variable
[3] /*c*/, variable
[4] /*o*/) /*Object::==*/)))));
2998 if (UNTAG_Bool(variable
[5])) { /*if*/
2999 /* Register variable[5]: Result */
3000 variable
[5] = CALL_parser_nodes___AFormaldef___n_type(variable
[0])(variable
[0]) /*AFormaldef::n_type*/;
3001 /* Register variable[5]: Result */
3002 variable
[5] = TAG_Bool((variable
[5] == NIT_NULL
/*null*/) || ((variable
[5] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[5])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[5], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[5])(variable
[5], NIT_NULL
/*null*/) /*Object::==*/)))));
3003 if (UNTAG_Bool(variable
[5])) { /*if*/
3004 /* Register variable[5]: Result */
3005 variable
[5] = ATTR_mmbuilder___AFormaldef____formal(variable
[0]) /*AFormaldef::_formal*/;
3006 /* Register variable[6]: Result */
3007 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
3008 /* Register variable[6]: Result */
3009 variable
[6] = CALL_inheritance___MMModule___type_any(variable
[6])(variable
[6]) /*MMModule::type_any*/;
3010 /* Register variable[6]: Result */
3011 variable
[6] = CALL_static_type___MMType___as_nullable(variable
[6])(variable
[6]) /*MMType::as_nullable*/;
3012 CALL_genericity___MMTypeFormalParameter___bound__eq(variable
[5])(variable
[5], variable
[6]) /*MMTypeFormalParameter::bound=*/;
3014 /* Register variable[5]: Result */
3015 variable
[5] = ATTR_mmbuilder___AFormaldef____formal(variable
[0]) /*AFormaldef::_formal*/;
3016 /* Register variable[6]: Result */
3017 variable
[6] = CALL_parser_nodes___AFormaldef___n_type(variable
[0])(variable
[0]) /*AFormaldef::n_type*/;
3018 /* Register variable[6]: Result */
3019 variable
[6] = CALL_syntax_base___PType___get_stype(variable
[6])(variable
[6], variable
[1] /*v*/) /*PType::get_stype*/;
3020 CALL_genericity___MMTypeFormalParameter___bound__eq(variable
[5])(variable
[5], variable
[6]) /*MMTypeFormalParameter::bound=*/;
3023 /* Register variable[5]: Local variable */
3024 /* Register variable[6]: Result */
3025 variable
[6] = ATTR_mmbuilder___AFormaldef____formal(variable
[0]) /*AFormaldef::_formal*/;
3026 /* Register variable[6]: Result */
3027 variable
[6] = CALL_genericity___MMTypeFormalParameter___position(variable
[6])(variable
[6]) /*MMTypeFormalParameter::position*/;
3028 /* Register variable[6]: Result */
3029 variable
[6] = CALL_genericity___MMLocalClass___get_formal( variable
[4] /*o*/)( variable
[4] /*o*/, variable
[6]) /*MMLocalClass::get_formal*/;
3030 /* Register variable[6]: Result */
3031 variable
[6] = CALL_type_formal___MMTypeFormal___bound(variable
[6])(variable
[6]) /*MMTypeFormal::bound*/;
3032 /* Register variable[7]: Result */
3033 variable
[7] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
3034 /* Register variable[6]: Result */
3035 variable
[6] = CALL_static_type___MMType___for_module(variable
[6])(variable
[6], variable
[7]) /*MMType::for_module*/;
3036 variable
[5] = variable
[6];
3037 /* Register variable[6]: Result */
3038 variable
[6] = CALL_parser_nodes___AFormaldef___n_type(variable
[0])(variable
[0]) /*AFormaldef::n_type*/;
3039 /* Register variable[6]: Result */
3040 variable
[6] = TAG_Bool((variable
[6] == NIT_NULL
/*null*/) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], NIT_NULL
/*null*/) /*Object::==*/)))));
3041 if (UNTAG_Bool(variable
[6])) { /*if*/
3042 /* Register variable[6]: Result */
3043 variable
[6] = ATTR_mmbuilder___AFormaldef____formal(variable
[0]) /*AFormaldef::_formal*/;
3044 CALL_genericity___MMTypeFormalParameter___bound__eq(variable
[6])(variable
[6], variable
[5] /*ob*/) /*MMTypeFormalParameter::bound=*/;
3046 /* Register variable[6]: Result */
3047 variable
[6] = ATTR_mmbuilder___AFormaldef____formal(variable
[0]) /*AFormaldef::_formal*/;
3048 /* Register variable[7]: Result */
3049 variable
[7] = CALL_parser_nodes___AFormaldef___n_type(variable
[0])(variable
[0]) /*AFormaldef::n_type*/;
3050 /* Register variable[7]: Result */
3051 variable
[7] = CALL_syntax_base___PType___get_stype(variable
[7])(variable
[7], variable
[1] /*v*/) /*PType::get_stype*/;
3052 CALL_genericity___MMTypeFormalParameter___bound__eq(variable
[6])(variable
[6], variable
[7]) /*MMTypeFormalParameter::bound=*/;
3053 /* Register variable[6]: Result */
3054 variable
[6] = ATTR_mmbuilder___AFormaldef____formal(variable
[0]) /*AFormaldef::_formal*/;
3055 /* Register variable[6]: Result */
3056 variable
[6] = CALL_type_formal___MMTypeFormal___bound(variable
[6])(variable
[6]) /*MMTypeFormal::bound*/;
3057 /* Register variable[6]: Result */
3058 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[6] == variable
[5] /*ob*/) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6], variable
[5] /*ob*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], variable
[5] /*ob*/) /*Object::==*/)))))));
3059 if (UNTAG_Bool(variable
[6])) { /*if*/
3060 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3061 /* Register variable[7]: Once String constant */
3062 if (once_value_135
!= NIT_NULL
) variable
[7] = once_value_135
;
3064 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Cannot change formal parameter type of class "), TAG_Int(58)) /*new String*/;
3065 once_value_135
= variable
[7];
3067 /* Register variable[7]: Result */
3068 /* Ensure var variable[7]: super-string element*/
3069 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3070 variable
[7] = variable
[3] /*c*/ /* Ensure var: super-string element*/;
3071 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3072 /* Register variable[7]: Once String constant */
3073 if (once_value_136
!= NIT_NULL
) variable
[7] = once_value_136
;
3075 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("; got "), TAG_Int(6)) /*new String*/;
3076 once_value_136
= variable
[7];
3078 /* Register variable[7]: Result */
3079 /* Ensure var variable[7]: super-string element*/
3080 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3081 /* Register variable[7]: Result */
3082 variable
[7] = ATTR_mmbuilder___AFormaldef____formal(variable
[0]) /*AFormaldef::_formal*/;
3083 /* Register variable[7]: Result */
3084 variable
[7] = CALL_type_formal___MMTypeFormal___bound(variable
[7])(variable
[7]) /*MMTypeFormal::bound*/;
3085 /* Ensure var variable[7]: super-string element*/
3086 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3087 /* Register variable[7]: Once String constant */
3088 if (once_value_137
!= NIT_NULL
) variable
[7] = once_value_137
;
3090 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(", expected "), TAG_Int(11)) /*new String*/;
3091 once_value_137
= variable
[7];
3093 /* Register variable[7]: Result */
3094 /* Ensure var variable[7]: super-string element*/
3095 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3096 variable
[7] = variable
[5] /*ob*/ /* Ensure var: super-string element*/;
3097 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3098 /* Register variable[7]: Once String constant */
3099 if (once_value_138
!= NIT_NULL
) variable
[7] = once_value_138
;
3101 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
3102 once_value_138
= variable
[7];
3104 /* Register variable[7]: Result */
3105 /* Ensure var variable[7]: super-string element*/
3106 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
3107 /* Register variable[6]: Result */
3108 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
3109 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[6]) /*AbsSyntaxVisitor::error*/;
3113 return_label134
: while(false);
3114 tracehead
= trace
.prev
;
3117 void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t self
, val_t param0
) {
3118 struct trace_t trace
= {NULL
, NULL
, 712, LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder
};
3120 struct WBT_
**closurevariable
= NULL
;
3121 trace
.prev
= tracehead
; tracehead
= &trace
;
3122 trace
.file
= LOCATE_mmbuilder
;
3123 /* Register variable[0]: Local variable */
3125 /* Register variable[1]: Local variable */
3126 variable
[1] = param0
;
3127 /* Register variable[2]: Method return value and escape marker */
3128 CALL_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder(variable
[0])(variable
[0], variable
[1]) /*super ASuperclass::accept_class_specialization_builder*/;
3129 /* Register variable[3]: Local variable */
3130 /* Register variable[4]: Result */
3131 variable
[4] = CALL_parser_nodes___ASuperclass___n_type(variable
[0])(variable
[0]) /*ASuperclass::n_type*/;
3132 /* Register variable[4]: Result */
3133 variable
[4] = CALL_syntax_base___PType___get_local_class(variable
[4])(variable
[4], variable
[1] /*v*/) /*PType::get_local_class*/;
3134 variable
[3] = variable
[4];
3135 /* Register variable[4]: Local variable */
3136 /* Register variable[5]: Result */
3137 variable
[5] = NEW_MMSrcAncestor_mmbuilder___MMSrcAncestor___init(variable
[0], variable
[3] /*c*/) /*new MMSrcAncestor*/;
3138 variable
[4] = variable
[5];
3139 ATTR_mmbuilder___ASuperclass____ancestor(variable
[0]) /*ASuperclass::_ancestor*/ = variable
[4] /*ancestor*/;
3140 /* Register variable[5]: Result */
3141 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3142 CALL_inheritance___MMLocalClass___add_direct_parent(variable
[5])(variable
[5], variable
[4] /*ancestor*/) /*MMLocalClass::add_direct_parent*/;
3143 return_label139
: while(false);
3144 tracehead
= trace
.prev
;
3147 void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t self
, val_t param0
) {
3148 struct trace_t trace
= {NULL
, NULL
, 721, LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder
};
3150 struct WBT_
**closurevariable
= NULL
;
3151 trace
.prev
= tracehead
; tracehead
= &trace
;
3152 trace
.file
= LOCATE_mmbuilder
;
3153 /* Register variable[0]: Local variable */
3155 /* Register variable[1]: Local variable */
3156 variable
[1] = param0
;
3157 /* Register variable[2]: Method return value and escape marker */
3158 CALL_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder(variable
[0])(variable
[0], variable
[1]) /*super ASuperclass::accept_class_ancestor_builder*/;
3159 /* Register variable[3]: Result */
3160 variable
[3] = ATTR_mmbuilder___ASuperclass____ancestor(variable
[0]) /*ASuperclass::_ancestor*/;
3161 /* Register variable[4]: Result */
3162 variable
[4] = CALL_parser_nodes___ASuperclass___n_type(variable
[0])(variable
[0]) /*ASuperclass::n_type*/;
3163 /* Register variable[4]: Result */
3164 variable
[4] = CALL_syntax_base___PType___get_unchecked_stype(variable
[4])(variable
[4], variable
[1] /*v*/) /*PType::get_unchecked_stype*/;
3165 CALL_static_type___MMAncestor___stype__eq(variable
[3])(variable
[3], variable
[4]) /*MMAncestor::stype=*/;
3166 /* Register variable[3]: Result */
3167 variable
[3] = ATTR_mmbuilder___ASuperclass____ancestor(variable
[0]) /*ASuperclass::_ancestor*/;
3168 /* Register variable[4]: Result */
3169 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3170 /* Register variable[4]: Result */
3171 variable
[4] = CALL_static_type___MMLocalClass___get_type(variable
[4])(variable
[4]) /*MMLocalClass::get_type*/;
3172 CALL_static_type___MMAncestor___inheriter__eq(variable
[3])(variable
[3], variable
[4]) /*MMAncestor::inheriter=*/;
3173 return_label140
: while(false);
3174 tracehead
= trace
.prev
;
3177 void mmbuilder___ASuperclass___accept_class_verifier(val_t self
, val_t param0
) {
3178 struct trace_t trace
= {NULL
, NULL
, 728, LOCATE_mmbuilder___ASuperclass___accept_class_verifier
};
3180 struct WBT_
**closurevariable
= NULL
;
3181 trace
.prev
= tracehead
; tracehead
= &trace
;
3182 trace
.file
= LOCATE_mmbuilder
;
3183 /* Register variable[0]: Local variable */
3185 /* Register variable[1]: Local variable */
3186 variable
[1] = param0
;
3187 /* Register variable[2]: Method return value and escape marker */
3188 CALL_SUPER_mmbuilder___ASuperclass___accept_class_verifier(variable
[0])(variable
[0], variable
[1]) /*super ASuperclass::accept_class_verifier*/;
3189 /* Register variable[3]: Result */
3190 variable
[3] = CALL_parser_nodes___ASuperclass___n_type(variable
[0])(variable
[0]) /*ASuperclass::n_type*/;
3191 CALL_syntax_base___PType___check_conform(variable
[3])(variable
[3], variable
[1] /*v*/) /*PType::check_conform*/;
3192 return_label141
: while(false);
3193 tracehead
= trace
.prev
;
3196 val_t
mmbuilder___ASuperclass___ancestor(val_t self
) {
3197 struct trace_t trace
= {NULL
, NULL
, 710, LOCATE_mmbuilder___ASuperclass___ancestor
};
3198 val_t
*variable
= NULL
;
3199 struct WBT_
**closurevariable
= NULL
;
3200 trace
.prev
= tracehead
; tracehead
= &trace
;
3201 trace
.file
= LOCATE_mmbuilder
;
3202 tracehead
= trace
.prev
;
3203 return ATTR_mmbuilder___ASuperclass____ancestor( self
) /*ASuperclass::_ancestor*/;
3205 void mmbuilder___PPropdef___process_and_check(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
3206 struct trace_t trace
= {NULL
, NULL
, 736, LOCATE_mmbuilder___PPropdef___process_and_check
};
3208 struct WBT_
**closurevariable
= NULL
;
3209 trace
.prev
= tracehead
; tracehead
= &trace
;
3210 trace
.file
= LOCATE_mmbuilder
;
3211 /* Register variable[0]: Local variable */
3213 /* Register variable[1]: Local variable */
3214 variable
[1] = param0
;
3215 /* Register variable[2]: Local variable */
3216 variable
[2] = param1
;
3217 /* Register variable[3]: Local variable */
3218 variable
[3] = param2
;
3219 /* Register variable[4]: Local variable */
3220 variable
[4] = param3
;
3221 /* Register variable[5]: Method return value and escape marker */
3222 /* Register variable[6]: Result */
3223 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
3224 /* Register variable[6]: Result */
3225 variable
[6] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[6])(variable
[6]) /*MMGlobalProperty::intro*/;
3226 /* Register variable[6]: Result */
3227 variable
[6] = TAG_Bool((variable
[6] == variable
[2] /*prop*/) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6], variable
[2] /*prop*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], variable
[2] /*prop*/) /*Object::==*/)))));
3228 if (UNTAG_Bool(variable
[6])) { /*if*/
3229 CALL_mmbuilder___PPropdef___do_and_check_intro(variable
[0])(variable
[0], variable
[1] /*v*/, variable
[2] /*prop*/, variable
[3] /*has_redef*/, variable
[4] /*visibility_level*/) /*PPropdef::do_and_check_intro*/;
3231 CALL_mmbuilder___PPropdef___do_and_check_redef(variable
[0])(variable
[0], variable
[1] /*v*/, variable
[2] /*prop*/, variable
[3] /*has_redef*/, variable
[4] /*visibility_level*/) /*PPropdef::do_and_check_redef*/;
3233 return_label142
: while(false);
3234 tracehead
= trace
.prev
;
3237 void mmbuilder___PPropdef___do_and_check_intro(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
3238 struct trace_t trace
= {NULL
, NULL
, 751, LOCATE_mmbuilder___PPropdef___do_and_check_intro
};
3239 static val_t once_value_144
= NIT_NULL
; /* Once value for string variable[9]*/
3240 static val_t once_value_145
= NIT_NULL
; /* Once value for string variable[9]*/
3241 static val_t once_value_146
= NIT_NULL
; /* Once value for string variable[9]*/
3242 static val_t once_value_147
= NIT_NULL
; /* Once value for string variable[9]*/
3243 static val_t once_value_148
= NIT_NULL
; /* Once value for string variable[9]*/
3244 static val_t once_value_149
= NIT_NULL
; /* Once value for string variable[9]*/
3245 static val_t once_value_150
= NIT_NULL
; /* Once value for string variable[9]*/
3246 static val_t once_value_151
= NIT_NULL
; /* Once value for string variable[9]*/
3247 static val_t once_value_152
= NIT_NULL
; /* Once value for string variable[9]*/
3248 static val_t once_value_153
= NIT_NULL
; /* Once value for string variable[9]*/
3249 static val_t once_value_154
= NIT_NULL
; /* Once value for string variable[9]*/
3250 static val_t once_value_155
= NIT_NULL
; /* Once value for string variable[9]*/
3251 static val_t once_value_156
= NIT_NULL
; /* Once value for string variable[9]*/
3252 static val_t once_value_157
= NIT_NULL
; /* Once value for string variable[9]*/
3253 static val_t once_value_158
= NIT_NULL
; /* Once value for string variable[9]*/
3254 static val_t once_value_159
= NIT_NULL
; /* Once value for string variable[9]*/
3256 struct WBT_
**closurevariable
= NULL
;
3257 trace
.prev
= tracehead
; tracehead
= &trace
;
3258 trace
.file
= LOCATE_mmbuilder
;
3259 /* Register variable[0]: Local variable */
3261 /* Register variable[1]: Local variable */
3262 variable
[1] = param0
;
3263 /* Register variable[2]: Local variable */
3264 variable
[2] = param1
;
3265 /* Register variable[3]: Local variable */
3266 variable
[3] = param2
;
3267 /* Register variable[4]: Local variable */
3268 variable
[4] = param3
;
3269 /* Register variable[5]: Method return value and escape marker */
3270 /* Register variable[6]: Local variable */
3271 /* Register variable[7]: Result */
3272 variable
[7] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
3273 variable
[6] = variable
[7];
3274 /* Register variable[7]: Local variable */
3275 /* Register variable[8]: Result */
3276 variable
[8] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3277 /* Register variable[8]: Result */
3278 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global(variable
[8])(variable
[8]) /*MMLocalClass::global*/;
3279 variable
[7] = variable
[8];
3280 /* Register variable[8]: Result */
3281 variable
[8] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3282 /* Register variable[8]: Result */
3283 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global(variable
[8])(variable
[8]) /*MMLocalClass::global*/;
3284 /* Register variable[8]: Result */
3285 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___visibility_level(variable
[8])(variable
[8]) /*MMGlobalClass::visibility_level*/;
3286 /* Register variable[8]: Result */
3287 variable
[8] = TAG_Bool(UNTAG_Int(variable
[8])>=UNTAG_Int( TAG_Int(3)));
3288 if (UNTAG_Bool(variable
[8])) { /*if*/
3289 variable
[4] = TAG_Int(3) /*visibility_level=*/;
3291 CALL_abstractmetamodel___MMGlobalProperty___visibility_level__eq( variable
[6] /*glob*/)( variable
[6] /*glob*/, variable
[4] /*visibility_level*/) /*MMGlobalProperty::visibility_level=*/;
3292 if (UNTAG_Bool( variable
[3] /*has_redef*/)) { /*if*/
3293 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3294 /* Register variable[9]: Once String constant */
3295 if (once_value_144
!= NIT_NULL
) variable
[9] = once_value_144
;
3297 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Error: No property "), TAG_Int(19)) /*new String*/;
3298 once_value_144
= variable
[9];
3300 /* Register variable[9]: Result */
3301 /* Ensure var variable[9]: super-string element*/
3302 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3303 /* Register variable[9]: Result */
3304 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3305 /* Ensure var variable[9]: super-string element*/
3306 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3307 /* Register variable[9]: Once String constant */
3308 if (once_value_145
!= NIT_NULL
) variable
[9] = once_value_145
;
3310 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
3311 once_value_145
= variable
[9];
3313 /* Register variable[9]: Result */
3314 /* Ensure var variable[9]: super-string element*/
3315 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3316 variable
[9] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
3317 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3318 /* Register variable[9]: Once String constant */
3319 if (once_value_146
!= NIT_NULL
) variable
[9] = once_value_146
;
3321 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" is inherited. Remove the redef keyword to define a new property."), TAG_Int(65)) /*new String*/;
3322 once_value_146
= variable
[9];
3324 /* Register variable[9]: Result */
3325 /* Ensure var variable[9]: super-string element*/
3326 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3327 /* Register variable[8]: Result */
3328 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
3329 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
3331 /* Register variable[8]: Result */
3332 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___is_attribute( variable
[6] /*glob*/)( variable
[6] /*glob*/) /*MMGlobalProperty::is_attribute*/;
3333 if (UNTAG_Bool(variable
[8])) { /*if*/
3334 /* Register variable[8]: Result */
3335 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[7] /*gbc*/)( variable
[7] /*gbc*/) /*MMGlobalClass::is_interface*/;
3336 if (UNTAG_Bool(variable
[8])) { /*if*/
3337 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3338 /* Register variable[9]: Once String constant */
3339 if (once_value_147
!= NIT_NULL
) variable
[9] = once_value_147
;
3341 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define attribute "), TAG_Int(35)) /*new String*/;
3342 once_value_147
= variable
[9];
3344 /* Register variable[9]: Result */
3345 /* Ensure var variable[9]: super-string element*/
3346 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3347 variable
[9] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
3348 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3349 /* Register variable[9]: Once String constant */
3350 if (once_value_148
!= NIT_NULL
) variable
[9] = once_value_148
;
3352 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" in the interface "), TAG_Int(18)) /*new String*/;
3353 once_value_148
= variable
[9];
3355 /* Register variable[9]: Result */
3356 /* Ensure var variable[9]: super-string element*/
3357 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3358 /* Register variable[9]: Result */
3359 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3360 /* Ensure var variable[9]: super-string element*/
3361 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3362 /* Register variable[9]: Once String constant */
3363 if (once_value_149
!= NIT_NULL
) variable
[9] = once_value_149
;
3365 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
3366 once_value_149
= variable
[9];
3368 /* Register variable[9]: Result */
3369 /* Ensure var variable[9]: super-string element*/
3370 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3371 /* Register variable[8]: Result */
3372 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
3373 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
3375 /* Register variable[8]: Result */
3376 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[7] /*gbc*/)( variable
[7] /*gbc*/) /*MMGlobalClass::is_universal*/;
3377 if (UNTAG_Bool(variable
[8])) { /*if*/
3378 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3379 /* Register variable[9]: Once String constant */
3380 if (once_value_150
!= NIT_NULL
) variable
[9] = once_value_150
;
3382 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define attribute "), TAG_Int(35)) /*new String*/;
3383 once_value_150
= variable
[9];
3385 /* Register variable[9]: Result */
3386 /* Ensure var variable[9]: super-string element*/
3387 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3388 variable
[9] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
3389 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3390 /* Register variable[9]: Once String constant */
3391 if (once_value_151
!= NIT_NULL
) variable
[9] = once_value_151
;
3393 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" in the universal class "), TAG_Int(24)) /*new String*/;
3394 once_value_151
= variable
[9];
3396 /* Register variable[9]: Result */
3397 /* Ensure var variable[9]: super-string element*/
3398 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3399 /* Register variable[9]: Result */
3400 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3401 /* Ensure var variable[9]: super-string element*/
3402 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3403 /* Register variable[9]: Once String constant */
3404 if (once_value_152
!= NIT_NULL
) variable
[9] = once_value_152
;
3406 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
3407 once_value_152
= variable
[9];
3409 /* Register variable[9]: Result */
3410 /* Ensure var variable[9]: super-string element*/
3411 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3412 /* Register variable[8]: Result */
3413 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
3414 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
3418 /* Register variable[8]: Result */
3419 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[6] /*glob*/)( variable
[6] /*glob*/) /*MMGlobalProperty::is_init*/;
3420 if (UNTAG_Bool(variable
[8])) { /*if*/
3421 /* Register variable[8]: Result */
3422 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[7] /*gbc*/)( variable
[7] /*gbc*/) /*MMGlobalClass::is_interface*/;
3423 if (UNTAG_Bool(variable
[8])) { /*if*/
3424 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3425 /* Register variable[9]: Once String constant */
3426 if (once_value_153
!= NIT_NULL
) variable
[9] = once_value_153
;
3428 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define a constructor "), TAG_Int(39)) /*new String*/;
3429 once_value_153
= variable
[9];
3431 /* Register variable[9]: Result */
3432 /* Ensure var variable[9]: super-string element*/
3433 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3434 variable
[9] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
3435 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3436 /* Register variable[9]: Once String constant */
3437 if (once_value_154
!= NIT_NULL
) variable
[9] = once_value_154
;
3439 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" in the class "), TAG_Int(14)) /*new String*/;
3440 once_value_154
= variable
[9];
3442 /* Register variable[9]: Result */
3443 /* Ensure var variable[9]: super-string element*/
3444 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3445 /* Register variable[9]: Result */
3446 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3447 /* Ensure var variable[9]: super-string element*/
3448 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3449 /* Register variable[9]: Once String constant */
3450 if (once_value_155
!= NIT_NULL
) variable
[9] = once_value_155
;
3452 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
3453 once_value_155
= variable
[9];
3455 /* Register variable[9]: Result */
3456 /* Ensure var variable[9]: super-string element*/
3457 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3458 /* Register variable[8]: Result */
3459 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
3460 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
3462 /* Register variable[8]: Result */
3463 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[7] /*gbc*/)( variable
[7] /*gbc*/) /*MMGlobalClass::is_universal*/;
3464 if (UNTAG_Bool(variable
[8])) { /*if*/
3465 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3466 /* Register variable[9]: Once String constant */
3467 if (once_value_156
!= NIT_NULL
) variable
[9] = once_value_156
;
3469 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define a constructor "), TAG_Int(39)) /*new String*/;
3470 once_value_156
= variable
[9];
3472 /* Register variable[9]: Result */
3473 /* Ensure var variable[9]: super-string element*/
3474 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3475 variable
[9] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
3476 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3477 /* Register variable[9]: Once String constant */
3478 if (once_value_157
!= NIT_NULL
) variable
[9] = once_value_157
;
3480 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" in the universal "), TAG_Int(18)) /*new String*/;
3481 once_value_157
= variable
[9];
3483 /* Register variable[9]: Result */
3484 /* Ensure var variable[9]: super-string element*/
3485 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3486 /* Register variable[9]: Result */
3487 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3488 /* Ensure var variable[9]: super-string element*/
3489 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3490 /* Register variable[9]: Once String constant */
3491 if (once_value_158
!= NIT_NULL
) variable
[9] = once_value_158
;
3493 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
3494 once_value_158
= variable
[9];
3496 /* Register variable[9]: Result */
3497 /* Ensure var variable[9]: super-string element*/
3498 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3499 /* Register variable[8]: Result */
3500 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
3501 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
3506 /* Register variable[8]: Result */
3507 variable
[8] = CALL_static_type___MMLocalProperty___signature( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::signature*/;
3508 /* Register variable[8]: Result */
3509 variable
[8] = TAG_Bool((variable
[8] == NIT_NULL
/*null*/) || ((variable
[8] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[8])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[8], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[8])(variable
[8], NIT_NULL
/*null*/) /*Object::==*/)))));
3510 if (UNTAG_Bool(variable
[8])) { /*if*/
3511 /* Register variable[8]: Result */
3512 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[6] /*glob*/)( variable
[6] /*glob*/) /*MMGlobalProperty::is_init*/;
3513 if (UNTAG_Bool(variable
[8])) { /*if*/
3514 /* Register variable[8]: Local variable */
3515 /* Register variable[9]: Result */
3516 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3517 /* Register variable[10]: Result */
3518 variable
[10] = CALL_abstractmetamodel___MMLocalProperty___name( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::name*/;
3519 /* Register variable[9]: Result */
3520 variable
[9] = CALL_abstractmetamodel___MMLocalClass___super_methods_named(variable
[9])(variable
[9], variable
[10]) /*MMLocalClass::super_methods_named*/;
3521 variable
[8] = variable
[9];
3522 CALL_mmbuilder___PPropdef___inherit_signature(variable
[0])(variable
[0], variable
[1] /*v*/, variable
[2] /*prop*/, variable
[8] /*supers*/) /*PPropdef::inherit_signature*/;
3524 /* Register variable[8]: Result */
3525 variable
[8] = CALL_static_type___MMLocalProperty___signature( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::signature*/;
3526 /* Register variable[8]: Result */
3527 variable
[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[8] == NIT_NULL
/*null*/) || ((variable
[8] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[8])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[8], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[8])(variable
[8], NIT_NULL
/*null*/) /*Object::==*/)))))));
3528 if (UNTAG_Bool(variable
[8])) { /*if*/
3530 /* Register variable[8]: Result */
3531 variable
[8] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3532 /* Register variable[8]: Result */
3533 variable
[8] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[8])(variable
[8]) /*SignatureBuilder::untyped_params*/;
3534 /* Register variable[8]: Result */
3535 variable
[8] = CALL_abstract_collection___Collection___is_empty(variable
[8])(variable
[8]) /*AbstractArrayRead::is_empty*/;
3536 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[8])))) { /*if*/
3537 /* Register variable[8]: Result */
3538 variable
[8] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3539 /* Register variable[8]: Result */
3540 variable
[8] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[8])(variable
[8]) /*SignatureBuilder::untyped_params*/;
3541 /* Register variable[8]: Result */
3542 variable
[8] = CALL_abstract_collection___Collection___first(variable
[8])(variable
[8]) /*IndexedCollectionRead::first*/;
3543 /* Register variable[9]: Once String constant */
3544 if (once_value_159
!= NIT_NULL
) variable
[9] = once_value_159
;
3546 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Error: Untyped parameter."), TAG_Int(25)) /*new String*/;
3547 once_value_159
= variable
[9];
3549 /* Register variable[9]: Result */
3550 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
3552 /* Register variable[8]: Result */
3553 variable
[8] = NEW_Array_array___Array___init() /*new Array[MMType]*/;
3554 /* Register variable[9]: Result */
3555 variable
[9] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3556 /* Register variable[9]: Result */
3557 variable
[9] = CALL_static_type___MMLocalClass___get_type(variable
[9])(variable
[9]) /*MMLocalClass::get_type*/;
3558 /* Register variable[8]: Result */
3559 variable
[8] = NEW_MMSignature_static_type___MMSignature___init(variable
[8], NIT_NULL
/*null*/, variable
[9]) /*new MMSignature*/;
3560 CALL_static_type___MMLocalProperty___signature__eq( variable
[2] /*prop*/)( variable
[2] /*prop*/, variable
[8]) /*MMLocalProperty::signature=*/;
3561 /* Register variable[8]: Result */
3562 variable
[8] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3563 /* Register variable[8]: Result */
3564 variable
[8] = CALL_mmbuilder___SignatureBuilder___closure_decls(variable
[8])(variable
[8]) /*SignatureBuilder::closure_decls*/;
3565 /* Register variable[8]: Result */
3566 variable
[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[8] == NIT_NULL
/*null*/) || ((variable
[8] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[8])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[8], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[8])(variable
[8], NIT_NULL
/*null*/) /*Object::==*/)))))));
3567 if (UNTAG_Bool(variable
[8])) { /*if*/
3568 /* Register variable[8]: Result */
3569 variable
[8] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3570 /* Register variable[8]: Result */
3571 variable
[8] = CALL_mmbuilder___SignatureBuilder___closure_decls(variable
[8])(variable
[8]) /*SignatureBuilder::closure_decls*/;
3572 /* Register variable[8]: For iterator */
3573 variable
[8] = CALL_abstract_collection___Collection___iterator(variable
[8])(variable
[8]) /*AbstractArrayRead::iterator*/;
3574 while (true) { /*for*/
3575 /* Register variable[9]: For 'is_ok' result */
3576 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*ArrayIterator::is_ok*/;
3577 if (!UNTAG_Bool(variable
[9])) break; /*for*/
3578 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
3579 /* Register variable[10]: Local variable */
3580 variable
[10] = variable
[9];
3581 /* Register variable[11]: Result */
3582 variable
[11] = CALL_static_type___MMLocalProperty___signature( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::signature*/;
3583 /* Register variable[11]: Result */
3584 variable
[11] = CALL_static_type___MMSignature___closures(variable
[11])(variable
[11]) /*MMSignature::closures*/;
3585 /* Register variable[12]: Result */
3586 variable
[12] = CALL_syntax_base___PClosureDecl___variable( variable
[10] /*clos*/)( variable
[10] /*clos*/) /*AClosureDecl::variable*/;
3587 /* Register variable[12]: Result */
3588 variable
[12] = CALL_syntax_base___ClosureVariable___closure(variable
[12])(variable
[12]) /*ClosureVariable::closure*/;
3589 CALL_abstract_collection___SimpleCollection___add(variable
[11])(variable
[11], variable
[12]) /*AbstractArray::add*/;
3590 continue_160
: while(0);
3591 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*ArrayIterator::next*/;
3593 break_160
: while(0);
3598 return_label143
: while(false);
3599 tracehead
= trace
.prev
;
3602 void mmbuilder___PPropdef___inherit_signature(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
3603 struct trace_t trace
= {NULL
, NULL
, 797, LOCATE_mmbuilder___PPropdef___inherit_signature
};
3605 struct WBT_
**closurevariable
= NULL
;
3606 trace
.prev
= tracehead
; tracehead
= &trace
;
3607 trace
.file
= LOCATE_mmbuilder
;
3608 /* Register variable[0]: Local variable */
3610 /* Register variable[1]: Local variable */
3611 variable
[1] = param0
;
3612 /* Register variable[2]: Local variable */
3613 variable
[2] = param1
;
3614 /* Register variable[3]: Local variable */
3615 variable
[3] = param2
;
3616 /* Register variable[4]: Method return value and escape marker */
3617 /* Register variable[5]: Local variable */
3618 /* Register variable[6]: Result */
3619 variable
[6] = CALL_static_type___MMLocalProperty___signature( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::signature*/;
3620 variable
[5] = variable
[6];
3621 /* Register variable[6]: For iterator */
3622 variable
[6] = CALL_abstract_collection___Collection___iterator( variable
[3] /*supers*/)( variable
[3] /*supers*/) /*AbstractArrayRead::iterator*/;
3623 while (true) { /*for*/
3624 /* Register variable[7]: For 'is_ok' result */
3625 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*ArrayIterator::is_ok*/;
3626 if (!UNTAG_Bool(variable
[7])) break; /*for*/
3627 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
3628 /* Register variable[8]: Local variable */
3629 variable
[8] = variable
[7];
3630 /* Register variable[9]: Local variable */
3631 /* Register variable[10]: Result */
3632 variable
[10] = CALL_static_type___MMLocalProperty___signature( variable
[8] /*ip*/)( variable
[8] /*ip*/) /*MMLocalProperty::signature*/;
3633 /* Register variable[11]: Result */
3634 variable
[11] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3635 /* Register variable[11]: Result */
3636 variable
[11] = CALL_static_type___MMLocalClass___get_type(variable
[11])(variable
[11]) /*MMLocalClass::get_type*/;
3637 /* Register variable[10]: Result */
3638 variable
[10] = CALL_static_type___MMSignature___adaptation_to(variable
[10])(variable
[10], variable
[11]) /*MMSignature::adaptation_to*/;
3639 variable
[9] = variable
[10];
3640 /* Register variable[10]: Result */
3641 variable
[10] = TAG_Bool(( variable
[5] /*s*/ == NIT_NULL
/*null*/) || (( variable
[5] /*s*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[5] /*s*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[5] /*s*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[5] /*s*/)( variable
[5] /*s*/, NIT_NULL
/*null*/) /*Object::==*/)))));
3642 if (UNTAG_Bool(variable
[10])) { /*if*/
3643 /* Register variable[10]: Result */
3644 variable
[10] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3645 /* Register variable[10]: Result */
3646 variable
[10] = CALL_mmbuilder___SignatureBuilder___params(variable
[10])(variable
[10]) /*SignatureBuilder::params*/;
3647 /* Register variable[10]: Result */
3648 variable
[10] = CALL_abstract_collection___Collection___length(variable
[10])(variable
[10]) /*AbstractArrayRead::length*/;
3649 /* Register variable[11]: Result */
3650 variable
[11] = CALL_static_type___MMSignature___arity( variable
[9] /*isig*/)( variable
[9] /*isig*/) /*MMSignature::arity*/;
3651 /* Register variable[10]: Result */
3652 variable
[10] = TAG_Bool((variable
[10])!=(variable
[11]));
3653 if (UNTAG_Bool(variable
[10])) { /*if*/
3654 goto return_label161
;
3656 /* Register variable[10]: Result */
3657 variable
[10] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3658 /* Register variable[10]: Result */
3659 variable
[10] = CALL_mmbuilder___SignatureBuilder___params(variable
[10])(variable
[10]) /*SignatureBuilder::params*/;
3660 /* Register variable[10]: For iterator */
3661 variable
[10] = CALL_abstract_collection___Collection___iterator(variable
[10])(variable
[10]) /*AbstractArrayRead::iterator*/;
3662 while (true) { /*for*/
3663 /* Register variable[11]: For 'is_ok' result */
3664 variable
[11] = CALL_abstract_collection___Iterator___is_ok(variable
[10])(variable
[10]) /*ArrayIterator::is_ok*/;
3665 if (!UNTAG_Bool(variable
[11])) break; /*for*/
3666 variable
[11] = CALL_abstract_collection___Iterator___item(variable
[10])(variable
[10]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
3667 /* Register variable[12]: Local variable */
3668 variable
[12] = variable
[11];
3669 /* Register variable[13]: Local variable */
3670 /* Register variable[14]: Result */
3671 variable
[14] = CALL_syntax_base___PParam___position( variable
[12] /*p*/)( variable
[12] /*p*/) /*PParam::position*/;
3672 /* Register variable[14]: Result */
3673 variable
[14] = CALL_static_type___MMSignature_____bra( variable
[9] /*isig*/)( variable
[9] /*isig*/, variable
[14]) /*MMSignature::[]*/;
3674 variable
[13] = variable
[14];
3675 CALL_mmbuilder___PParam___stype__eq( variable
[12] /*p*/)( variable
[12] /*p*/, variable
[13] /*t*/) /*PParam::stype=*/;
3676 /* Register variable[14]: Result */
3677 variable
[14] = CALL_syntax_base___PParam___position( variable
[12] /*p*/)( variable
[12] /*p*/) /*PParam::position*/;
3678 /* Register variable[15]: Result */
3679 variable
[15] = CALL_vararg___MMSignature___vararg_rank( variable
[9] /*isig*/)( variable
[9] /*isig*/) /*MMSignature::vararg_rank*/;
3680 /* Register variable[14]: Result */
3681 variable
[14] = TAG_Bool((variable
[14])==(variable
[15]));
3682 if (UNTAG_Bool(variable
[14])) { /*if*/
3683 /* Register variable[14]: Result */
3684 variable
[14] = CALL_syntax_base___AbsSyntaxVisitor___type_array( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[13] /*t*/) /*AbsSyntaxVisitor::type_array*/;
3685 variable
[13] = variable
[14] /*t=*/;
3687 /* Register variable[14]: Result */
3688 variable
[14] = CALL_syntax_base___PParam___variable( variable
[12] /*p*/)( variable
[12] /*p*/) /*PParam::variable*/;
3689 CALL_syntax_base___Variable___stype__eq(variable
[14])(variable
[14], variable
[13] /*t*/) /*Variable::stype=*/;
3690 continue_163
: while(0);
3691 CALL_abstract_collection___Iterator___next(variable
[10])(variable
[10]) /*ArrayIterator::next*/;
3693 break_163
: while(0);
3694 variable
[5] = variable
[9] /*isig*/ /*s=*/;
3695 CALL_static_type___MMLocalProperty___signature__eq( variable
[2] /*prop*/)( variable
[2] /*prop*/, variable
[5] /*s*/) /*MMLocalProperty::signature=*/;
3697 continue_162
: while(0);
3698 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*ArrayIterator::next*/;
3700 break_162
: while(0);
3701 return_label161
: while(false);
3702 tracehead
= trace
.prev
;
3705 void mmbuilder___PPropdef___do_and_check_redef(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
3706 struct trace_t trace
= {NULL
, NULL
, 823, LOCATE_mmbuilder___PPropdef___do_and_check_redef
};
3707 static val_t once_value_165
= NIT_NULL
; /* Once value for string variable[9]*/
3708 static val_t once_value_166
= NIT_NULL
; /* Once value for string variable[9]*/
3709 static val_t once_value_167
= NIT_NULL
; /* Once value for string variable[9]*/
3710 static val_t once_value_168
= NIT_NULL
; /* Once value for string variable[9]*/
3711 static val_t once_value_169
= NIT_NULL
; /* Once value for string variable[9]*/
3712 static val_t once_value_170
= NIT_NULL
; /* Once value for string variable[9]*/
3713 static val_t once_value_171
= NIT_NULL
; /* Once value for string variable[9]*/
3714 static val_t once_value_172
= NIT_NULL
; /* Once value for string variable[9]*/
3715 static val_t once_value_173
= NIT_NULL
; /* Once value for string variable[9]*/
3716 static val_t once_value_175
= NIT_NULL
; /* Once value for string variable[15]*/
3717 static val_t once_value_176
= NIT_NULL
; /* Once value for string variable[15]*/
3718 static val_t once_value_177
= NIT_NULL
; /* Once value for string variable[15]*/
3719 static val_t once_value_178
= NIT_NULL
; /* Once value for string variable[15]*/
3720 static val_t once_value_179
= NIT_NULL
; /* Once value for string variable[15]*/
3721 static val_t once_value_180
= NIT_NULL
; /* Once value for string variable[15]*/
3722 static val_t once_value_181
= NIT_NULL
; /* Once value for string variable[15]*/
3723 static val_t once_value_182
= NIT_NULL
; /* Once value for string variable[15]*/
3724 static val_t once_value_183
= NIT_NULL
; /* Once value for string variable[15]*/
3725 static val_t once_value_184
= NIT_NULL
; /* Once value for string variable[15]*/
3726 static val_t once_value_185
= NIT_NULL
; /* Once value for string variable[15]*/
3727 static val_t once_value_186
= NIT_NULL
; /* Once value for string variable[15]*/
3728 static val_t once_value_188
= NIT_NULL
; /* Once value for string variable[16]*/
3729 static val_t once_value_189
= NIT_NULL
; /* Once value for string variable[16]*/
3730 static val_t once_value_190
= NIT_NULL
; /* Once value for string variable[16]*/
3731 static val_t once_value_191
= NIT_NULL
; /* Once value for string variable[16]*/
3732 static val_t once_value_192
= NIT_NULL
; /* Once value for string variable[16]*/
3733 static val_t once_value_193
= NIT_NULL
; /* Once value for string variable[16]*/
3734 static val_t once_value_195
= NIT_NULL
; /* Once value for string variable[19]*/
3735 static val_t once_value_196
= NIT_NULL
; /* Once value for string variable[19]*/
3736 static val_t once_value_197
= NIT_NULL
; /* Once value for string variable[19]*/
3737 static val_t once_value_198
= NIT_NULL
; /* Once value for string variable[19]*/
3738 static val_t once_value_199
= NIT_NULL
; /* Once value for string variable[19]*/
3739 static val_t once_value_200
= NIT_NULL
; /* Once value for string variable[19]*/
3740 static val_t once_value_201
= NIT_NULL
; /* Once value for string variable[19]*/
3741 static val_t once_value_202
= NIT_NULL
; /* Once value for string variable[18]*/
3742 static val_t once_value_203
= NIT_NULL
; /* Once value for string variable[18]*/
3743 static val_t once_value_204
= NIT_NULL
; /* Once value for string variable[18]*/
3744 static val_t once_value_205
= NIT_NULL
; /* Once value for string variable[18]*/
3745 static val_t once_value_206
= NIT_NULL
; /* Once value for string variable[18]*/
3746 static val_t once_value_207
= NIT_NULL
; /* Once value for string variable[18]*/
3747 static val_t once_value_208
= NIT_NULL
; /* Once value for string variable[18]*/
3748 static val_t once_value_209
= NIT_NULL
; /* Once value for string variable[18]*/
3749 static val_t once_value_210
= NIT_NULL
; /* Once value for string variable[18]*/
3750 static val_t once_value_211
= NIT_NULL
; /* Once value for string variable[18]*/
3751 static val_t once_value_212
= NIT_NULL
; /* Once value for string variable[18]*/
3752 static val_t once_value_213
= NIT_NULL
; /* Once value for string variable[18]*/
3753 static val_t once_value_214
= NIT_NULL
; /* Once value for string variable[18]*/
3754 static val_t once_value_215
= NIT_NULL
; /* Once value for string variable[18]*/
3755 static val_t once_value_216
= NIT_NULL
; /* Once value for string variable[18]*/
3756 static val_t once_value_217
= NIT_NULL
; /* Once value for string variable[18]*/
3757 static val_t once_value_218
= NIT_NULL
; /* Once value for string variable[18]*/
3758 static val_t once_value_219
= NIT_NULL
; /* Once value for string variable[18]*/
3759 static val_t once_value_220
= NIT_NULL
; /* Once value for string variable[18]*/
3760 static val_t once_value_221
= NIT_NULL
; /* Once value for string variable[18]*/
3761 static val_t once_value_222
= NIT_NULL
; /* Once value for string variable[18]*/
3762 static val_t once_value_223
= NIT_NULL
; /* Once value for string variable[18]*/
3763 static val_t once_value_224
= NIT_NULL
; /* Once value for string variable[18]*/
3764 static val_t once_value_225
= NIT_NULL
; /* Once value for string variable[18]*/
3765 static val_t once_value_226
= NIT_NULL
; /* Once value for string variable[18]*/
3766 static val_t once_value_227
= NIT_NULL
; /* Once value for string variable[18]*/
3767 static val_t once_value_228
= NIT_NULL
; /* Once value for string variable[18]*/
3768 static val_t once_value_229
= NIT_NULL
; /* Once value for string variable[18]*/
3769 static val_t once_value_230
= NIT_NULL
; /* Once value for string variable[18]*/
3770 static val_t once_value_231
= NIT_NULL
; /* Once value for string variable[10]*/
3771 static val_t once_value_232
= NIT_NULL
; /* Once value for string variable[10]*/
3772 static val_t once_value_233
= NIT_NULL
; /* Once value for string variable[10]*/
3774 struct WBT_
**closurevariable
= NULL
;
3775 trace
.prev
= tracehead
; tracehead
= &trace
;
3776 trace
.file
= LOCATE_mmbuilder
;
3777 /* Register variable[0]: Local variable */
3779 /* Register variable[1]: Local variable */
3780 variable
[1] = param0
;
3781 /* Register variable[2]: Local variable */
3782 variable
[2] = param1
;
3783 /* Register variable[3]: Local variable */
3784 variable
[3] = param2
;
3785 /* Register variable[4]: Local variable */
3786 variable
[4] = param3
;
3787 /* Register variable[5]: Method return value and escape marker */
3788 /* Register variable[6]: Local variable */
3789 /* Register variable[7]: Result */
3790 variable
[7] = TAG_Bool((variable
[0]==NIT_NULL
) || VAL_ISA(variable
[0], COLOR_AConcreteInitPropdef
, ID_AConcreteInitPropdef
)) /*cast AConcreteInitPropdef*/;
3791 variable
[6] = variable
[7];
3792 /* Register variable[7]: Local variable */
3793 /* Register variable[8]: Result */
3794 variable
[8] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
3795 variable
[7] = variable
[8];
3796 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable
[3] /*has_redef*/)))) { /*if*/
3797 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3798 /* Register variable[9]: Once String constant */
3799 if (once_value_165
!= NIT_NULL
) variable
[9] = once_value_165
;
3801 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)) /*new String*/;
3802 once_value_165
= variable
[9];
3804 /* Register variable[9]: Result */
3805 /* Ensure var variable[9]: super-string element*/
3806 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3807 /* Register variable[9]: Result */
3808 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3809 /* Ensure var variable[9]: super-string element*/
3810 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3811 /* Register variable[9]: Once String constant */
3812 if (once_value_166
!= NIT_NULL
) variable
[9] = once_value_166
;
3814 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
3815 once_value_166
= variable
[9];
3817 /* Register variable[9]: Result */
3818 /* Ensure var variable[9]: super-string element*/
3819 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3820 variable
[9] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
3821 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3822 /* Register variable[9]: Once String constant */
3823 if (once_value_167
!= NIT_NULL
) variable
[9] = once_value_167
;
3825 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword."), TAG_Int(65)) /*new String*/;
3826 once_value_167
= variable
[9];
3828 /* Register variable[9]: Result */
3829 /* Ensure var variable[9]: super-string element*/
3830 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3831 /* Register variable[8]: Result */
3832 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
3833 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
3834 goto return_label164
;
3836 /* Register variable[8]: Result */
3837 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[7] /*glob*/)( variable
[7] /*glob*/) /*MMGlobalProperty::is_init*/;
3838 /* Ensure var variable[8]: Left 'and' operand*/
3839 if (UNTAG_Bool(variable
[8])) { /* and */
3840 variable
[8] = TAG_Bool(!UNTAG_Bool( variable
[6] /*is_init*/));
3842 /* Register variable[8]: Result */
3843 if (UNTAG_Bool(variable
[8])) { /*if*/
3844 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3845 /* Register variable[9]: Once String constant */
3846 if (once_value_168
!= NIT_NULL
) variable
[9] = once_value_168
;
3848 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: A method "), TAG_Int(22)) /*new String*/;
3849 once_value_168
= variable
[9];
3851 /* Register variable[9]: Result */
3852 /* Ensure var variable[9]: super-string element*/
3853 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3854 /* Register variable[9]: Result */
3855 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3856 /* Ensure var variable[9]: super-string element*/
3857 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3858 /* Register variable[9]: Once String constant */
3859 if (once_value_169
!= NIT_NULL
) variable
[9] = once_value_169
;
3861 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
3862 once_value_169
= variable
[9];
3864 /* Register variable[9]: Result */
3865 /* Ensure var variable[9]: super-string element*/
3866 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3867 variable
[9] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
3868 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3869 /* Register variable[9]: Once String constant */
3870 if (once_value_170
!= NIT_NULL
) variable
[9] = once_value_170
;
3872 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" cannot redefine a constructor."), TAG_Int(31)) /*new String*/;
3873 once_value_170
= variable
[9];
3875 /* Register variable[9]: Result */
3876 /* Ensure var variable[9]: super-string element*/
3877 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3878 /* Register variable[8]: Result */
3879 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
3880 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
3882 /* Register variable[8]: Result */
3883 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[7] /*glob*/)( variable
[7] /*glob*/) /*MMGlobalProperty::is_init*/;
3884 variable
[8] = TAG_Bool(!UNTAG_Bool(variable
[8])) /* Ensure var: Left 'and' operand*/;
3885 if (UNTAG_Bool(variable
[8])) { /* and */
3886 variable
[8] = variable
[6] /*is_init*/;
3888 /* Register variable[8]: Result */
3889 if (UNTAG_Bool(variable
[8])) { /*if*/
3890 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3891 /* Register variable[9]: Once String constant */
3892 if (once_value_171
!= NIT_NULL
) variable
[9] = once_value_171
;
3894 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: A constructor "), TAG_Int(27)) /*new String*/;
3895 once_value_171
= variable
[9];
3897 /* Register variable[9]: Result */
3898 /* Ensure var variable[9]: super-string element*/
3899 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3900 /* Register variable[9]: Result */
3901 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3902 /* Ensure var variable[9]: super-string element*/
3903 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3904 /* Register variable[9]: Once String constant */
3905 if (once_value_172
!= NIT_NULL
) variable
[9] = once_value_172
;
3907 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
3908 once_value_172
= variable
[9];
3910 /* Register variable[9]: Result */
3911 /* Ensure var variable[9]: super-string element*/
3912 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3913 variable
[9] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
3914 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3915 /* Register variable[9]: Once String constant */
3916 if (once_value_173
!= NIT_NULL
) variable
[9] = once_value_173
;
3918 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" cannot redefine a method."), TAG_Int(26)) /*new String*/;
3919 once_value_173
= variable
[9];
3921 /* Register variable[9]: Result */
3922 /* Ensure var variable[9]: super-string element*/
3923 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3924 /* Register variable[8]: Result */
3925 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
3926 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[8]) /*AbsSyntaxVisitor::error*/;
3929 /* Register variable[8]: Local variable */
3930 /* Register variable[9]: Result */
3931 variable
[9] = CALL_static_type___MMLocalProperty___signature( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::signature*/;
3932 variable
[8] = variable
[9];
3933 /* Register variable[9]: Result */
3934 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___prhe( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::prhe*/;
3935 /* Register variable[9]: Result */
3936 variable
[9] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[9])(variable
[9]) /*PartialOrderElement::direct_greaters*/;
3937 /* Register variable[9]: For iterator */
3938 variable
[9] = CALL_abstract_collection___Collection___iterator(variable
[9])(variable
[9]) /*AbstractArrayRead::iterator*/;
3939 while (true) { /*for*/
3940 /* Register variable[10]: For 'is_ok' result */
3941 variable
[10] = CALL_abstract_collection___Iterator___is_ok(variable
[9])(variable
[9]) /*ArrayIterator::is_ok*/;
3942 if (!UNTAG_Bool(variable
[10])) break; /*for*/
3943 variable
[10] = CALL_abstract_collection___Iterator___item(variable
[9])(variable
[9]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
3944 /* Register variable[11]: Local variable */
3945 variable
[11] = variable
[10];
3946 /* Register variable[12]: Local variable */
3947 /* Register variable[13]: Result */
3948 variable
[13] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[11] /*i*/)( variable
[11] /*i*/) /*MMLocalProperty::local_class*/;
3949 /* Register variable[14]: Result */
3950 variable
[14] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
3951 /* Register variable[13]: Result */
3952 variable
[13] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[13])(variable
[13], variable
[14]) /*MMLocalClass::[]*/;
3953 variable
[12] = variable
[13];
3954 /* Register variable[13]: Local variable */
3955 /* Register variable[14]: Result */
3956 variable
[14] = CALL_static_type___MMLocalProperty___signature( variable
[11] /*i*/)( variable
[11] /*i*/) /*MMLocalProperty::signature*/;
3957 /* Register variable[15]: Result */
3958 variable
[15] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3959 /* Register variable[15]: Result */
3960 variable
[15] = CALL_static_type___MMLocalClass___get_type(variable
[15])(variable
[15]) /*MMLocalClass::get_type*/;
3961 /* Register variable[14]: Result */
3962 variable
[14] = CALL_static_type___MMSignature___adaptation_to(variable
[14])(variable
[14], variable
[15]) /*MMSignature::adaptation_to*/;
3963 variable
[13] = variable
[14];
3964 /* Register variable[14]: Result */
3965 variable
[14] = TAG_Bool(( variable
[8] /*s*/ == NIT_NULL
/*null*/) || (( variable
[8] /*s*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[8] /*s*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[8] /*s*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[8] /*s*/)( variable
[8] /*s*/, NIT_NULL
/*null*/) /*Object::==*/)))));
3966 if (UNTAG_Bool(variable
[14])) { /*if*/
3967 /* Register variable[14]: Result */
3968 variable
[14] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3969 /* Register variable[14]: Result */
3970 variable
[14] = CALL_mmbuilder___SignatureBuilder___params(variable
[14])(variable
[14]) /*SignatureBuilder::params*/;
3971 /* Register variable[14]: Result */
3972 variable
[14] = CALL_abstract_collection___Collection___length(variable
[14])(variable
[14]) /*AbstractArrayRead::length*/;
3973 /* Register variable[15]: Result */
3974 variable
[15] = CALL_static_type___MMSignature___arity( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::arity*/;
3975 /* Register variable[14]: Result */
3976 variable
[14] = TAG_Bool((variable
[14])!=(variable
[15]));
3977 if (UNTAG_Bool(variable
[14])) { /*if*/
3978 variable
[14] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3979 /* Register variable[15]: Once String constant */
3980 if (once_value_175
!= NIT_NULL
) variable
[15] = once_value_175
;
3982 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)) /*new String*/;
3983 once_value_175
= variable
[15];
3985 /* Register variable[15]: Result */
3986 /* Ensure var variable[15]: super-string element*/
3987 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
3988 /* Register variable[15]: Result */
3989 variable
[15] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3990 /* Ensure var variable[15]: super-string element*/
3991 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/) /*AbstractArray::add*/;
3992 /* Register variable[15]: Once String constant */
3993 if (once_value_176
!= NIT_NULL
) variable
[15] = once_value_176
;
3995 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
3996 once_value_176
= variable
[15];
3998 /* Register variable[15]: Result */
3999 /* Ensure var variable[15]: super-string element*/
4000 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4001 variable
[15] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
4002 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/) /*AbstractArray::add*/;
4003 /* Register variable[15]: Once String constant */
4004 if (once_value_177
!= NIT_NULL
) variable
[15] = once_value_177
;
4006 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)) /*new String*/;
4007 once_value_177
= variable
[15];
4009 /* Register variable[15]: Result */
4010 /* Ensure var variable[15]: super-string element*/
4011 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4012 /* Register variable[15]: Result */
4013 variable
[15] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
4014 /* Ensure var variable[15]: super-string element*/
4015 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/) /*AbstractArray::add*/;
4016 /* Register variable[15]: Once String constant */
4017 if (once_value_178
!= NIT_NULL
) variable
[15] = once_value_178
;
4019 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4020 once_value_178
= variable
[15];
4022 /* Register variable[15]: Result */
4023 /* Ensure var variable[15]: super-string element*/
4024 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4025 variable
[15] = variable
[12] /*ip*/ /* Ensure var: super-string element*/;
4026 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/) /*AbstractArray::add*/;
4027 /* Register variable[15]: Once String constant */
4028 if (once_value_179
!= NIT_NULL
) variable
[15] = once_value_179
;
4030 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)) /*new String*/;
4031 once_value_179
= variable
[15];
4033 /* Register variable[15]: Result */
4034 /* Ensure var variable[15]: super-string element*/
4035 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4036 /* Register variable[15]: Result */
4037 variable
[15] = CALL_static_type___MMSignature___arity( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::arity*/;
4038 /* Ensure var variable[15]: super-string element*/
4039 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/) /*AbstractArray::add*/;
4040 /* Register variable[15]: Once String constant */
4041 if (once_value_180
!= NIT_NULL
) variable
[15] = once_value_180
;
4043 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(" parameter(s)."), TAG_Int(14)) /*new String*/;
4044 once_value_180
= variable
[15];
4046 /* Register variable[15]: Result */
4047 /* Ensure var variable[15]: super-string element*/
4048 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4049 /* Register variable[14]: Result */
4050 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
4051 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[14]) /*AbsSyntaxVisitor::error*/;
4052 goto return_label164
;
4054 /* Register variable[14]: Result */
4055 variable
[14] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4056 /* Register variable[14]: Result */
4057 variable
[14] = CALL_mmbuilder___SignatureBuilder___closure_decls(variable
[14])(variable
[14]) /*SignatureBuilder::closure_decls*/;
4058 /* Register variable[14]: Result */
4059 variable
[14] = CALL_abstract_collection___Collection___length(variable
[14])(variable
[14]) /*AbstractArrayRead::length*/;
4060 /* Register variable[15]: Result */
4061 variable
[15] = CALL_static_type___MMSignature___closures( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::closures*/;
4062 /* Register variable[15]: Result */
4063 variable
[15] = CALL_abstract_collection___Collection___length(variable
[15])(variable
[15]) /*AbstractArrayRead::length*/;
4064 /* Register variable[14]: Result */
4065 variable
[14] = TAG_Bool((variable
[14])!=(variable
[15]));
4066 if (UNTAG_Bool(variable
[14])) { /*if*/
4067 variable
[14] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4068 /* Register variable[15]: Once String constant */
4069 if (once_value_181
!= NIT_NULL
) variable
[15] = once_value_181
;
4071 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)) /*new String*/;
4072 once_value_181
= variable
[15];
4074 /* Register variable[15]: Result */
4075 /* Ensure var variable[15]: super-string element*/
4076 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4077 /* Register variable[15]: Result */
4078 variable
[15] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
4079 /* Ensure var variable[15]: super-string element*/
4080 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/) /*AbstractArray::add*/;
4081 /* Register variable[15]: Once String constant */
4082 if (once_value_182
!= NIT_NULL
) variable
[15] = once_value_182
;
4084 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4085 once_value_182
= variable
[15];
4087 /* Register variable[15]: Result */
4088 /* Ensure var variable[15]: super-string element*/
4089 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4090 variable
[15] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
4091 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/) /*AbstractArray::add*/;
4092 /* Register variable[15]: Once String constant */
4093 if (once_value_183
!= NIT_NULL
) variable
[15] = once_value_183
;
4095 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)) /*new String*/;
4096 once_value_183
= variable
[15];
4098 /* Register variable[15]: Result */
4099 /* Ensure var variable[15]: super-string element*/
4100 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4101 /* Register variable[15]: Result */
4102 variable
[15] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
4103 /* Ensure var variable[15]: super-string element*/
4104 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/) /*AbstractArray::add*/;
4105 /* Register variable[15]: Once String constant */
4106 if (once_value_184
!= NIT_NULL
) variable
[15] = once_value_184
;
4108 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4109 once_value_184
= variable
[15];
4111 /* Register variable[15]: Result */
4112 /* Ensure var variable[15]: super-string element*/
4113 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4114 variable
[15] = variable
[12] /*ip*/ /* Ensure var: super-string element*/;
4115 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/) /*AbstractArray::add*/;
4116 /* Register variable[15]: Once String constant */
4117 if (once_value_185
!= NIT_NULL
) variable
[15] = once_value_185
;
4119 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)) /*new String*/;
4120 once_value_185
= variable
[15];
4122 /* Register variable[15]: Result */
4123 /* Ensure var variable[15]: super-string element*/
4124 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4125 /* Register variable[15]: Result */
4126 variable
[15] = CALL_static_type___MMSignature___arity( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::arity*/;
4127 /* Ensure var variable[15]: super-string element*/
4128 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/) /*AbstractArray::add*/;
4129 /* Register variable[15]: Once String constant */
4130 if (once_value_186
!= NIT_NULL
) variable
[15] = once_value_186
;
4132 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(" closure(s)."), TAG_Int(12)) /*new String*/;
4133 once_value_186
= variable
[15];
4135 /* Register variable[15]: Result */
4136 /* Ensure var variable[15]: super-string element*/
4137 CALL_abstract_collection___SimpleCollection___add(variable
[14])(variable
[14], variable
[15]) /*AbstractArray::add*/;
4138 /* Register variable[14]: Result */
4139 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
4140 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[14]) /*AbsSyntaxVisitor::error*/;
4141 goto return_label164
;
4143 /* Register variable[14]: Result */
4144 variable
[14] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4145 /* Register variable[14]: Result */
4146 variable
[14] = CALL_mmbuilder___SignatureBuilder___params(variable
[14])(variable
[14]) /*SignatureBuilder::params*/;
4147 /* Register variable[14]: For iterator */
4148 variable
[14] = CALL_abstract_collection___Collection___iterator(variable
[14])(variable
[14]) /*AbstractArrayRead::iterator*/;
4149 while (true) { /*for*/
4150 /* Register variable[15]: For 'is_ok' result */
4151 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*ArrayIterator::is_ok*/;
4152 if (!UNTAG_Bool(variable
[15])) break; /*for*/
4153 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
4154 /* Register variable[16]: Local variable */
4155 variable
[16] = variable
[15];
4156 /* Register variable[17]: Local variable */
4157 /* Register variable[18]: Result */
4158 variable
[18] = CALL_syntax_base___PParam___position( variable
[16] /*p*/)( variable
[16] /*p*/) /*PParam::position*/;
4159 /* Register variable[18]: Result */
4160 variable
[18] = CALL_static_type___MMSignature_____bra( variable
[13] /*isig*/)( variable
[13] /*isig*/, variable
[18]) /*MMSignature::[]*/;
4161 variable
[17] = variable
[18];
4162 CALL_mmbuilder___PParam___stype__eq( variable
[16] /*p*/)( variable
[16] /*p*/, variable
[17] /*t*/) /*PParam::stype=*/;
4163 /* Register variable[18]: Result */
4164 variable
[18] = CALL_syntax_base___PParam___position( variable
[16] /*p*/)( variable
[16] /*p*/) /*PParam::position*/;
4165 /* Register variable[19]: Result */
4166 variable
[19] = CALL_vararg___MMSignature___vararg_rank( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::vararg_rank*/;
4167 /* Register variable[18]: Result */
4168 variable
[18] = TAG_Bool((variable
[18])==(variable
[19]));
4169 if (UNTAG_Bool(variable
[18])) { /*if*/
4170 /* Register variable[18]: Result */
4171 variable
[18] = CALL_syntax_base___AbsSyntaxVisitor___type_array( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[17] /*t*/) /*AbsSyntaxVisitor::type_array*/;
4172 variable
[17] = variable
[18] /*t=*/;
4174 /* Register variable[18]: Result */
4175 variable
[18] = CALL_syntax_base___PParam___variable( variable
[16] /*p*/)( variable
[16] /*p*/) /*PParam::variable*/;
4176 CALL_syntax_base___Variable___stype__eq(variable
[18])(variable
[18], variable
[17] /*t*/) /*Variable::stype=*/;
4177 continue_187
: while(0);
4178 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*ArrayIterator::next*/;
4180 break_187
: while(0);
4181 variable
[8] = variable
[13] /*isig*/ /*s=*/;
4182 CALL_static_type___MMLocalProperty___signature__eq( variable
[2] /*prop*/)( variable
[2] /*prop*/, variable
[8] /*s*/) /*MMLocalProperty::signature=*/;
4184 /* Register variable[14]: Local variable */
4185 /* Register variable[15]: Result */
4186 variable
[15] = CALL_syntax_base___AbsSyntaxVisitor___tc( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::tc*/;
4187 /* Register variable[15]: Result */
4188 variable
[15] = CALL_mmloader___ToolContext___error_count(variable
[15])(variable
[15]) /*ToolContext::error_count*/;
4189 variable
[14] = variable
[15];
4190 /* Register variable[15]: Result */
4191 variable
[15] = CALL_static_type___MMSignature___arity( variable
[8] /*s*/)( variable
[8] /*s*/) /*MMSignature::arity*/;
4192 /* Register variable[16]: Result */
4193 variable
[16] = CALL_static_type___MMSignature___arity( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::arity*/;
4194 /* Register variable[15]: Result */
4195 variable
[15] = TAG_Bool((variable
[15])!=(variable
[16]));
4196 if (UNTAG_Bool(variable
[15])) { /*if*/
4197 variable
[15] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4198 /* Register variable[16]: Once String constant */
4199 if (once_value_188
!= NIT_NULL
) variable
[16] = once_value_188
;
4201 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)) /*new String*/;
4202 once_value_188
= variable
[16];
4204 /* Register variable[16]: Result */
4205 /* Ensure var variable[16]: super-string element*/
4206 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[16]) /*AbstractArray::add*/;
4207 /* Register variable[16]: Result */
4208 variable
[16] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
4209 /* Ensure var variable[16]: super-string element*/
4210 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/) /*AbstractArray::add*/;
4211 /* Register variable[16]: Once String constant */
4212 if (once_value_189
!= NIT_NULL
) variable
[16] = once_value_189
;
4214 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4215 once_value_189
= variable
[16];
4217 /* Register variable[16]: Result */
4218 /* Ensure var variable[16]: super-string element*/
4219 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[16]) /*AbstractArray::add*/;
4220 variable
[16] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
4221 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/) /*AbstractArray::add*/;
4222 /* Register variable[16]: Once String constant */
4223 if (once_value_190
!= NIT_NULL
) variable
[16] = once_value_190
;
4225 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)) /*new String*/;
4226 once_value_190
= variable
[16];
4228 /* Register variable[16]: Result */
4229 /* Ensure var variable[16]: super-string element*/
4230 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[16]) /*AbstractArray::add*/;
4231 /* Register variable[16]: Result */
4232 variable
[16] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
4233 /* Ensure var variable[16]: super-string element*/
4234 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/) /*AbstractArray::add*/;
4235 /* Register variable[16]: Once String constant */
4236 if (once_value_191
!= NIT_NULL
) variable
[16] = once_value_191
;
4238 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4239 once_value_191
= variable
[16];
4241 /* Register variable[16]: Result */
4242 /* Ensure var variable[16]: super-string element*/
4243 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[16]) /*AbstractArray::add*/;
4244 variable
[16] = variable
[12] /*ip*/ /* Ensure var: super-string element*/;
4245 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/) /*AbstractArray::add*/;
4246 /* Register variable[16]: Once String constant */
4247 if (once_value_192
!= NIT_NULL
) variable
[16] = once_value_192
;
4249 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)) /*new String*/;
4250 once_value_192
= variable
[16];
4252 /* Register variable[16]: Result */
4253 /* Ensure var variable[16]: super-string element*/
4254 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[16]) /*AbstractArray::add*/;
4255 /* Register variable[16]: Result */
4256 variable
[16] = CALL_static_type___MMSignature___arity( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::arity*/;
4257 /* Ensure var variable[16]: super-string element*/
4258 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/) /*AbstractArray::add*/;
4259 /* Register variable[16]: Once String constant */
4260 if (once_value_193
!= NIT_NULL
) variable
[16] = once_value_193
;
4262 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString(" parameter(s)."), TAG_Int(14)) /*new String*/;
4263 once_value_193
= variable
[16];
4265 /* Register variable[16]: Result */
4266 /* Ensure var variable[16]: super-string element*/
4267 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[16]) /*AbstractArray::add*/;
4268 /* Register variable[15]: Result */
4269 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
4270 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[15]) /*AbsSyntaxVisitor::error*/;
4272 /* Register variable[15]: Result */
4273 variable
[15] = CALL_static_type___MMSignature___arity( variable
[8] /*s*/)( variable
[8] /*s*/) /*MMSignature::arity*/;
4274 /* Register variable[15]: Result */
4275 variable
[15] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[15]) /*new Range[Int]*/;
4276 /* Register variable[15]: For iterator */
4277 variable
[15] = CALL_abstract_collection___Collection___iterator(variable
[15])(variable
[15]) /*Range::iterator*/;
4278 while (true) { /*for*/
4279 /* Register variable[16]: For 'is_ok' result */
4280 variable
[16] = CALL_abstract_collection___Iterator___is_ok(variable
[15])(variable
[15]) /*Iterator::is_ok*/;
4281 if (!UNTAG_Bool(variable
[16])) break; /*for*/
4282 variable
[16] = CALL_abstract_collection___Iterator___item(variable
[15])(variable
[15]) /*Iterator::item*/ /* Ensure var: For item*/;
4283 /* Register variable[17]: Local variable */
4284 variable
[17] = variable
[16];
4285 /* Register variable[18]: Result */
4286 variable
[18] = CALL_static_type___MMSignature_____bra( variable
[8] /*s*/)( variable
[8] /*s*/, variable
[17] /*i*/) /*MMSignature::[]*/;
4287 /* Register variable[19]: Result */
4288 variable
[19] = CALL_static_type___MMSignature_____bra( variable
[13] /*isig*/)( variable
[13] /*isig*/, variable
[17] /*i*/) /*MMSignature::[]*/;
4289 /* Register variable[18]: Result */
4290 variable
[18] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[18] == variable
[19]) || ((variable
[18] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[18])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[18],variable
[19])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[18])(variable
[18], variable
[19]) /*Object::==*/)))))));
4291 if (UNTAG_Bool(variable
[18])) { /*if*/
4292 variable
[18] = NEW_Array_array___Array___with_capacity(TAG_Int(13)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4293 /* Register variable[19]: Once String constant */
4294 if (once_value_195
!= NIT_NULL
) variable
[19] = once_value_195
;
4296 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Expected "), TAG_Int(22)) /*new String*/;
4297 once_value_195
= variable
[19];
4299 /* Register variable[19]: Result */
4300 /* Ensure var variable[19]: super-string element*/
4301 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[19]) /*AbstractArray::add*/;
4302 /* Register variable[19]: Result */
4303 variable
[19] = CALL_static_type___MMSignature_____bra( variable
[13] /*isig*/)( variable
[13] /*isig*/, variable
[17] /*i*/) /*MMSignature::[]*/;
4304 /* Ensure var variable[19]: super-string element*/
4305 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], CALL_string___Object___to_s(variable
[19])(variable
[19]) /*Object::to_s*/) /*AbstractArray::add*/;
4306 /* Register variable[19]: Once String constant */
4307 if (once_value_196
!= NIT_NULL
) variable
[19] = once_value_196
;
4309 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)) /*new String*/;
4310 once_value_196
= variable
[19];
4312 /* Register variable[19]: Result */
4313 /* Ensure var variable[19]: super-string element*/
4314 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[19]) /*AbstractArray::add*/;
4315 /* Register variable[19]: Result */
4316 variable
[19] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
4317 /* Ensure var variable[19]: super-string element*/
4318 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], CALL_string___Object___to_s(variable
[19])(variable
[19]) /*Object::to_s*/) /*AbstractArray::add*/;
4319 /* Register variable[19]: Once String constant */
4320 if (once_value_197
!= NIT_NULL
) variable
[19] = once_value_197
;
4322 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4323 once_value_197
= variable
[19];
4325 /* Register variable[19]: Result */
4326 /* Ensure var variable[19]: super-string element*/
4327 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[19]) /*AbstractArray::add*/;
4328 variable
[19] = variable
[12] /*ip*/ /* Ensure var: super-string element*/;
4329 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], CALL_string___Object___to_s(variable
[19])(variable
[19]) /*Object::to_s*/) /*AbstractArray::add*/;
4330 /* Register variable[19]: Once String constant */
4331 if (once_value_198
!= NIT_NULL
) variable
[19] = once_value_198
;
4333 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)) /*new String*/;
4334 once_value_198
= variable
[19];
4336 /* Register variable[19]: Result */
4337 /* Ensure var variable[19]: super-string element*/
4338 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[19]) /*AbstractArray::add*/;
4339 /* Register variable[19]: Result */
4340 variable
[19] = CALL_static_type___MMSignature_____bra( variable
[8] /*s*/)( variable
[8] /*s*/, variable
[17] /*i*/) /*MMSignature::[]*/;
4341 /* Ensure var variable[19]: super-string element*/
4342 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], CALL_string___Object___to_s(variable
[19])(variable
[19]) /*Object::to_s*/) /*AbstractArray::add*/;
4343 /* Register variable[19]: Once String constant */
4344 if (once_value_199
!= NIT_NULL
) variable
[19] = once_value_199
;
4346 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)) /*new String*/;
4347 once_value_199
= variable
[19];
4349 /* Register variable[19]: Result */
4350 /* Ensure var variable[19]: super-string element*/
4351 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[19]) /*AbstractArray::add*/;
4352 /* Register variable[19]: Result */
4353 variable
[19] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
4354 /* Ensure var variable[19]: super-string element*/
4355 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], CALL_string___Object___to_s(variable
[19])(variable
[19]) /*Object::to_s*/) /*AbstractArray::add*/;
4356 /* Register variable[19]: Once String constant */
4357 if (once_value_200
!= NIT_NULL
) variable
[19] = once_value_200
;
4359 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4360 once_value_200
= variable
[19];
4362 /* Register variable[19]: Result */
4363 /* Ensure var variable[19]: super-string element*/
4364 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[19]) /*AbstractArray::add*/;
4365 variable
[19] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
4366 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], CALL_string___Object___to_s(variable
[19])(variable
[19]) /*Object::to_s*/) /*AbstractArray::add*/;
4367 /* Register variable[19]: Once String constant */
4368 if (once_value_201
!= NIT_NULL
) variable
[19] = once_value_201
;
4370 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
4371 once_value_201
= variable
[19];
4373 /* Register variable[19]: Result */
4374 /* Ensure var variable[19]: super-string element*/
4375 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[19]) /*AbstractArray::add*/;
4376 /* Register variable[18]: Result */
4377 variable
[18] = CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/;
4378 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[18]) /*AbsSyntaxVisitor::error*/;
4380 continue_194
: while(0);
4381 CALL_abstract_collection___Iterator___next(variable
[15])(variable
[15]) /*Iterator::next*/;
4383 break_194
: while(0);
4385 /* Register variable[15]: Local variable */
4386 /* Register variable[16]: Result */
4387 variable
[16] = CALL_static_type___MMSignature___return_type( variable
[8] /*s*/)( variable
[8] /*s*/) /*MMSignature::return_type*/;
4388 variable
[15] = variable
[16];
4389 /* Register variable[16]: Local variable */
4390 /* Register variable[17]: Result */
4391 variable
[17] = CALL_static_type___MMSignature___return_type( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::return_type*/;
4392 variable
[16] = variable
[17];
4393 /* Register variable[17]: Result */
4394 variable
[17] = TAG_Bool(( variable
[15] /*srt*/ == NIT_NULL
/*null*/) || (( variable
[15] /*srt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[15] /*srt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[15] /*srt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[15] /*srt*/)( variable
[15] /*srt*/, NIT_NULL
/*null*/) /*Object::==*/)))));
4395 /* Ensure var variable[17]: Left 'and' operand*/
4396 if (UNTAG_Bool(variable
[17])) { /* and */
4397 /* Register variable[17]: Result */
4398 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[16] /*isrt*/ == NIT_NULL
/*null*/) || (( variable
[16] /*isrt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[16] /*isrt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[16] /*isrt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[16] /*isrt*/)( variable
[16] /*isrt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
4400 /* Register variable[17]: Result */
4401 if (UNTAG_Bool(variable
[17])) { /*if*/
4402 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4403 /* Register variable[18]: Once String constant */
4404 if (once_value_202
!= NIT_NULL
) variable
[18] = once_value_202
;
4406 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: The procedure "), TAG_Int(27)) /*new String*/;
4407 once_value_202
= variable
[18];
4409 /* Register variable[18]: Result */
4410 /* Ensure var variable[18]: super-string element*/
4411 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4412 /* Register variable[18]: Result */
4413 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
4414 /* Ensure var variable[18]: super-string element*/
4415 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4416 /* Register variable[18]: Once String constant */
4417 if (once_value_203
!= NIT_NULL
) variable
[18] = once_value_203
;
4419 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4420 once_value_203
= variable
[18];
4422 /* Register variable[18]: Result */
4423 /* Ensure var variable[18]: super-string element*/
4424 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4425 variable
[18] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
4426 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4427 /* Register variable[18]: Once String constant */
4428 if (once_value_204
!= NIT_NULL
) variable
[18] = once_value_204
;
4430 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(" redefines the function "), TAG_Int(24)) /*new String*/;
4431 once_value_204
= variable
[18];
4433 /* Register variable[18]: Result */
4434 /* Ensure var variable[18]: super-string element*/
4435 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4436 /* Register variable[18]: Result */
4437 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
4438 /* Ensure var variable[18]: super-string element*/
4439 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4440 /* Register variable[18]: Once String constant */
4441 if (once_value_205
!= NIT_NULL
) variable
[18] = once_value_205
;
4443 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4444 once_value_205
= variable
[18];
4446 /* Register variable[18]: Result */
4447 /* Ensure var variable[18]: super-string element*/
4448 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4449 variable
[18] = variable
[12] /*ip*/ /* Ensure var: super-string element*/;
4450 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4451 /* Register variable[18]: Once String constant */
4452 if (once_value_206
!= NIT_NULL
) variable
[18] = once_value_206
;
4454 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
4455 once_value_206
= variable
[18];
4457 /* Register variable[18]: Result */
4458 /* Ensure var variable[18]: super-string element*/
4459 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4460 /* Register variable[17]: Result */
4461 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
4462 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[17]) /*AbsSyntaxVisitor::error*/;
4464 /* Register variable[17]: Result */
4465 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[15] /*srt*/ == NIT_NULL
/*null*/) || (( variable
[15] /*srt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[15] /*srt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[15] /*srt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[15] /*srt*/)( variable
[15] /*srt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
4466 /* Ensure var variable[17]: Left 'and' operand*/
4467 if (UNTAG_Bool(variable
[17])) { /* and */
4468 /* Register variable[17]: Result */
4469 variable
[17] = TAG_Bool(( variable
[16] /*isrt*/ == NIT_NULL
/*null*/) || (( variable
[16] /*isrt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[16] /*isrt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[16] /*isrt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[16] /*isrt*/)( variable
[16] /*isrt*/, NIT_NULL
/*null*/) /*Object::==*/)))));
4471 /* Register variable[17]: Result */
4472 if (UNTAG_Bool(variable
[17])) { /*if*/
4473 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4474 /* Register variable[18]: Once String constant */
4475 if (once_value_207
!= NIT_NULL
) variable
[18] = once_value_207
;
4477 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: The function "), TAG_Int(26)) /*new String*/;
4478 once_value_207
= variable
[18];
4480 /* Register variable[18]: Result */
4481 /* Ensure var variable[18]: super-string element*/
4482 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4483 /* Register variable[18]: Result */
4484 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
4485 /* Ensure var variable[18]: super-string element*/
4486 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4487 /* Register variable[18]: Once String constant */
4488 if (once_value_208
!= NIT_NULL
) variable
[18] = once_value_208
;
4490 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4491 once_value_208
= variable
[18];
4493 /* Register variable[18]: Result */
4494 /* Ensure var variable[18]: super-string element*/
4495 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4496 variable
[18] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
4497 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4498 /* Register variable[18]: Once String constant */
4499 if (once_value_209
!= NIT_NULL
) variable
[18] = once_value_209
;
4501 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(" redefines the procedure "), TAG_Int(25)) /*new String*/;
4502 once_value_209
= variable
[18];
4504 /* Register variable[18]: Result */
4505 /* Ensure var variable[18]: super-string element*/
4506 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4507 /* Register variable[18]: Result */
4508 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
4509 /* Ensure var variable[18]: super-string element*/
4510 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4511 /* Register variable[18]: Once String constant */
4512 if (once_value_210
!= NIT_NULL
) variable
[18] = once_value_210
;
4514 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4515 once_value_210
= variable
[18];
4517 /* Register variable[18]: Result */
4518 /* Ensure var variable[18]: super-string element*/
4519 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4520 variable
[18] = variable
[12] /*ip*/ /* Ensure var: super-string element*/;
4521 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4522 /* Register variable[18]: Once String constant */
4523 if (once_value_211
!= NIT_NULL
) variable
[18] = once_value_211
;
4525 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
4526 once_value_211
= variable
[18];
4528 /* Register variable[18]: Result */
4529 /* Ensure var variable[18]: super-string element*/
4530 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4531 /* Register variable[17]: Result */
4532 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
4533 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[17]) /*AbsSyntaxVisitor::error*/;
4535 /* Register variable[17]: Result */
4536 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[15] /*srt*/ == NIT_NULL
/*null*/) || (( variable
[15] /*srt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[15] /*srt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[15] /*srt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[15] /*srt*/)( variable
[15] /*srt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
4537 /* Ensure var variable[17]: Left 'and' operand*/
4538 if (UNTAG_Bool(variable
[17])) { /* and */
4539 /* Register variable[17]: Result */
4540 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[16] /*isrt*/ == NIT_NULL
/*null*/) || (( variable
[16] /*isrt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[16] /*isrt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[16] /*isrt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[16] /*isrt*/)( variable
[16] /*isrt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
4542 /* Register variable[17]: Result */
4543 /* Ensure var variable[17]: Left 'and' operand*/
4544 if (UNTAG_Bool(variable
[17])) { /* and */
4545 /* Register variable[17]: Result */
4546 variable
[17] = CALL_static_type___MMType_____l( variable
[15] /*srt*/)( variable
[15] /*srt*/, variable
[16] /*isrt*/) /*MMType::<*/;
4547 variable
[17] = TAG_Bool(!UNTAG_Bool(variable
[17]));
4549 /* Register variable[17]: Result */
4550 if (UNTAG_Bool(variable
[17])) { /*if*/
4551 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(13)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4552 /* Register variable[18]: Once String constant */
4553 if (once_value_212
!= NIT_NULL
) variable
[18] = once_value_212
;
4555 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Expected "), TAG_Int(22)) /*new String*/;
4556 once_value_212
= variable
[18];
4558 /* Register variable[18]: Result */
4559 /* Ensure var variable[18]: super-string element*/
4560 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4561 variable
[18] = variable
[16] /*isrt*/ /* Ensure var: super-string element*/;
4562 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4563 /* Register variable[18]: Once String constant */
4564 if (once_value_213
!= NIT_NULL
) variable
[18] = once_value_213
;
4566 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)) /*new String*/;
4567 once_value_213
= variable
[18];
4569 /* Register variable[18]: Result */
4570 /* Ensure var variable[18]: super-string element*/
4571 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4572 /* Register variable[18]: Result */
4573 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
4574 /* Ensure var variable[18]: super-string element*/
4575 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4576 /* Register variable[18]: Once String constant */
4577 if (once_value_214
!= NIT_NULL
) variable
[18] = once_value_214
;
4579 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4580 once_value_214
= variable
[18];
4582 /* Register variable[18]: Result */
4583 /* Ensure var variable[18]: super-string element*/
4584 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4585 variable
[18] = variable
[12] /*ip*/ /* Ensure var: super-string element*/;
4586 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4587 /* Register variable[18]: Once String constant */
4588 if (once_value_215
!= NIT_NULL
) variable
[18] = once_value_215
;
4590 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)) /*new String*/;
4591 once_value_215
= variable
[18];
4593 /* Register variable[18]: Result */
4594 /* Ensure var variable[18]: super-string element*/
4595 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4596 variable
[18] = variable
[15] /*srt*/ /* Ensure var: super-string element*/;
4597 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4598 /* Register variable[18]: Once String constant */
4599 if (once_value_216
!= NIT_NULL
) variable
[18] = once_value_216
;
4601 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)) /*new String*/;
4602 once_value_216
= variable
[18];
4604 /* Register variable[18]: Result */
4605 /* Ensure var variable[18]: super-string element*/
4606 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4607 /* Register variable[18]: Result */
4608 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
4609 /* Ensure var variable[18]: super-string element*/
4610 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4611 /* Register variable[18]: Once String constant */
4612 if (once_value_217
!= NIT_NULL
) variable
[18] = once_value_217
;
4614 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4615 once_value_217
= variable
[18];
4617 /* Register variable[18]: Result */
4618 /* Ensure var variable[18]: super-string element*/
4619 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4620 variable
[18] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
4621 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4622 /* Register variable[18]: Once String constant */
4623 if (once_value_218
!= NIT_NULL
) variable
[18] = once_value_218
;
4625 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
4626 once_value_218
= variable
[18];
4628 /* Register variable[18]: Result */
4629 /* Ensure var variable[18]: super-string element*/
4630 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4631 /* Register variable[17]: Result */
4632 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
4633 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[17]) /*AbsSyntaxVisitor::error*/;
4635 /* Register variable[17]: Result */
4636 variable
[17] = CALL_static_type___MMSignature_____l( variable
[8] /*s*/)( variable
[8] /*s*/, variable
[13] /*isig*/) /*MMSignature::<*/;
4637 variable
[17] = TAG_Bool(!UNTAG_Bool(variable
[17])) /* Ensure var: Left 'and' operand*/;
4638 if (UNTAG_Bool(variable
[17])) { /* and */
4639 /* Register variable[17]: Result */
4640 variable
[17] = CALL_syntax_base___AbsSyntaxVisitor___tc( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::tc*/;
4641 /* Register variable[17]: Result */
4642 variable
[17] = CALL_mmloader___ToolContext___error_count(variable
[17])(variable
[17]) /*ToolContext::error_count*/;
4643 /* Register variable[17]: Result */
4644 variable
[17] = TAG_Bool(( variable
[14] /*nberr*/)==(variable
[17]));
4646 /* Register variable[17]: Result */
4647 if (UNTAG_Bool(variable
[17])) { /*if*/
4648 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4649 /* Register variable[18]: Once String constant */
4650 if (once_value_219
!= NIT_NULL
) variable
[18] = once_value_219
;
4652 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Incompatible redefinition of "), TAG_Int(42)) /*new String*/;
4653 once_value_219
= variable
[18];
4655 /* Register variable[18]: Result */
4656 /* Ensure var variable[18]: super-string element*/
4657 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4658 /* Register variable[18]: Result */
4659 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
4660 /* Ensure var variable[18]: super-string element*/
4661 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4662 /* Register variable[18]: Once String constant */
4663 if (once_value_220
!= NIT_NULL
) variable
[18] = once_value_220
;
4665 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4666 once_value_220
= variable
[18];
4668 /* Register variable[18]: Result */
4669 /* Ensure var variable[18]: super-string element*/
4670 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4671 variable
[18] = variable
[12] /*ip*/ /* Ensure var: super-string element*/;
4672 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4673 /* Register variable[18]: Once String constant */
4674 if (once_value_221
!= NIT_NULL
) variable
[18] = once_value_221
;
4676 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)) /*new String*/;
4677 once_value_221
= variable
[18];
4679 /* Register variable[18]: Result */
4680 /* Ensure var variable[18]: super-string element*/
4681 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4682 /* Register variable[18]: Result */
4683 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
4684 /* Ensure var variable[18]: super-string element*/
4685 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4686 /* Register variable[18]: Once String constant */
4687 if (once_value_222
!= NIT_NULL
) variable
[18] = once_value_222
;
4689 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4690 once_value_222
= variable
[18];
4692 /* Register variable[18]: Result */
4693 /* Ensure var variable[18]: super-string element*/
4694 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4695 variable
[18] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
4696 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4697 /* Register variable[18]: Once String constant */
4698 if (once_value_223
!= NIT_NULL
) variable
[18] = once_value_223
;
4700 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
4701 once_value_223
= variable
[18];
4703 /* Register variable[18]: Result */
4704 /* Ensure var variable[18]: super-string element*/
4705 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4706 /* Register variable[17]: Result */
4707 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
4708 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[17]) /*AbsSyntaxVisitor::error*/;
4710 /* Register variable[17]: Result */
4711 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[15] /*srt*/ == NIT_NULL
/*null*/) || (( variable
[15] /*srt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[15] /*srt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[15] /*srt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[15] /*srt*/)( variable
[15] /*srt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
4712 /* Ensure var variable[17]: Left 'and' operand*/
4713 if (UNTAG_Bool(variable
[17])) { /* and */
4714 /* Register variable[17]: Result */
4715 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[16] /*isrt*/ == NIT_NULL
/*null*/) || (( variable
[16] /*isrt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[16] /*isrt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[16] /*isrt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[16] /*isrt*/)( variable
[16] /*isrt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
4717 /* Register variable[17]: Result */
4718 /* Ensure var variable[17]: Left 'and' operand*/
4719 if (UNTAG_Bool(variable
[17])) { /* and */
4720 /* Register variable[17]: Result */
4721 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[15] /*srt*/ == variable
[16] /*isrt*/) || (( variable
[15] /*srt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[15] /*srt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[15] /*srt*/, variable
[16] /*isrt*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[15] /*srt*/)( variable
[15] /*srt*/, variable
[16] /*isrt*/) /*Object::==*/)))))));
4723 /* Register variable[17]: Result */
4724 /* Ensure var variable[17]: Left 'and' operand*/
4725 if (UNTAG_Bool(variable
[17])) { /* and */
4726 /* Register variable[17]: Result */
4727 variable
[17] = TAG_Bool(( variable
[2] /*prop*/==NIT_NULL
) || VAL_ISA( variable
[2] /*prop*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
4729 /* Register variable[17]: Result */
4730 if (UNTAG_Bool(variable
[17])) { /*if*/
4731 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(13)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4732 /* Register variable[18]: Once String constant */
4733 if (once_value_224
!= NIT_NULL
) variable
[18] = once_value_224
;
4735 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef warning: Expected "), TAG_Int(24)) /*new String*/;
4736 once_value_224
= variable
[18];
4738 /* Register variable[18]: Result */
4739 /* Ensure var variable[18]: super-string element*/
4740 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4741 variable
[18] = variable
[16] /*isrt*/ /* Ensure var: super-string element*/;
4742 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4743 /* Register variable[18]: Once String constant */
4744 if (once_value_225
!= NIT_NULL
) variable
[18] = once_value_225
;
4746 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)) /*new String*/;
4747 once_value_225
= variable
[18];
4749 /* Register variable[18]: Result */
4750 /* Ensure var variable[18]: super-string element*/
4751 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4752 /* Register variable[18]: Result */
4753 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
4754 /* Ensure var variable[18]: super-string element*/
4755 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4756 /* Register variable[18]: Once String constant */
4757 if (once_value_226
!= NIT_NULL
) variable
[18] = once_value_226
;
4759 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4760 once_value_226
= variable
[18];
4762 /* Register variable[18]: Result */
4763 /* Ensure var variable[18]: super-string element*/
4764 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4765 variable
[18] = variable
[12] /*ip*/ /* Ensure var: super-string element*/;
4766 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4767 /* Register variable[18]: Once String constant */
4768 if (once_value_227
!= NIT_NULL
) variable
[18] = once_value_227
;
4770 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)) /*new String*/;
4771 once_value_227
= variable
[18];
4773 /* Register variable[18]: Result */
4774 /* Ensure var variable[18]: super-string element*/
4775 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4776 variable
[18] = variable
[15] /*srt*/ /* Ensure var: super-string element*/;
4777 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4778 /* Register variable[18]: Once String constant */
4779 if (once_value_228
!= NIT_NULL
) variable
[18] = once_value_228
;
4781 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)) /*new String*/;
4782 once_value_228
= variable
[18];
4784 /* Register variable[18]: Result */
4785 /* Ensure var variable[18]: super-string element*/
4786 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4787 /* Register variable[18]: Result */
4788 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
4789 /* Ensure var variable[18]: super-string element*/
4790 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4791 /* Register variable[18]: Once String constant */
4792 if (once_value_229
!= NIT_NULL
) variable
[18] = once_value_229
;
4794 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4795 once_value_229
= variable
[18];
4797 /* Register variable[18]: Result */
4798 /* Ensure var variable[18]: super-string element*/
4799 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4800 variable
[18] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
4801 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/) /*AbstractArray::add*/;
4802 /* Register variable[18]: Once String constant */
4803 if (once_value_230
!= NIT_NULL
) variable
[18] = once_value_230
;
4805 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
4806 once_value_230
= variable
[18];
4808 /* Register variable[18]: Result */
4809 /* Ensure var variable[18]: super-string element*/
4810 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[18]) /*AbstractArray::add*/;
4811 /* Register variable[17]: Result */
4812 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
4813 CALL_syntax_base___AbsSyntaxVisitor___warning( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[17]) /*AbsSyntaxVisitor::warning*/;
4819 continue_174
: while(0);
4820 CALL_abstract_collection___Iterator___next(variable
[9])(variable
[9]) /*ArrayIterator::next*/;
4822 break_174
: while(0);
4823 /* Register variable[9]: Result */
4824 variable
[9] = TAG_Bool(( variable
[4] /*visibility_level*/)!=( TAG_Int(1)));
4825 /* Ensure var variable[9]: Left 'and' operand*/
4826 if (UNTAG_Bool(variable
[9])) { /* and */
4827 /* Register variable[9]: Result */
4828 variable
[9] = CALL_abstractmetamodel___MMGlobalProperty___visibility_level( variable
[7] /*glob*/)( variable
[7] /*glob*/) /*MMGlobalProperty::visibility_level*/;
4829 /* Register variable[9]: Result */
4830 variable
[9] = TAG_Bool((variable
[9])!=( variable
[4] /*visibility_level*/));
4832 /* Register variable[9]: Result */
4833 if (UNTAG_Bool(variable
[9])) { /*if*/
4834 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4835 /* Register variable[10]: Once String constant */
4836 if (once_value_231
!= NIT_NULL
) variable
[10] = once_value_231
;
4838 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)) /*new String*/;
4839 once_value_231
= variable
[10];
4841 /* Register variable[10]: Result */
4842 /* Ensure var variable[10]: super-string element*/
4843 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
4844 /* Register variable[10]: Result */
4845 variable
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
4846 /* Ensure var variable[10]: super-string element*/
4847 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/) /*AbstractArray::add*/;
4848 /* Register variable[10]: Once String constant */
4849 if (once_value_232
!= NIT_NULL
) variable
[10] = once_value_232
;
4851 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
4852 once_value_232
= variable
[10];
4854 /* Register variable[10]: Result */
4855 /* Ensure var variable[10]: super-string element*/
4856 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
4857 variable
[10] = variable
[2] /*prop*/ /* Ensure var: super-string element*/;
4858 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/) /*AbstractArray::add*/;
4859 /* Register variable[10]: Once String constant */
4860 if (once_value_233
!= NIT_NULL
) variable
[10] = once_value_233
;
4862 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(" redefinition cannot change visibility."), TAG_Int(39)) /*new String*/;
4863 once_value_233
= variable
[10];
4865 /* Register variable[10]: Result */
4866 /* Ensure var variable[10]: super-string element*/
4867 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
4868 /* Register variable[9]: Result */
4869 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
4870 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[9]) /*AbsSyntaxVisitor::error*/;
4872 /* Register variable[9]: Result */
4873 variable
[9] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
4874 CALL_syntax_base___MMGlobalProperty___check_visibility( variable
[7] /*glob*/)( variable
[7] /*glob*/, variable
[1] /*v*/, variable
[0], variable
[9], TAG_Bool(true)) /*MMGlobalProperty::check_visibility*/;
4875 return_label164
: while(false);
4876 tracehead
= trace
.prev
;
4879 void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t self
, val_t param0
) {
4880 struct trace_t trace
= {NULL
, NULL
, 962, LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
};
4882 struct WBT_
**closurevariable
= NULL
;
4883 trace
.prev
= tracehead
; tracehead
= &trace
;
4884 trace
.file
= LOCATE_mmbuilder
;
4885 /* Register variable[0]: Local variable */
4887 /* Register variable[1]: Local variable */
4888 variable
[1] = param0
;
4889 /* Register variable[2]: Method return value and escape marker */
4890 /* Register variable[3]: Result */
4891 variable
[3] = CALL_syntax_base___AAttrPropdef___prop(variable
[0])(variable
[0]) /*AAttrPropdef::prop*/;
4892 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*AbsSyntaxVisitor::local_property=*/;
4893 CALL_SUPER_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1]) /*super AAttrPropdef::accept_abs_syntax_visitor*/;
4894 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/) /*AbsSyntaxVisitor::local_property=*/;
4895 return_label234
: while(false);
4896 tracehead
= trace
.prev
;
4899 val_t
mmbuilder___AAttrPropdef___prop(val_t self
) {
4900 struct trace_t trace
= {NULL
, NULL
, 913, LOCATE_mmbuilder___AAttrPropdef___prop
};
4901 val_t
*variable
= NULL
;
4902 struct WBT_
**closurevariable
= NULL
;
4903 trace
.prev
= tracehead
; tracehead
= &trace
;
4904 trace
.file
= LOCATE_mmbuilder
;
4905 tracehead
= trace
.prev
;
4906 return ATTR_mmbuilder___AAttrPropdef____prop( self
) /*AAttrPropdef::_prop*/;
4908 val_t
mmbuilder___AAttrPropdef___readmethod(val_t self
) {
4909 struct trace_t trace
= {NULL
, NULL
, 911, LOCATE_mmbuilder___AAttrPropdef___readmethod
};
4910 val_t
*variable
= NULL
;
4911 struct WBT_
**closurevariable
= NULL
;
4912 trace
.prev
= tracehead
; tracehead
= &trace
;
4913 trace
.file
= LOCATE_mmbuilder
;
4914 tracehead
= trace
.prev
;
4915 return ATTR_mmbuilder___AAttrPropdef____readmethod( self
) /*AAttrPropdef::_readmethod*/;
4917 val_t
mmbuilder___AAttrPropdef___writemethod(val_t self
) {
4918 struct trace_t trace
= {NULL
, NULL
, 912, LOCATE_mmbuilder___AAttrPropdef___writemethod
};
4919 val_t
*variable
= NULL
;
4920 struct WBT_
**closurevariable
= NULL
;
4921 trace
.prev
= tracehead
; tracehead
= &trace
;
4922 trace
.file
= LOCATE_mmbuilder
;
4923 tracehead
= trace
.prev
;
4924 return ATTR_mmbuilder___AAttrPropdef____writemethod( self
) /*AAttrPropdef::_writemethod*/;
4926 void mmbuilder___AAttrPropdef___accept_property_builder(val_t self
, val_t param0
) {
4927 struct trace_t trace
= {NULL
, NULL
, 915, LOCATE_mmbuilder___AAttrPropdef___accept_property_builder
};
4928 static val_t once_value_236
= NIT_NULL
; /* Once value for string variable[6]*/
4930 struct WBT_
**closurevariable
= NULL
;
4931 trace
.prev
= tracehead
; tracehead
= &trace
;
4932 trace
.file
= LOCATE_mmbuilder
;
4933 /* Register variable[0]: Local variable */
4935 /* Register variable[1]: Local variable */
4936 variable
[1] = param0
;
4937 /* Register variable[2]: Method return value and escape marker */
4938 CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_builder(variable
[0])(variable
[0], variable
[1]) /*super AAttrPropdef::accept_property_builder*/;
4939 /* Register variable[3]: Local variable */
4940 /* Register variable[4]: Result */
4941 variable
[4] = CALL_parser_nodes___AAttrPropdef___n_id(variable
[0])(variable
[0]) /*AAttrPropdef::n_id*/;
4942 /* Register variable[4]: Result */
4943 variable
[4] = CALL_syntax_base___Token___to_symbol(variable
[4])(variable
[4]) /*Token::to_symbol*/;
4944 variable
[3] = variable
[4];
4945 /* Register variable[4]: Local variable */
4946 /* Register variable[5]: Result */
4947 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
4948 /* Register variable[5]: Result */
4949 variable
[5] = NEW_MMSrcAttribute_syntax_base___MMSrcAttribute___init( variable
[3] /*name*/, variable
[5], variable
[0]) /*new MMSrcAttribute*/;
4950 variable
[4] = variable
[5];
4951 ATTR_mmbuilder___AAttrPropdef____prop(variable
[0]) /*AAttrPropdef::_prop*/ = variable
[4] /*prop*/;
4952 /* Register variable[5]: Result */
4953 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
4954 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[5])(variable
[5], variable
[1] /*v*/, variable
[4] /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
4955 /* Register variable[5]: Result */
4956 variable
[5] = CALL_parser_nodes___AAttrPropdef___n_readable(variable
[0])(variable
[0]) /*AAttrPropdef::n_readable*/;
4957 /* Register variable[5]: Result */
4958 variable
[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[5] == NIT_NULL
/*null*/) || ((variable
[5] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[5])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[5], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[5])(variable
[5], NIT_NULL
/*null*/) /*Object::==*/)))))));
4959 if (UNTAG_Bool(variable
[5])) { /*if*/
4960 /* Register variable[5]: Result */
4961 variable
[5] = CALL_parser_nodes___AAttrPropdef___n_id(variable
[0])(variable
[0]) /*AAttrPropdef::n_id*/;
4962 /* Register variable[5]: Result */
4963 variable
[5] = CALL_lexer___Token___text(variable
[5])(variable
[5]) /*Token::text*/;
4964 /* Register variable[5]: Result */
4965 variable
[5] = CALL_string___AbstractString___substring_from(variable
[5])(variable
[5], TAG_Int(1)) /*AbstractString::substring_from*/;
4966 /* Register variable[5]: Result */
4967 variable
[5] = CALL_symbol___String___to_symbol(variable
[5])(variable
[5]) /*String::to_symbol*/;
4968 variable
[3] = variable
[5] /*name=*/;
4969 /* Register variable[5]: Result */
4970 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
4971 /* Register variable[5]: Result */
4972 variable
[5] = NEW_MMReadImplementationMethod_syntax_base___MMReadImplementationMethod___init( variable
[3] /*name*/, variable
[5], variable
[0]) /*new MMReadImplementationMethod*/;
4973 ATTR_mmbuilder___AAttrPropdef____readmethod(variable
[0]) /*AAttrPropdef::_readmethod*/ = variable
[5];
4974 /* Register variable[5]: Result */
4975 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
4976 /* Register variable[6]: Result */
4977 variable
[6] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable
[0]) /*AAttrPropdef::_readmethod*/;
4978 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[5])(variable
[5], variable
[1] /*v*/, variable
[6]) /*MMSrcLocalClass::add_src_local_property*/;
4980 /* Register variable[5]: Result */
4981 variable
[5] = CALL_parser_nodes___AAttrPropdef___n_writable(variable
[0])(variable
[0]) /*AAttrPropdef::n_writable*/;
4982 /* Register variable[5]: Result */
4983 variable
[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[5] == NIT_NULL
/*null*/) || ((variable
[5] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[5])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[5], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[5])(variable
[5], NIT_NULL
/*null*/) /*Object::==*/)))))));
4984 if (UNTAG_Bool(variable
[5])) { /*if*/
4985 /* Register variable[5]: Result */
4986 variable
[5] = CALL_parser_nodes___AAttrPropdef___n_id(variable
[0])(variable
[0]) /*AAttrPropdef::n_id*/;
4987 /* Register variable[5]: Result */
4988 variable
[5] = CALL_lexer___Token___text(variable
[5])(variable
[5]) /*Token::text*/;
4989 /* Register variable[5]: Result */
4990 variable
[5] = CALL_string___AbstractString___substring_from(variable
[5])(variable
[5], TAG_Int(1)) /*AbstractString::substring_from*/;
4991 /* Register variable[6]: Once String constant */
4992 if (once_value_236
!= NIT_NULL
) variable
[6] = once_value_236
;
4994 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("="), TAG_Int(1)) /*new String*/;
4995 once_value_236
= variable
[6];
4997 /* Register variable[6]: Result */
4998 /* Register variable[5]: Result */
4999 variable
[5] = CALL_string___String_____plus(variable
[5])(variable
[5], variable
[6]) /*String::+*/;
5000 /* Register variable[5]: Result */
5001 variable
[5] = CALL_symbol___String___to_symbol(variable
[5])(variable
[5]) /*String::to_symbol*/;
5002 variable
[3] = variable
[5] /*name=*/;
5003 /* Register variable[5]: Result */
5004 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5005 /* Register variable[5]: Result */
5006 variable
[5] = NEW_MMWriteImplementationMethod_syntax_base___MMWriteImplementationMethod___init( variable
[3] /*name*/, variable
[5], variable
[0]) /*new MMWriteImplementationMethod*/;
5007 ATTR_mmbuilder___AAttrPropdef____writemethod(variable
[0]) /*AAttrPropdef::_writemethod*/ = variable
[5];
5008 /* Register variable[5]: Result */
5009 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5010 /* Register variable[6]: Result */
5011 variable
[6] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable
[0]) /*AAttrPropdef::_writemethod*/;
5012 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[5])(variable
[5], variable
[1] /*v*/, variable
[6]) /*MMSrcLocalClass::add_src_local_property*/;
5014 return_label235
: while(false);
5015 tracehead
= trace
.prev
;
5018 void mmbuilder___AAttrPropdef___accept_property_verifier(val_t self
, val_t param0
) {
5019 struct trace_t trace
= {NULL
, NULL
, 935, LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier
};
5020 static val_t once_value_238
= NIT_NULL
; /* Once value for string variable[5]*/
5021 static val_t once_value_239
= NIT_NULL
; /* Once value for string variable[5]*/
5022 static val_t once_value_240
= NIT_NULL
; /* Once value for string variable[5]*/
5024 struct WBT_
**closurevariable
= NULL
;
5025 trace
.prev
= tracehead
; tracehead
= &trace
;
5026 trace
.file
= LOCATE_mmbuilder
;
5027 /* Register variable[0]: Local variable */
5029 /* Register variable[1]: Local variable */
5030 variable
[1] = param0
;
5031 /* Register variable[2]: Method return value and escape marker */
5032 CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super AAttrPropdef::accept_property_verifier*/;
5033 /* Register variable[3]: Local variable */
5034 /*variable[3] is variable t*/
5035 /* Register variable[4]: Result */
5036 variable
[4] = CALL_parser_nodes___AAttrPropdef___n_type(variable
[0])(variable
[0]) /*AAttrPropdef::n_type*/;
5037 /* Register variable[4]: Result */
5038 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[4] == NIT_NULL
/*null*/) || ((variable
[4] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[4])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[4])(variable
[4], NIT_NULL
/*null*/) /*Object::==*/)))))));
5039 if (UNTAG_Bool(variable
[4])) { /*if*/
5040 /* Register variable[4]: Result */
5041 variable
[4] = CALL_parser_nodes___AAttrPropdef___n_type(variable
[0])(variable
[0]) /*AAttrPropdef::n_type*/;
5042 /* Register variable[4]: Result */
5043 variable
[4] = CALL_syntax_base___PType___get_stype(variable
[4])(variable
[4], variable
[1] /*v*/) /*PType::get_stype*/;
5044 variable
[3] = variable
[4] /*t=*/;
5046 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5047 /* Register variable[5]: Once String constant */
5048 if (once_value_238
!= NIT_NULL
) variable
[5] = once_value_238
;
5050 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("Not yet implemented: Attribute definition "), TAG_Int(42)) /*new String*/;
5051 once_value_238
= variable
[5];
5053 /* Register variable[5]: Result */
5054 /* Ensure var variable[5]: super-string element*/
5055 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
5056 /* Register variable[5]: Result */
5057 variable
[5] = ATTR_mmbuilder___AAttrPropdef____prop(variable
[0]) /*AAttrPropdef::_prop*/;
5058 /* Register variable[5]: Result */
5059 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[5])(variable
[5]) /*MMLocalProperty::local_class*/;
5060 /* Ensure var variable[5]: super-string element*/
5061 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/) /*AbstractArray::add*/;
5062 /* Register variable[5]: Once String constant */
5063 if (once_value_239
!= NIT_NULL
) variable
[5] = once_value_239
;
5065 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
5066 once_value_239
= variable
[5];
5068 /* Register variable[5]: Result */
5069 /* Ensure var variable[5]: super-string element*/
5070 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
5071 /* Register variable[5]: Result */
5072 variable
[5] = ATTR_mmbuilder___AAttrPropdef____prop(variable
[0]) /*AAttrPropdef::_prop*/;
5073 /* Ensure var variable[5]: super-string element*/
5074 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/) /*AbstractArray::add*/;
5075 /* Register variable[5]: Once String constant */
5076 if (once_value_240
!= NIT_NULL
) variable
[5] = once_value_240
;
5078 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString(" requires an explicit type."), TAG_Int(27)) /*new String*/;
5079 once_value_240
= variable
[5];
5081 /* Register variable[5]: Result */
5082 /* Ensure var variable[5]: super-string element*/
5083 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[5]) /*AbstractArray::add*/;
5084 /* Register variable[4]: Result */
5085 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
5086 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[4]) /*AbsSyntaxVisitor::error*/;
5087 goto return_label237
;
5089 /* Register variable[4]: Local variable */
5090 /* Register variable[5]: Result */
5091 variable
[5] = NEW_Array_array___Array___init() /*new Array[MMType]*/;
5092 /* Register variable[6]: Result */
5093 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5094 /* Register variable[6]: Result */
5095 variable
[6] = CALL_static_type___MMLocalClass___get_type(variable
[6])(variable
[6]) /*MMLocalClass::get_type*/;
5096 /* Register variable[5]: Result */
5097 variable
[5] = NEW_MMSignature_static_type___MMSignature___init(variable
[5], variable
[3] /*t*/, variable
[6]) /*new MMSignature*/;
5098 variable
[4] = variable
[5];
5099 /* Register variable[5]: Result */
5100 variable
[5] = ATTR_mmbuilder___AAttrPropdef____prop(variable
[0]) /*AAttrPropdef::_prop*/;
5101 CALL_static_type___MMLocalProperty___signature__eq(variable
[5])(variable
[5], variable
[4] /*signature*/) /*MMLocalProperty::signature=*/;
5102 /* Register variable[5]: Local variable */
5103 /* Register variable[6]: Result */
5104 variable
[6] = CALL_parser_nodes___AAttrPropdef___n_visibility(variable
[0])(variable
[0]) /*AAttrPropdef::n_visibility*/;
5105 /* Register variable[6]: Result */
5106 variable
[6] = CALL_mmbuilder___PVisibility___level(variable
[6])(variable
[6]) /*PVisibility::level*/;
5107 variable
[5] = variable
[6];
5108 /* Register variable[6]: Result */
5109 variable
[6] = ATTR_mmbuilder___AAttrPropdef____prop(variable
[0]) /*AAttrPropdef::_prop*/;
5110 /* Register variable[7]: Result */
5111 variable
[7] = CALL_parser_nodes___AAttrPropdef___n_kwredef(variable
[0])(variable
[0]) /*AAttrPropdef::n_kwredef*/;
5112 /* Register variable[7]: Result */
5113 variable
[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[7] == NIT_NULL
/*null*/) || ((variable
[7] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[7])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[7], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[7])(variable
[7], NIT_NULL
/*null*/) /*Object::==*/)))))));
5114 CALL_mmbuilder___PPropdef___process_and_check(variable
[0])(variable
[0], variable
[1] /*v*/, variable
[6], variable
[7], variable
[5] /*visibility_level*/) /*PPropdef::process_and_check*/;
5115 /* Register variable[6]: Result */
5116 variable
[6] = CALL_parser_nodes___AAttrPropdef___n_readable(variable
[0])(variable
[0]) /*AAttrPropdef::n_readable*/;
5117 /* Register variable[6]: Result */
5118 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[6] == NIT_NULL
/*null*/) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], NIT_NULL
/*null*/) /*Object::==*/)))))));
5119 if (UNTAG_Bool(variable
[6])) { /*if*/
5120 /* Register variable[6]: Result */
5121 variable
[6] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable
[0]) /*AAttrPropdef::_readmethod*/;
5122 CALL_static_type___MMLocalProperty___signature__eq(variable
[6])(variable
[6], variable
[4] /*signature*/) /*MMLocalProperty::signature=*/;
5123 /* Register variable[6]: Result */
5124 variable
[6] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable
[0]) /*AAttrPropdef::_readmethod*/;
5125 /* Register variable[7]: Result */
5126 variable
[7] = CALL_parser_nodes___AAttrPropdef___n_readable(variable
[0])(variable
[0]) /*AAttrPropdef::n_readable*/;
5127 /* Register variable[7]: Result */
5128 variable
[7] = CALL_parser_nodes___PAble___n_kwredef(variable
[7])(variable
[7]) /*PAble::n_kwredef*/;
5129 /* Register variable[7]: Result */
5130 variable
[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[7] == NIT_NULL
/*null*/) || ((variable
[7] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[7])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[7], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[7])(variable
[7], NIT_NULL
/*null*/) /*Object::==*/)))))));
5131 CALL_mmbuilder___PPropdef___process_and_check(variable
[0])(variable
[0], variable
[1] /*v*/, variable
[6], variable
[7], variable
[5] /*visibility_level*/) /*PPropdef::process_and_check*/;
5132 /* Register variable[6]: Result */
5133 variable
[6] = CALL_parser_nodes___AAttrPropdef___n_type(variable
[0])(variable
[0]) /*AAttrPropdef::n_type*/;
5134 /* Register variable[7]: Result */
5135 variable
[7] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable
[0]) /*AAttrPropdef::_readmethod*/;
5136 CALL_mmbuilder___PType___check_visibility(variable
[6])(variable
[6], variable
[1] /*v*/, variable
[7]) /*PType::check_visibility*/;
5138 /* Register variable[6]: Result */
5139 variable
[6] = CALL_parser_nodes___AAttrPropdef___n_writable(variable
[0])(variable
[0]) /*AAttrPropdef::n_writable*/;
5140 /* Register variable[6]: Result */
5141 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[6] == NIT_NULL
/*null*/) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], NIT_NULL
/*null*/) /*Object::==*/)))))));
5142 if (UNTAG_Bool(variable
[6])) { /*if*/
5143 /* Register variable[6]: Result */
5144 variable
[6] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable
[0]) /*AAttrPropdef::_writemethod*/;
5145 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[MMType]*/ /* Ensure var: Literal array*/;
5146 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[3] /*t*/) /*AbstractArray::add*/;
5147 /* Register variable[7]: Result */
5148 /* Register variable[7]: Result */
5149 variable
[7] = NEW_Array_array___Array___with_items(variable
[7]) /*new Array[MMType]*/;
5150 /* Register variable[8]: Result */
5151 variable
[8] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5152 /* Register variable[8]: Result */
5153 variable
[8] = CALL_static_type___MMLocalClass___get_type(variable
[8])(variable
[8]) /*MMLocalClass::get_type*/;
5154 /* Register variable[7]: Result */
5155 variable
[7] = NEW_MMSignature_static_type___MMSignature___init(variable
[7], NIT_NULL
/*null*/, variable
[8]) /*new MMSignature*/;
5156 CALL_static_type___MMLocalProperty___signature__eq(variable
[6])(variable
[6], variable
[7]) /*MMLocalProperty::signature=*/;
5157 /* Register variable[6]: Result */
5158 variable
[6] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable
[0]) /*AAttrPropdef::_writemethod*/;
5159 /* Register variable[7]: Result */
5160 variable
[7] = CALL_parser_nodes___AAttrPropdef___n_writable(variable
[0])(variable
[0]) /*AAttrPropdef::n_writable*/;
5161 /* Register variable[7]: Result */
5162 variable
[7] = CALL_parser_nodes___PAble___n_kwredef(variable
[7])(variable
[7]) /*PAble::n_kwredef*/;
5163 /* Register variable[7]: Result */
5164 variable
[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[7] == NIT_NULL
/*null*/) || ((variable
[7] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[7])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[7], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[7])(variable
[7], NIT_NULL
/*null*/) /*Object::==*/)))))));
5165 CALL_mmbuilder___PPropdef___process_and_check(variable
[0])(variable
[0], variable
[1] /*v*/, variable
[6], variable
[7], variable
[5] /*visibility_level*/) /*PPropdef::process_and_check*/;
5166 /* Register variable[6]: Result */
5167 variable
[6] = CALL_parser_nodes___AAttrPropdef___n_type(variable
[0])(variable
[0]) /*AAttrPropdef::n_type*/;
5168 /* Register variable[7]: Result */
5169 variable
[7] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable
[0]) /*AAttrPropdef::_writemethod*/;
5170 CALL_mmbuilder___PType___check_visibility(variable
[6])(variable
[6], variable
[1] /*v*/, variable
[7]) /*PType::check_visibility*/;
5172 return_label237
: while(false);
5173 tracehead
= trace
.prev
;
5176 void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t self
, val_t param0
) {
5177 struct trace_t trace
= {NULL
, NULL
, 1018, LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor
};
5179 struct WBT_
**closurevariable
= NULL
;
5180 trace
.prev
= tracehead
; tracehead
= &trace
;
5181 trace
.file
= LOCATE_mmbuilder
;
5182 /* Register variable[0]: Local variable */
5184 /* Register variable[1]: Local variable */
5185 variable
[1] = param0
;
5186 /* Register variable[2]: Method return value and escape marker */
5187 /* Register variable[3]: Result */
5188 variable
[3] = CALL_syntax_base___AMethPropdef___method(variable
[0])(variable
[0]) /*AMethPropdef::method*/;
5189 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*AbsSyntaxVisitor::local_property=*/;
5190 CALL_SUPER_mmbuilder___AMethPropdef___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1]) /*super AMethPropdef::accept_abs_syntax_visitor*/;
5191 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/) /*AbsSyntaxVisitor::local_property=*/;
5192 return_label241
: while(false);
5193 tracehead
= trace
.prev
;
5196 val_t
mmbuilder___AMethPropdef___method(val_t self
) {
5197 struct trace_t trace
= {NULL
, NULL
, 974, LOCATE_mmbuilder___AMethPropdef___method
};
5198 val_t
*variable
= NULL
;
5199 struct WBT_
**closurevariable
= NULL
;
5200 trace
.prev
= tracehead
; tracehead
= &trace
;
5201 trace
.file
= LOCATE_mmbuilder
;
5202 tracehead
= trace
.prev
;
5203 return ATTR_mmbuilder___AMethPropdef____method( self
) /*AMethPropdef::_method*/;
5205 void mmbuilder___AMethPropdef___accept_property_builder(val_t self
, val_t param0
) {
5206 struct trace_t trace
= {NULL
, NULL
, 976, LOCATE_mmbuilder___AMethPropdef___accept_property_builder
};
5207 static val_t once_value_243
; static int once_bool_243
; /* Once value for variable[3]*/
5208 static val_t once_value_244
= NIT_NULL
; /* Once value for string variable[3]*/
5209 static val_t once_value_245
; static int once_bool_245
; /* Once value for variable[3]*/
5210 static val_t once_value_246
= NIT_NULL
; /* Once value for string variable[3]*/
5211 static val_t once_value_247
; static int once_bool_247
; /* Once value for variable[4]*/
5212 static val_t once_value_248
= NIT_NULL
; /* Once value for string variable[4]*/
5213 static val_t once_value_249
; static int once_bool_249
; /* Once value for variable[4]*/
5214 static val_t once_value_250
= NIT_NULL
; /* Once value for string variable[4]*/
5216 struct WBT_
**closurevariable
= NULL
;
5217 trace
.prev
= tracehead
; tracehead
= &trace
;
5218 trace
.file
= LOCATE_mmbuilder
;
5219 /* Register variable[0]: Local variable */
5221 /* Register variable[1]: Local variable */
5222 variable
[1] = param0
;
5223 /* Register variable[2]: Method return value and escape marker */
5224 CALL_SUPER_mmbuilder___AMethPropdef___accept_property_builder(variable
[0])(variable
[0], variable
[1]) /*super AMethPropdef::accept_property_builder*/;
5225 /* Register variable[3]: Result */
5226 variable
[3] = CALL_parser_nodes___AMethPropdef___n_methid(variable
[0])(variable
[0]) /*AMethPropdef::n_methid*/;
5227 /* Register variable[3]: Result */
5228 variable
[3] = TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))));
5229 if (UNTAG_Bool(variable
[3])) { /*if*/
5230 /* Register variable[3]: Result */
5231 variable
[3] = TAG_Bool((variable
[0]==NIT_NULL
) || VAL_ISA(variable
[0], COLOR_AConcreteInitPropdef
, ID_AConcreteInitPropdef
)) /*cast AConcreteInitPropdef*/;
5232 if (UNTAG_Bool(variable
[3])) { /*if*/
5233 /* Register variable[3]: Once expression result */
5234 if (once_bool_243
) variable
[3] = once_value_243
;
5236 /* Register variable[3]: Once String constant */
5237 if (once_value_244
!= NIT_NULL
) variable
[3] = once_value_244
;
5239 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)) /*new String*/;
5240 once_value_244
= variable
[3];
5242 /* Register variable[3]: Result */
5243 /* Register variable[3]: Result */
5244 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
5245 once_value_243
= variable
[3];
5246 once_bool_243
= true;
5248 /* Register variable[3]: Result */
5249 ATTR_mmbuilder___AMethPropdef____name(variable
[0]) /*AMethPropdef::_name*/ = variable
[3];
5251 /* Register variable[3]: Once expression result */
5252 if (once_bool_245
) variable
[3] = once_value_245
;
5254 /* Register variable[3]: Once String constant */
5255 if (once_value_246
!= NIT_NULL
) variable
[3] = once_value_246
;
5257 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)) /*new String*/;
5258 once_value_246
= variable
[3];
5260 /* Register variable[3]: Result */
5261 /* Register variable[3]: Result */
5262 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
5263 once_value_245
= variable
[3];
5264 once_bool_245
= true;
5266 /* Register variable[3]: Result */
5267 ATTR_mmbuilder___AMethPropdef____name(variable
[0]) /*AMethPropdef::_name*/ = variable
[3];
5270 /* Register variable[3]: Result */
5271 variable
[3] = CALL_parser_nodes___AMethPropdef___n_methid(variable
[0])(variable
[0]) /*AMethPropdef::n_methid*/;
5272 /* Register variable[3]: Result */
5273 variable
[3] = CALL_mmbuilder___PMethid___name(variable
[3])(variable
[3]) /*PMethid::name*/;
5274 ATTR_mmbuilder___AMethPropdef____name(variable
[0]) /*AMethPropdef::_name*/ = variable
[3];
5275 /* Register variable[3]: Result */
5276 variable
[3] = CALL_parser_nodes___AMethPropdef___n_methid(variable
[0])(variable
[0]) /*AMethPropdef::n_methid*/;
5277 /* Register variable[3]: Result */
5278 variable
[3] = CALL_mmbuilder___PMethid___name(variable
[3])(variable
[3]) /*PMethid::name*/;
5279 /* Register variable[4]: Once expression result */
5280 if (once_bool_247
) variable
[4] = once_value_247
;
5282 /* Register variable[4]: Once String constant */
5283 if (once_value_248
!= NIT_NULL
) variable
[4] = once_value_248
;
5285 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)) /*new String*/;
5286 once_value_248
= variable
[4];
5288 /* Register variable[4]: Result */
5289 /* Register variable[4]: Result */
5290 variable
[4] = CALL_symbol___String___to_symbol(variable
[4])(variable
[4]) /*String::to_symbol*/;
5291 once_value_247
= variable
[4];
5292 once_bool_247
= true;
5294 /* Register variable[4]: Result */
5295 /* Register variable[3]: Result */
5296 variable
[3] = TAG_Bool((variable
[3] == variable
[4]) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3],variable
[4])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], variable
[4]) /*Object::==*/)))));
5297 if (UNTAG_Bool(variable
[3])) { /*if*/
5298 /* Register variable[3]: Local variable */
5299 /* Register variable[4]: Result */
5300 variable
[4] = CALL_parser_nodes___AMethPropdef___n_signature(variable
[0])(variable
[0]) /*AMethPropdef::n_signature*/;
5301 variable
[3] = variable
[4];
5302 /* Register variable[4]: Result */
5303 variable
[4] = TAG_Bool(( variable
[3] /*ns*/==NIT_NULL
) || VAL_ISA( variable
[3] /*ns*/, COLOR_ASignature
, ID_ASignature
)) /*cast ASignature*/;
5304 /* Ensure var variable[4]: Left 'and' operand*/
5305 if (UNTAG_Bool(variable
[4])) { /* and */
5306 /* Register variable[4]: Result */
5307 variable
[4] = CALL_parser_nodes___ASignature___n_params( variable
[3] /*ns*/)( variable
[3] /*ns*/) /*ASignature::n_params*/;
5308 /* Register variable[4]: Result */
5309 variable
[4] = CALL_abstract_collection___Collection___length(variable
[4])(variable
[4]) /*List::length*/;
5310 /* Register variable[4]: Result */
5311 variable
[4] = TAG_Bool((variable
[4])==( TAG_Int(0)));
5313 /* Register variable[4]: Result */
5314 if (UNTAG_Bool(variable
[4])) { /*if*/
5315 /* Register variable[4]: Once expression result */
5316 if (once_bool_249
) variable
[4] = once_value_249
;
5318 /* Register variable[4]: Once String constant */
5319 if (once_value_250
!= NIT_NULL
) variable
[4] = once_value_250
;
5321 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)) /*new String*/;
5322 once_value_250
= variable
[4];
5324 /* Register variable[4]: Result */
5325 /* Register variable[4]: Result */
5326 variable
[4] = CALL_symbol___String___to_symbol(variable
[4])(variable
[4]) /*String::to_symbol*/;
5327 once_value_249
= variable
[4];
5328 once_bool_249
= true;
5330 /* Register variable[4]: Result */
5331 ATTR_mmbuilder___AMethPropdef____name(variable
[0]) /*AMethPropdef::_name*/ = variable
[4];
5335 /* Register variable[3]: Local variable */
5336 /* Register variable[4]: Result */
5337 variable
[4] = ATTR_mmbuilder___AMethPropdef____name(variable
[0]) /*AMethPropdef::_name*/;
5338 /* Register variable[5]: Result */
5339 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5340 /* Register variable[4]: Result */
5341 variable
[4] = NEW_MMMethSrcMethod_syntax_base___MMMethSrcMethod___init(variable
[4], variable
[5], variable
[0]) /*new MMMethSrcMethod*/;
5342 variable
[3] = variable
[4];
5343 ATTR_mmbuilder___AMethPropdef____method(variable
[0]) /*AMethPropdef::_method*/ = variable
[3] /*prop*/;
5344 /* Register variable[4]: Result */
5345 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5346 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[4])(variable
[4], variable
[1] /*v*/, variable
[3] /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
5347 return_label242
: while(false);
5348 tracehead
= trace
.prev
;
5351 void mmbuilder___AMethPropdef___accept_property_verifier(val_t self
, val_t param0
) {
5352 struct trace_t trace
= {NULL
, NULL
, 1000, LOCATE_mmbuilder___AMethPropdef___accept_property_verifier
};
5354 struct WBT_
**closurevariable
= NULL
;
5355 trace
.prev
= tracehead
; tracehead
= &trace
;
5356 trace
.file
= LOCATE_mmbuilder
;
5357 /* Register variable[0]: Local variable */
5359 /* Register variable[1]: Local variable */
5360 variable
[1] = param0
;
5361 /* Register variable[2]: Method return value and escape marker */
5362 /* Register variable[3]: Result */
5363 variable
[3] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init() /*new SignatureBuilder*/;
5364 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*PropertyVerifierVisitor::signature_builder=*/;
5365 CALL_SUPER_mmbuilder___AMethPropdef___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super AMethPropdef::accept_property_verifier*/;
5366 /* Register variable[3]: Result */
5367 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5368 /* Register variable[3]: Result */
5369 variable
[3] = CALL_mmbuilder___SignatureBuilder___signature(variable
[3])(variable
[3]) /*SignatureBuilder::signature*/;
5370 /* Register variable[3]: Result */
5371 variable
[3] = TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))));
5372 if (UNTAG_Bool(variable
[3])) { /*if*/
5374 /* Register variable[3]: Result */
5375 variable
[3] = ATTR_mmbuilder___AMethPropdef____method(variable
[0]) /*AMethPropdef::_method*/;
5376 /* Register variable[4]: Result */
5377 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5378 /* Register variable[4]: Result */
5379 variable
[4] = CALL_mmbuilder___SignatureBuilder___signature(variable
[4])(variable
[4]) /*SignatureBuilder::signature*/;
5380 CALL_static_type___MMLocalProperty___signature__eq(variable
[3])(variable
[3], variable
[4]) /*MMLocalProperty::signature=*/;
5382 /* Register variable[3]: Local variable */
5383 variable
[3] = TAG_Int(1);
5384 /* Register variable[4]: Result */
5385 variable
[4] = CALL_parser_nodes___AMethPropdef___n_visibility(variable
[0])(variable
[0]) /*AMethPropdef::n_visibility*/;
5386 /* Register variable[4]: Result */
5387 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[4] == NIT_NULL
/*null*/) || ((variable
[4] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[4])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[4])(variable
[4], NIT_NULL
/*null*/) /*Object::==*/)))))));
5388 /* Ensure var variable[4]: Left 'and' operand*/
5389 if (UNTAG_Bool(variable
[4])) { /* and */
5390 /* Register variable[4]: Result */
5391 variable
[4] = CALL_parser_nodes___AMethPropdef___n_visibility(variable
[0])(variable
[0]) /*AMethPropdef::n_visibility*/;
5392 /* Register variable[4]: Result */
5393 variable
[4] = CALL_mmbuilder___PVisibility___level(variable
[4])(variable
[4]) /*PVisibility::level*/;
5394 /* Register variable[4]: Result */
5395 variable
[4] = TAG_Bool(UNTAG_Int(variable
[4])>UNTAG_Int( TAG_Int(1)));
5397 /* Register variable[4]: Result */
5398 if (UNTAG_Bool(variable
[4])) { /*if*/
5399 /* Register variable[4]: Result */
5400 variable
[4] = CALL_parser_nodes___AMethPropdef___n_visibility(variable
[0])(variable
[0]) /*AMethPropdef::n_visibility*/;
5401 /* Register variable[4]: Result */
5402 variable
[4] = CALL_mmbuilder___PVisibility___level(variable
[4])(variable
[4]) /*PVisibility::level*/;
5403 variable
[3] = variable
[4] /*visibility_level=*/;
5405 /* Register variable[4]: Result */
5406 variable
[4] = ATTR_mmbuilder___AMethPropdef____method(variable
[0]) /*AMethPropdef::_method*/;
5407 /* Register variable[5]: Result */
5408 variable
[5] = CALL_parser_nodes___AMethPropdef___n_kwredef(variable
[0])(variable
[0]) /*AMethPropdef::n_kwredef*/;
5409 /* Register variable[5]: Result */
5410 variable
[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[5] == NIT_NULL
/*null*/) || ((variable
[5] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[5])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[5], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[5])(variable
[5], NIT_NULL
/*null*/) /*Object::==*/)))))));
5411 CALL_mmbuilder___PPropdef___process_and_check(variable
[0])(variable
[0], variable
[1] /*v*/, variable
[4], variable
[5], variable
[3] /*visibility_level*/) /*PPropdef::process_and_check*/;
5412 /* Register variable[4]: Result */
5413 variable
[4] = CALL_parser_nodes___AMethPropdef___n_signature(variable
[0])(variable
[0]) /*AMethPropdef::n_signature*/;
5414 /* Register variable[4]: Result */
5415 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[4] == NIT_NULL
/*null*/) || ((variable
[4] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[4])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[4])(variable
[4], NIT_NULL
/*null*/) /*Object::==*/)))))));
5416 if (UNTAG_Bool(variable
[4])) { /*if*/
5417 /* Register variable[4]: Result */
5418 variable
[4] = CALL_parser_nodes___AMethPropdef___n_signature(variable
[0])(variable
[0]) /*AMethPropdef::n_signature*/;
5419 /* Register variable[5]: Result */
5420 variable
[5] = ATTR_mmbuilder___AMethPropdef____method(variable
[0]) /*AMethPropdef::_method*/;
5421 CALL_mmbuilder___PSignature___check_visibility(variable
[4])(variable
[4], variable
[1] /*v*/, variable
[5]) /*PSignature::check_visibility*/;
5423 return_label251
: while(false);
5424 tracehead
= trace
.prev
;
5427 val_t
mmbuilder___AMethPropdef___name(val_t self
) {
5428 struct trace_t trace
= {NULL
, NULL
, 971, LOCATE_mmbuilder___AMethPropdef___name
};
5429 val_t
*variable
= NULL
;
5430 struct WBT_
**closurevariable
= NULL
;
5431 trace
.prev
= tracehead
; tracehead
= &trace
;
5432 trace
.file
= LOCATE_mmbuilder
;
5433 tracehead
= trace
.prev
;
5434 return ATTR_mmbuilder___AMethPropdef____name( self
) /*AMethPropdef::_name*/;
5436 void mmbuilder___AMainMethPropdef___process_and_check(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
5437 struct trace_t trace
= {NULL
, NULL
, 1027, LOCATE_mmbuilder___AMainMethPropdef___process_and_check
};
5439 struct WBT_
**closurevariable
= NULL
;
5440 trace
.prev
= tracehead
; tracehead
= &trace
;
5441 trace
.file
= LOCATE_mmbuilder
;
5442 /* Register variable[0]: Local variable */
5444 /* Register variable[1]: Local variable */
5445 variable
[1] = param0
;
5446 /* Register variable[2]: Local variable */
5447 variable
[2] = param1
;
5448 /* Register variable[3]: Local variable */
5449 variable
[3] = param2
;
5450 /* Register variable[4]: Local variable */
5451 variable
[4] = param3
;
5452 /* Register variable[5]: Method return value and escape marker */
5453 /* Register variable[6]: Result */
5454 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
5455 CALL_abstractmetamodel___MMGlobalProperty___visibility_level__eq(variable
[6])(variable
[6], variable
[4] /*visibility_level*/) /*MMGlobalProperty::visibility_level=*/;
5456 /* Register variable[6]: Result */
5457 variable
[6] = NEW_Array_array___Array___init() /*new Array[MMType]*/;
5458 /* Register variable[7]: Result */
5459 variable
[7] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5460 /* Register variable[7]: Result */
5461 variable
[7] = CALL_static_type___MMLocalClass___get_type(variable
[7])(variable
[7]) /*MMLocalClass::get_type*/;
5462 /* Register variable[6]: Result */
5463 variable
[6] = NEW_MMSignature_static_type___MMSignature___init(variable
[6], NIT_NULL
/*null*/, variable
[7]) /*new MMSignature*/;
5464 CALL_static_type___MMLocalProperty___signature__eq( variable
[2] /*prop*/)( variable
[2] /*prop*/, variable
[6]) /*MMLocalProperty::signature=*/;
5465 return_label252
: while(false);
5466 tracehead
= trace
.prev
;
5469 void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t self
, val_t param0
) {
5470 struct trace_t trace
= {NULL
, NULL
, 1056, LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor
};
5472 struct WBT_
**closurevariable
= NULL
;
5473 trace
.prev
= tracehead
; tracehead
= &trace
;
5474 trace
.file
= LOCATE_mmbuilder
;
5475 /* Register variable[0]: Local variable */
5477 /* Register variable[1]: Local variable */
5478 variable
[1] = param0
;
5479 /* Register variable[2]: Method return value and escape marker */
5480 /* Register variable[3]: Result */
5481 variable
[3] = CALL_syntax_base___ATypePropdef___prop(variable
[0])(variable
[0]) /*ATypePropdef::prop*/;
5482 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*AbsSyntaxVisitor::local_property=*/;
5483 CALL_SUPER_mmbuilder___ATypePropdef___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1]) /*super ATypePropdef::accept_abs_syntax_visitor*/;
5484 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/) /*AbsSyntaxVisitor::local_property=*/;
5485 return_label253
: while(false);
5486 tracehead
= trace
.prev
;
5489 val_t
mmbuilder___ATypePropdef___prop(val_t self
) {
5490 struct trace_t trace
= {NULL
, NULL
, 1036, LOCATE_mmbuilder___ATypePropdef___prop
};
5491 val_t
*variable
= NULL
;
5492 struct WBT_
**closurevariable
= NULL
;
5493 trace
.prev
= tracehead
; tracehead
= &trace
;
5494 trace
.file
= LOCATE_mmbuilder
;
5495 tracehead
= trace
.prev
;
5496 return ATTR_mmbuilder___ATypePropdef____prop( self
) /*ATypePropdef::_prop*/;
5498 void mmbuilder___ATypePropdef___accept_property_builder(val_t self
, val_t param0
) {
5499 struct trace_t trace
= {NULL
, NULL
, 1038, LOCATE_mmbuilder___ATypePropdef___accept_property_builder
};
5501 struct WBT_
**closurevariable
= NULL
;
5502 trace
.prev
= tracehead
; tracehead
= &trace
;
5503 trace
.file
= LOCATE_mmbuilder
;
5504 /* Register variable[0]: Local variable */
5506 /* Register variable[1]: Local variable */
5507 variable
[1] = param0
;
5508 /* Register variable[2]: Method return value and escape marker */
5509 CALL_SUPER_mmbuilder___ATypePropdef___accept_property_builder(variable
[0])(variable
[0], variable
[1]) /*super ATypePropdef::accept_property_builder*/;
5510 /* Register variable[3]: Local variable */
5511 /* Register variable[4]: Result */
5512 variable
[4] = CALL_parser_nodes___ATypePropdef___n_id(variable
[0])(variable
[0]) /*ATypePropdef::n_id*/;
5513 /* Register variable[4]: Result */
5514 variable
[4] = CALL_syntax_base___Token___to_symbol(variable
[4])(variable
[4]) /*Token::to_symbol*/;
5515 variable
[3] = variable
[4];
5516 /* Register variable[4]: Local variable */
5517 /* Register variable[5]: Result */
5518 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5519 /* Register variable[5]: Result */
5520 variable
[5] = NEW_MMSrcTypeProperty_syntax_base___MMSrcTypeProperty___init( variable
[3] /*name*/, variable
[5], variable
[0]) /*new MMSrcTypeProperty*/;
5521 variable
[4] = variable
[5];
5522 ATTR_mmbuilder___ATypePropdef____prop(variable
[0]) /*ATypePropdef::_prop*/ = variable
[4] /*prop*/;
5523 /* Register variable[5]: Result */
5524 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5525 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[5])(variable
[5], variable
[1] /*v*/, variable
[4] /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
5526 return_label254
: while(false);
5527 tracehead
= trace
.prev
;
5530 void mmbuilder___ATypePropdef___accept_property_verifier(val_t self
, val_t param0
) {
5531 struct trace_t trace
= {NULL
, NULL
, 1047, LOCATE_mmbuilder___ATypePropdef___accept_property_verifier
};
5533 struct WBT_
**closurevariable
= NULL
;
5534 trace
.prev
= tracehead
; tracehead
= &trace
;
5535 trace
.file
= LOCATE_mmbuilder
;
5536 /* Register variable[0]: Local variable */
5538 /* Register variable[1]: Local variable */
5539 variable
[1] = param0
;
5540 /* Register variable[2]: Method return value and escape marker */
5541 CALL_SUPER_mmbuilder___ATypePropdef___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super ATypePropdef::accept_property_verifier*/;
5542 /* Register variable[3]: Local variable */
5543 /* Register variable[4]: Result */
5544 variable
[4] = NEW_Array_array___Array___init() /*new Array[MMType]*/;
5545 /* Register variable[5]: Result */
5546 variable
[5] = CALL_parser_nodes___ATypePropdef___n_type(variable
[0])(variable
[0]) /*ATypePropdef::n_type*/;
5547 /* Register variable[5]: Result */
5548 variable
[5] = CALL_syntax_base___PType___get_stype(variable
[5])(variable
[5], variable
[1] /*v*/) /*PType::get_stype*/;
5549 /* Register variable[6]: Result */
5550 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5551 /* Register variable[6]: Result */
5552 variable
[6] = CALL_static_type___MMLocalClass___get_type(variable
[6])(variable
[6]) /*MMLocalClass::get_type*/;
5553 /* Register variable[4]: Result */
5554 variable
[4] = NEW_MMSignature_static_type___MMSignature___init(variable
[4], variable
[5], variable
[6]) /*new MMSignature*/;
5555 variable
[3] = variable
[4];
5556 /* Register variable[4]: Result */
5557 variable
[4] = ATTR_mmbuilder___ATypePropdef____prop(variable
[0]) /*ATypePropdef::_prop*/;
5558 CALL_static_type___MMLocalProperty___signature__eq(variable
[4])(variable
[4], variable
[3] /*signature*/) /*MMLocalProperty::signature=*/;
5559 /* Register variable[4]: Local variable */
5560 /* Register variable[5]: Result */
5561 variable
[5] = CALL_parser_nodes___ATypePropdef___n_visibility(variable
[0])(variable
[0]) /*ATypePropdef::n_visibility*/;
5562 /* Register variable[5]: Result */
5563 variable
[5] = CALL_mmbuilder___PVisibility___level(variable
[5])(variable
[5]) /*PVisibility::level*/;
5564 variable
[4] = variable
[5];
5565 /* Register variable[5]: Result */
5566 variable
[5] = ATTR_mmbuilder___ATypePropdef____prop(variable
[0]) /*ATypePropdef::_prop*/;
5567 /* Register variable[6]: Result */
5568 variable
[6] = CALL_parser_nodes___ATypePropdef___n_kwredef(variable
[0])(variable
[0]) /*ATypePropdef::n_kwredef*/;
5569 /* Register variable[6]: Result */
5570 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[6] == NIT_NULL
/*null*/) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], NIT_NULL
/*null*/) /*Object::==*/)))))));
5571 CALL_mmbuilder___PPropdef___process_and_check(variable
[0])(variable
[0], variable
[1] /*v*/, variable
[5], variable
[6], variable
[4] /*visibility_level*/) /*PPropdef::process_and_check*/;
5572 return_label255
: while(false);
5573 tracehead
= trace
.prev
;
5576 void mmbuilder___MethidAccumulator___visit(val_t self
, val_t param0
) {
5577 struct trace_t trace
= {NULL
, NULL
, 1068, LOCATE_mmbuilder___MethidAccumulator___visit
};
5579 struct WBT_
**closurevariable
= NULL
;
5580 trace
.prev
= tracehead
; tracehead
= &trace
;
5581 trace
.file
= LOCATE_mmbuilder
;
5582 /* Register variable[0]: Local variable */
5584 /* Register variable[1]: Local variable */
5585 variable
[1] = param0
;
5586 /* Register variable[2]: Method return value and escape marker */
5587 /* Register variable[3]: Result */
5588 variable
[3] = TAG_Bool(( variable
[1] /*n*/==NIT_NULL
) || VAL_ISA( variable
[1] /*n*/, COLOR_Token
, ID_Token
)) /*cast Token*/;
5589 if (UNTAG_Bool(variable
[3])) { /*if*/
5590 /* Register variable[3]: Result */
5591 variable
[3] = ATTR_mmbuilder___MethidAccumulator____name(variable
[0]) /*MethidAccumulator::_name*/;
5592 /* Register variable[4]: Result */
5593 variable
[4] = CALL_lexer___Token___text( variable
[1] /*n*/)( variable
[1] /*n*/) /*Token::text*/;
5594 CALL_abstract_collection___IndexedCollection___append(variable
[3])(variable
[3], variable
[4]) /*Buffer::append*/;
5596 CALL_parser_prod___PNode___visit_all( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[0]) /*PNode::visit_all*/;
5598 return_label256
: while(false);
5599 tracehead
= trace
.prev
;
5602 val_t
mmbuilder___MethidAccumulator___name(val_t self
) {
5603 struct trace_t trace
= {NULL
, NULL
, 1067, LOCATE_mmbuilder___MethidAccumulator___name
};
5604 val_t
*variable
= NULL
;
5605 struct WBT_
**closurevariable
= NULL
;
5606 trace
.prev
= tracehead
; tracehead
= &trace
;
5607 trace
.file
= LOCATE_mmbuilder
;
5608 tracehead
= trace
.prev
;
5609 return ATTR_mmbuilder___MethidAccumulator____name( self
) /*MethidAccumulator::_name*/;
5611 void mmbuilder___PMethid___accept_property_builder(val_t self
, val_t param0
) {
5612 struct trace_t trace
= {NULL
, NULL
, 1082, LOCATE_mmbuilder___PMethid___accept_property_builder
};
5614 struct WBT_
**closurevariable
= NULL
;
5615 trace
.prev
= tracehead
; tracehead
= &trace
;
5616 trace
.file
= LOCATE_mmbuilder
;
5617 /* Register variable[0]: Local variable */
5619 /* Register variable[1]: Local variable */
5620 variable
[1] = param0
;
5621 /* Register variable[2]: Method return value and escape marker */
5622 /* Register variable[3]: Local variable */
5623 /* Register variable[4]: Result */
5624 variable
[4] = NEW_MethidAccumulator_parser_prod___Visitor___init() /*new MethidAccumulator*/;
5625 variable
[3] = variable
[4];
5626 CALL_parser_prod___Visitor___visit( variable
[3] /*accumulator*/)( variable
[3] /*accumulator*/, variable
[0]) /*MethidAccumulator::visit*/;
5627 /* Register variable[4]: Result */
5628 variable
[4] = CALL_mmbuilder___MethidAccumulator___name( variable
[3] /*accumulator*/)( variable
[3] /*accumulator*/) /*MethidAccumulator::name*/;
5629 /* Register variable[4]: Result */
5630 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Buffer::to_s*/;
5631 /* Register variable[4]: Result */
5632 variable
[4] = CALL_symbol___String___to_symbol(variable
[4])(variable
[4]) /*String::to_symbol*/;
5633 ATTR_mmbuilder___PMethid____name(variable
[0]) /*PMethid::_name*/ = variable
[4];
5634 CALL_SUPER_mmbuilder___PMethid___accept_property_builder(variable
[0])(variable
[0], variable
[1]) /*super PMethid::accept_property_builder*/;
5635 return_label257
: while(false);
5636 tracehead
= trace
.prev
;
5639 val_t
mmbuilder___PMethid___name(val_t self
) {
5640 struct trace_t trace
= {NULL
, NULL
, 1079, LOCATE_mmbuilder___PMethid___name
};
5641 val_t
*variable
= NULL
;
5642 struct WBT_
**closurevariable
= NULL
;
5643 trace
.prev
= tracehead
; tracehead
= &trace
;
5644 trace
.file
= LOCATE_mmbuilder
;
5645 tracehead
= trace
.prev
;
5646 return ATTR_mmbuilder___PMethid____name( self
) /*PMethid::_name*/;
5648 void mmbuilder___PSignature___check_visibility(val_t self
, val_t param0
, val_t param1
) {
5649 struct trace_t trace
= {NULL
, NULL
, 1092, LOCATE_mmbuilder___PSignature___check_visibility
};
5650 val_t
*variable
= NULL
;
5651 struct WBT_
**closurevariable
= NULL
;
5652 trace
.prev
= tracehead
; tracehead
= &trace
;
5653 trace
.file
= LOCATE_mmbuilder
;
5654 fprintf(stderr
, "Deferred method called");
5655 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 1092);
5657 tracehead
= trace
.prev
;
5660 void mmbuilder___ASignature___accept_property_verifier(val_t self
, val_t param0
) {
5661 struct trace_t trace
= {NULL
, NULL
, 1097, LOCATE_mmbuilder___ASignature___accept_property_verifier
};
5662 static val_t once_value_259
= NIT_NULL
; /* Once value for string variable[4]*/
5664 struct WBT_
**closurevariable
= NULL
;
5665 trace
.prev
= tracehead
; tracehead
= &trace
;
5666 trace
.file
= LOCATE_mmbuilder
;
5667 /* Register variable[0]: Local variable */
5669 /* Register variable[1]: Local variable */
5670 variable
[1] = param0
;
5671 /* Register variable[2]: Method return value and escape marker */
5672 CALL_SUPER_mmbuilder___ASignature___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super ASignature::accept_property_verifier*/;
5673 /* Register variable[3]: Result */
5674 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5675 /* Register variable[3]: Result */
5676 variable
[3] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[3])(variable
[3]) /*SignatureBuilder::untyped_params*/;
5677 /* Register variable[3]: Result */
5678 variable
[3] = CALL_abstract_collection___Collection___is_empty(variable
[3])(variable
[3]) /*AbstractArrayRead::is_empty*/;
5679 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[3])))) { /*if*/
5680 /* Register variable[3]: Result */
5681 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5682 /* Register variable[3]: Result */
5683 variable
[3] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[3])(variable
[3]) /*SignatureBuilder::untyped_params*/;
5684 /* Register variable[3]: Result */
5685 variable
[3] = CALL_abstract_collection___Collection___first(variable
[3])(variable
[3]) /*IndexedCollectionRead::first*/;
5686 /* Register variable[4]: Result */
5687 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5688 /* Register variable[4]: Result */
5689 variable
[4] = CALL_mmbuilder___SignatureBuilder___params(variable
[4])(variable
[4]) /*SignatureBuilder::params*/;
5690 /* Register variable[4]: Result */
5691 variable
[4] = CALL_abstract_collection___Collection___first(variable
[4])(variable
[4]) /*IndexedCollectionRead::first*/;
5692 /* Register variable[3]: Result */
5693 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == variable
[4]) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3],variable
[4])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], variable
[4]) /*Object::==*/)))))));
5694 /* Ensure var variable[3]: Left 'or' operand*/
5695 if (!UNTAG_Bool(variable
[3])) { /* or */
5696 /* Register variable[3]: Result */
5697 variable
[3] = CALL_parser_nodes___ASignature___n_type(variable
[0])(variable
[0]) /*ASignature::n_type*/;
5698 /* Register variable[3]: Result */
5699 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
5701 /* Register variable[3]: Result */
5702 if (UNTAG_Bool(variable
[3])) { /*if*/
5703 /* Register variable[3]: Result */
5704 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5705 /* Register variable[3]: Result */
5706 variable
[3] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[3])(variable
[3]) /*SignatureBuilder::untyped_params*/;
5707 /* Register variable[3]: Result */
5708 variable
[3] = CALL_abstract_collection___Collection___first(variable
[3])(variable
[3]) /*IndexedCollectionRead::first*/;
5709 /* Register variable[4]: Once String constant */
5710 if (once_value_259
!= NIT_NULL
) variable
[4] = once_value_259
;
5712 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("Syntax error: untyped parameter."), TAG_Int(32)) /*new String*/;
5713 once_value_259
= variable
[4];
5715 /* Register variable[4]: Result */
5716 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3], variable
[4]) /*AbsSyntaxVisitor::error*/;
5717 goto return_label258
;
5720 /* Register variable[3]: Result */
5721 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5722 /* Register variable[3]: Result */
5723 variable
[3] = CALL_mmbuilder___SignatureBuilder___params(variable
[3])(variable
[3]) /*SignatureBuilder::params*/;
5724 /* Register variable[3]: Result */
5725 variable
[3] = CALL_abstract_collection___Collection___is_empty(variable
[3])(variable
[3]) /*AbstractArrayRead::is_empty*/;
5726 variable
[3] = TAG_Bool(!UNTAG_Bool(variable
[3])) /* Ensure var: Left 'or' operand*/;
5727 if (!UNTAG_Bool(variable
[3])) { /* or */
5728 /* Register variable[3]: Result */
5729 variable
[3] = CALL_parser_nodes___ASignature___n_type(variable
[0])(variable
[0]) /*ASignature::n_type*/;
5730 /* Register variable[3]: Result */
5731 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
5733 /* Register variable[3]: Result */
5734 if (UNTAG_Bool(variable
[3])) { /*if*/
5735 /* Register variable[3]: Local variable */
5736 /* Register variable[4]: Result */
5737 variable
[4] = NEW_Array_array___Array___init() /*new Array[MMType]*/;
5738 variable
[3] = variable
[4];
5739 /* Register variable[4]: Result */
5740 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5741 /* Register variable[4]: Result */
5742 variable
[4] = CALL_mmbuilder___SignatureBuilder___params(variable
[4])(variable
[4]) /*SignatureBuilder::params*/;
5743 /* Register variable[4]: For iterator */
5744 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArrayRead::iterator*/;
5745 while (true) { /*for*/
5746 /* Register variable[5]: For 'is_ok' result */
5747 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
5748 if (!UNTAG_Bool(variable
[5])) break; /*for*/
5749 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
5750 /* Register variable[6]: Local variable */
5751 variable
[6] = variable
[5];
5752 /* Register variable[7]: Result */
5753 variable
[7] = CALL_mmbuilder___PParam___stype( variable
[6] /*p*/)( variable
[6] /*p*/) /*PParam::stype*/;
5754 CALL_abstract_collection___SimpleCollection___add( variable
[3] /*pars*/)( variable
[3] /*pars*/, variable
[7]) /*AbstractArray::add*/;
5755 continue_260
: while(0);
5756 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
5758 break_260
: while(0);
5759 /* Register variable[4]: Local variable */
5760 variable
[4] = NIT_NULL
/*null*/;
5761 /* Register variable[5]: Result */
5762 variable
[5] = CALL_parser_nodes___ASignature___n_type(variable
[0])(variable
[0]) /*ASignature::n_type*/;
5763 /* Register variable[5]: Result */
5764 variable
[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[5] == NIT_NULL
/*null*/) || ((variable
[5] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[5])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[5], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[5])(variable
[5], NIT_NULL
/*null*/) /*Object::==*/)))))));
5765 if (UNTAG_Bool(variable
[5])) { /*if*/
5766 /* Register variable[5]: Result */
5767 variable
[5] = CALL_parser_nodes___ASignature___n_type(variable
[0])(variable
[0]) /*ASignature::n_type*/;
5768 /* Register variable[5]: Result */
5769 variable
[5] = CALL_syntax_base___PType___get_stype(variable
[5])(variable
[5], variable
[1] /*v*/) /*PType::get_stype*/;
5770 variable
[4] = variable
[5] /*ret=*/;
5772 /* Register variable[5]: Result */
5773 variable
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5774 /* Register variable[6]: Result */
5775 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
5776 /* Register variable[6]: Result */
5777 variable
[6] = CALL_static_type___MMLocalClass___get_type(variable
[6])(variable
[6]) /*MMLocalClass::get_type*/;
5778 /* Register variable[6]: Result */
5779 variable
[6] = NEW_MMSignature_static_type___MMSignature___init( variable
[3] /*pars*/, variable
[4] /*ret*/, variable
[6]) /*new MMSignature*/;
5780 CALL_mmbuilder___SignatureBuilder___signature__eq(variable
[5])(variable
[5], variable
[6]) /*SignatureBuilder::signature=*/;
5781 /* Register variable[5]: Result */
5782 variable
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5783 /* Register variable[5]: Result */
5784 variable
[5] = CALL_mmbuilder___SignatureBuilder___vararg_rank(variable
[5])(variable
[5]) /*SignatureBuilder::vararg_rank*/;
5785 /* Register variable[5]: Result */
5786 variable
[5] = TAG_Bool(UNTAG_Int(variable
[5])>=UNTAG_Int( TAG_Int(0)));
5787 if (UNTAG_Bool(variable
[5])) { /*if*/
5788 /* Register variable[5]: Result */
5789 variable
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5790 /* Register variable[5]: Result */
5791 variable
[5] = CALL_mmbuilder___SignatureBuilder___signature(variable
[5])(variable
[5]) /*SignatureBuilder::signature*/;
5792 /* Register variable[6]: Result */
5793 variable
[6] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5794 /* Register variable[6]: Result */
5795 variable
[6] = CALL_mmbuilder___SignatureBuilder___vararg_rank(variable
[6])(variable
[6]) /*SignatureBuilder::vararg_rank*/;
5796 CALL_vararg___MMSignature___vararg_rank__eq(variable
[5])(variable
[5], variable
[6]) /*MMSignature::vararg_rank=*/;
5798 /* Register variable[5]: Result */
5799 variable
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5800 /* Register variable[5]: Result */
5801 variable
[5] = CALL_mmbuilder___SignatureBuilder___closure_decls(variable
[5])(variable
[5]) /*SignatureBuilder::closure_decls*/;
5802 /* Register variable[5]: For iterator */
5803 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*AbstractArrayRead::iterator*/;
5804 while (true) { /*for*/
5805 /* Register variable[6]: For 'is_ok' result */
5806 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
5807 if (!UNTAG_Bool(variable
[6])) break; /*for*/
5808 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
5809 /* Register variable[7]: Local variable */
5810 variable
[7] = variable
[6];
5811 /* Register variable[8]: Result */
5812 variable
[8] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5813 /* Register variable[8]: Result */
5814 variable
[8] = CALL_mmbuilder___SignatureBuilder___signature(variable
[8])(variable
[8]) /*SignatureBuilder::signature*/;
5815 /* Register variable[8]: Result */
5816 variable
[8] = CALL_static_type___MMSignature___closures(variable
[8])(variable
[8]) /*MMSignature::closures*/;
5817 /* Register variable[9]: Result */
5818 variable
[9] = CALL_syntax_base___PClosureDecl___variable( variable
[7] /*clos*/)( variable
[7] /*clos*/) /*AClosureDecl::variable*/;
5819 /* Register variable[9]: Result */
5820 variable
[9] = CALL_syntax_base___ClosureVariable___closure(variable
[9])(variable
[9]) /*ClosureVariable::closure*/;
5821 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
5822 continue_261
: while(0);
5823 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
5825 break_261
: while(0);
5828 return_label258
: while(false);
5829 tracehead
= trace
.prev
;
5832 void mmbuilder___ASignature___check_visibility(val_t self
, val_t param0
, val_t param1
) {
5833 struct trace_t trace
= {NULL
, NULL
, 1124, LOCATE_mmbuilder___ASignature___check_visibility
};
5835 struct WBT_
**closurevariable
= NULL
;
5836 trace
.prev
= tracehead
; tracehead
= &trace
;
5837 trace
.file
= LOCATE_mmbuilder
;
5838 /* Register variable[0]: Local variable */
5840 /* Register variable[1]: Local variable */
5841 variable
[1] = param0
;
5842 /* Register variable[2]: Local variable */
5843 variable
[2] = param1
;
5844 /* Register variable[3]: Method return value and escape marker */
5845 /* Register variable[4]: Result */
5846 variable
[4] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*p*/)( variable
[2] /*p*/) /*MMLocalProperty::global*/;
5847 /* Register variable[4]: Result */
5848 variable
[4] = CALL_abstractmetamodel___MMGlobalProperty___visibility_level(variable
[4])(variable
[4]) /*MMGlobalProperty::visibility_level*/;
5849 /* Register variable[4]: Result */
5850 variable
[4] = TAG_Bool(UNTAG_Int(variable
[4])>=UNTAG_Int( TAG_Int(3)));
5851 if (UNTAG_Bool(variable
[4])) { /*if*/
5852 goto return_label262
;
5854 /* Register variable[4]: Result */
5855 variable
[4] = CALL_parser_nodes___ASignature___n_params(variable
[0])(variable
[0]) /*ASignature::n_params*/;
5856 /* Register variable[4]: For iterator */
5857 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*List::iterator*/;
5858 while (true) { /*for*/
5859 /* Register variable[5]: For 'is_ok' result */
5860 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ListIterator::is_ok*/;
5861 if (!UNTAG_Bool(variable
[5])) break; /*for*/
5862 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ListIterator::item*/ /* Ensure var: For item*/;
5863 /* Register variable[6]: Local variable */
5864 variable
[6] = variable
[5];
5865 /* Register variable[7]: Result */
5866 variable
[7] = CALL_parser_nodes___PParam___n_type( variable
[6] /*n*/)( variable
[6] /*n*/) /*PParam::n_type*/;
5867 /* Register variable[7]: Result */
5868 variable
[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[7] == NIT_NULL
/*null*/) || ((variable
[7] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[7])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[7], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[7])(variable
[7], NIT_NULL
/*null*/) /*Object::==*/)))))));
5869 if (UNTAG_Bool(variable
[7])) { /*if*/
5870 /* Register variable[7]: Result */
5871 variable
[7] = CALL_parser_nodes___PParam___n_type( variable
[6] /*n*/)( variable
[6] /*n*/) /*PParam::n_type*/;
5872 CALL_mmbuilder___PType___check_visibility(variable
[7])(variable
[7], variable
[1] /*v*/, variable
[2] /*p*/) /*PType::check_visibility*/;
5874 continue_263
: while(0);
5875 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ListIterator::next*/;
5877 break_263
: while(0);
5878 /* Register variable[4]: Result */
5879 variable
[4] = CALL_parser_nodes___ASignature___n_type(variable
[0])(variable
[0]) /*ASignature::n_type*/;
5880 /* Register variable[4]: Result */
5881 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[4] == NIT_NULL
/*null*/) || ((variable
[4] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[4])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[4])(variable
[4], NIT_NULL
/*null*/) /*Object::==*/)))))));
5882 if (UNTAG_Bool(variable
[4])) { /*if*/
5883 /* Register variable[4]: Result */
5884 variable
[4] = CALL_parser_nodes___ASignature___n_type(variable
[0])(variable
[0]) /*ASignature::n_type*/;
5885 CALL_mmbuilder___PType___check_visibility(variable
[4])(variable
[4], variable
[1] /*v*/, variable
[2] /*p*/) /*PType::check_visibility*/;
5887 return_label262
: while(false);
5888 tracehead
= trace
.prev
;
5891 val_t
mmbuilder___PParam___position(val_t self
) {
5892 struct trace_t trace
= {NULL
, NULL
, 1135, LOCATE_mmbuilder___PParam___position
};
5893 val_t
*variable
= NULL
;
5894 struct WBT_
**closurevariable
= NULL
;
5895 trace
.prev
= tracehead
; tracehead
= &trace
;
5896 trace
.file
= LOCATE_mmbuilder
;
5897 tracehead
= trace
.prev
;
5898 return ATTR_mmbuilder___PParam____position( self
) /*PParam::_position*/;
5900 val_t
mmbuilder___PParam___variable(val_t self
) {
5901 struct trace_t trace
= {NULL
, NULL
, 1137, LOCATE_mmbuilder___PParam___variable
};
5902 val_t
*variable
= NULL
;
5903 struct WBT_
**closurevariable
= NULL
;
5904 trace
.prev
= tracehead
; tracehead
= &trace
;
5905 trace
.file
= LOCATE_mmbuilder
;
5906 tracehead
= trace
.prev
;
5907 return ATTR_mmbuilder___PParam____variable( self
) /*PParam::_variable*/;
5909 void mmbuilder___PParam___accept_property_verifier(val_t self
, val_t param0
) {
5910 struct trace_t trace
= {NULL
, NULL
, 1142, LOCATE_mmbuilder___PParam___accept_property_verifier
};
5911 static val_t once_value_266
= NIT_NULL
; /* Once value for string variable[7]*/
5913 struct WBT_
**closurevariable
= NULL
;
5914 trace
.prev
= tracehead
; tracehead
= &trace
;
5915 trace
.file
= LOCATE_mmbuilder
;
5916 /* Register variable[0]: Local variable */
5918 /* Register variable[1]: Local variable */
5919 variable
[1] = param0
;
5920 /* Register variable[2]: Method return value and escape marker */
5921 CALL_SUPER_mmbuilder___PParam___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super PParam::accept_property_verifier*/;
5922 /* Register variable[3]: Result */
5923 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5924 /* Register variable[3]: Result */
5925 variable
[3] = CALL_mmbuilder___SignatureBuilder___params(variable
[3])(variable
[3]) /*SignatureBuilder::params*/;
5926 /* Register variable[3]: Result */
5927 variable
[3] = CALL_abstract_collection___Collection___length(variable
[3])(variable
[3]) /*AbstractArrayRead::length*/;
5928 ATTR_mmbuilder___PParam____position(variable
[0]) /*PParam::_position*/ = variable
[3];
5929 /* Register variable[3]: Result */
5930 variable
[3] = CALL_parser_nodes___PParam___n_id(variable
[0])(variable
[0]) /*PParam::n_id*/;
5931 /* Register variable[3]: Result */
5932 variable
[3] = CALL_syntax_base___Token___to_symbol(variable
[3])(variable
[3]) /*Token::to_symbol*/;
5933 /* Register variable[3]: Result */
5934 variable
[3] = NEW_ParamVariable_syntax_base___ParamVariable___init(variable
[3], variable
[0]) /*new ParamVariable*/;
5935 ATTR_mmbuilder___PParam____variable(variable
[0]) /*PParam::_variable*/ = variable
[3];
5936 /* Register variable[3]: Result */
5937 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5938 /* Register variable[3]: Result */
5939 variable
[3] = CALL_mmbuilder___SignatureBuilder___params(variable
[3])(variable
[3]) /*SignatureBuilder::params*/;
5940 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[0]) /*AbstractArray::add*/;
5941 /* Register variable[3]: Result */
5942 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5943 /* Register variable[3]: Result */
5944 variable
[3] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[3])(variable
[3]) /*SignatureBuilder::untyped_params*/;
5945 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[0]) /*AbstractArray::add*/;
5946 /* Register variable[3]: Result */
5947 variable
[3] = CALL_parser_nodes___PParam___n_type(variable
[0])(variable
[0]) /*PParam::n_type*/;
5948 /* Register variable[3]: Result */
5949 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[3])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[3])(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
5950 if (UNTAG_Bool(variable
[3])) { /*if*/
5951 /* Register variable[3]: Local variable */
5952 /* Register variable[4]: Result */
5953 variable
[4] = CALL_parser_nodes___PParam___n_type(variable
[0])(variable
[0]) /*PParam::n_type*/;
5954 /* Register variable[4]: Result */
5955 variable
[4] = CALL_syntax_base___PType___get_stype(variable
[4])(variable
[4], variable
[1] /*v*/) /*PType::get_stype*/;
5956 variable
[3] = variable
[4];
5957 /* Register variable[4]: Result */
5958 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5959 /* Register variable[4]: Result */
5960 variable
[4] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[4])(variable
[4]) /*SignatureBuilder::untyped_params*/;
5961 /* Register variable[4]: For iterator */
5962 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArrayRead::iterator*/;
5963 while (true) { /*for*/
5964 /* Register variable[5]: For 'is_ok' result */
5965 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
5966 if (!UNTAG_Bool(variable
[5])) break; /*for*/
5967 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
5968 /* Register variable[6]: Local variable */
5969 variable
[6] = variable
[5];
5970 CALL_mmbuilder___PParam___stype__eq( variable
[6] /*p*/)( variable
[6] /*p*/, variable
[3] /*stype*/) /*PParam::stype=*/;
5971 /* Register variable[7]: Result */
5972 variable
[7] = CALL_mmbuilder___PParam___is_vararg(variable
[0])(variable
[0]) /*PParam::is_vararg*/;
5973 if (UNTAG_Bool(variable
[7])) { /*if*/
5974 /* Register variable[7]: Result */
5975 variable
[7] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5976 /* Register variable[7]: Result */
5977 variable
[7] = CALL_mmbuilder___SignatureBuilder___vararg_rank(variable
[7])(variable
[7]) /*SignatureBuilder::vararg_rank*/;
5978 /* Register variable[8]: Result */
5979 variable
[8] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
5980 /* Register variable[7]: Result */
5981 variable
[7] = TAG_Bool((variable
[7])==(variable
[8]));
5982 if (UNTAG_Bool(variable
[7])) { /*if*/
5983 /* Register variable[7]: Result */
5984 variable
[7] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
5985 /* Register variable[8]: Result */
5986 variable
[8] = CALL_syntax_base___PParam___position( variable
[6] /*p*/)( variable
[6] /*p*/) /*PParam::position*/;
5987 CALL_mmbuilder___SignatureBuilder___vararg_rank__eq(variable
[7])(variable
[7], variable
[8]) /*SignatureBuilder::vararg_rank=*/;
5989 /* Register variable[7]: Once String constant */
5990 if (once_value_266
!= NIT_NULL
) variable
[7] = once_value_266
;
5992 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("Error: A vararg parameter is already defined."), TAG_Int(45)) /*new String*/;
5993 once_value_266
= variable
[7];
5995 /* Register variable[7]: Result */
5996 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[7]) /*AbsSyntaxVisitor::error*/;
5998 /* Register variable[7]: Result */
5999 variable
[7] = CALL_syntax_base___AbsSyntaxVisitor___type_array( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3] /*stype*/) /*AbsSyntaxVisitor::type_array*/;
6000 variable
[3] = variable
[7] /*stype=*/;
6002 /* Register variable[7]: Result */
6003 variable
[7] = CALL_syntax_base___PParam___variable( variable
[6] /*p*/)( variable
[6] /*p*/) /*PParam::variable*/;
6004 CALL_syntax_base___Variable___stype__eq(variable
[7])(variable
[7], variable
[3] /*stype*/) /*Variable::stype=*/;
6005 continue_265
: while(0);
6006 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
6008 break_265
: while(0);
6009 /* Register variable[4]: Result */
6010 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
6011 /* Register variable[4]: Result */
6012 variable
[4] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[4])(variable
[4]) /*SignatureBuilder::untyped_params*/;
6013 CALL_abstract_collection___RemovableCollection___clear(variable
[4])(variable
[4]) /*AbstractArray::clear*/;
6015 return_label264
: while(false);
6016 tracehead
= trace
.prev
;
6019 val_t
mmbuilder___PParam___stype(val_t self
) {
6020 struct trace_t trace
= {NULL
, NULL
, 1139, LOCATE_mmbuilder___PParam___stype
};
6021 val_t
*variable
= NULL
;
6022 struct WBT_
**closurevariable
= NULL
;
6023 trace
.prev
= tracehead
; tracehead
= &trace
;
6024 trace
.file
= LOCATE_mmbuilder
;
6025 tracehead
= trace
.prev
;
6026 return ATTR_mmbuilder___PParam____stype( self
) /*PParam::_stype*/;
6028 void mmbuilder___PParam___stype__eq(val_t self
, val_t param0
) {
6029 struct trace_t trace
= {NULL
, NULL
, 1139, LOCATE_mmbuilder___PParam___stype__eq
};
6030 val_t
*variable
= NULL
;
6031 struct WBT_
**closurevariable
= NULL
;
6032 trace
.prev
= tracehead
; tracehead
= &trace
;
6033 trace
.file
= LOCATE_mmbuilder
;
6034 ATTR_mmbuilder___PParam____stype( self
) /*PParam::_stype*/ = param0
;
6035 tracehead
= trace
.prev
;
6038 val_t
mmbuilder___PParam___is_vararg(val_t self
) {
6039 struct trace_t trace
= {NULL
, NULL
, 1167, LOCATE_mmbuilder___PParam___is_vararg
};
6040 val_t
*variable
= NULL
;
6041 struct WBT_
**closurevariable
= NULL
;
6042 trace
.prev
= tracehead
; tracehead
= &trace
;
6043 trace
.file
= LOCATE_mmbuilder
;
6044 fprintf(stderr
, "Deferred method called");
6045 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 1167);
6047 tracehead
= trace
.prev
;
6050 val_t
mmbuilder___AParam___is_vararg(val_t self
) {
6051 struct trace_t trace
= {NULL
, NULL
, 1171, LOCATE_mmbuilder___AParam___is_vararg
};
6053 struct WBT_
**closurevariable
= NULL
;
6054 trace
.prev
= tracehead
; tracehead
= &trace
;
6055 trace
.file
= LOCATE_mmbuilder
;
6056 /* Register variable[0]: Local variable */
6058 /* Register variable[1]: Method return value and escape marker */
6059 /* Register variable[2]: Result */
6060 variable
[2] = CALL_parser_nodes___AParam___n_dotdotdot(variable
[0])(variable
[0]) /*AParam::n_dotdotdot*/;
6061 /* Register variable[2]: Result */
6062 variable
[2] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[2] == NIT_NULL
/*null*/) || ((variable
[2] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[2])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[2])(variable
[2], NIT_NULL
/*null*/) /*Object::==*/)))))));
6063 variable
[1] = variable
[2];
6064 goto return_label267
;
6065 return_label267
: while(false);
6066 tracehead
= trace
.prev
;
6069 val_t
mmbuilder___AClosureDecl___variable(val_t self
) {
6070 struct trace_t trace
= {NULL
, NULL
, 1175, LOCATE_mmbuilder___AClosureDecl___variable
};
6071 val_t
*variable
= NULL
;
6072 struct WBT_
**closurevariable
= NULL
;
6073 trace
.prev
= tracehead
; tracehead
= &trace
;
6074 trace
.file
= LOCATE_mmbuilder
;
6075 tracehead
= trace
.prev
;
6076 return ATTR_mmbuilder___AClosureDecl____variable( self
) /*AClosureDecl::_variable*/;
6078 void mmbuilder___AClosureDecl___accept_property_verifier(val_t self
, val_t param0
) {
6079 struct trace_t trace
= {NULL
, NULL
, 1177, LOCATE_mmbuilder___AClosureDecl___accept_property_verifier
};
6080 static val_t once_value_269
= NIT_NULL
; /* Once value for string variable[5]*/
6082 struct WBT_
**closurevariable
= NULL
;
6083 trace
.prev
= tracehead
; tracehead
= &trace
;
6084 trace
.file
= LOCATE_mmbuilder
;
6085 /* Register variable[0]: Local variable */
6087 /* Register variable[1]: Local variable */
6088 variable
[1] = param0
;
6089 /* Register variable[2]: Method return value and escape marker */
6090 /* Register variable[3]: Local variable */
6091 /* Register variable[4]: Result */
6092 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
6093 variable
[3] = variable
[4];
6094 /* Register variable[4]: Result */
6095 variable
[4] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init() /*new SignatureBuilder*/;
6096 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*PropertyVerifierVisitor::signature_builder=*/;
6097 CALL_SUPER_mmbuilder___AClosureDecl___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super AClosureDecl::accept_property_verifier*/;
6098 /* Register variable[4]: Local variable */
6099 /* Register variable[5]: Result */
6100 variable
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
6101 /* Register variable[5]: Result */
6102 variable
[5] = CALL_mmbuilder___SignatureBuilder___signature(variable
[5])(variable
[5]) /*SignatureBuilder::signature*/;
6103 variable
[4] = variable
[5];
6104 /* Register variable[5]: Result */
6105 variable
[5] = TAG_Bool(( variable
[4] /*sig*/ == NIT_NULL
/*null*/) || (( variable
[4] /*sig*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[4] /*sig*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[4] /*sig*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[4] /*sig*/)( variable
[4] /*sig*/, NIT_NULL
/*null*/) /*Object::==*/)))));
6106 if (UNTAG_Bool(variable
[5])) { /*if*/
6107 /* Register variable[5]: Result */
6108 variable
[5] = NEW_Array_array___Array___init() /*new Array[MMType]*/;
6109 /* Register variable[6]: Result */
6110 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
6111 /* Register variable[6]: Result */
6112 variable
[6] = CALL_static_type___MMLocalClass___get_type(variable
[6])(variable
[6]) /*MMLocalClass::get_type*/;
6113 /* Register variable[5]: Result */
6114 variable
[5] = NEW_MMSignature_static_type___MMSignature___init(variable
[5], NIT_NULL
/*null*/, variable
[6]) /*new MMSignature*/;
6115 variable
[4] = variable
[5] /*sig=*/;
6117 /* Register variable[5]: Result */
6118 variable
[5] = CALL_static_type___MMSignature___return_type( variable
[4] /*sig*/)( variable
[4] /*sig*/) /*MMSignature::return_type*/;
6119 /* Register variable[5]: Result */
6120 variable
[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[5] == NIT_NULL
/*null*/) || ((variable
[5] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[5])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[5], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[5])(variable
[5], NIT_NULL
/*null*/) /*Object::==*/)))))));
6121 /* Ensure var variable[5]: Left 'and' operand*/
6122 if (UNTAG_Bool(variable
[5])) { /* and */
6123 /* Register variable[5]: Result */
6124 variable
[5] = CALL_parser_nodes___AClosureDecl___n_kwbreak(variable
[0])(variable
[0]) /*AClosureDecl::n_kwbreak*/;
6125 /* Register variable[5]: Result */
6126 variable
[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[5] == NIT_NULL
/*null*/) || ((variable
[5] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[5])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[5], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[5])(variable
[5], NIT_NULL
/*null*/) /*Object::==*/)))))));
6128 /* Register variable[5]: Result */
6129 if (UNTAG_Bool(variable
[5])) { /*if*/
6130 /* Register variable[5]: Once String constant */
6131 if (once_value_269
!= NIT_NULL
) variable
[5] = once_value_269
;
6133 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("Syntax Error: A break block cannot have a return value."), TAG_Int(55)) /*new String*/;
6134 once_value_269
= variable
[5];
6136 /* Register variable[5]: Result */
6137 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[5]) /*AbsSyntaxVisitor::error*/;
6139 /* Register variable[5]: Local variable */
6140 /* Register variable[6]: Result */
6141 variable
[6] = NEW_Array_array___Array___init() /*new Array[MMType]*/;
6142 /* Register variable[6]: Result */
6143 variable
[6] = NEW_MMSignature_static_type___MMSignature___init(variable
[6], NIT_NULL
/*null*/, NIT_NULL
/*null*/) /*new MMSignature*/;
6144 variable
[5] = variable
[6];
6145 /* Register variable[6]: Local variable */
6146 /* Register variable[7]: Result */
6147 variable
[7] = NEW_MMClosure_static_type___MMClosure___init( variable
[5] /*finalize_sig*/, TAG_Bool(false), TAG_Bool(true)) /*new MMClosure*/;
6148 variable
[6] = variable
[7];
6149 /* Register variable[7]: Result */
6150 variable
[7] = CALL_static_type___MMSignature___closures( variable
[4] /*sig*/)( variable
[4] /*sig*/) /*MMSignature::closures*/;
6151 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[6] /*finalizer_clos*/) /*AbstractArray::add*/;
6152 /* Register variable[7]: Local variable */
6153 /* Register variable[8]: Result */
6154 variable
[8] = CALL_parser_nodes___AClosureDecl___n_kwbreak(variable
[0])(variable
[0]) /*AClosureDecl::n_kwbreak*/;
6155 /* Register variable[8]: Result */
6156 variable
[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[8] == NIT_NULL
/*null*/) || ((variable
[8] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[8])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[8], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[8])(variable
[8], NIT_NULL
/*null*/) /*Object::==*/)))))));
6157 /* Register variable[9]: Result */
6158 variable
[9] = CALL_parser_nodes___AClosureDecl___n_expr(variable
[0])(variable
[0]) /*AClosureDecl::n_expr*/;
6159 /* Register variable[9]: Result */
6160 variable
[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[9] == NIT_NULL
/*null*/) || ((variable
[9] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[9])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[9], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[9])(variable
[9], NIT_NULL
/*null*/) /*Object::==*/)))))));
6161 /* Register variable[8]: Result */
6162 variable
[8] = NEW_MMClosure_static_type___MMClosure___init( variable
[4] /*sig*/, variable
[8], variable
[9]) /*new MMClosure*/;
6163 variable
[7] = variable
[8];
6164 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3] /*old_signature_builder*/) /*PropertyVerifierVisitor::signature_builder=*/;
6165 /* Register variable[8]: Result */
6166 variable
[8] = CALL_mmbuilder___SignatureBuilder___closure_decls( variable
[3] /*old_signature_builder*/)( variable
[3] /*old_signature_builder*/) /*SignatureBuilder::closure_decls*/;
6167 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[0]) /*AbstractArray::add*/;
6168 /* Register variable[8]: Result */
6169 variable
[8] = CALL_parser_nodes___AClosureDecl___n_id(variable
[0])(variable
[0]) /*AClosureDecl::n_id*/;
6170 /* Register variable[8]: Result */
6171 variable
[8] = CALL_syntax_base___Token___to_symbol(variable
[8])(variable
[8]) /*Token::to_symbol*/;
6172 /* Register variable[8]: Result */
6173 variable
[8] = NEW_ClosureVariable_syntax_base___ClosureVariable___init(variable
[8], variable
[0], variable
[7] /*clos*/) /*new ClosureVariable*/;
6174 ATTR_mmbuilder___AClosureDecl____variable(variable
[0]) /*AClosureDecl::_variable*/ = variable
[8];
6175 return_label268
: while(false);
6176 tracehead
= trace
.prev
;
6179 void mmbuilder___PType___check_visibility(val_t self
, val_t param0
, val_t param1
) {
6180 struct trace_t trace
= {NULL
, NULL
, 1203, LOCATE_mmbuilder___PType___check_visibility
};
6181 val_t
*variable
= NULL
;
6182 struct WBT_
**closurevariable
= NULL
;
6183 trace
.prev
= tracehead
; tracehead
= &trace
;
6184 trace
.file
= LOCATE_mmbuilder
;
6185 fprintf(stderr
, "Deferred method called");
6186 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 1203);
6188 tracehead
= trace
.prev
;
6191 void mmbuilder___AType___check_visibility(val_t self
, val_t param0
, val_t param1
) {
6192 struct trace_t trace
= {NULL
, NULL
, 1208, LOCATE_mmbuilder___AType___check_visibility
};
6193 static val_t once_value_271
= NIT_NULL
; /* Once value for string variable[7]*/
6194 static val_t once_value_272
= NIT_NULL
; /* Once value for string variable[7]*/
6195 static val_t once_value_273
= NIT_NULL
; /* Once value for string variable[7]*/
6197 struct WBT_
**closurevariable
= NULL
;
6198 trace
.prev
= tracehead
; tracehead
= &trace
;
6199 trace
.file
= LOCATE_mmbuilder
;
6200 /* Register variable[0]: Local variable */
6202 /* Register variable[1]: Local variable */
6203 variable
[1] = param0
;
6204 /* Register variable[2]: Local variable */
6205 variable
[2] = param1
;
6206 /* Register variable[3]: Method return value and escape marker */
6207 /* Register variable[4]: Result */
6208 variable
[4] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*p*/)( variable
[2] /*p*/) /*MMLocalProperty::global*/;
6209 /* Register variable[4]: Result */
6210 variable
[4] = CALL_abstractmetamodel___MMGlobalProperty___visibility_level(variable
[4])(variable
[4]) /*MMGlobalProperty::visibility_level*/;
6211 /* Register variable[4]: Result */
6212 variable
[4] = TAG_Bool(UNTAG_Int(variable
[4])>=UNTAG_Int( TAG_Int(3)));
6213 if (UNTAG_Bool(variable
[4])) { /*if*/
6214 goto return_label270
;
6216 /* Register variable[4]: Local variable */
6217 /* Register variable[5]: Result */
6218 variable
[5] = CALL_syntax_base___PType___get_stype(variable
[0])(variable
[0], variable
[1] /*v*/) /*AType::get_stype*/;
6219 variable
[4] = variable
[5];
6220 /* Register variable[5]: Result */
6221 variable
[5] = TAG_Bool(( variable
[4] /*t*/ == NIT_NULL
/*null*/) || (( variable
[4] /*t*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[4] /*t*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[4] /*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[4] /*t*/)( variable
[4] /*t*/, NIT_NULL
/*null*/) /*Object::==*/)))));
6222 if (UNTAG_Bool(variable
[5])) { /*if*/
6223 goto return_label270
;
6225 /* Register variable[5]: Local variable */
6226 /* Register variable[6]: Result */
6227 variable
[6] = CALL_static_type___MMType___local_class( variable
[4] /*t*/)( variable
[4] /*t*/) /*MMType::local_class*/;
6228 variable
[5] = variable
[6];
6229 /* Register variable[6]: Result */
6230 variable
[6] = TAG_Bool(( variable
[5] /*bc*/ == NIT_NULL
/*null*/) || (( variable
[5] /*bc*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[5] /*bc*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[5] /*bc*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[5] /*bc*/)( variable
[5] /*bc*/, NIT_NULL
/*null*/) /*Object::==*/)))));
6231 if (UNTAG_Bool(variable
[6])) { /*if*/
6232 goto return_label270
;
6234 /* Register variable[6]: Result */
6235 variable
[6] = CALL_abstractmetamodel___MMLocalClass___global( variable
[5] /*bc*/)( variable
[5] /*bc*/) /*MMLocalClass::global*/;
6236 /* Register variable[6]: Result */
6237 variable
[6] = CALL_abstractmetamodel___MMGlobalClass___visibility_level(variable
[6])(variable
[6]) /*MMGlobalClass::visibility_level*/;
6238 /* Register variable[6]: Result */
6239 variable
[6] = TAG_Bool(UNTAG_Int(variable
[6])>=UNTAG_Int( TAG_Int(3)));
6240 if (UNTAG_Bool(variable
[6])) { /*if*/
6241 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
6242 /* Register variable[7]: Once String constant */
6243 if (once_value_271
!= NIT_NULL
) variable
[7] = once_value_271
;
6245 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("Access error: Class "), TAG_Int(20)) /*new String*/;
6246 once_value_271
= variable
[7];
6248 /* Register variable[7]: Result */
6249 /* Ensure var variable[7]: super-string element*/
6250 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
6251 variable
[7] = variable
[5] /*bc*/ /* Ensure var: super-string element*/;
6252 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
6253 /* Register variable[7]: Once String constant */
6254 if (once_value_272
!= NIT_NULL
) variable
[7] = once_value_272
;
6256 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(" is private and cannot be used in the signature of the non-private property "), TAG_Int(76)) /*new String*/;
6257 once_value_272
= variable
[7];
6259 /* Register variable[7]: Result */
6260 /* Ensure var variable[7]: super-string element*/
6261 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
6262 variable
[7] = variable
[2] /*p*/ /* Ensure var: super-string element*/;
6263 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/) /*AbstractArray::add*/;
6264 /* Register variable[7]: Once String constant */
6265 if (once_value_273
!= NIT_NULL
) variable
[7] = once_value_273
;
6267 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
6268 once_value_273
= variable
[7];
6270 /* Register variable[7]: Result */
6271 /* Ensure var variable[7]: super-string element*/
6272 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
6273 /* Register variable[6]: Result */
6274 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
6275 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[6]) /*AbsSyntaxVisitor::error*/;
6277 /* Register variable[6]: Result */
6278 variable
[6] = CALL_parser_nodes___AType___n_types(variable
[0])(variable
[0]) /*AType::n_types*/;
6279 /* Register variable[6]: For iterator */
6280 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*List::iterator*/;
6281 while (true) { /*for*/
6282 /* Register variable[7]: For 'is_ok' result */
6283 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*ListIterator::is_ok*/;
6284 if (!UNTAG_Bool(variable
[7])) break; /*for*/
6285 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*ListIterator::item*/ /* Ensure var: For item*/;
6286 /* Register variable[8]: Local variable */
6287 variable
[8] = variable
[7];
6288 CALL_mmbuilder___PType___check_visibility( variable
[8] /*n*/)( variable
[8] /*n*/, variable
[1] /*v*/, variable
[2] /*p*/) /*PType::check_visibility*/;
6289 continue_274
: while(0);
6290 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*ListIterator::next*/;
6292 break_274
: while(0);
6293 return_label270
: while(false);
6294 tracehead
= trace
.prev
;
6297 void mmbuilder___PExpr___accept_class_builder(val_t self
, val_t param0
) {
6298 struct trace_t trace
= {NULL
, NULL
, 1225, LOCATE_mmbuilder___PExpr___accept_class_builder
};
6300 struct WBT_
**closurevariable
= NULL
;
6301 trace
.prev
= tracehead
; tracehead
= &trace
;
6302 trace
.file
= LOCATE_mmbuilder
;
6303 /* Register variable[0]: Local variable */
6305 /* Register variable[1]: Local variable */
6306 variable
[1] = param0
;
6307 /* Register variable[2]: Method return value and escape marker */
6308 return_label275
: while(false);
6309 tracehead
= trace
.prev
;
6312 void mmbuilder___PExpr___accept_property_builder(val_t self
, val_t param0
) {
6313 struct trace_t trace
= {NULL
, NULL
, 1226, LOCATE_mmbuilder___PExpr___accept_property_builder
};
6315 struct WBT_
**closurevariable
= NULL
;
6316 trace
.prev
= tracehead
; tracehead
= &trace
;
6317 trace
.file
= LOCATE_mmbuilder
;
6318 /* Register variable[0]: Local variable */
6320 /* Register variable[1]: Local variable */
6321 variable
[1] = param0
;
6322 /* Register variable[2]: Method return value and escape marker */
6323 return_label276
: while(false);
6324 tracehead
= trace
.prev
;
6327 void mmbuilder___PExpr___accept_property_verifier(val_t self
, val_t param0
) {
6328 struct trace_t trace
= {NULL
, NULL
, 1227, LOCATE_mmbuilder___PExpr___accept_property_verifier
};
6330 struct WBT_
**closurevariable
= NULL
;
6331 trace
.prev
= tracehead
; tracehead
= &trace
;
6332 trace
.file
= LOCATE_mmbuilder
;
6333 /* Register variable[0]: Local variable */
6335 /* Register variable[1]: Local variable */
6336 variable
[1] = param0
;
6337 /* Register variable[2]: Method return value and escape marker */
6338 return_label277
: while(false);
6339 tracehead
= trace
.prev
;