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 void **closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_mmbuilder
;
12 variable
[4] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[1] /*a*/)( variable
[1] /*a*/) /*MMLocalClass::cshe*/;
13 variable
[4] = CALL_partial_order___PartialOrderElement___rank(variable
[4])(variable
[4]) /*PartialOrderElement::rank*/;
14 variable
[5] = CALL_abstractmetamodel___MMLocalClass___cshe( variable
[2] /*b*/)( variable
[2] /*b*/) /*MMLocalClass::cshe*/;
15 variable
[5] = CALL_partial_order___PartialOrderElement___rank(variable
[5])(variable
[5]) /*PartialOrderElement::rank*/;
16 variable
[4] = CALL_kernel___Comparable_____leqg(variable
[4])(variable
[4], variable
[5]) /*Int::<=>*/;
17 variable
[3] = variable
[4];
19 return_label0
: while(false);
20 tracehead
= trace
.prev
;
23 void mmbuilder___CSHSorter___init(val_t self
, int* init_table
) {
24 struct trace_t trace
= {NULL
, NULL
, 32, LOCATE_mmbuilder___CSHSorter___init
};
26 void **closurevariable
= NULL
;
27 trace
.prev
= tracehead
; tracehead
= &trace
;
28 trace
.file
= LOCATE_mmbuilder
;
30 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_CSHSorter
].i
]) return;
31 return_label1
: while(false);
32 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_CSHSorter
].i
] = 1;
33 tracehead
= trace
.prev
;
36 void mmbuilder___MMSrcModule___do_mmbuilder(val_t self
, val_t param0
) {
37 struct trace_t trace
= {NULL
, NULL
, 36, LOCATE_mmbuilder___MMSrcModule___do_mmbuilder
};
38 static val_t once_value_4
; static int once_bool_4
; /* Once value for variable[7]*/
40 void **closurevariable
= NULL
;
41 trace
.prev
= tracehead
; tracehead
= &trace
;
42 trace
.file
= LOCATE_mmbuilder
;
45 variable
[3] = variable
[0];
46 CALL_inheritance___MMModule___import_global_classes(variable
[3])(variable
[3]) /*MMModule::import_global_classes*/;
47 variable
[4] = variable
[0];
48 variable
[5] = NEW_ClassBuilderVisitor_mmbuilder___ClassBuilderVisitor___init( variable
[1] /*tc*/, variable
[4]); /*new ClassBuilderVisitor*/
49 variable
[4] = variable
[5];
50 variable
[3] = variable
[4];
51 variable
[4] = variable
[0];
52 variable
[4] = CALL_syntax_base___MMSrcModule___node(variable
[4])(variable
[4]) /*MMSrcModule::node*/;
53 CALL_parser_prod___Visitor___visit( variable
[3] /*mmbv*/)( variable
[3] /*mmbv*/, variable
[4]) /*ClassBuilderVisitor::visit*/;
54 variable
[4] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
55 variable
[4] = TAG_Bool(UNTAG_Int(variable
[4])>UNTAG_Int( TAG_Int(0)));
56 if (UNTAG_Bool(variable
[4])) { /*if*/
57 variable
[4] = variable
[0];
58 exit(UNTAG_Int( TAG_Int(1)));
60 variable
[4] = variable
[0];
61 CALL_inheritance___MMModule___import_local_classes(variable
[4])(variable
[4]) /*MMModule::import_local_classes*/;
62 variable
[5] = variable
[0];
63 variable
[6] = NEW_ClassSpecializationBuilderVisitor_mmbuilder___ClassSpecializationBuilderVisitor___init( variable
[1] /*tc*/, variable
[5]); /*new ClassSpecializationBuilderVisitor*/
64 variable
[5] = variable
[6];
65 variable
[4] = variable
[5];
66 variable
[5] = variable
[0];
67 variable
[5] = CALL_syntax_base___MMSrcModule___node(variable
[5])(variable
[5]) /*MMSrcModule::node*/;
68 CALL_parser_prod___Visitor___visit( variable
[4] /*mmbv1*/)( variable
[4] /*mmbv1*/, variable
[5]) /*ClassSpecializationBuilderVisitor::visit*/;
69 variable
[5] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
70 variable
[5] = TAG_Bool(UNTAG_Int(variable
[5])>UNTAG_Int( TAG_Int(0)));
71 if (UNTAG_Bool(variable
[5])) { /*if*/
72 variable
[5] = variable
[0];
73 exit(UNTAG_Int( TAG_Int(1)));
75 variable
[5] = variable
[0];
76 variable
[5] = CALL_abstractmetamodel___MMModule___local_classes(variable
[5])(variable
[5]) /*MMModule::local_classes*/;
77 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*AbstractArray::iterator*/;
78 while (true) { /*for*/
79 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
80 if (!UNTAG_Bool(variable
[6])) break; /*for*/
81 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/;
82 variable
[7] = variable
[6];
83 variable
[8] = variable
[0];
84 variable
[9] = CALL_abstractmetamodel___MMLocalClass___global( variable
[7] /*c*/)( variable
[7] /*c*/) /*MMLocalClass::global*/;
85 variable
[9] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[9])(variable
[9]) /*MMGlobalClass::intro*/;
86 variable
[9] = CALL_abstractmetamodel___MMLocalClass___module(variable
[9])(variable
[9]) /*MMLocalClass::module*/;
87 variable
[8] = CALL_abstractmetamodel___MMModule___visibility_for(variable
[8])(variable
[8], variable
[9]) /*MMModule::visibility_for*/;
88 variable
[9] = CALL_abstractmetamodel___MMLocalClass___global( variable
[7] /*c*/)( variable
[7] /*c*/) /*MMLocalClass::global*/;
89 variable
[9] = CALL_abstractmetamodel___MMGlobalClass___visibility_level(variable
[9])(variable
[9]) /*MMGlobalClass::visibility_level*/;
90 variable
[8] = TAG_Bool(UNTAG_Int(variable
[8])<UNTAG_Int(variable
[9]));
91 if (UNTAG_Bool(variable
[8])) { /*if*/
94 CALL_inheritance___MMLocalClass___compute_super_classes( variable
[7] /*c*/)( variable
[7] /*c*/) /*MMLocalClass::compute_super_classes*/;
96 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
99 variable
[6] = variable
[0];
100 variable
[6] = CALL_abstractmetamodel___MMModule___class_specialization_hierarchy(variable
[6])(variable
[6]) /*MMModule::class_specialization_hierarchy*/;
101 variable
[6] = CALL_array___Collection___to_a(variable
[6])(variable
[6]) /*Collection::to_a*/;
102 variable
[5] = variable
[6];
103 if (once_bool_4
) variable
[7] = once_value_4
;
105 variable
[7] = NEW_CSHSorter_mmbuilder___CSHSorter___init(); /*new CSHSorter*/
106 once_value_4
= variable
[7];
109 variable
[6] = variable
[7];
110 CALL_sorter___AbstractSorter___sort( variable
[6] /*sorter*/)( variable
[6] /*sorter*/, variable
[5] /*classes*/) /*AbstractSorter::sort*/;
111 variable
[8] = variable
[0];
112 variable
[9] = NEW_ClassAncestorBuilder_mmbuilder___ClassAncestorBuilder___init( variable
[1] /*tc*/, variable
[8]); /*new ClassAncestorBuilder*/
113 variable
[8] = variable
[9];
114 variable
[7] = variable
[8];
115 variable
[8] = CALL_abstract_collection___Collection___iterator( variable
[5] /*classes*/)( variable
[5] /*classes*/) /*AbstractArray::iterator*/;
116 while (true) { /*for*/
117 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*ArrayIterator::is_ok*/;
118 if (!UNTAG_Bool(variable
[9])) break; /*for*/
119 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*ArrayIterator::item*/;
120 variable
[10] = variable
[9];
121 CALL_mmbuilder___MMLocalClass___accept_class_visitor( variable
[10] /*c*/)( variable
[10] /*c*/, variable
[7] /*mmbv1b*/) /*MMLocalClass::accept_class_visitor*/;
122 CALL_inheritance___MMLocalClass___compute_ancestors( variable
[10] /*c*/)( variable
[10] /*c*/) /*MMLocalClass::compute_ancestors*/;
123 continue_5
: while(0);
124 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*ArrayIterator::next*/;
127 variable
[8] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
128 variable
[8] = TAG_Bool(UNTAG_Int(variable
[8])>UNTAG_Int( TAG_Int(0)));
129 if (UNTAG_Bool(variable
[8])) { /*if*/
130 variable
[8] = variable
[0];
131 exit(UNTAG_Int( TAG_Int(1)));
133 variable
[9] = variable
[0];
134 variable
[10] = NEW_ClassVerifierVisitor_mmbuilder___ClassVerifierVisitor___init( variable
[1] /*tc*/, variable
[9]); /*new ClassVerifierVisitor*/
135 variable
[9] = variable
[10];
136 variable
[8] = variable
[9];
137 variable
[9] = CALL_abstract_collection___Collection___iterator( variable
[5] /*classes*/)( variable
[5] /*classes*/) /*AbstractArray::iterator*/;
138 while (true) { /*for*/
139 variable
[10] = CALL_abstract_collection___Iterator___is_ok(variable
[9])(variable
[9]) /*ArrayIterator::is_ok*/;
140 if (!UNTAG_Bool(variable
[10])) break; /*for*/
141 variable
[10] = CALL_abstract_collection___Iterator___item(variable
[9])(variable
[9]) /*ArrayIterator::item*/;
142 variable
[11] = variable
[10];
143 CALL_mmbuilder___MMLocalClass___accept_class_visitor( variable
[11] /*c*/)( variable
[11] /*c*/, variable
[8] /*mmbv1b*/) /*MMLocalClass::accept_class_visitor*/;
144 continue_6
: while(0);
145 CALL_abstract_collection___Iterator___next(variable
[9])(variable
[9]) /*ArrayIterator::next*/;
148 variable
[9] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
149 variable
[9] = TAG_Bool(UNTAG_Int(variable
[9])>UNTAG_Int( TAG_Int(0)));
150 if (UNTAG_Bool(variable
[9])) { /*if*/
151 variable
[9] = variable
[0];
152 exit(UNTAG_Int( TAG_Int(1)));
154 variable
[10] = variable
[0];
155 variable
[11] = NEW_PropertyBuilderVisitor_mmbuilder___PropertyBuilderVisitor___init( variable
[1] /*tc*/, variable
[10]); /*new PropertyBuilderVisitor*/
156 variable
[10] = variable
[11];
157 variable
[9] = variable
[10];
158 variable
[10] = CALL_abstract_collection___Collection___iterator( variable
[5] /*classes*/)( variable
[5] /*classes*/) /*AbstractArray::iterator*/;
159 while (true) { /*for*/
160 variable
[11] = CALL_abstract_collection___Iterator___is_ok(variable
[10])(variable
[10]) /*ArrayIterator::is_ok*/;
161 if (!UNTAG_Bool(variable
[11])) break; /*for*/
162 variable
[11] = CALL_abstract_collection___Iterator___item(variable
[10])(variable
[10]) /*ArrayIterator::item*/;
163 variable
[12] = variable
[11];
164 CALL_inheritance___MMLocalClass___inherit_global_properties( variable
[12] /*c*/)( variable
[12] /*c*/) /*MMLocalClass::inherit_global_properties*/;
165 CALL_mmbuilder___MMLocalClass___accept_class_visitor( variable
[12] /*c*/)( variable
[12] /*c*/, variable
[9] /*mmbv2*/) /*MMLocalClass::accept_class_visitor*/;
166 variable
[13] = TAG_Bool(( variable
[12] /*c*/==NIT_NULL
) || VAL_ISA( variable
[12] /*c*/, COLOR_MMSrcLocalClass
, ID_MMSrcLocalClass
)) /*cast MMSrcLocalClass*/;
167 variable
[14] = variable
[13];
168 if (UNTAG_Bool(variable
[14])) { /* and */
169 variable
[14] = CALL_abstractmetamodel___MMLocalClass___global( variable
[12] /*c*/)( variable
[12] /*c*/) /*MMLocalClass::global*/;
170 variable
[14] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[14])(variable
[14]) /*MMGlobalClass::intro*/;
171 variable
[14] = TAG_Bool((variable
[14] == variable
[12] /*c*/) || ((variable
[14] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[14])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[14], variable
[12] /*c*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[14])(variable
[14], variable
[12] /*c*/) /*Object::==*/)))));
173 variable
[13] = variable
[14];
174 variable
[14] = variable
[13];
175 if (UNTAG_Bool(variable
[14])) { /* and */
176 variable
[14] = CALL_abstractmetamodel___MMLocalClass___global( variable
[12] /*c*/)( variable
[12] /*c*/) /*MMLocalClass::global*/;
177 variable
[14] = CALL_abstractmetamodel___MMGlobalClass___is_universal(variable
[14])(variable
[14]) /*MMGlobalClass::is_universal*/;
178 variable
[14] = TAG_Bool(!UNTAG_Bool(variable
[14]));
180 variable
[13] = variable
[14];
181 variable
[14] = variable
[13];
182 if (UNTAG_Bool(variable
[14])) { /* and */
183 variable
[14] = CALL_abstractmetamodel___MMLocalClass___global( variable
[12] /*c*/)( variable
[12] /*c*/) /*MMLocalClass::global*/;
184 variable
[14] = CALL_abstractmetamodel___MMGlobalClass___is_interface(variable
[14])(variable
[14]) /*MMGlobalClass::is_interface*/;
185 variable
[14] = TAG_Bool(!UNTAG_Bool(variable
[14]));
187 variable
[13] = variable
[14];
188 if (UNTAG_Bool(variable
[13])) { /*if*/
189 CALL_mmbuilder___MMSrcLocalClass___process_default_constructors( variable
[12] /*c*/)( variable
[12] /*c*/, variable
[9] /*mmbv2*/) /*MMSrcLocalClass::process_default_constructors*/;
191 continue_7
: while(0);
192 CALL_abstract_collection___Iterator___next(variable
[10])(variable
[10]) /*ArrayIterator::next*/;
195 variable
[10] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
196 variable
[10] = TAG_Bool(UNTAG_Int(variable
[10])>UNTAG_Int( TAG_Int(0)));
197 if (UNTAG_Bool(variable
[10])) { /*if*/
198 variable
[10] = variable
[0];
199 exit(UNTAG_Int( TAG_Int(1)));
201 variable
[11] = variable
[0];
202 variable
[12] = NEW_PropertyVerifierVisitor_mmbuilder___PropertyVerifierVisitor___init( variable
[1] /*tc*/, variable
[11]); /*new PropertyVerifierVisitor*/
203 variable
[11] = variable
[12];
204 variable
[10] = variable
[11];
205 variable
[11] = CALL_abstract_collection___Collection___iterator( variable
[5] /*classes*/)( variable
[5] /*classes*/) /*AbstractArray::iterator*/;
206 while (true) { /*for*/
207 variable
[12] = CALL_abstract_collection___Iterator___is_ok(variable
[11])(variable
[11]) /*ArrayIterator::is_ok*/;
208 if (!UNTAG_Bool(variable
[12])) break; /*for*/
209 variable
[12] = CALL_abstract_collection___Iterator___item(variable
[11])(variable
[11]) /*ArrayIterator::item*/;
210 variable
[13] = variable
[12];
211 CALL_mmbuilder___MMLocalClass___accept_properties_visitor( variable
[13] /*c*/)( variable
[13] /*c*/, variable
[10] /*mmbv3*/) /*MMLocalClass::accept_properties_visitor*/;
212 continue_8
: while(0);
213 CALL_abstract_collection___Iterator___next(variable
[11])(variable
[11]) /*ArrayIterator::next*/;
216 variable
[11] = CALL_abstract_collection___Collection___iterator( variable
[5] /*classes*/)( variable
[5] /*classes*/) /*AbstractArray::iterator*/;
217 while (true) { /*for*/
218 variable
[12] = CALL_abstract_collection___Iterator___is_ok(variable
[11])(variable
[11]) /*ArrayIterator::is_ok*/;
219 if (!UNTAG_Bool(variable
[12])) break; /*for*/
220 variable
[12] = CALL_abstract_collection___Iterator___item(variable
[11])(variable
[11]) /*ArrayIterator::item*/;
221 variable
[13] = variable
[12];
222 variable
[14] = CALL_abstractmetamodel___MMLocalClass___global_properties( variable
[13] /*c*/)( variable
[13] /*c*/) /*MMLocalClass::global_properties*/;
223 variable
[14] = CALL_abstract_collection___Collection___iterator(variable
[14])(variable
[14]) /*Collection::iterator*/;
224 while (true) { /*for*/
225 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*Iterator::is_ok*/;
226 if (!UNTAG_Bool(variable
[15])) break; /*for*/
227 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*Iterator::item*/;
228 variable
[16] = variable
[15];
229 variable
[17] = variable
[0];
230 variable
[18] = CALL_abstractmetamodel___MMGlobalProperty___intro( variable
[16] /*g*/)( variable
[16] /*g*/) /*MMGlobalProperty::intro*/;
231 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___module(variable
[18])(variable
[18]) /*MMLocalProperty::module*/;
232 variable
[17] = CALL_abstractmetamodel___MMModule___visibility_for(variable
[17])(variable
[17], variable
[18]) /*MMModule::visibility_for*/;
233 variable
[18] = CALL_abstractmetamodel___MMGlobalProperty___visibility_level( variable
[16] /*g*/)( variable
[16] /*g*/) /*MMGlobalProperty::visibility_level*/;
234 variable
[17] = TAG_Bool(UNTAG_Int(variable
[17])<UNTAG_Int(variable
[18]));
235 if (UNTAG_Bool(variable
[17])) { /*if*/
238 variable
[18] = CALL_abstractmetamodel___MMLocalClass_____bra( variable
[13] /*c*/)( variable
[13] /*c*/, variable
[16] /*g*/) /*MMLocalClass::[]*/;
239 variable
[17] = variable
[18];
240 continue_10
: while(0);
241 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*Iterator::next*/;
244 continue_9
: while(0);
245 CALL_abstract_collection___Iterator___next(variable
[11])(variable
[11]) /*ArrayIterator::next*/;
248 variable
[11] = CALL_mmloader___ToolContext___error_count( variable
[1] /*tc*/)( variable
[1] /*tc*/) /*ToolContext::error_count*/;
249 variable
[11] = TAG_Bool(UNTAG_Int(variable
[11])>UNTAG_Int( TAG_Int(0)));
250 if (UNTAG_Bool(variable
[11])) { /*if*/
251 variable
[11] = variable
[0];
252 exit(UNTAG_Int( TAG_Int(1)));
254 return_label2
: while(false);
255 tracehead
= trace
.prev
;
258 void mmbuilder___MMLocalClass___accept_class_visitor(val_t self
, val_t param0
) {
259 struct trace_t trace
= {NULL
, NULL
, 125, LOCATE_mmbuilder___MMLocalClass___accept_class_visitor
};
261 void **closurevariable
= NULL
;
262 trace
.prev
= tracehead
; tracehead
= &trace
;
263 trace
.file
= LOCATE_mmbuilder
;
265 variable
[1] = param0
;
266 return_label11
: while(false);
267 tracehead
= trace
.prev
;
270 void mmbuilder___MMLocalClass___accept_properties_visitor(val_t self
, val_t param0
) {
271 struct trace_t trace
= {NULL
, NULL
, 130, LOCATE_mmbuilder___MMLocalClass___accept_properties_visitor
};
273 void **closurevariable
= NULL
;
274 trace
.prev
= tracehead
; tracehead
= &trace
;
275 trace
.file
= LOCATE_mmbuilder
;
277 variable
[1] = param0
;
278 return_label12
: while(false);
279 tracehead
= trace
.prev
;
282 void mmbuilder___MMSrcLocalClass___accept_class_visitor(val_t self
, val_t param0
) {
283 struct trace_t trace
= {NULL
, NULL
, 137, LOCATE_mmbuilder___MMSrcLocalClass___accept_class_visitor
};
285 void **closurevariable
= NULL
;
286 trace
.prev
= tracehead
; tracehead
= &trace
;
287 trace
.file
= LOCATE_mmbuilder
;
289 variable
[1] = param0
;
290 variable
[3] = variable
[0];
291 variable
[3] = CALL_syntax_base___MMSrcLocalClass___nodes(variable
[3])(variable
[3]) /*MMSrcLocalClass::nodes*/;
292 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*AbstractArray::iterator*/;
293 while (true) { /*for*/
294 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*ArrayIterator::is_ok*/;
295 if (!UNTAG_Bool(variable
[4])) break; /*for*/
296 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*ArrayIterator::item*/;
297 variable
[5] = variable
[4];
298 CALL_parser_prod___Visitor___visit( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5] /*n*/) /*Visitor::visit*/;
299 continue_14
: while(0);
300 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*ArrayIterator::next*/;
303 return_label13
: while(false);
304 tracehead
= trace
.prev
;
307 void mmbuilder___MMSrcLocalClass___accept_properties_visitor(val_t self
, val_t param0
) {
308 struct trace_t trace
= {NULL
, NULL
, 144, LOCATE_mmbuilder___MMSrcLocalClass___accept_properties_visitor
};
310 void **closurevariable
= NULL
;
311 trace
.prev
= tracehead
; tracehead
= &trace
;
312 trace
.file
= LOCATE_mmbuilder
;
314 variable
[1] = param0
;
315 variable
[3] = variable
[0];
316 variable
[3] = CALL_syntax_base___MMSrcLocalClass___nodes(variable
[3])(variable
[3]) /*MMSrcLocalClass::nodes*/;
317 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*AbstractArray::iterator*/;
318 while (true) { /*for*/
319 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*ArrayIterator::is_ok*/;
320 if (!UNTAG_Bool(variable
[4])) break; /*for*/
321 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*ArrayIterator::item*/;
322 variable
[5] = variable
[4];
323 CALL_parser_prod___Visitor___visit( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5] /*n*/) /*Visitor::visit*/;
324 continue_16
: while(0);
325 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*ArrayIterator::next*/;
328 variable
[3] = variable
[0];
329 variable
[3] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(variable
[3])(variable
[3]) /*MMSrcLocalClass::src_local_properties*/;
330 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*Map::iterator*/;
331 while (true) { /*for*/
332 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*Iterator::is_ok*/;
333 if (!UNTAG_Bool(variable
[4])) break; /*for*/
334 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*Iterator::item*/;
335 variable
[5] = variable
[4];
336 CALL_mmbuilder___MMLocalProperty___accept_property_visitor( variable
[5] /*p*/)( variable
[5] /*p*/, variable
[1] /*v*/) /*MMLocalProperty::accept_property_visitor*/;
337 continue_17
: while(0);
338 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*Iterator::next*/;
341 return_label15
: while(false);
342 tracehead
= trace
.prev
;
345 void mmbuilder___MMSrcLocalClass___process_default_constructors(val_t self
, val_t param0
) {
346 struct trace_t trace
= {NULL
, NULL
, 156, LOCATE_mmbuilder___MMSrcLocalClass___process_default_constructors
};
347 static val_t once_value_22
; static int once_bool_22
; /* Once value for variable[9]*/
349 void **closurevariable
= NULL
;
350 trace
.prev
= tracehead
; tracehead
= &trace
;
351 trace
.file
= LOCATE_mmbuilder
;
353 variable
[1] = param0
;
354 variable
[3] = variable
[0];
355 variable
[3] = CALL_abstractmetamodel___MMLocalClass___global_properties(variable
[3])(variable
[3]) /*MMLocalClass::global_properties*/;
356 variable
[3] = CALL_abstract_collection___Collection___iterator(variable
[3])(variable
[3]) /*Collection::iterator*/;
357 while (true) { /*for*/
358 variable
[4] = CALL_abstract_collection___Iterator___is_ok(variable
[3])(variable
[3]) /*Iterator::is_ok*/;
359 if (!UNTAG_Bool(variable
[4])) break; /*for*/
360 variable
[4] = CALL_abstract_collection___Iterator___item(variable
[3])(variable
[3]) /*Iterator::item*/;
361 variable
[5] = variable
[4];
362 variable
[6] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[5] /*gp*/)( variable
[5] /*gp*/) /*MMGlobalProperty::is_init*/;
363 if (UNTAG_Bool(variable
[6])) { /*if*/
364 variable
[6] = CALL_abstractmetamodel___MMGlobalProperty___intro( variable
[5] /*gp*/)( variable
[5] /*gp*/) /*MMGlobalProperty::intro*/;
365 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[6])(variable
[6]) /*MMLocalProperty::local_class*/;
366 variable
[7] = variable
[0];
367 variable
[6] = TAG_Bool((variable
[6] == variable
[7]) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6],variable
[7])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], variable
[7]) /*Object::==*/)))));
368 if (UNTAG_Bool(variable
[6])) { /*if*/
372 continue_19
: while(0);
373 CALL_abstract_collection___Iterator___next(variable
[3])(variable
[3]) /*Iterator::next*/;
376 variable
[4] = NEW_ArraySet_array___ArraySet___init(); /*new ArraySet[MMLocalProperty]*/
377 variable
[3] = variable
[4];
378 variable
[5] = NEW_ArraySet_array___ArraySet___init(); /*new ArraySet[MMGlobalProperty]*/
379 variable
[4] = variable
[5];
380 variable
[5] = variable
[0];
381 variable
[5] = CALL_abstractmetamodel___MMLocalClass___che(variable
[5])(variable
[5]) /*MMLocalClass::che*/;
382 variable
[5] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[5])(variable
[5]) /*PartialOrderElement::direct_greaters*/;
383 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*AbstractArray::iterator*/;
384 while (true) { /*for*/
385 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
386 if (!UNTAG_Bool(variable
[6])) break; /*for*/
387 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/;
388 variable
[7] = variable
[6];
389 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global( variable
[7] /*sc*/)( variable
[7] /*sc*/) /*MMLocalClass::global*/;
390 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal(variable
[8])(variable
[8]) /*MMGlobalClass::is_universal*/;
391 variable
[9] = variable
[8];
392 if (!UNTAG_Bool(variable
[9])) { /* or */
393 variable
[9] = CALL_abstractmetamodel___MMLocalClass___global( variable
[7] /*sc*/)( variable
[7] /*sc*/) /*MMLocalClass::global*/;
394 variable
[9] = CALL_abstractmetamodel___MMGlobalClass___is_interface(variable
[9])(variable
[9]) /*MMGlobalClass::is_interface*/;
396 variable
[8] = variable
[9];
397 if (UNTAG_Bool(variable
[8])) { /*if*/
400 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global_properties( variable
[7] /*sc*/)( variable
[7] /*sc*/) /*MMLocalClass::global_properties*/;
401 variable
[8] = CALL_abstract_collection___Collection___iterator(variable
[8])(variable
[8]) /*Collection::iterator*/;
402 while (true) { /*for*/
403 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*Iterator::is_ok*/;
404 if (!UNTAG_Bool(variable
[9])) break; /*for*/
405 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*Iterator::item*/;
406 variable
[10] = variable
[9];
407 variable
[11] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[10] /*gp*/)( variable
[10] /*gp*/) /*MMGlobalProperty::is_init*/;
408 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[11])))) { /*if*/
411 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*super_constructors*/)( variable
[4] /*super_constructors*/, variable
[10] /*gp*/) /*ArraySet::add*/;
412 continue_21
: while(0);
413 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*Iterator::next*/;
416 if (once_bool_22
) variable
[9] = once_value_22
;
418 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
419 variable
[9] = CALL_symbol___String___to_symbol(variable
[9])(variable
[9]) /*String::to_symbol*/;
420 once_value_22
= variable
[9];
423 variable
[9] = CALL_abstractmetamodel___MMLocalClass___get_property_by_name( variable
[7] /*sc*/)( variable
[7] /*sc*/, variable
[9]) /*MMLocalClass::get_property_by_name*/;
424 variable
[8] = variable
[9];
425 variable
[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[8] /*gp*/ == NIT_NULL
/*null*/) || (( variable
[8] /*gp*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[8] /*gp*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[8] /*gp*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[8] /*gp*/)( variable
[8] /*gp*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
426 if (UNTAG_Bool(variable
[9])) { /*if*/
427 variable
[9] = variable
[0];
428 variable
[9] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[9])(variable
[9], variable
[8] /*gp*/) /*MMLocalClass::[]*/;
429 CALL_abstract_collection___SimpleCollection___add( variable
[3] /*super_inits*/)( variable
[3] /*super_inits*/, variable
[9]) /*ArraySet::add*/;
431 continue_20
: while(0);
432 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
435 variable
[6] = NEW_Array_array___Array___init(); /*new Array[MMSrcAttribute]*/
436 variable
[5] = variable
[6];
437 variable
[6] = variable
[0];
438 variable
[6] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(variable
[6])(variable
[6]) /*MMSrcLocalClass::src_local_properties*/;
439 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*Map::iterator*/;
440 while (true) { /*for*/
441 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
442 if (!UNTAG_Bool(variable
[7])) break; /*for*/
443 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/;
444 variable
[8] = variable
[7];
445 variable
[9] = TAG_Bool(( variable
[8] /*a*/==NIT_NULL
) || VAL_ISA( variable
[8] /*a*/, COLOR_MMSrcAttribute
, ID_MMSrcAttribute
)) /*cast MMSrcAttribute*/;
446 if (UNTAG_Bool(variable
[9])) { /*if*/
447 variable
[10] = CALL_syntax_base___MMLocalProperty___node( variable
[8] /*a*/)( variable
[8] /*a*/) /*MMSrcAttribute::node*/;
448 variable
[9] = variable
[10];
449 variable
[10] = TAG_Bool(( variable
[9] /*n*/==NIT_NULL
) || VAL_ISA( variable
[9] /*n*/, COLOR_AAttrPropdef
, ID_AAttrPropdef
)) /*cast AAttrPropdef*/;
450 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
, 187); nit_exit(1);}
451 variable
[10] = CALL_parser_nodes___AAttrPropdef___n_expr( variable
[9] /*n*/)( variable
[9] /*n*/) /*AAttrPropdef::n_expr*/;
452 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::==*/)))));
453 if (UNTAG_Bool(variable
[10])) { /*if*/
454 CALL_abstract_collection___SimpleCollection___add( variable
[5] /*unassigned_attributes*/)( variable
[5] /*unassigned_attributes*/, variable
[8] /*a*/) /*AbstractArray::add*/;
457 continue_23
: while(0);
458 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
461 variable
[6] = CALL_abstract_collection___Collection___is_empty( variable
[4] /*super_constructors*/)( variable
[4] /*super_constructors*/) /*ArraySet::is_empty*/;
462 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[6])))) { /*if*/
463 variable
[7] = NEW_Array_array___Array___init(); /*new Array[MMLocalClass]*/
464 variable
[6] = variable
[7];
465 variable
[7] = CALL_abstract_collection___Collection___iterator( variable
[4] /*super_constructors*/)( variable
[4] /*super_constructors*/) /*ArraySet::iterator*/;
466 while (true) { /*for*/
467 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*Iterator::is_ok*/;
468 if (!UNTAG_Bool(variable
[8])) break; /*for*/
469 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*Iterator::item*/;
470 variable
[9] = variable
[8];
471 variable
[11] = CALL_abstractmetamodel___MMGlobalProperty___local_class( variable
[9] /*gp*/)( variable
[9] /*gp*/) /*MMGlobalProperty::local_class*/;
472 variable
[10] = variable
[11];
473 variable
[11] = CALL_abstract_collection___Collection___has( variable
[6] /*supers*/)( variable
[6] /*supers*/, variable
[10] /*sc*/) /*AbstractArray::has*/;
474 if (UNTAG_Bool(variable
[11])) { /*if*/
477 variable
[11] = CALL_abstractmetamodel___MMLocalClass___global( variable
[10] /*sc*/)( variable
[10] /*sc*/) /*MMLocalClass::global*/;
478 variable
[11] = CALL_abstractmetamodel___MMGlobalClass___is_mixin(variable
[11])(variable
[11]) /*MMGlobalClass::is_mixin*/;
479 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[11])))) { /*if*/
480 CALL_abstract_collection___SimpleCollection___add( variable
[6] /*supers*/)( variable
[6] /*supers*/, variable
[10] /*sc*/) /*AbstractArray::add*/;
482 continue_24
: while(0);
483 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*Iterator::next*/;
486 variable
[7] = variable
[0];
487 variable
[7] = CALL_abstractmetamodel___MMLocalClass___che(variable
[7])(variable
[7]) /*MMLocalClass::che*/;
488 variable
[7] = CALL_partial_order___PartialOrderElement___order(variable
[7])(variable
[7]) /*PartialOrderElement::order*/;
489 variable
[7] = CALL_partial_order___PartialOrder___select_smallests(variable
[7])(variable
[7], variable
[6] /*supers*/) /*PartialOrder::select_smallests*/;
490 variable
[6] = variable
[7] /*supers=*/;
491 variable
[7] = NIT_NULL
/*null*/;
492 variable
[8] = CALL_abstract_collection___Collection___length( variable
[6] /*supers*/)( variable
[6] /*supers*/) /*AbstractArray::length*/;
493 variable
[8] = TAG_Bool(UNTAG_Int(variable
[8])>UNTAG_Int( TAG_Int(1)));
494 if (UNTAG_Bool(variable
[8])) { /*if*/
495 variable
[8] = variable
[0];
496 variable
[8] = CALL_syntax_base___MMSrcLocalClass___nodes(variable
[8])(variable
[8]) /*MMSrcLocalClass::nodes*/;
497 variable
[8] = CALL_abstract_collection___Collection___first(variable
[8])(variable
[8]) /*IndexedCollection::first*/;
498 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
499 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: Explicit constructor required in "), TAG_Int(40)); /*new String*/
500 variable
[11] = variable
[10];
501 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
502 variable
[12] = variable
[0];
503 variable
[13] = variable
[12];
504 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
505 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
506 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString(" since multiple inheritance of constructor is forbiden. Conflicting classes are "), TAG_Int(80)); /*new String*/
507 variable
[15] = variable
[14];
508 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
509 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
510 variable
[16] = CALL_string___Collection___join( variable
[6] /*supers*/)( variable
[6] /*supers*/, variable
[16]) /*Collection::join*/;
511 variable
[17] = variable
[16];
512 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[17]) /*AbstractArray::add*/;
513 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(". Costructors are "), TAG_Int(18)); /*new String*/
514 variable
[19] = variable
[18];
515 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[19]) /*AbstractArray::add*/;
516 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
517 variable
[20] = CALL_string___Collection___join( variable
[4] /*super_constructors*/)( variable
[4] /*super_constructors*/, variable
[20]) /*Collection::join*/;
518 variable
[21] = variable
[20];
519 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[21]) /*AbstractArray::add*/;
520 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
521 variable
[23] = variable
[22];
522 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[23]) /*AbstractArray::add*/;
523 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
524 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
527 variable
[8] = CALL_abstract_collection___Collection___length( variable
[6] /*supers*/)( variable
[6] /*supers*/) /*AbstractArray::length*/;
528 variable
[8] = TAG_Bool((variable
[8])==( TAG_Int(1)));
529 if (UNTAG_Bool(variable
[8])) { /*if*/
530 variable
[8] = CALL_abstract_collection___Collection___first( variable
[6] /*supers*/)( variable
[6] /*supers*/) /*IndexedCollection::first*/;
531 variable
[7] = variable
[8] /*superclass=*/;
534 variable
[8] = CALL_abstract_collection___Collection___iterator( variable
[4] /*super_constructors*/)( variable
[4] /*super_constructors*/) /*ArraySet::iterator*/;
535 while (true) { /*for*/
536 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*Iterator::is_ok*/;
537 if (!UNTAG_Bool(variable
[9])) break; /*for*/
538 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*Iterator::item*/;
539 variable
[10] = variable
[9];
540 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::==*/)))));
541 variable
[12] = variable
[11];
542 if (!UNTAG_Bool(variable
[12])) { /* or */
543 variable
[12] = CALL_abstractmetamodel___MMGlobalProperty___local_class( variable
[10] /*gp*/)( variable
[10] /*gp*/) /*MMGlobalProperty::local_class*/;
544 variable
[12] = TAG_Bool((variable
[12] == variable
[7] /*superclass*/) || ((variable
[12] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[12])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[12], variable
[7] /*superclass*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[12])(variable
[12], variable
[7] /*superclass*/) /*Object::==*/)))));
546 variable
[11] = variable
[12];
547 if (UNTAG_Bool(variable
[11])) { /*if*/
548 variable
[11] = variable
[0];
549 CALL_inheritance___MMLocalClass___make_visible_an_inherited_global_property(variable
[11])(variable
[11], variable
[10] /*gp*/) /*MMLocalClass::make_visible_an_inherited_global_property*/;
551 continue_25
: while(0);
552 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*Iterator::next*/;
555 variable
[8] = variable
[0];
556 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global(variable
[8])(variable
[8]) /*MMLocalClass::global*/;
557 variable
[9] = CALL_abstractmetamodel___MMLocalClass___global( variable
[7] /*superclass*/)( variable
[7] /*superclass*/) /*MMLocalClass::global*/;
558 CALL_abstractmetamodel___MMGlobalClass___mixin_of__eq(variable
[8])(variable
[8], variable
[9]) /*MMGlobalClass::mixin_of=*/;
560 variable
[7] = variable
[0];
561 variable
[8] = CALL_array___Collection___to_a( variable
[3] /*super_inits*/)( variable
[3] /*super_inits*/) /*Collection::to_a*/;
562 variable
[9] = NEW_MMImplicitInit_syntax_base___MMImplicitInit___init(variable
[7], variable
[5] /*unassigned_attributes*/, variable
[8]); /*new MMImplicitInit*/
563 variable
[7] = variable
[9];
564 variable
[6] = variable
[7];
565 variable
[7] = variable
[0];
566 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[7])(variable
[7], variable
[1] /*v*/, variable
[6] /*p*/) /*MMSrcLocalClass::add_src_local_property*/;
568 return_label18
: while(false);
569 tracehead
= trace
.prev
;
572 void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t self
, val_t param0
, val_t param1
) {
573 struct trace_t trace
= {NULL
, NULL
, 232, LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property
};
575 void **closurevariable
= NULL
;
576 trace
.prev
= tracehead
; tracehead
= &trace
;
577 trace
.file
= LOCATE_mmbuilder
;
579 variable
[1] = param0
;
580 variable
[2] = param1
;
581 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___name( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::name*/;
582 variable
[4] = variable
[5];
583 variable
[5] = variable
[0];
584 variable
[5] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(variable
[5])(variable
[5]) /*MMSrcLocalClass::src_local_properties*/;
585 variable
[5] = CALL_abstract_collection___Map___has_key(variable
[5])(variable
[5], variable
[4] /*pname*/) /*Map::has_key*/;
586 if (UNTAG_Bool(variable
[5])) { /*if*/
587 variable
[5] = CALL_syntax_base___MMLocalProperty___node( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::node*/;
588 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
589 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString("Error: A property "), TAG_Int(18)); /*new String*/
590 variable
[8] = variable
[7];
591 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[8]) /*AbstractArray::add*/;
592 variable
[9] = variable
[4] /*pname*/;
593 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
594 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[9]) /*AbstractArray::add*/;
595 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(" is already defined in class "), TAG_Int(29)); /*new String*/
596 variable
[11] = variable
[10];
597 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[11]) /*AbstractArray::add*/;
598 variable
[12] = variable
[0];
599 variable
[12] = CALL_abstractmetamodel___MMLocalClass___name(variable
[12])(variable
[12]) /*MMLocalClass::name*/;
600 variable
[13] = variable
[12];
601 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
602 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[13]) /*AbstractArray::add*/;
603 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
604 variable
[15] = variable
[14];
605 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[15]) /*AbstractArray::add*/;
606 variable
[6] = CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/;
607 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5], variable
[6]) /*AbsSyntaxVisitor::error*/;
610 variable
[5] = variable
[0];
611 variable
[5] = CALL_syntax_base___MMSrcLocalClass___src_local_properties(variable
[5])(variable
[5]) /*MMSrcLocalClass::src_local_properties*/;
612 CALL_abstract_collection___Map_____braeq(variable
[5])(variable
[5], variable
[4] /*pname*/, variable
[2] /*prop*/) /*Map::[]=*/;
613 variable
[5] = variable
[0];
614 variable
[5] = CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(variable
[5])(variable
[5], variable
[4] /*pname*/) /*MMLocalClass::has_global_property_by_name*/;
615 if (UNTAG_Bool(variable
[5])) { /*if*/
616 variable
[6] = variable
[0];
617 variable
[6] = CALL_abstractmetamodel___MMLocalClass___properties_by_name(variable
[6])(variable
[6]) /*MMLocalClass::properties_by_name*/;
618 variable
[6] = CALL_abstract_collection___Map_____bra(variable
[6])(variable
[6], variable
[4] /*pname*/) /*Map::[]*/;
619 variable
[5] = variable
[6];
620 variable
[6] = CALL_abstract_collection___Collection___length( variable
[5] /*globs*/)( variable
[5] /*globs*/) /*AbstractArray::length*/;
621 variable
[6] = TAG_Bool(UNTAG_Int(variable
[6])>UNTAG_Int( TAG_Int(1)));
622 if (UNTAG_Bool(variable
[6])) { /*if*/
623 variable
[6] = CALL_syntax_base___MMLocalProperty___node( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::node*/;
624 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
625 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Name error: "), TAG_Int(12)); /*new String*/
626 variable
[9] = variable
[8];
627 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
628 variable
[10] = variable
[0];
629 variable
[11] = variable
[10];
630 variable
[11] = CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/;
631 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[11]) /*AbstractArray::add*/;
632 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(" inherits "), TAG_Int(10)); /*new String*/
633 variable
[13] = variable
[12];
634 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[13]) /*AbstractArray::add*/;
635 variable
[14] = CALL_abstract_collection___Collection___length( variable
[5] /*globs*/)( variable
[5] /*globs*/) /*AbstractArray::length*/;
636 variable
[15] = variable
[14];
637 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
638 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[15]) /*AbstractArray::add*/;
639 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString(" global properties named "), TAG_Int(25)); /*new String*/
640 variable
[17] = variable
[16];
641 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[17]) /*AbstractArray::add*/;
642 variable
[18] = variable
[4] /*pname*/;
643 variable
[18] = CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/;
644 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[18]) /*AbstractArray::add*/;
645 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
646 variable
[20] = variable
[19];
647 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[20]) /*AbstractArray::add*/;
648 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
649 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6], variable
[7]) /*AbsSyntaxVisitor::error*/;
651 variable
[7] = CALL_abstract_collection___Collection___first( variable
[5] /*globs*/)( variable
[5] /*globs*/) /*IndexedCollection::first*/;
652 variable
[6] = variable
[7];
653 CALL_inheritance___MMLocalProperty___inherit_global( variable
[2] /*prop*/)( variable
[2] /*prop*/, variable
[6] /*g*/) /*MMLocalProperty::inherit_global*/;
655 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
656 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::==*/)))));
657 if (UNTAG_Bool(variable
[5])) { /*if*/
658 CALL_abstractmetamodel___MMLocalProperty___new_global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::new_global*/;
659 variable
[5] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
660 variable
[6] = CALL_syntax_base___MMLocalProperty___is_init( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::is_init*/;
661 CALL_abstractmetamodel___MMGlobalProperty___is_init__eq(variable
[5])(variable
[5], variable
[6]) /*MMGlobalProperty::is_init=*/;
663 return_label26
: while(false);
664 tracehead
= trace
.prev
;
667 void mmbuilder___MMLocalProperty___accept_property_visitor(val_t self
, val_t param0
) {
668 struct trace_t trace
= {NULL
, NULL
, 262, LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor
};
670 void **closurevariable
= NULL
;
671 trace
.prev
= tracehead
; tracehead
= &trace
;
672 trace
.file
= LOCATE_mmbuilder
;
674 variable
[1] = param0
;
675 return_label27
: while(false);
676 tracehead
= trace
.prev
;
679 void mmbuilder___MMImplicitInit___accept_property_visitor(val_t self
, val_t param0
) {
680 struct trace_t trace
= {NULL
, NULL
, 269, LOCATE_mmbuilder___MMImplicitInit___accept_property_visitor
};
682 void **closurevariable
= NULL
;
683 trace
.prev
= tracehead
; tracehead
= &trace
;
684 trace
.file
= LOCATE_mmbuilder
;
686 variable
[1] = param0
;
687 variable
[3] = NIT_NULL
/*null*/;
688 variable
[4] = variable
[0];
689 variable
[4] = CALL_syntax_base___MMImplicitInit___super_inits(variable
[4])(variable
[4]) /*MMImplicitInit::super_inits*/;
690 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArray::iterator*/;
691 while (true) { /*for*/
692 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
693 if (!UNTAG_Bool(variable
[5])) break; /*for*/
694 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/;
695 variable
[6] = variable
[5];
696 variable
[7] = CALL_static_type___MMLocalProperty___signature( variable
[6] /*p*/)( variable
[6] /*p*/) /*MMLocalProperty::signature*/;
697 variable
[7] = CALL_static_type___MMSignature___arity(variable
[7])(variable
[7]) /*MMSignature::arity*/;
698 variable
[7] = TAG_Bool(UNTAG_Int(variable
[7])>UNTAG_Int( TAG_Int(0)));
699 if (UNTAG_Bool(variable
[7])) { /*if*/
700 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::==*/)))));
701 if (UNTAG_Bool(variable
[7])) { /*if*/
702 variable
[3] = variable
[6] /*p*/ /*base=*/;
704 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
705 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Error: explicit constructor needed in "), TAG_Int(38)); /*new String*/
706 variable
[9] = variable
[8];
707 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
708 variable
[10] = variable
[0];
709 variable
[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[10])(variable
[10]) /*MMLocalProperty::local_class*/;
710 variable
[11] = variable
[10];
711 variable
[11] = CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/;
712 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[11]) /*AbstractArray::add*/;
713 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(" since both super-constructor "), TAG_Int(30)); /*new String*/
714 variable
[13] = variable
[12];
715 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[13]) /*AbstractArray::add*/;
716 variable
[14] = CALL_abstractmetamodel___MMLocalProperty___full_name( variable
[3] /*base*/)( variable
[3] /*base*/) /*MMLocalProperty::full_name*/;
717 variable
[15] = variable
[14];
718 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[15]) /*AbstractArray::add*/;
719 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)); /*new String*/
720 variable
[17] = variable
[16];
721 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[17]) /*AbstractArray::add*/;
722 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___full_name( variable
[6] /*p*/)( variable
[6] /*p*/) /*MMLocalProperty::full_name*/;
723 variable
[19] = variable
[18];
724 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[19]) /*AbstractArray::add*/;
725 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString(" have paramters"), TAG_Int(15)); /*new String*/
726 variable
[21] = variable
[20];
727 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[21]) /*AbstractArray::add*/;
728 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
729 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/, variable
[7]) /*AbsSyntaxVisitor::error*/;
733 continue_29
: while(0);
734 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
737 variable
[4] = variable
[0];
738 ATTR_mmbuilder___MMImplicitInit____super_init(variable
[4]) /*MMImplicitInit::_super_init*/ = variable
[3] /*base*/;
739 variable
[5] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
740 variable
[4] = variable
[5];
741 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::==*/)))))));
742 if (UNTAG_Bool(variable
[5])) { /*if*/
743 variable
[6] = CALL_static_type___MMLocalProperty___signature( variable
[3] /*base*/)( variable
[3] /*base*/) /*MMLocalProperty::signature*/;
744 variable
[5] = variable
[6];
745 variable
[6] = CALL_static_type___MMSignature___arity( variable
[5] /*sig*/)( variable
[5] /*sig*/) /*MMSignature::arity*/;
746 variable
[7] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[6]); /*new Range[Int]*/
747 variable
[6] = variable
[7];
748 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*Range::iterator*/;
749 while (true) { /*for*/
750 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
751 if (!UNTAG_Bool(variable
[7])) break; /*for*/
752 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/;
753 variable
[8] = variable
[7];
754 variable
[9] = CALL_static_type___MMSignature_____bra( variable
[5] /*sig*/)( variable
[5] /*sig*/, variable
[8] /*i*/) /*MMSignature::[]*/;
755 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*params*/)( variable
[4] /*params*/, variable
[9]) /*AbstractArray::add*/;
756 continue_30
: while(0);
757 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
761 variable
[5] = variable
[0];
762 variable
[5] = CALL_syntax_base___MMImplicitInit___unassigned_attributes(variable
[5])(variable
[5]) /*MMImplicitInit::unassigned_attributes*/;
763 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*AbstractArray::iterator*/;
764 while (true) { /*for*/
765 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
766 if (!UNTAG_Bool(variable
[6])) break; /*for*/
767 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/;
768 variable
[7] = variable
[6];
769 variable
[8] = CALL_static_type___MMLocalProperty___signature( variable
[7] /*a*/)( variable
[7] /*a*/) /*MMLocalProperty::signature*/;
770 variable
[8] = CALL_static_type___MMSignature___return_type(variable
[8])(variable
[8]) /*MMSignature::return_type*/;
771 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*params*/)( variable
[4] /*params*/, variable
[8]) /*AbstractArray::add*/;
772 continue_31
: while(0);
773 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
776 variable
[5] = variable
[0];
777 variable
[6] = variable
[0];
778 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[6])(variable
[6]) /*MMLocalProperty::local_class*/;
779 variable
[6] = CALL_static_type___MMLocalClass___get_type(variable
[6])(variable
[6]) /*MMLocalClass::get_type*/;
780 variable
[7] = NEW_MMSignature_static_type___MMSignature___init( variable
[4] /*params*/, NIT_NULL
/*null*/, variable
[6]); /*new MMSignature*/
781 variable
[6] = variable
[7];
782 CALL_static_type___MMLocalProperty___signature__eq(variable
[5])(variable
[5], variable
[6]) /*MMLocalProperty::signature=*/;
783 return_label28
: while(false);
784 tracehead
= trace
.prev
;
787 val_t
mmbuilder___MMImplicitInit___super_init(val_t self
) {
788 struct trace_t trace
= {NULL
, NULL
, 268, LOCATE_mmbuilder___MMImplicitInit___super_init
};
789 val_t
*variable
= NULL
;
790 void **closurevariable
= NULL
;
791 trace
.prev
= tracehead
; tracehead
= &trace
;
792 trace
.file
= LOCATE_mmbuilder
;
793 tracehead
= trace
.prev
;
794 return ATTR_mmbuilder___MMImplicitInit____super_init( self
) /*MMImplicitInit::_super_init*/;
796 val_t
mmbuilder___MMSrcAncestor___local_class(val_t self
) {
797 struct trace_t trace
= {NULL
, NULL
, 304, LOCATE_mmbuilder___MMSrcAncestor___local_class
};
798 val_t
*variable
= NULL
;
799 void **closurevariable
= NULL
;
800 trace
.prev
= tracehead
; tracehead
= &trace
;
801 trace
.file
= LOCATE_mmbuilder
;
802 tracehead
= trace
.prev
;
803 return ATTR_mmbuilder___MMSrcAncestor____local_class( self
) /*MMSrcAncestor::_local_class*/;
805 val_t
mmbuilder___MMSrcAncestor___node(val_t self
) {
806 struct trace_t trace
= {NULL
, NULL
, 302, LOCATE_mmbuilder___MMSrcAncestor___node
};
807 val_t
*variable
= NULL
;
808 void **closurevariable
= NULL
;
809 trace
.prev
= tracehead
; tracehead
= &trace
;
810 trace
.file
= LOCATE_mmbuilder
;
811 tracehead
= trace
.prev
;
812 return ATTR_mmbuilder___MMSrcAncestor____node( self
) /*MMSrcAncestor::_node*/;
814 void mmbuilder___MMSrcAncestor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
815 struct trace_t trace
= {NULL
, NULL
, 306, LOCATE_mmbuilder___MMSrcAncestor___init
};
817 void **closurevariable
= NULL
;
818 trace
.prev
= tracehead
; tracehead
= &trace
;
819 trace
.file
= LOCATE_mmbuilder
;
821 variable
[1] = param0
;
822 variable
[2] = param1
;
823 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcAncestor
].i
]) return;
824 variable
[4] = variable
[0];
825 ATTR_mmbuilder___MMSrcAncestor____node(variable
[4]) /*MMSrcAncestor::_node*/ = variable
[1] /*n*/;
826 variable
[4] = variable
[0];
827 ATTR_mmbuilder___MMSrcAncestor____local_class(variable
[4]) /*MMSrcAncestor::_local_class*/ = variable
[2] /*c*/;
828 return_label32
: while(false);
829 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcAncestor
].i
] = 1;
830 tracehead
= trace
.prev
;
833 void mmbuilder___ClassBuilderVisitor___visit(val_t self
, val_t param0
) {
834 struct trace_t trace
= {NULL
, NULL
, 326, LOCATE_mmbuilder___ClassBuilderVisitor___visit
};
836 void **closurevariable
= NULL
;
837 trace
.prev
= tracehead
; tracehead
= &trace
;
838 trace
.file
= LOCATE_mmbuilder
;
840 variable
[1] = param0
;
841 variable
[3] = variable
[0];
842 CALL_mmbuilder___PNode___accept_class_builder( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[3]) /*PNode::accept_class_builder*/;
843 return_label33
: while(false);
844 tracehead
= trace
.prev
;
847 val_t
mmbuilder___ClassBuilderVisitor___local_class_arity(val_t self
) {
848 struct trace_t trace
= {NULL
, NULL
, 320, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity
};
849 val_t
*variable
= NULL
;
850 void **closurevariable
= NULL
;
851 trace
.prev
= tracehead
; tracehead
= &trace
;
852 trace
.file
= LOCATE_mmbuilder
;
853 tracehead
= trace
.prev
;
854 return ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self
) /*ClassBuilderVisitor::_local_class_arity*/;
856 void mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t self
, val_t param0
) {
857 struct trace_t trace
= {NULL
, NULL
, 320, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq
};
858 val_t
*variable
= NULL
;
859 void **closurevariable
= NULL
;
860 trace
.prev
= tracehead
; tracehead
= &trace
;
861 trace
.file
= LOCATE_mmbuilder
;
862 ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self
) /*ClassBuilderVisitor::_local_class_arity*/ = param0
;
863 tracehead
= trace
.prev
;
866 val_t
mmbuilder___ClassBuilderVisitor___formals(val_t self
) {
867 struct trace_t trace
= {NULL
, NULL
, 323, LOCATE_mmbuilder___ClassBuilderVisitor___formals
};
868 val_t
*variable
= NULL
;
869 void **closurevariable
= NULL
;
870 trace
.prev
= tracehead
; tracehead
= &trace
;
871 trace
.file
= LOCATE_mmbuilder
;
872 tracehead
= trace
.prev
;
873 return ATTR_mmbuilder___ClassBuilderVisitor____formals( self
) /*ClassBuilderVisitor::_formals*/;
875 void mmbuilder___ClassBuilderVisitor___formals__eq(val_t self
, val_t param0
) {
876 struct trace_t trace
= {NULL
, NULL
, 323, LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq
};
877 val_t
*variable
= NULL
;
878 void **closurevariable
= NULL
;
879 trace
.prev
= tracehead
; tracehead
= &trace
;
880 trace
.file
= LOCATE_mmbuilder
;
881 ATTR_mmbuilder___ClassBuilderVisitor____formals( self
) /*ClassBuilderVisitor::_formals*/ = param0
;
882 tracehead
= trace
.prev
;
885 void mmbuilder___ClassBuilderVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
886 struct trace_t trace
= {NULL
, NULL
, 327, LOCATE_mmbuilder___ClassBuilderVisitor___init
};
888 void **closurevariable
= NULL
;
889 trace
.prev
= tracehead
; tracehead
= &trace
;
890 trace
.file
= LOCATE_mmbuilder
;
892 variable
[1] = param0
;
893 variable
[2] = param1
;
894 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassBuilderVisitor
].i
]) return;
895 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
896 return_label34
: while(false);
897 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassBuilderVisitor
].i
] = 1;
898 tracehead
= trace
.prev
;
901 void mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t self
, val_t param0
) {
902 struct trace_t trace
= {NULL
, NULL
, 334, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit
};
904 void **closurevariable
= NULL
;
905 trace
.prev
= tracehead
; tracehead
= &trace
;
906 trace
.file
= LOCATE_mmbuilder
;
908 variable
[1] = param0
;
909 variable
[3] = variable
[0];
910 CALL_mmbuilder___PNode___accept_class_specialization_builder( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[3]) /*PNode::accept_class_specialization_builder*/;
911 return_label35
: while(false);
912 tracehead
= trace
.prev
;
915 void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
916 struct trace_t trace
= {NULL
, NULL
, 335, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init
};
918 void **closurevariable
= NULL
;
919 trace
.prev
= tracehead
; tracehead
= &trace
;
920 trace
.file
= LOCATE_mmbuilder
;
922 variable
[1] = param0
;
923 variable
[2] = param1
;
924 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassSpecializationBuilderVisitor
].i
]) return;
925 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
926 return_label36
: while(false);
927 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassSpecializationBuilderVisitor
].i
] = 1;
928 tracehead
= trace
.prev
;
931 void mmbuilder___ClassAncestorBuilder___visit(val_t self
, val_t param0
) {
932 struct trace_t trace
= {NULL
, NULL
, 342, LOCATE_mmbuilder___ClassAncestorBuilder___visit
};
934 void **closurevariable
= NULL
;
935 trace
.prev
= tracehead
; tracehead
= &trace
;
936 trace
.file
= LOCATE_mmbuilder
;
938 variable
[1] = param0
;
939 variable
[3] = variable
[0];
940 CALL_mmbuilder___PNode___accept_class_ancestor_builder( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[3]) /*PNode::accept_class_ancestor_builder*/;
941 return_label37
: while(false);
942 tracehead
= trace
.prev
;
945 void mmbuilder___ClassAncestorBuilder___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
946 struct trace_t trace
= {NULL
, NULL
, 343, LOCATE_mmbuilder___ClassAncestorBuilder___init
};
948 void **closurevariable
= NULL
;
949 trace
.prev
= tracehead
; tracehead
= &trace
;
950 trace
.file
= LOCATE_mmbuilder
;
952 variable
[1] = param0
;
953 variable
[2] = param1
;
954 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassAncestorBuilder
].i
]) return;
955 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
956 return_label38
: while(false);
957 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassAncestorBuilder
].i
] = 1;
958 tracehead
= trace
.prev
;
961 void mmbuilder___ClassVerifierVisitor___visit(val_t self
, val_t param0
) {
962 struct trace_t trace
= {NULL
, NULL
, 350, LOCATE_mmbuilder___ClassVerifierVisitor___visit
};
964 void **closurevariable
= NULL
;
965 trace
.prev
= tracehead
; tracehead
= &trace
;
966 trace
.file
= LOCATE_mmbuilder
;
968 variable
[1] = param0
;
969 variable
[3] = variable
[0];
970 CALL_mmbuilder___PNode___accept_class_verifier( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[3]) /*PNode::accept_class_verifier*/;
971 return_label39
: while(false);
972 tracehead
= trace
.prev
;
975 void mmbuilder___ClassVerifierVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
976 struct trace_t trace
= {NULL
, NULL
, 351, LOCATE_mmbuilder___ClassVerifierVisitor___init
};
978 void **closurevariable
= NULL
;
979 trace
.prev
= tracehead
; tracehead
= &trace
;
980 trace
.file
= LOCATE_mmbuilder
;
982 variable
[1] = param0
;
983 variable
[2] = param1
;
984 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassVerifierVisitor
].i
]) return;
985 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
986 return_label40
: while(false);
987 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClassVerifierVisitor
].i
] = 1;
988 tracehead
= trace
.prev
;
991 void mmbuilder___PropertyBuilderVisitor___visit(val_t self
, val_t param0
) {
992 struct trace_t trace
= {NULL
, NULL
, 361, LOCATE_mmbuilder___PropertyBuilderVisitor___visit
};
994 void **closurevariable
= NULL
;
995 trace
.prev
= tracehead
; tracehead
= &trace
;
996 trace
.file
= LOCATE_mmbuilder
;
998 variable
[1] = param0
;
999 variable
[3] = variable
[0];
1000 CALL_mmbuilder___PNode___accept_property_builder( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[3]) /*PNode::accept_property_builder*/;
1001 return_label41
: while(false);
1002 tracehead
= trace
.prev
;
1005 void mmbuilder___PropertyBuilderVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1006 struct trace_t trace
= {NULL
, NULL
, 362, LOCATE_mmbuilder___PropertyBuilderVisitor___init
};
1008 void **closurevariable
= NULL
;
1009 trace
.prev
= tracehead
; tracehead
= &trace
;
1010 trace
.file
= LOCATE_mmbuilder
;
1012 variable
[1] = param0
;
1013 variable
[2] = param1
;
1014 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_PropertyBuilderVisitor
].i
]) return;
1015 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
1016 return_label42
: while(false);
1017 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_PropertyBuilderVisitor
].i
] = 1;
1018 tracehead
= trace
.prev
;
1021 void mmbuilder___PropertyVerifierVisitor___visit(val_t self
, val_t param0
) {
1022 struct trace_t trace
= {NULL
, NULL
, 373, LOCATE_mmbuilder___PropertyVerifierVisitor___visit
};
1024 void **closurevariable
= NULL
;
1025 trace
.prev
= tracehead
; tracehead
= &trace
;
1026 trace
.file
= LOCATE_mmbuilder
;
1028 variable
[1] = param0
;
1029 variable
[3] = variable
[0];
1030 CALL_mmbuilder___PNode___accept_property_verifier( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[3]) /*PNode::accept_property_verifier*/;
1031 return_label43
: while(false);
1032 tracehead
= trace
.prev
;
1035 val_t
mmbuilder___PropertyVerifierVisitor___signature_builder(val_t self
) {
1036 struct trace_t trace
= {NULL
, NULL
, 370, LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder
};
1037 val_t
*variable
= NULL
;
1038 void **closurevariable
= NULL
;
1039 trace
.prev
= tracehead
; tracehead
= &trace
;
1040 trace
.file
= LOCATE_mmbuilder
;
1041 tracehead
= trace
.prev
;
1042 return ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder( self
) /*PropertyVerifierVisitor::_signature_builder*/;
1044 void mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t self
, val_t param0
) {
1045 struct trace_t trace
= {NULL
, NULL
, 370, LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder__eq
};
1046 val_t
*variable
= NULL
;
1047 void **closurevariable
= NULL
;
1048 trace
.prev
= tracehead
; tracehead
= &trace
;
1049 trace
.file
= LOCATE_mmbuilder
;
1050 ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder( self
) /*PropertyVerifierVisitor::_signature_builder*/ = param0
;
1051 tracehead
= trace
.prev
;
1054 void mmbuilder___PropertyVerifierVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
1055 struct trace_t trace
= {NULL
, NULL
, 375, LOCATE_mmbuilder___PropertyVerifierVisitor___init
};
1057 void **closurevariable
= NULL
;
1058 trace
.prev
= tracehead
; tracehead
= &trace
;
1059 trace
.file
= LOCATE_mmbuilder
;
1061 variable
[1] = param0
;
1062 variable
[2] = param1
;
1063 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_PropertyVerifierVisitor
].i
]) return;
1064 CALL_syntax_base___AbsSyntaxVisitor___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
1065 variable
[4] = variable
[0];
1066 variable
[5] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init(); /*new SignatureBuilder*/
1067 ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(variable
[4]) /*PropertyVerifierVisitor::_signature_builder*/ = variable
[5];
1068 return_label44
: while(false);
1069 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_PropertyVerifierVisitor
].i
] = 1;
1070 tracehead
= trace
.prev
;
1073 val_t
mmbuilder___SignatureBuilder___params(val_t self
) {
1074 struct trace_t trace
= {NULL
, NULL
, 384, LOCATE_mmbuilder___SignatureBuilder___params
};
1075 val_t
*variable
= NULL
;
1076 void **closurevariable
= NULL
;
1077 trace
.prev
= tracehead
; tracehead
= &trace
;
1078 trace
.file
= LOCATE_mmbuilder
;
1079 tracehead
= trace
.prev
;
1080 return ATTR_mmbuilder___SignatureBuilder____params( self
) /*SignatureBuilder::_params*/;
1082 void mmbuilder___SignatureBuilder___params__eq(val_t self
, val_t param0
) {
1083 struct trace_t trace
= {NULL
, NULL
, 384, LOCATE_mmbuilder___SignatureBuilder___params__eq
};
1084 val_t
*variable
= NULL
;
1085 void **closurevariable
= NULL
;
1086 trace
.prev
= tracehead
; tracehead
= &trace
;
1087 trace
.file
= LOCATE_mmbuilder
;
1088 ATTR_mmbuilder___SignatureBuilder____params( self
) /*SignatureBuilder::_params*/ = param0
;
1089 tracehead
= trace
.prev
;
1092 val_t
mmbuilder___SignatureBuilder___untyped_params(val_t self
) {
1093 struct trace_t trace
= {NULL
, NULL
, 387, LOCATE_mmbuilder___SignatureBuilder___untyped_params
};
1094 val_t
*variable
= NULL
;
1095 void **closurevariable
= NULL
;
1096 trace
.prev
= tracehead
; tracehead
= &trace
;
1097 trace
.file
= LOCATE_mmbuilder
;
1098 tracehead
= trace
.prev
;
1099 return ATTR_mmbuilder___SignatureBuilder____untyped_params( self
) /*SignatureBuilder::_untyped_params*/;
1101 void mmbuilder___SignatureBuilder___untyped_params__eq(val_t self
, val_t param0
) {
1102 struct trace_t trace
= {NULL
, NULL
, 387, LOCATE_mmbuilder___SignatureBuilder___untyped_params__eq
};
1103 val_t
*variable
= NULL
;
1104 void **closurevariable
= NULL
;
1105 trace
.prev
= tracehead
; tracehead
= &trace
;
1106 trace
.file
= LOCATE_mmbuilder
;
1107 ATTR_mmbuilder___SignatureBuilder____untyped_params( self
) /*SignatureBuilder::_untyped_params*/ = param0
;
1108 tracehead
= trace
.prev
;
1111 val_t
mmbuilder___SignatureBuilder___vararg_rank(val_t self
) {
1112 struct trace_t trace
= {NULL
, NULL
, 390, LOCATE_mmbuilder___SignatureBuilder___vararg_rank
};
1113 val_t
*variable
= NULL
;
1114 void **closurevariable
= NULL
;
1115 trace
.prev
= tracehead
; tracehead
= &trace
;
1116 trace
.file
= LOCATE_mmbuilder
;
1117 tracehead
= trace
.prev
;
1118 return ATTR_mmbuilder___SignatureBuilder____vararg_rank( self
) /*SignatureBuilder::_vararg_rank*/;
1120 void mmbuilder___SignatureBuilder___vararg_rank__eq(val_t self
, val_t param0
) {
1121 struct trace_t trace
= {NULL
, NULL
, 390, LOCATE_mmbuilder___SignatureBuilder___vararg_rank__eq
};
1122 val_t
*variable
= NULL
;
1123 void **closurevariable
= NULL
;
1124 trace
.prev
= tracehead
; tracehead
= &trace
;
1125 trace
.file
= LOCATE_mmbuilder
;
1126 ATTR_mmbuilder___SignatureBuilder____vararg_rank( self
) /*SignatureBuilder::_vararg_rank*/ = param0
;
1127 tracehead
= trace
.prev
;
1130 val_t
mmbuilder___SignatureBuilder___closure_decls(val_t self
) {
1131 struct trace_t trace
= {NULL
, NULL
, 393, LOCATE_mmbuilder___SignatureBuilder___closure_decls
};
1132 val_t
*variable
= NULL
;
1133 void **closurevariable
= NULL
;
1134 trace
.prev
= tracehead
; tracehead
= &trace
;
1135 trace
.file
= LOCATE_mmbuilder
;
1136 tracehead
= trace
.prev
;
1137 return ATTR_mmbuilder___SignatureBuilder____closure_decls( self
) /*SignatureBuilder::_closure_decls*/;
1139 void mmbuilder___SignatureBuilder___closure_decls__eq(val_t self
, val_t param0
) {
1140 struct trace_t trace
= {NULL
, NULL
, 393, LOCATE_mmbuilder___SignatureBuilder___closure_decls__eq
};
1141 val_t
*variable
= NULL
;
1142 void **closurevariable
= NULL
;
1143 trace
.prev
= tracehead
; tracehead
= &trace
;
1144 trace
.file
= LOCATE_mmbuilder
;
1145 ATTR_mmbuilder___SignatureBuilder____closure_decls( self
) /*SignatureBuilder::_closure_decls*/ = param0
;
1146 tracehead
= trace
.prev
;
1149 val_t
mmbuilder___SignatureBuilder___signature(val_t self
) {
1150 struct trace_t trace
= {NULL
, NULL
, 396, LOCATE_mmbuilder___SignatureBuilder___signature
};
1151 val_t
*variable
= NULL
;
1152 void **closurevariable
= NULL
;
1153 trace
.prev
= tracehead
; tracehead
= &trace
;
1154 trace
.file
= LOCATE_mmbuilder
;
1155 tracehead
= trace
.prev
;
1156 return ATTR_mmbuilder___SignatureBuilder____signature( self
) /*SignatureBuilder::_signature*/;
1158 void mmbuilder___SignatureBuilder___signature__eq(val_t self
, val_t param0
) {
1159 struct trace_t trace
= {NULL
, NULL
, 396, LOCATE_mmbuilder___SignatureBuilder___signature__eq
};
1160 val_t
*variable
= NULL
;
1161 void **closurevariable
= NULL
;
1162 trace
.prev
= tracehead
; tracehead
= &trace
;
1163 trace
.file
= LOCATE_mmbuilder
;
1164 ATTR_mmbuilder___SignatureBuilder____signature( self
) /*SignatureBuilder::_signature*/ = param0
;
1165 tracehead
= trace
.prev
;
1168 void mmbuilder___SignatureBuilder___init(val_t self
, int* init_table
) {
1169 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_mmbuilder___SignatureBuilder___init
};
1170 val_t
*variable
= NULL
;
1171 void **closurevariable
= NULL
;
1172 trace
.prev
= tracehead
; tracehead
= &trace
;
1173 trace
.file
= LOCATE_mmbuilder
;
1174 tracehead
= trace
.prev
;
1177 void mmbuilder___PNode___accept_class_builder(val_t self
, val_t param0
) {
1178 struct trace_t trace
= {NULL
, NULL
, 403, LOCATE_mmbuilder___PNode___accept_class_builder
};
1180 void **closurevariable
= NULL
;
1181 trace
.prev
= tracehead
; tracehead
= &trace
;
1182 trace
.file
= LOCATE_mmbuilder
;
1184 variable
[1] = param0
;
1185 variable
[3] = variable
[0];
1186 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[3])(variable
[3], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1187 return_label45
: while(false);
1188 tracehead
= trace
.prev
;
1191 void mmbuilder___PNode___accept_class_specialization_builder(val_t self
, val_t param0
) {
1192 struct trace_t trace
= {NULL
, NULL
, 404, LOCATE_mmbuilder___PNode___accept_class_specialization_builder
};
1194 void **closurevariable
= NULL
;
1195 trace
.prev
= tracehead
; tracehead
= &trace
;
1196 trace
.file
= LOCATE_mmbuilder
;
1198 variable
[1] = param0
;
1199 variable
[3] = variable
[0];
1200 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[3])(variable
[3], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1201 return_label46
: while(false);
1202 tracehead
= trace
.prev
;
1205 void mmbuilder___PNode___accept_class_ancestor_builder(val_t self
, val_t param0
) {
1206 struct trace_t trace
= {NULL
, NULL
, 405, LOCATE_mmbuilder___PNode___accept_class_ancestor_builder
};
1208 void **closurevariable
= NULL
;
1209 trace
.prev
= tracehead
; tracehead
= &trace
;
1210 trace
.file
= LOCATE_mmbuilder
;
1212 variable
[1] = param0
;
1213 variable
[3] = variable
[0];
1214 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[3])(variable
[3], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1215 return_label47
: while(false);
1216 tracehead
= trace
.prev
;
1219 void mmbuilder___PNode___accept_class_verifier(val_t self
, val_t param0
) {
1220 struct trace_t trace
= {NULL
, NULL
, 406, LOCATE_mmbuilder___PNode___accept_class_verifier
};
1222 void **closurevariable
= NULL
;
1223 trace
.prev
= tracehead
; tracehead
= &trace
;
1224 trace
.file
= LOCATE_mmbuilder
;
1226 variable
[1] = param0
;
1227 variable
[3] = variable
[0];
1228 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[3])(variable
[3], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1229 return_label48
: while(false);
1230 tracehead
= trace
.prev
;
1233 void mmbuilder___PNode___accept_property_builder(val_t self
, val_t param0
) {
1234 struct trace_t trace
= {NULL
, NULL
, 407, LOCATE_mmbuilder___PNode___accept_property_builder
};
1236 void **closurevariable
= NULL
;
1237 trace
.prev
= tracehead
; tracehead
= &trace
;
1238 trace
.file
= LOCATE_mmbuilder
;
1240 variable
[1] = param0
;
1241 variable
[3] = variable
[0];
1242 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[3])(variable
[3], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1243 return_label49
: while(false);
1244 tracehead
= trace
.prev
;
1247 void mmbuilder___PNode___accept_property_verifier(val_t self
, val_t param0
) {
1248 struct trace_t trace
= {NULL
, NULL
, 408, LOCATE_mmbuilder___PNode___accept_property_verifier
};
1250 void **closurevariable
= NULL
;
1251 trace
.prev
= tracehead
; tracehead
= &trace
;
1252 trace
.file
= LOCATE_mmbuilder
;
1254 variable
[1] = param0
;
1255 variable
[3] = variable
[0];
1256 CALL_syntax_base___PNode___accept_abs_syntax_visitor(variable
[3])(variable
[3], variable
[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1257 return_label50
: while(false);
1258 tracehead
= trace
.prev
;
1261 void mmbuilder___AModule___import_super_modules(val_t self
, val_t param0
, val_t param1
) {
1262 struct trace_t trace
= {NULL
, NULL
, 412, LOCATE_mmbuilder___AModule___import_super_modules
};
1263 static val_t once_value_53
; static int once_bool_53
; /* Once value for variable[8]*/
1265 void **closurevariable
= NULL
;
1266 trace
.prev
= tracehead
; tracehead
= &trace
;
1267 trace
.file
= LOCATE_mmbuilder
;
1269 variable
[1] = param0
;
1270 variable
[2] = param1
;
1271 variable
[5] = NEW_Array_array___Array___init(); /*new Array[Symbol]*/
1272 variable
[4] = variable
[5];
1273 variable
[6] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, Int]*/
1274 variable
[5] = variable
[6];
1275 variable
[6] = NIT_NULL
/*null*/;
1276 variable
[7] = variable
[0];
1277 variable
[7] = CALL_parser_nodes___AModule___n_imports(variable
[7])(variable
[7]) /*AModule::n_imports*/;
1278 variable
[7] = CALL_abstract_collection___Collection___iterator(variable
[7])(variable
[7]) /*List::iterator*/;
1279 while (true) { /*for*/
1280 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*ListIterator::is_ok*/;
1281 if (!UNTAG_Bool(variable
[8])) break; /*for*/
1282 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*ListIterator::item*/;
1283 variable
[9] = variable
[8];
1284 variable
[11] = CALL_mmbuilder___PImport___module_name( variable
[9] /*i*/)( variable
[9] /*i*/) /*PImport::module_name*/;
1285 variable
[10] = variable
[11];
1286 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::==*/)))))));
1287 if (UNTAG_Bool(variable
[11])) { /*if*/
1288 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*module_names_to_import*/)( variable
[4] /*module_names_to_import*/, variable
[10] /*n*/) /*AbstractArray::add*/;
1289 variable
[11] = CALL_mmbuilder___PImport___visibility_level( variable
[9] /*i*/)( variable
[9] /*i*/) /*PImport::visibility_level*/;
1290 CALL_abstract_collection___Map_____braeq( variable
[5] /*module_visibility*/)( variable
[5] /*module_visibility*/, variable
[10] /*n*/, variable
[11]) /*HashMap::[]=*/;
1292 variable
[6] = variable
[9] /*i*/ /*no_import=*/;
1294 continue_52
: while(0);
1295 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*ListIterator::next*/;
1298 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::==*/)))))));
1299 if (UNTAG_Bool(variable
[7])) { /*if*/
1300 variable
[7] = CALL_abstract_collection___Collection___is_empty( variable
[4] /*module_names_to_import*/)( variable
[4] /*module_names_to_import*/) /*AbstractArray::is_empty*/;
1301 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[7])))) { /*if*/
1302 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1303 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1304 variable
[9] = variable
[8];
1305 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
1306 variable
[10] = CALL_parser_prod___PNode___locate( variable
[6] /*no_import*/)( variable
[6] /*no_import*/) /*Prod::locate*/;
1307 variable
[11] = variable
[10];
1308 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[11]) /*AbstractArray::add*/;
1309 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(": Error: Top modules cannot import other modules."), TAG_Int(49)); /*new String*/
1310 variable
[13] = variable
[12];
1311 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[13]) /*AbstractArray::add*/;
1312 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1313 CALL_mmloader___ToolContext___error( variable
[1] /*tc*/)( variable
[1] /*tc*/, variable
[7]) /*ToolContext::error*/;
1316 variable
[7] = CALL_abstract_collection___Collection___is_empty( variable
[4] /*module_names_to_import*/)( variable
[4] /*module_names_to_import*/) /*AbstractArray::is_empty*/;
1317 if (UNTAG_Bool(variable
[7])) { /*if*/
1318 if (once_bool_53
) variable
[8] = once_value_53
;
1320 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("standard"), TAG_Int(8)); /*new String*/
1321 variable
[8] = CALL_symbol___String___to_symbol(variable
[8])(variable
[8]) /*String::to_symbol*/;
1322 once_value_53
= variable
[8];
1323 once_bool_53
= true;
1325 variable
[7] = variable
[8];
1326 CALL_abstract_collection___SimpleCollection___add( variable
[4] /*module_names_to_import*/)( variable
[4] /*module_names_to_import*/, variable
[7] /*stdname*/) /*AbstractArray::add*/;
1327 CALL_abstract_collection___Map_____braeq( variable
[5] /*module_visibility*/)( variable
[5] /*module_visibility*/, variable
[7] /*stdname*/, TAG_Int(1)) /*HashMap::[]=*/;
1330 CALL_mmloader___MMModule___import_supers_modules( variable
[2] /*mod*/)( variable
[2] /*mod*/, variable
[4] /*module_names_to_import*/) /*MMModule::import_supers_modules*/;
1331 variable
[7] = CALL_abstract_collection___Collection___iterator( variable
[4] /*module_names_to_import*/)( variable
[4] /*module_names_to_import*/) /*AbstractArray::iterator*/;
1332 while (true) { /*for*/
1333 variable
[8] = CALL_abstract_collection___Iterator___is_ok(variable
[7])(variable
[7]) /*ArrayIterator::is_ok*/;
1334 if (!UNTAG_Bool(variable
[8])) break; /*for*/
1335 variable
[8] = CALL_abstract_collection___Iterator___item(variable
[7])(variable
[7]) /*ArrayIterator::item*/;
1336 variable
[9] = variable
[8];
1337 variable
[11] = CALL_abstract_collection___Map_____bra( variable
[5] /*module_visibility*/)( variable
[5] /*module_visibility*/, variable
[9] /*mname*/) /*CoupleMap::[]*/;
1338 variable
[10] = variable
[11];
1339 variable
[12] = CALL_mmloader___ToolContext___get_module( variable
[1] /*tc*/)( variable
[1] /*tc*/, variable
[9] /*mname*/, variable
[2] /*mod*/) /*ToolContext::get_module*/;
1340 variable
[11] = variable
[12];
1341 CALL_abstractmetamodel___MMModule___add_super_module( variable
[2] /*mod*/)( variable
[2] /*mod*/, variable
[11] /*m*/, variable
[10] /*level*/) /*MMModule::add_super_module*/;
1342 continue_54
: while(0);
1343 CALL_abstract_collection___Iterator___next(variable
[7])(variable
[7]) /*ArrayIterator::next*/;
1346 return_label51
: while(false);
1347 tracehead
= trace
.prev
;
1350 void mmbuilder___APackagedecl___accept_class_builder(val_t self
, val_t param0
) {
1351 struct trace_t trace
= {NULL
, NULL
, 449, LOCATE_mmbuilder___APackagedecl___accept_class_builder
};
1353 void **closurevariable
= NULL
;
1354 trace
.prev
= tracehead
; tracehead
= &trace
;
1355 trace
.file
= LOCATE_mmbuilder
;
1357 variable
[1] = param0
;
1358 variable
[3] = variable
[0];
1359 variable
[3] = CALL_parser_nodes___APackagedecl___n_id(variable
[3])(variable
[3]) /*APackagedecl::n_id*/;
1360 variable
[3] = CALL_syntax_base___Token___to_symbol(variable
[3])(variable
[3]) /*Token::to_symbol*/;
1361 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1362 variable
[4] = CALL_abstractmetamodel___MMModule___name(variable
[4])(variable
[4]) /*MMModule::name*/;
1363 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::==*/)))))));
1364 if (UNTAG_Bool(variable
[3])) { /*if*/
1365 variable
[3] = variable
[0];
1366 variable
[3] = CALL_parser_nodes___APackagedecl___n_id(variable
[3])(variable
[3]) /*APackagedecl::n_id*/;
1367 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1368 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("Error: Package name missmatch between "), TAG_Int(38)); /*new String*/
1369 variable
[6] = variable
[5];
1370 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[6]) /*AbstractArray::add*/;
1371 variable
[7] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1372 variable
[7] = CALL_abstractmetamodel___MMModule___name(variable
[7])(variable
[7]) /*MMModule::name*/;
1373 variable
[8] = variable
[7];
1374 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
1375 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[8]) /*AbstractArray::add*/;
1376 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)); /*new String*/
1377 variable
[10] = variable
[9];
1378 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[10]) /*AbstractArray::add*/;
1379 variable
[11] = variable
[0];
1380 variable
[11] = CALL_parser_nodes___APackagedecl___n_id(variable
[11])(variable
[11]) /*APackagedecl::n_id*/;
1381 variable
[11] = CALL_syntax_base___Token___to_symbol(variable
[11])(variable
[11]) /*Token::to_symbol*/;
1382 variable
[12] = variable
[11];
1383 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
1384 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[12]) /*AbstractArray::add*/;
1385 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1386 variable
[14] = variable
[13];
1387 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[14]) /*AbstractArray::add*/;
1388 variable
[4] = CALL_string___Object___to_s(variable
[4])(variable
[4]) /*Object::to_s*/;
1389 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3], variable
[4]) /*AbsSyntaxVisitor::error*/;
1391 return_label55
: while(false);
1392 tracehead
= trace
.prev
;
1395 val_t
mmbuilder___PImport___module_name(val_t self
) {
1396 struct trace_t trace
= {NULL
, NULL
, 458, LOCATE_mmbuilder___PImport___module_name
};
1397 val_t
*variable
= NULL
;
1398 void **closurevariable
= NULL
;
1399 trace
.prev
= tracehead
; tracehead
= &trace
;
1400 trace
.file
= LOCATE_mmbuilder
;
1401 fprintf(stderr
, "Deferred method called");
1402 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 458);
1404 tracehead
= trace
.prev
;
1407 val_t
mmbuilder___PImport___visibility_level(val_t self
) {
1408 struct trace_t trace
= {NULL
, NULL
, 461, LOCATE_mmbuilder___PImport___visibility_level
};
1409 val_t
*variable
= NULL
;
1410 void **closurevariable
= NULL
;
1411 trace
.prev
= tracehead
; tracehead
= &trace
;
1412 trace
.file
= LOCATE_mmbuilder
;
1413 fprintf(stderr
, "Deferred method called");
1414 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 461);
1416 tracehead
= trace
.prev
;
1419 val_t
mmbuilder___AImport___module_name(val_t self
) {
1420 struct trace_t trace
= {NULL
, NULL
, 465, LOCATE_mmbuilder___AImport___module_name
};
1422 void **closurevariable
= NULL
;
1423 trace
.prev
= tracehead
; tracehead
= &trace
;
1424 trace
.file
= LOCATE_mmbuilder
;
1426 variable
[2] = variable
[0];
1427 variable
[2] = CALL_parser_nodes___AImport___n_id(variable
[2])(variable
[2]) /*AImport::n_id*/;
1428 variable
[2] = CALL_syntax_base___Token___to_symbol(variable
[2])(variable
[2]) /*Token::to_symbol*/;
1429 variable
[1] = variable
[2];
1430 goto return_label56
;
1431 return_label56
: while(false);
1432 tracehead
= trace
.prev
;
1435 val_t
mmbuilder___AImport___visibility_level(val_t self
) {
1436 struct trace_t trace
= {NULL
, NULL
, 469, LOCATE_mmbuilder___AImport___visibility_level
};
1438 void **closurevariable
= NULL
;
1439 trace
.prev
= tracehead
; tracehead
= &trace
;
1440 trace
.file
= LOCATE_mmbuilder
;
1442 variable
[2] = variable
[0];
1443 variable
[2] = CALL_parser_nodes___AImport___n_visibility(variable
[2])(variable
[2]) /*AImport::n_visibility*/;
1444 variable
[2] = CALL_mmbuilder___PVisibility___level(variable
[2])(variable
[2]) /*PVisibility::level*/;
1445 variable
[1] = variable
[2];
1446 goto return_label57
;
1447 return_label57
: while(false);
1448 tracehead
= trace
.prev
;
1451 val_t
mmbuilder___ANoImport___module_name(val_t self
) {
1452 struct trace_t trace
= {NULL
, NULL
, 475, LOCATE_mmbuilder___ANoImport___module_name
};
1454 void **closurevariable
= NULL
;
1455 trace
.prev
= tracehead
; tracehead
= &trace
;
1456 trace
.file
= LOCATE_mmbuilder
;
1458 variable
[1] = NIT_NULL
/*null*/;
1459 goto return_label58
;
1460 return_label58
: while(false);
1461 tracehead
= trace
.prev
;
1464 val_t
mmbuilder___PVisibility___level(val_t self
) {
1465 struct trace_t trace
= {NULL
, NULL
, 482, LOCATE_mmbuilder___PVisibility___level
};
1466 val_t
*variable
= NULL
;
1467 void **closurevariable
= NULL
;
1468 trace
.prev
= tracehead
; tracehead
= &trace
;
1469 trace
.file
= LOCATE_mmbuilder
;
1470 fprintf(stderr
, "Deferred method called");
1471 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 482);
1473 tracehead
= trace
.prev
;
1476 val_t
mmbuilder___APublicVisibility___level(val_t self
) {
1477 struct trace_t trace
= {NULL
, NULL
, 486, LOCATE_mmbuilder___APublicVisibility___level
};
1479 void **closurevariable
= NULL
;
1480 trace
.prev
= tracehead
; tracehead
= &trace
;
1481 trace
.file
= LOCATE_mmbuilder
;
1483 variable
[1] = TAG_Int(1);
1484 goto return_label59
;
1485 return_label59
: while(false);
1486 tracehead
= trace
.prev
;
1489 val_t
mmbuilder___AProtectedVisibility___level(val_t self
) {
1490 struct trace_t trace
= {NULL
, NULL
, 489, LOCATE_mmbuilder___AProtectedVisibility___level
};
1492 void **closurevariable
= NULL
;
1493 trace
.prev
= tracehead
; tracehead
= &trace
;
1494 trace
.file
= LOCATE_mmbuilder
;
1496 variable
[1] = TAG_Int(2);
1497 goto return_label60
;
1498 return_label60
: while(false);
1499 tracehead
= trace
.prev
;
1502 val_t
mmbuilder___APrivateVisibility___level(val_t self
) {
1503 struct trace_t trace
= {NULL
, NULL
, 492, LOCATE_mmbuilder___APrivateVisibility___level
};
1505 void **closurevariable
= NULL
;
1506 trace
.prev
= tracehead
; tracehead
= &trace
;
1507 trace
.file
= LOCATE_mmbuilder
;
1509 variable
[1] = TAG_Int(3);
1510 goto return_label61
;
1511 return_label61
: while(false);
1512 tracehead
= trace
.prev
;
1515 val_t
mmbuilder___AIntrudeVisibility___level(val_t self
) {
1516 struct trace_t trace
= {NULL
, NULL
, 495, LOCATE_mmbuilder___AIntrudeVisibility___level
};
1518 void **closurevariable
= NULL
;
1519 trace
.prev
= tracehead
; tracehead
= &trace
;
1520 trace
.file
= LOCATE_mmbuilder
;
1522 variable
[1] = TAG_Int(0);
1523 goto return_label62
;
1524 return_label62
: while(false);
1525 tracehead
= trace
.prev
;
1528 void mmbuilder___PClassdef___accept_abs_syntax_visitor(val_t self
, val_t param0
) {
1529 struct trace_t trace
= {NULL
, NULL
, 550, LOCATE_mmbuilder___PClassdef___accept_abs_syntax_visitor
};
1531 void **closurevariable
= NULL
;
1532 trace
.prev
= tracehead
; tracehead
= &trace
;
1533 trace
.file
= LOCATE_mmbuilder
;
1535 variable
[1] = param0
;
1536 variable
[3] = variable
[0];
1537 variable
[3] = ATTR_mmbuilder___PClassdef____local_class(variable
[3]) /*PClassdef::_local_class*/;
1538 CALL_syntax_base___AbsSyntaxVisitor___local_class__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*AbsSyntaxVisitor::local_class=*/;
1539 CALL_SUPER_mmbuilder___PClassdef___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1]) /*super PClassdef::accept_abs_syntax_visitor*/;
1540 CALL_syntax_base___AbsSyntaxVisitor___local_class__eq( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/) /*AbsSyntaxVisitor::local_class=*/;
1541 return_label63
: while(false);
1542 tracehead
= trace
.prev
;
1545 val_t
mmbuilder___PClassdef___local_class(val_t self
) {
1546 struct trace_t trace
= {NULL
, NULL
, 500, LOCATE_mmbuilder___PClassdef___local_class
};
1547 val_t
*variable
= NULL
;
1548 void **closurevariable
= NULL
;
1549 trace
.prev
= tracehead
; tracehead
= &trace
;
1550 trace
.file
= LOCATE_mmbuilder
;
1551 tracehead
= trace
.prev
;
1552 return ATTR_mmbuilder___PClassdef____local_class( self
) /*PClassdef::_local_class*/;
1554 void mmbuilder___PClassdef___accept_class_builder(val_t self
, val_t param0
) {
1555 struct trace_t trace
= {NULL
, NULL
, 511, LOCATE_mmbuilder___PClassdef___accept_class_builder
};
1557 void **closurevariable
= NULL
;
1558 trace
.prev
= tracehead
; tracehead
= &trace
;
1559 trace
.file
= LOCATE_mmbuilder
;
1561 variable
[1] = param0
;
1562 /*variable[3] is variable local_class*/
1563 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1564 variable
[4] = variable
[5];
1565 variable
[6] = CALL_syntax_base___MMSrcModule___src_local_classes( variable
[4] /*mod*/)( variable
[4] /*mod*/) /*MMSrcModule::src_local_classes*/;
1566 variable
[5] = variable
[6];
1567 variable
[6] = variable
[0];
1568 variable
[6] = CALL_mmbuilder___PClassdef___name(variable
[6])(variable
[6]) /*PClassdef::name*/;
1569 variable
[6] = CALL_abstract_collection___Map___has_key( variable
[5] /*local_classes*/)( variable
[5] /*local_classes*/, variable
[6]) /*Map::has_key*/;
1570 if (UNTAG_Bool(variable
[6])) { /*if*/
1571 variable
[6] = variable
[0];
1572 variable
[6] = CALL_mmbuilder___PClassdef___name(variable
[6])(variable
[6]) /*PClassdef::name*/;
1573 variable
[6] = CALL_abstract_collection___Map_____bra( variable
[5] /*local_classes*/)( variable
[5] /*local_classes*/, variable
[6]) /*Map::[]*/;
1574 variable
[3] = variable
[6] /*local_class=*/;
1575 variable
[6] = variable
[0];
1576 variable
[6] = TAG_Bool((variable
[6]==NIT_NULL
) || VAL_ISA(variable
[6], COLOR_AClassdef
, ID_AClassdef
)) /*cast AClassdef*/;
1577 if (UNTAG_Bool(variable
[6])) { /*if*/
1578 variable
[6] = variable
[0];
1579 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1580 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Error: A class "), TAG_Int(15)); /*new String*/
1581 variable
[9] = variable
[8];
1582 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
1583 variable
[10] = variable
[0];
1584 variable
[10] = CALL_mmbuilder___PClassdef___name(variable
[10])(variable
[10]) /*AClassdef::name*/;
1585 variable
[11] = variable
[10];
1586 variable
[11] = CALL_string___Object___to_s(variable
[11])(variable
[11]) /*Object::to_s*/;
1587 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[11]) /*AbstractArray::add*/;
1588 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(" is already defined at line "), TAG_Int(28)); /*new String*/
1589 variable
[13] = variable
[12];
1590 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[13]) /*AbstractArray::add*/;
1591 variable
[14] = CALL_syntax_base___MMSrcLocalClass___nodes( variable
[3] /*local_class*/)( variable
[3] /*local_class*/) /*MMSrcLocalClass::nodes*/;
1592 variable
[14] = CALL_abstract_collection___Collection___first(variable
[14])(variable
[14]) /*IndexedCollection::first*/;
1593 variable
[14] = CALL_parser_prod___Prod___first_token(variable
[14])(variable
[14]) /*Prod::first_token*/;
1594 variable
[14] = CALL_lexer___Token___line(variable
[14])(variable
[14]) /*Token::line*/;
1595 variable
[15] = variable
[14];
1596 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
1597 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[15]) /*AbstractArray::add*/;
1598 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1599 variable
[17] = variable
[16];
1600 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[17]) /*AbstractArray::add*/;
1601 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
1602 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6], variable
[7]) /*AbsSyntaxVisitor::error*/;
1603 goto return_label64
;
1605 variable
[6] = CALL_syntax_base___MMSrcLocalClass___nodes( variable
[3] /*local_class*/)( variable
[3] /*local_class*/) /*MMSrcLocalClass::nodes*/;
1606 variable
[7] = variable
[0];
1607 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[7]) /*AbstractArray::add*/;
1609 variable
[6] = variable
[0];
1610 variable
[6] = CALL_mmbuilder___PClassdef___name(variable
[6])(variable
[6]) /*PClassdef::name*/;
1611 variable
[7] = variable
[0];
1612 variable
[8] = variable
[0];
1613 variable
[8] = CALL_mmbuilder___PClassdef___arity(variable
[8])(variable
[8]) /*PClassdef::arity*/;
1614 variable
[9] = NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(variable
[6], variable
[7], variable
[8]); /*new MMSrcLocalClass*/
1615 variable
[6] = variable
[9];
1616 variable
[3] = variable
[6] /*local_class=*/;
1617 CALL_abstractmetamodel___MMModule___add_local_class( variable
[4] /*mod*/)( variable
[4] /*mod*/, variable
[3] /*local_class*/) /*MMModule::add_local_class*/;
1618 variable
[6] = variable
[0];
1619 variable
[6] = CALL_mmbuilder___PClassdef___name(variable
[6])(variable
[6]) /*PClassdef::name*/;
1620 CALL_abstract_collection___Map_____braeq( variable
[5] /*local_classes*/)( variable
[5] /*local_classes*/, variable
[6], variable
[3] /*local_class*/) /*Map::[]=*/;
1621 variable
[7] = variable
[0];
1622 variable
[7] = CALL_mmbuilder___PClassdef___name(variable
[7])(variable
[7]) /*PClassdef::name*/;
1623 variable
[7] = CALL_abstractmetamodel___MMModule___global_class_named( variable
[4] /*mod*/)( variable
[4] /*mod*/, variable
[7]) /*MMModule::global_class_named*/;
1624 variable
[6] = variable
[7];
1625 variable
[7] = TAG_Bool(( variable
[6] /*g*/ == NIT_NULL
/*null*/) || (( variable
[6] /*g*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[6] /*g*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[6] /*g*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[6] /*g*/)( variable
[6] /*g*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1626 if (UNTAG_Bool(variable
[7])) { /*if*/
1627 CALL_abstractmetamodel___MMLocalClass___new_global( variable
[3] /*local_class*/)( variable
[3] /*local_class*/) /*MMLocalClass::new_global*/;
1628 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global( variable
[3] /*local_class*/)( variable
[3] /*local_class*/) /*MMLocalClass::global*/;
1629 variable
[6] = variable
[7] /*g=*/;
1631 CALL_abstractmetamodel___MMLocalClass___set_global( variable
[3] /*local_class*/)( variable
[3] /*local_class*/, variable
[6] /*g*/) /*MMLocalClass::set_global*/;
1634 variable
[6] = variable
[0];
1635 ATTR_mmbuilder___PClassdef____local_class(variable
[6]) /*PClassdef::_local_class*/ = variable
[3] /*local_class*/;
1636 CALL_mmbuilder___ClassBuilderVisitor___local_class_arity__eq( variable
[1] /*v*/)( variable
[1] /*v*/, TAG_Int(0)) /*ClassBuilderVisitor::local_class_arity=*/;
1637 variable
[6] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, MMTypeFormalParameter]*/
1638 CALL_mmbuilder___ClassBuilderVisitor___formals__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6]) /*ClassBuilderVisitor::formals=*/;
1639 CALL_SUPER_mmbuilder___PClassdef___accept_class_builder(variable
[0])(variable
[0], variable
[1]) /*super PClassdef::accept_class_builder*/;
1640 variable
[6] = variable
[0];
1641 variable
[6] = ATTR_mmbuilder___PClassdef____local_class(variable
[6]) /*PClassdef::_local_class*/;
1642 variable
[7] = CALL_mmbuilder___ClassBuilderVisitor___formals( variable
[1] /*v*/)( variable
[1] /*v*/) /*ClassBuilderVisitor::formals*/;
1643 CALL_syntax_base___MMSrcLocalClass___formal_dict__eq(variable
[6])(variable
[6], variable
[7]) /*MMSrcLocalClass::formal_dict=*/;
1644 CALL_mmbuilder___ClassBuilderVisitor___formals__eq( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/) /*ClassBuilderVisitor::formals=*/;
1645 return_label64
: while(false);
1646 tracehead
= trace
.prev
;
1649 val_t
mmbuilder___PClassdef___name(val_t self
) {
1650 struct trace_t trace
= {NULL
, NULL
, 502, LOCATE_mmbuilder___PClassdef___name
};
1651 val_t
*variable
= NULL
;
1652 void **closurevariable
= NULL
;
1653 trace
.prev
= tracehead
; tracehead
= &trace
;
1654 trace
.file
= LOCATE_mmbuilder
;
1655 fprintf(stderr
, "Deferred method called");
1656 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 502);
1658 tracehead
= trace
.prev
;
1661 val_t
mmbuilder___PClassdef___arity(val_t self
) {
1662 struct trace_t trace
= {NULL
, NULL
, 505, LOCATE_mmbuilder___PClassdef___arity
};
1664 void **closurevariable
= NULL
;
1665 trace
.prev
= tracehead
; tracehead
= &trace
;
1666 trace
.file
= LOCATE_mmbuilder
;
1668 variable
[1] = TAG_Int(0);
1669 goto return_label65
;
1670 return_label65
: while(false);
1671 tracehead
= trace
.prev
;
1674 val_t
mmbuilder___PClassdef___visibility_level(val_t self
) {
1675 struct trace_t trace
= {NULL
, NULL
, 508, LOCATE_mmbuilder___PClassdef___visibility_level
};
1677 void **closurevariable
= NULL
;
1678 trace
.prev
= tracehead
; tracehead
= &trace
;
1679 trace
.file
= LOCATE_mmbuilder
;
1681 variable
[1] = TAG_Int(1);
1682 goto return_label66
;
1683 return_label66
: while(false);
1684 tracehead
= trace
.prev
;
1687 val_t
mmbuilder___PClasskind___is_interface(val_t self
) {
1688 struct trace_t trace
= {NULL
, NULL
, 559, LOCATE_mmbuilder___PClasskind___is_interface
};
1690 void **closurevariable
= NULL
;
1691 trace
.prev
= tracehead
; tracehead
= &trace
;
1692 trace
.file
= LOCATE_mmbuilder
;
1694 variable
[1] = TAG_Bool(false);
1695 goto return_label67
;
1696 return_label67
: while(false);
1697 tracehead
= trace
.prev
;
1700 val_t
mmbuilder___PClasskind___is_universal(val_t self
) {
1701 struct trace_t trace
= {NULL
, NULL
, 560, LOCATE_mmbuilder___PClasskind___is_universal
};
1703 void **closurevariable
= NULL
;
1704 trace
.prev
= tracehead
; tracehead
= &trace
;
1705 trace
.file
= LOCATE_mmbuilder
;
1707 variable
[1] = TAG_Bool(false);
1708 goto return_label68
;
1709 return_label68
: while(false);
1710 tracehead
= trace
.prev
;
1713 val_t
mmbuilder___PClasskind___is_abstract(val_t self
) {
1714 struct trace_t trace
= {NULL
, NULL
, 561, LOCATE_mmbuilder___PClasskind___is_abstract
};
1716 void **closurevariable
= NULL
;
1717 trace
.prev
= tracehead
; tracehead
= &trace
;
1718 trace
.file
= LOCATE_mmbuilder
;
1720 variable
[1] = TAG_Bool(false);
1721 goto return_label69
;
1722 return_label69
: while(false);
1723 tracehead
= trace
.prev
;
1726 val_t
mmbuilder___AInterfaceClasskind___is_interface(val_t self
) {
1727 struct trace_t trace
= {NULL
, NULL
, 565, LOCATE_mmbuilder___AInterfaceClasskind___is_interface
};
1729 void **closurevariable
= NULL
;
1730 trace
.prev
= tracehead
; tracehead
= &trace
;
1731 trace
.file
= LOCATE_mmbuilder
;
1733 variable
[1] = TAG_Bool(true);
1734 goto return_label70
;
1735 return_label70
: while(false);
1736 tracehead
= trace
.prev
;
1739 val_t
mmbuilder___AUniversalClasskind___is_universal(val_t self
) {
1740 struct trace_t trace
= {NULL
, NULL
, 568, LOCATE_mmbuilder___AUniversalClasskind___is_universal
};
1742 void **closurevariable
= NULL
;
1743 trace
.prev
= tracehead
; tracehead
= &trace
;
1744 trace
.file
= LOCATE_mmbuilder
;
1746 variable
[1] = TAG_Bool(true);
1747 goto return_label71
;
1748 return_label71
: while(false);
1749 tracehead
= trace
.prev
;
1752 val_t
mmbuilder___AAbstractClasskind___is_abstract(val_t self
) {
1753 struct trace_t trace
= {NULL
, NULL
, 571, LOCATE_mmbuilder___AAbstractClasskind___is_abstract
};
1755 void **closurevariable
= NULL
;
1756 trace
.prev
= tracehead
; tracehead
= &trace
;
1757 trace
.file
= LOCATE_mmbuilder
;
1759 variable
[1] = TAG_Bool(true);
1760 goto return_label72
;
1761 return_label72
: while(false);
1762 tracehead
= trace
.prev
;
1765 void mmbuilder___AClassdef___accept_class_verifier(val_t self
, val_t param0
) {
1766 struct trace_t trace
= {NULL
, NULL
, 583, LOCATE_mmbuilder___AClassdef___accept_class_verifier
};
1768 void **closurevariable
= NULL
;
1769 trace
.prev
= tracehead
; tracehead
= &trace
;
1770 trace
.file
= LOCATE_mmbuilder
;
1772 variable
[1] = param0
;
1773 CALL_SUPER_mmbuilder___AClassdef___accept_class_verifier(variable
[0])(variable
[0], variable
[1]) /*super AClassdef::accept_class_verifier*/;
1774 variable
[4] = variable
[0];
1775 variable
[4] = ATTR_mmbuilder___PClassdef____local_class(variable
[4]) /*PClassdef::_local_class*/;
1776 variable
[4] = CALL_abstractmetamodel___MMLocalClass___global(variable
[4])(variable
[4]) /*MMLocalClass::global*/;
1777 variable
[3] = variable
[4];
1778 variable
[4] = CALL_abstractmetamodel___MMGlobalClass___intro( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::intro*/;
1779 variable
[5] = variable
[0];
1780 variable
[5] = ATTR_mmbuilder___PClassdef____local_class(variable
[5]) /*PClassdef::_local_class*/;
1781 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::==*/)))));
1782 if (UNTAG_Bool(variable
[4])) { /*if*/
1783 variable
[4] = variable
[0];
1784 variable
[4] = CALL_mmbuilder___PClassdef___visibility_level(variable
[4])(variable
[4]) /*AClassdef::visibility_level*/;
1785 CALL_abstractmetamodel___MMGlobalClass___visibility_level__eq( variable
[3] /*glob*/)( variable
[3] /*glob*/, variable
[4]) /*MMGlobalClass::visibility_level=*/;
1786 variable
[4] = variable
[0];
1787 variable
[4] = CALL_parser_nodes___AClassdef___n_classkind(variable
[4])(variable
[4]) /*AClassdef::n_classkind*/;
1788 variable
[4] = CALL_mmbuilder___PClasskind___is_interface(variable
[4])(variable
[4]) /*PClasskind::is_interface*/;
1789 CALL_abstractmetamodel___MMGlobalClass___is_interface__eq( variable
[3] /*glob*/)( variable
[3] /*glob*/, variable
[4]) /*MMGlobalClass::is_interface=*/;
1790 variable
[4] = variable
[0];
1791 variable
[4] = CALL_parser_nodes___AClassdef___n_classkind(variable
[4])(variable
[4]) /*AClassdef::n_classkind*/;
1792 variable
[4] = CALL_mmbuilder___PClasskind___is_abstract(variable
[4])(variable
[4]) /*PClasskind::is_abstract*/;
1793 CALL_abstractmetamodel___MMGlobalClass___is_abstract__eq( variable
[3] /*glob*/)( variable
[3] /*glob*/, variable
[4]) /*MMGlobalClass::is_abstract=*/;
1794 variable
[4] = variable
[0];
1795 variable
[4] = CALL_parser_nodes___AClassdef___n_classkind(variable
[4])(variable
[4]) /*AClassdef::n_classkind*/;
1796 variable
[4] = CALL_mmbuilder___PClasskind___is_universal(variable
[4])(variable
[4]) /*PClasskind::is_universal*/;
1797 CALL_abstractmetamodel___MMGlobalClass___is_universal__eq( variable
[3] /*glob*/)( variable
[3] /*glob*/, variable
[4]) /*MMGlobalClass::is_universal=*/;
1798 variable
[4] = variable
[0];
1799 variable
[4] = CALL_parser_nodes___AClassdef___n_kwredef(variable
[4])(variable
[4]) /*AClassdef::n_kwredef*/;
1800 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::==*/)))))));
1801 if (UNTAG_Bool(variable
[4])) { /*if*/
1802 variable
[4] = variable
[0];
1803 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1804 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: No class "), TAG_Int(22)); /*new String*/
1805 variable
[7] = variable
[6];
1806 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[7]) /*AbstractArray::add*/;
1807 variable
[8] = variable
[0];
1808 variable
[8] = CALL_mmbuilder___PClassdef___name(variable
[8])(variable
[8]) /*AClassdef::name*/;
1809 variable
[9] = variable
[8];
1810 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
1811 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[9]) /*AbstractArray::add*/;
1812 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(" is imported. Remove the redef keyword to define a new class."), TAG_Int(61)); /*new String*/
1813 variable
[11] = variable
[10];
1814 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[11]) /*AbstractArray::add*/;
1815 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
1816 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4], variable
[5]) /*AbsSyntaxVisitor::error*/;
1818 variable
[4] = variable
[0];
1819 variable
[4] = ATTR_mmbuilder___PClassdef____local_class(variable
[4]) /*PClassdef::_local_class*/;
1820 variable
[4] = CALL_abstractmetamodel___MMLocalClass___cshe(variable
[4])(variable
[4]) /*MMLocalClass::cshe*/;
1821 variable
[4] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[4])(variable
[4]) /*PartialOrderElement::direct_greaters*/;
1822 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArray::iterator*/;
1823 while (true) { /*for*/
1824 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
1825 if (!UNTAG_Bool(variable
[5])) break; /*for*/
1826 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/;
1827 variable
[6] = variable
[5];
1828 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::global*/;
1829 variable
[7] = variable
[8];
1830 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::is_interface*/;
1831 if (UNTAG_Bool(variable
[8])) { /*if*/
1832 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[7] /*cg*/)( variable
[7] /*cg*/) /*MMGlobalClass::is_universal*/;
1833 if (UNTAG_Bool(variable
[8])) { /*if*/
1834 variable
[8] = variable
[0];
1835 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1836 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Interface "), TAG_Int(25)); /*new String*/
1837 variable
[11] = variable
[10];
1838 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
1839 variable
[12] = variable
[0];
1840 variable
[12] = CALL_mmbuilder___PClassdef___name(variable
[12])(variable
[12]) /*AClassdef::name*/;
1841 variable
[13] = variable
[12];
1842 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
1843 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
1844 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise universal class "), TAG_Int(35)); /*new String*/
1845 variable
[15] = variable
[14];
1846 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
1847 variable
[16] = CALL_abstractmetamodel___MMLocalClass___name( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::name*/;
1848 variable
[17] = variable
[16];
1849 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
1850 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[17]) /*AbstractArray::add*/;
1851 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1852 variable
[19] = variable
[18];
1853 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[19]) /*AbstractArray::add*/;
1854 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
1855 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
1857 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[7] /*cg*/)( variable
[7] /*cg*/) /*MMGlobalClass::is_interface*/;
1858 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[8])))) { /*if*/
1859 variable
[8] = variable
[0];
1860 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1861 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Interface "), TAG_Int(25)); /*new String*/
1862 variable
[11] = variable
[10];
1863 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
1864 variable
[12] = variable
[0];
1865 variable
[12] = CALL_mmbuilder___PClassdef___name(variable
[12])(variable
[12]) /*AClassdef::name*/;
1866 variable
[13] = variable
[12];
1867 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
1868 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
1869 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise class "), TAG_Int(25)); /*new String*/
1870 variable
[15] = variable
[14];
1871 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
1872 variable
[16] = CALL_abstractmetamodel___MMLocalClass___name( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::name*/;
1873 variable
[17] = variable
[16];
1874 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
1875 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[17]) /*AbstractArray::add*/;
1876 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1877 variable
[19] = variable
[18];
1878 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[19]) /*AbstractArray::add*/;
1879 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
1880 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
1884 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::is_universal*/;
1885 if (UNTAG_Bool(variable
[8])) { /*if*/
1886 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[7] /*cg*/)( variable
[7] /*cg*/) /*MMGlobalClass::is_interface*/;
1887 variable
[8] = TAG_Bool(!UNTAG_Bool(variable
[8]));
1888 if (UNTAG_Bool(variable
[8])) { /* and */
1889 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[7] /*cg*/)( variable
[7] /*cg*/) /*MMGlobalClass::is_universal*/;
1890 variable
[8] = TAG_Bool(!UNTAG_Bool(variable
[8]));
1892 if (UNTAG_Bool(variable
[8])) { /*if*/
1893 variable
[8] = variable
[0];
1894 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1895 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Universal class "), TAG_Int(31)); /*new String*/
1896 variable
[11] = variable
[10];
1897 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
1898 variable
[12] = variable
[0];
1899 variable
[12] = CALL_mmbuilder___PClassdef___name(variable
[12])(variable
[12]) /*AClassdef::name*/;
1900 variable
[13] = variable
[12];
1901 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
1902 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
1903 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise class "), TAG_Int(25)); /*new String*/
1904 variable
[15] = variable
[14];
1905 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
1906 variable
[16] = CALL_abstractmetamodel___MMLocalClass___name( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::name*/;
1907 variable
[17] = variable
[16];
1908 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
1909 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[17]) /*AbstractArray::add*/;
1910 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1911 variable
[19] = variable
[18];
1912 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[19]) /*AbstractArray::add*/;
1913 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
1914 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
1917 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[7] /*cg*/)( variable
[7] /*cg*/) /*MMGlobalClass::is_universal*/;
1918 if (UNTAG_Bool(variable
[8])) { /*if*/
1919 variable
[8] = variable
[0];
1920 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1921 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Class "), TAG_Int(21)); /*new String*/
1922 variable
[11] = variable
[10];
1923 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
1924 variable
[12] = variable
[0];
1925 variable
[12] = CALL_mmbuilder___PClassdef___name(variable
[12])(variable
[12]) /*AClassdef::name*/;
1926 variable
[13] = variable
[12];
1927 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
1928 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
1929 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise universal class "), TAG_Int(35)); /*new String*/
1930 variable
[15] = variable
[14];
1931 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
1932 variable
[16] = CALL_abstractmetamodel___MMLocalClass___name( variable
[6] /*c*/)( variable
[6] /*c*/) /*MMLocalClass::name*/;
1933 variable
[17] = variable
[16];
1934 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
1935 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[17]) /*AbstractArray::add*/;
1936 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1937 variable
[19] = variable
[18];
1938 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[19]) /*AbstractArray::add*/;
1939 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
1940 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
1944 continue_74
: while(0);
1945 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
1948 goto return_label73
;
1950 variable
[4] = variable
[0];
1951 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1952 CALL_syntax_base___MMGlobalClass___check_visibility( variable
[3] /*glob*/)( variable
[3] /*glob*/, variable
[1] /*v*/, variable
[4], variable
[5]) /*MMGlobalClass::check_visibility*/;
1953 variable
[4] = variable
[0];
1954 variable
[4] = CALL_parser_nodes___AClassdef___n_kwredef(variable
[4])(variable
[4]) /*AClassdef::n_kwredef*/;
1955 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::==*/)))));
1956 if (UNTAG_Bool(variable
[4])) { /*if*/
1957 variable
[4] = variable
[0];
1958 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1959 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
1960 variable
[7] = variable
[6];
1961 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[7]) /*AbstractArray::add*/;
1962 variable
[8] = variable
[0];
1963 variable
[8] = CALL_mmbuilder___PClassdef___name(variable
[8])(variable
[8]) /*AClassdef::name*/;
1964 variable
[9] = variable
[8];
1965 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
1966 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[9]) /*AbstractArray::add*/;
1967 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(" is an imported class. Add the redef keyword to refine it."), TAG_Int(58)); /*new String*/
1968 variable
[11] = variable
[10];
1969 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[11]) /*AbstractArray::add*/;
1970 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
1971 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4], variable
[5]) /*AbsSyntaxVisitor::error*/;
1972 goto return_label73
;
1974 variable
[4] = CALL_abstractmetamodel___MMGlobalClass___intro( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::intro*/;
1975 variable
[4] = CALL_abstractmetamodel___MMLocalClass___arity(variable
[4])(variable
[4]) /*MMLocalClass::arity*/;
1976 variable
[5] = variable
[0];
1977 variable
[5] = ATTR_mmbuilder___PClassdef____local_class(variable
[5]) /*PClassdef::_local_class*/;
1978 variable
[5] = CALL_abstractmetamodel___MMLocalClass___arity(variable
[5])(variable
[5]) /*MMLocalClass::arity*/;
1979 variable
[4] = TAG_Bool((variable
[4])!=(variable
[5]));
1980 if (UNTAG_Bool(variable
[4])) { /*if*/
1981 variable
[4] = variable
[0];
1982 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1983 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Formal parameter arity missmatch; got "), TAG_Int(51)); /*new String*/
1984 variable
[7] = variable
[6];
1985 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[7]) /*AbstractArray::add*/;
1986 variable
[8] = variable
[0];
1987 variable
[8] = ATTR_mmbuilder___PClassdef____local_class(variable
[8]) /*PClassdef::_local_class*/;
1988 variable
[8] = CALL_abstractmetamodel___MMLocalClass___arity(variable
[8])(variable
[8]) /*MMLocalClass::arity*/;
1989 variable
[9] = variable
[8];
1990 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
1991 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[9]) /*AbstractArray::add*/;
1992 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(", expected "), TAG_Int(11)); /*new String*/
1993 variable
[11] = variable
[10];
1994 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[11]) /*AbstractArray::add*/;
1995 variable
[12] = CALL_abstractmetamodel___MMGlobalClass___intro( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::intro*/;
1996 variable
[12] = CALL_abstractmetamodel___MMLocalClass___arity(variable
[12])(variable
[12]) /*MMLocalClass::arity*/;
1997 variable
[13] = variable
[12];
1998 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
1999 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[13]) /*AbstractArray::add*/;
2000 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2001 variable
[15] = variable
[14];
2002 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[15]) /*AbstractArray::add*/;
2003 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
2004 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4], variable
[5]) /*AbsSyntaxVisitor::error*/;
2006 variable
[4] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::is_interface*/;
2007 variable
[4] = TAG_Bool(!UNTAG_Bool(variable
[4]));
2008 if (UNTAG_Bool(variable
[4])) { /* and */
2009 variable
[4] = variable
[0];
2010 variable
[4] = CALL_parser_nodes___AClassdef___n_classkind(variable
[4])(variable
[4]) /*AClassdef::n_classkind*/;
2011 variable
[4] = CALL_mmbuilder___PClasskind___is_interface(variable
[4])(variable
[4]) /*PClasskind::is_interface*/;
2013 variable
[5] = variable
[4];
2014 if (!UNTAG_Bool(variable
[5])) { /* or */
2015 variable
[5] = CALL_abstractmetamodel___MMGlobalClass___is_abstract( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::is_abstract*/;
2016 variable
[5] = TAG_Bool(!UNTAG_Bool(variable
[5]));
2018 variable
[4] = variable
[5];
2019 variable
[5] = variable
[4];
2020 if (UNTAG_Bool(variable
[5])) { /* and */
2021 variable
[5] = variable
[0];
2022 variable
[5] = CALL_parser_nodes___AClassdef___n_classkind(variable
[5])(variable
[5]) /*AClassdef::n_classkind*/;
2023 variable
[5] = CALL_mmbuilder___PClasskind___is_abstract(variable
[5])(variable
[5]) /*PClasskind::is_abstract*/;
2025 variable
[4] = variable
[5];
2026 variable
[5] = variable
[4];
2027 if (!UNTAG_Bool(variable
[5])) { /* or */
2028 variable
[5] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[3] /*glob*/)( variable
[3] /*glob*/) /*MMGlobalClass::is_universal*/;
2029 variable
[5] = TAG_Bool(!UNTAG_Bool(variable
[5]));
2031 variable
[4] = variable
[5];
2032 variable
[5] = variable
[4];
2033 if (UNTAG_Bool(variable
[5])) { /* and */
2034 variable
[5] = variable
[0];
2035 variable
[5] = CALL_parser_nodes___AClassdef___n_classkind(variable
[5])(variable
[5]) /*AClassdef::n_classkind*/;
2036 variable
[5] = CALL_mmbuilder___PClasskind___is_universal(variable
[5])(variable
[5]) /*PClasskind::is_universal*/;
2038 variable
[4] = variable
[5];
2039 if (UNTAG_Bool(variable
[4])) { /*if*/
2040 variable
[4] = variable
[0];
2041 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2042 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: cannot change kind of class "), TAG_Int(41)); /*new String*/
2043 variable
[7] = variable
[6];
2044 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[7]) /*AbstractArray::add*/;
2045 variable
[8] = variable
[0];
2046 variable
[8] = CALL_mmbuilder___PClassdef___name(variable
[8])(variable
[8]) /*AClassdef::name*/;
2047 variable
[9] = variable
[8];
2048 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2049 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[9]) /*AbstractArray::add*/;
2050 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2051 variable
[11] = variable
[10];
2052 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[11]) /*AbstractArray::add*/;
2053 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
2054 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4], variable
[5]) /*AbsSyntaxVisitor::error*/;
2056 return_label73
: while(false);
2057 tracehead
= trace
.prev
;
2060 val_t
mmbuilder___AClassdef___name(val_t self
) {
2061 struct trace_t trace
= {NULL
, NULL
, 575, LOCATE_mmbuilder___AClassdef___name
};
2063 void **closurevariable
= NULL
;
2064 trace
.prev
= tracehead
; tracehead
= &trace
;
2065 trace
.file
= LOCATE_mmbuilder
;
2067 variable
[2] = variable
[0];
2068 variable
[2] = CALL_parser_nodes___AClassdef___n_id(variable
[2])(variable
[2]) /*AClassdef::n_id*/;
2069 variable
[2] = CALL_syntax_base___Token___to_symbol(variable
[2])(variable
[2]) /*Token::to_symbol*/;
2070 variable
[1] = variable
[2];
2071 goto return_label75
;
2072 return_label75
: while(false);
2073 tracehead
= trace
.prev
;
2076 val_t
mmbuilder___AClassdef___arity(val_t self
) {
2077 struct trace_t trace
= {NULL
, NULL
, 579, LOCATE_mmbuilder___AClassdef___arity
};
2079 void **closurevariable
= NULL
;
2080 trace
.prev
= tracehead
; tracehead
= &trace
;
2081 trace
.file
= LOCATE_mmbuilder
;
2083 variable
[2] = variable
[0];
2084 variable
[2] = CALL_parser_nodes___AClassdef___n_formaldefs(variable
[2])(variable
[2]) /*AClassdef::n_formaldefs*/;
2085 variable
[2] = CALL_abstract_collection___Collection___length(variable
[2])(variable
[2]) /*List::length*/;
2086 variable
[1] = variable
[2];
2087 goto return_label76
;
2088 return_label76
: while(false);
2089 tracehead
= trace
.prev
;
2092 val_t
mmbuilder___AClassdef___visibility_level(val_t self
) {
2093 struct trace_t trace
= {NULL
, NULL
, 640, LOCATE_mmbuilder___AClassdef___visibility_level
};
2095 void **closurevariable
= NULL
;
2096 trace
.prev
= tracehead
; tracehead
= &trace
;
2097 trace
.file
= LOCATE_mmbuilder
;
2099 variable
[2] = variable
[0];
2100 variable
[2] = CALL_parser_nodes___AClassdef___n_visibility(variable
[2])(variable
[2]) /*AClassdef::n_visibility*/;
2101 variable
[2] = CALL_mmbuilder___PVisibility___level(variable
[2])(variable
[2]) /*PVisibility::level*/;
2102 variable
[1] = variable
[2];
2103 goto return_label77
;
2104 return_label77
: while(false);
2105 tracehead
= trace
.prev
;
2108 val_t
mmbuilder___AMainClassdef___name(val_t self
) {
2109 struct trace_t trace
= {NULL
, NULL
, 647, LOCATE_mmbuilder___AMainClassdef___name
};
2110 static val_t once_value_79
; static int once_bool_79
; /* Once value for variable[2]*/
2112 void **closurevariable
= NULL
;
2113 trace
.prev
= tracehead
; tracehead
= &trace
;
2114 trace
.file
= LOCATE_mmbuilder
;
2116 if (once_bool_79
) variable
[2] = once_value_79
;
2118 variable
[2] = NEW_String_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)); /*new String*/
2119 variable
[2] = CALL_symbol___String___to_symbol(variable
[2])(variable
[2]) /*String::to_symbol*/;
2120 once_value_79
= variable
[2];
2121 once_bool_79
= true;
2123 variable
[1] = variable
[2];
2124 goto return_label78
;
2125 return_label78
: while(false);
2126 tracehead
= trace
.prev
;
2129 val_t
mmbuilder___ATopClassdef___name(val_t self
) {
2130 struct trace_t trace
= {NULL
, NULL
, 654, LOCATE_mmbuilder___ATopClassdef___name
};
2131 static val_t once_value_81
; static int once_bool_81
; /* Once value for variable[2]*/
2133 void **closurevariable
= NULL
;
2134 trace
.prev
= tracehead
; tracehead
= &trace
;
2135 trace
.file
= LOCATE_mmbuilder
;
2137 if (once_bool_81
) variable
[2] = once_value_81
;
2139 variable
[2] = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
2140 variable
[2] = CALL_symbol___String___to_symbol(variable
[2])(variable
[2]) /*String::to_symbol*/;
2141 once_value_81
= variable
[2];
2142 once_bool_81
= true;
2144 variable
[1] = variable
[2];
2145 goto return_label80
;
2146 return_label80
: while(false);
2147 tracehead
= trace
.prev
;
2150 val_t
mmbuilder___MMSrcTypeFormalParameter___node(val_t self
) {
2151 struct trace_t trace
= {NULL
, NULL
, 662, LOCATE_mmbuilder___MMSrcTypeFormalParameter___node
};
2152 val_t
*variable
= NULL
;
2153 void **closurevariable
= NULL
;
2154 trace
.prev
= tracehead
; tracehead
= &trace
;
2155 trace
.file
= LOCATE_mmbuilder
;
2156 tracehead
= trace
.prev
;
2157 return ATTR_mmbuilder___MMSrcTypeFormalParameter____node( self
) /*MMSrcTypeFormalParameter::_node*/;
2159 void mmbuilder___MMSrcTypeFormalParameter___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
, int* init_table
) {
2160 struct trace_t trace
= {NULL
, NULL
, 665, LOCATE_mmbuilder___MMSrcTypeFormalParameter___init
};
2162 void **closurevariable
= NULL
;
2163 trace
.prev
= tracehead
; tracehead
= &trace
;
2164 trace
.file
= LOCATE_mmbuilder
;
2166 variable
[1] = param0
;
2167 variable
[2] = param1
;
2168 variable
[3] = param2
;
2169 variable
[4] = param3
;
2170 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcTypeFormalParameter
].i
]) return;
2171 CALL_genericity___MMTypeFormalParameter___init(variable
[0])(variable
[0], variable
[1] /*name*/, variable
[2] /*pos*/, variable
[3] /*local_class*/, init_table
/*YYY*/) /*MMTypeFormalParameter::init*/;
2172 variable
[6] = variable
[0];
2173 ATTR_mmbuilder___MMSrcTypeFormalParameter____node(variable
[6]) /*MMSrcTypeFormalParameter::_node*/ = variable
[4] /*n*/;
2174 return_label82
: while(false);
2175 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcTypeFormalParameter
].i
] = 1;
2176 tracehead
= trace
.prev
;
2179 void mmbuilder___AFormaldef___accept_class_builder(val_t self
, val_t param0
) {
2180 struct trace_t trace
= {NULL
, NULL
, 676, LOCATE_mmbuilder___AFormaldef___accept_class_builder
};
2182 void **closurevariable
= NULL
;
2183 trace
.prev
= tracehead
; tracehead
= &trace
;
2184 trace
.file
= LOCATE_mmbuilder
;
2186 variable
[1] = param0
;
2187 variable
[4] = variable
[0];
2188 variable
[4] = CALL_parser_nodes___AFormaldef___n_id(variable
[4])(variable
[4]) /*AFormaldef::n_id*/;
2189 variable
[4] = CALL_syntax_base___Token___to_symbol(variable
[4])(variable
[4]) /*Token::to_symbol*/;
2190 variable
[3] = variable
[4];
2191 variable
[5] = CALL_mmbuilder___ClassBuilderVisitor___local_class_arity( variable
[1] /*v*/)( variable
[1] /*v*/) /*ClassBuilderVisitor::local_class_arity*/;
2192 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2193 variable
[7] = variable
[0];
2194 variable
[8] = NEW_MMSrcTypeFormalParameter_mmbuilder___MMSrcTypeFormalParameter___init( variable
[3] /*name*/, variable
[5], variable
[6], variable
[7]); /*new MMSrcTypeFormalParameter*/
2195 variable
[5] = variable
[8];
2196 variable
[4] = variable
[5];
2197 variable
[5] = variable
[0];
2198 ATTR_mmbuilder___AFormaldef____formal(variable
[5]) /*AFormaldef::_formal*/ = variable
[4] /*formal_type*/;
2199 variable
[5] = CALL_mmbuilder___ClassBuilderVisitor___local_class_arity( variable
[1] /*v*/)( variable
[1] /*v*/) /*ClassBuilderVisitor::local_class_arity*/;
2200 variable
[5] = TAG_Int(UNTAG_Int(variable
[5])+UNTAG_Int( TAG_Int(1)));
2201 CALL_mmbuilder___ClassBuilderVisitor___local_class_arity__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5]) /*ClassBuilderVisitor::local_class_arity=*/;
2202 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2203 CALL_genericity___MMLocalClass___register_formal(variable
[5])(variable
[5], variable
[4] /*formal_type*/) /*MMLocalClass::register_formal*/;
2204 variable
[5] = CALL_mmbuilder___ClassBuilderVisitor___formals( variable
[1] /*v*/)( variable
[1] /*v*/) /*ClassBuilderVisitor::formals*/;
2205 CALL_abstract_collection___Map_____braeq(variable
[5])(variable
[5], variable
[3] /*name*/, variable
[4] /*formal_type*/) /*Map::[]=*/;
2206 CALL_SUPER_mmbuilder___AFormaldef___accept_class_builder(variable
[0])(variable
[0], variable
[1]) /*super AFormaldef::accept_class_builder*/;
2207 return_label83
: while(false);
2208 tracehead
= trace
.prev
;
2211 void mmbuilder___AFormaldef___accept_class_verifier(val_t self
, val_t param0
) {
2212 struct trace_t trace
= {NULL
, NULL
, 687, LOCATE_mmbuilder___AFormaldef___accept_class_verifier
};
2214 void **closurevariable
= NULL
;
2215 trace
.prev
= tracehead
; tracehead
= &trace
;
2216 trace
.file
= LOCATE_mmbuilder
;
2218 variable
[1] = param0
;
2219 CALL_SUPER_mmbuilder___AFormaldef___accept_class_verifier(variable
[0])(variable
[0], variable
[1]) /*super AFormaldef::accept_class_verifier*/;
2220 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2221 variable
[3] = variable
[4];
2222 variable
[5] = CALL_abstractmetamodel___MMLocalClass___global( variable
[3] /*c*/)( variable
[3] /*c*/) /*MMLocalClass::global*/;
2223 variable
[5] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[5])(variable
[5]) /*MMGlobalClass::intro*/;
2224 variable
[4] = variable
[5];
2225 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::==*/)))));
2226 if (UNTAG_Bool(variable
[5])) { /*if*/
2227 variable
[5] = variable
[0];
2228 variable
[5] = CALL_parser_nodes___AFormaldef___n_type(variable
[5])(variable
[5]) /*AFormaldef::n_type*/;
2229 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::==*/)))));
2230 if (UNTAG_Bool(variable
[5])) { /*if*/
2231 variable
[5] = variable
[0];
2232 variable
[5] = ATTR_mmbuilder___AFormaldef____formal(variable
[5]) /*AFormaldef::_formal*/;
2233 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
2234 variable
[6] = CALL_inheritance___MMModule___type_any(variable
[6])(variable
[6]) /*MMModule::type_any*/;
2235 CALL_genericity___MMTypeFormalParameter___bound__eq(variable
[5])(variable
[5], variable
[6]) /*MMTypeFormalParameter::bound=*/;
2237 variable
[5] = variable
[0];
2238 variable
[5] = ATTR_mmbuilder___AFormaldef____formal(variable
[5]) /*AFormaldef::_formal*/;
2239 variable
[6] = variable
[0];
2240 variable
[6] = CALL_parser_nodes___AFormaldef___n_type(variable
[6])(variable
[6]) /*AFormaldef::n_type*/;
2241 variable
[6] = CALL_syntax_base___PType___get_stype(variable
[6])(variable
[6], variable
[1] /*v*/) /*PType::get_stype*/;
2242 CALL_genericity___MMTypeFormalParameter___bound__eq(variable
[5])(variable
[5], variable
[6]) /*MMTypeFormalParameter::bound=*/;
2245 variable
[6] = variable
[0];
2246 variable
[6] = ATTR_mmbuilder___AFormaldef____formal(variable
[6]) /*AFormaldef::_formal*/;
2247 variable
[6] = CALL_genericity___MMTypeFormalParameter___position(variable
[6])(variable
[6]) /*MMTypeFormalParameter::position*/;
2248 variable
[6] = CALL_genericity___MMLocalClass___get_formal( variable
[4] /*o*/)( variable
[4] /*o*/, variable
[6]) /*MMLocalClass::get_formal*/;
2249 variable
[6] = CALL_type_formal___MMTypeFormal___bound(variable
[6])(variable
[6]) /*MMTypeFormal::bound*/;
2250 variable
[7] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
2251 variable
[6] = CALL_static_type___MMType___for_module(variable
[6])(variable
[6], variable
[7]) /*MMType::for_module*/;
2252 variable
[5] = variable
[6];
2253 variable
[6] = variable
[0];
2254 variable
[6] = CALL_parser_nodes___AFormaldef___n_type(variable
[6])(variable
[6]) /*AFormaldef::n_type*/;
2255 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::==*/)))));
2256 if (UNTAG_Bool(variable
[6])) { /*if*/
2257 variable
[6] = variable
[0];
2258 variable
[6] = ATTR_mmbuilder___AFormaldef____formal(variable
[6]) /*AFormaldef::_formal*/;
2259 CALL_genericity___MMTypeFormalParameter___bound__eq(variable
[6])(variable
[6], variable
[5] /*ob*/) /*MMTypeFormalParameter::bound=*/;
2261 variable
[6] = variable
[0];
2262 variable
[6] = ATTR_mmbuilder___AFormaldef____formal(variable
[6]) /*AFormaldef::_formal*/;
2263 variable
[7] = variable
[0];
2264 variable
[7] = CALL_parser_nodes___AFormaldef___n_type(variable
[7])(variable
[7]) /*AFormaldef::n_type*/;
2265 variable
[7] = CALL_syntax_base___PType___get_stype(variable
[7])(variable
[7], variable
[1] /*v*/) /*PType::get_stype*/;
2266 CALL_genericity___MMTypeFormalParameter___bound__eq(variable
[6])(variable
[6], variable
[7]) /*MMTypeFormalParameter::bound=*/;
2267 variable
[6] = variable
[0];
2268 variable
[6] = ATTR_mmbuilder___AFormaldef____formal(variable
[6]) /*AFormaldef::_formal*/;
2269 variable
[6] = CALL_type_formal___MMTypeFormal___bound(variable
[6])(variable
[6]) /*MMTypeFormal::bound*/;
2270 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::==*/)))))));
2271 if (UNTAG_Bool(variable
[6])) { /*if*/
2272 variable
[6] = variable
[0];
2273 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
2274 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Cannot change formal parameter type of class "), TAG_Int(58)); /*new String*/
2275 variable
[9] = variable
[8];
2276 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
2277 variable
[10] = variable
[3] /*c*/;
2278 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
2279 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[10]) /*AbstractArray::add*/;
2280 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("; got "), TAG_Int(6)); /*new String*/
2281 variable
[12] = variable
[11];
2282 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[12]) /*AbstractArray::add*/;
2283 variable
[13] = variable
[0];
2284 variable
[13] = ATTR_mmbuilder___AFormaldef____formal(variable
[13]) /*AFormaldef::_formal*/;
2285 variable
[13] = CALL_type_formal___MMTypeFormal___bound(variable
[13])(variable
[13]) /*MMTypeFormal::bound*/;
2286 variable
[14] = variable
[13];
2287 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
2288 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[14]) /*AbstractArray::add*/;
2289 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(", expected "), TAG_Int(11)); /*new String*/
2290 variable
[16] = variable
[15];
2291 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[16]) /*AbstractArray::add*/;
2292 variable
[17] = variable
[5] /*ob*/;
2293 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
2294 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[17]) /*AbstractArray::add*/;
2295 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2296 variable
[19] = variable
[18];
2297 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[19]) /*AbstractArray::add*/;
2298 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
2299 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6], variable
[7]) /*AbsSyntaxVisitor::error*/;
2303 return_label84
: while(false);
2304 tracehead
= trace
.prev
;
2307 void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t self
, val_t param0
) {
2308 struct trace_t trace
= {NULL
, NULL
, 715, LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder
};
2310 void **closurevariable
= NULL
;
2311 trace
.prev
= tracehead
; tracehead
= &trace
;
2312 trace
.file
= LOCATE_mmbuilder
;
2314 variable
[1] = param0
;
2315 CALL_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder(variable
[0])(variable
[0], variable
[1]) /*super ASuperclass::accept_class_specialization_builder*/;
2316 variable
[4] = variable
[0];
2317 variable
[4] = CALL_parser_nodes___ASuperclass___n_type(variable
[4])(variable
[4]) /*ASuperclass::n_type*/;
2318 variable
[4] = CALL_syntax_base___PType___get_local_class(variable
[4])(variable
[4], variable
[1] /*v*/) /*PType::get_local_class*/;
2319 variable
[3] = variable
[4];
2320 variable
[5] = variable
[0];
2321 variable
[6] = NEW_MMSrcAncestor_mmbuilder___MMSrcAncestor___init(variable
[5], variable
[3] /*c*/); /*new MMSrcAncestor*/
2322 variable
[5] = variable
[6];
2323 variable
[4] = variable
[5];
2324 variable
[5] = variable
[0];
2325 ATTR_mmbuilder___ASuperclass____ancestor(variable
[5]) /*ASuperclass::_ancestor*/ = variable
[4] /*ancestor*/;
2326 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2327 CALL_inheritance___MMLocalClass___add_direct_parent(variable
[5])(variable
[5], variable
[4] /*ancestor*/) /*MMLocalClass::add_direct_parent*/;
2328 return_label85
: while(false);
2329 tracehead
= trace
.prev
;
2332 void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t self
, val_t param0
) {
2333 struct trace_t trace
= {NULL
, NULL
, 724, LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder
};
2335 void **closurevariable
= NULL
;
2336 trace
.prev
= tracehead
; tracehead
= &trace
;
2337 trace
.file
= LOCATE_mmbuilder
;
2339 variable
[1] = param0
;
2340 CALL_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder(variable
[0])(variable
[0], variable
[1]) /*super ASuperclass::accept_class_ancestor_builder*/;
2341 variable
[3] = variable
[0];
2342 variable
[3] = ATTR_mmbuilder___ASuperclass____ancestor(variable
[3]) /*ASuperclass::_ancestor*/;
2343 variable
[4] = variable
[0];
2344 variable
[4] = CALL_parser_nodes___ASuperclass___n_type(variable
[4])(variable
[4]) /*ASuperclass::n_type*/;
2345 variable
[4] = CALL_syntax_base___PType___get_unchecked_stype(variable
[4])(variable
[4], variable
[1] /*v*/) /*PType::get_unchecked_stype*/;
2346 CALL_static_type___MMAncestor___stype__eq(variable
[3])(variable
[3], variable
[4]) /*MMAncestor::stype=*/;
2347 variable
[3] = variable
[0];
2348 variable
[3] = ATTR_mmbuilder___ASuperclass____ancestor(variable
[3]) /*ASuperclass::_ancestor*/;
2349 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2350 variable
[4] = CALL_static_type___MMLocalClass___get_type(variable
[4])(variable
[4]) /*MMLocalClass::get_type*/;
2351 CALL_static_type___MMAncestor___inheriter__eq(variable
[3])(variable
[3], variable
[4]) /*MMAncestor::inheriter=*/;
2352 return_label86
: while(false);
2353 tracehead
= trace
.prev
;
2356 void mmbuilder___ASuperclass___accept_class_verifier(val_t self
, val_t param0
) {
2357 struct trace_t trace
= {NULL
, NULL
, 731, LOCATE_mmbuilder___ASuperclass___accept_class_verifier
};
2359 void **closurevariable
= NULL
;
2360 trace
.prev
= tracehead
; tracehead
= &trace
;
2361 trace
.file
= LOCATE_mmbuilder
;
2363 variable
[1] = param0
;
2364 CALL_SUPER_mmbuilder___ASuperclass___accept_class_verifier(variable
[0])(variable
[0], variable
[1]) /*super ASuperclass::accept_class_verifier*/;
2365 variable
[3] = variable
[0];
2366 variable
[3] = CALL_parser_nodes___ASuperclass___n_type(variable
[3])(variable
[3]) /*ASuperclass::n_type*/;
2367 CALL_syntax_base___PType___check_conform(variable
[3])(variable
[3], variable
[1] /*v*/) /*PType::check_conform*/;
2368 return_label87
: while(false);
2369 tracehead
= trace
.prev
;
2372 val_t
mmbuilder___ASuperclass___ancestor(val_t self
) {
2373 struct trace_t trace
= {NULL
, NULL
, 713, LOCATE_mmbuilder___ASuperclass___ancestor
};
2374 val_t
*variable
= NULL
;
2375 void **closurevariable
= NULL
;
2376 trace
.prev
= tracehead
; tracehead
= &trace
;
2377 trace
.file
= LOCATE_mmbuilder
;
2378 tracehead
= trace
.prev
;
2379 return ATTR_mmbuilder___ASuperclass____ancestor( self
) /*ASuperclass::_ancestor*/;
2381 void mmbuilder___PPropdef___process_and_check(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
2382 struct trace_t trace
= {NULL
, NULL
, 739, LOCATE_mmbuilder___PPropdef___process_and_check
};
2384 void **closurevariable
= NULL
;
2385 trace
.prev
= tracehead
; tracehead
= &trace
;
2386 trace
.file
= LOCATE_mmbuilder
;
2388 variable
[1] = param0
;
2389 variable
[2] = param1
;
2390 variable
[3] = param2
;
2391 variable
[4] = param3
;
2392 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
2393 variable
[6] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable
[6])(variable
[6]) /*MMGlobalProperty::intro*/;
2394 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::==*/)))));
2395 if (UNTAG_Bool(variable
[6])) { /*if*/
2396 variable
[6] = variable
[0];
2397 CALL_mmbuilder___PPropdef___do_and_check_intro(variable
[6])(variable
[6], variable
[1] /*v*/, variable
[2] /*prop*/, variable
[3] /*has_redef*/, variable
[4] /*visibility_level*/) /*PPropdef::do_and_check_intro*/;
2399 variable
[6] = variable
[0];
2400 CALL_mmbuilder___PPropdef___do_and_check_redef(variable
[6])(variable
[6], variable
[1] /*v*/, variable
[2] /*prop*/, variable
[3] /*has_redef*/, variable
[4] /*visibility_level*/) /*PPropdef::do_and_check_redef*/;
2402 return_label88
: while(false);
2403 tracehead
= trace
.prev
;
2406 void mmbuilder___PPropdef___do_and_check_intro(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
2407 struct trace_t trace
= {NULL
, NULL
, 754, LOCATE_mmbuilder___PPropdef___do_and_check_intro
};
2409 void **closurevariable
= NULL
;
2410 trace
.prev
= tracehead
; tracehead
= &trace
;
2411 trace
.file
= LOCATE_mmbuilder
;
2413 variable
[1] = param0
;
2414 variable
[2] = param1
;
2415 variable
[3] = param2
;
2416 variable
[4] = param3
;
2417 variable
[7] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
2418 variable
[6] = variable
[7];
2419 variable
[8] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2420 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global(variable
[8])(variable
[8]) /*MMLocalClass::global*/;
2421 variable
[7] = variable
[8];
2422 variable
[8] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2423 variable
[8] = CALL_abstractmetamodel___MMLocalClass___global(variable
[8])(variable
[8]) /*MMLocalClass::global*/;
2424 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___visibility_level(variable
[8])(variable
[8]) /*MMGlobalClass::visibility_level*/;
2425 variable
[8] = TAG_Bool(UNTAG_Int(variable
[8])>=UNTAG_Int( TAG_Int(3)));
2426 if (UNTAG_Bool(variable
[8])) { /*if*/
2427 variable
[4] = TAG_Int(3) /*visibility_level=*/;
2429 CALL_abstractmetamodel___MMGlobalProperty___visibility_level__eq( variable
[6] /*glob*/)( variable
[6] /*glob*/, variable
[4] /*visibility_level*/) /*MMGlobalProperty::visibility_level=*/;
2430 if (UNTAG_Bool( variable
[3] /*has_redef*/)) { /*if*/
2431 variable
[8] = variable
[0];
2432 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2433 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: No property "), TAG_Int(19)); /*new String*/
2434 variable
[11] = variable
[10];
2435 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
2436 variable
[12] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2437 variable
[13] = variable
[12];
2438 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
2439 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
2440 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2441 variable
[15] = variable
[14];
2442 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
2443 variable
[16] = variable
[2] /*prop*/;
2444 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
2445 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[16]) /*AbstractArray::add*/;
2446 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(" is inherited. Remove the redef keyword to define a new property."), TAG_Int(65)); /*new String*/
2447 variable
[18] = variable
[17];
2448 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[18]) /*AbstractArray::add*/;
2449 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2450 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
2452 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___is_attribute( variable
[6] /*glob*/)( variable
[6] /*glob*/) /*MMGlobalProperty::is_attribute*/;
2453 if (UNTAG_Bool(variable
[8])) { /*if*/
2454 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[7] /*gbc*/)( variable
[7] /*gbc*/) /*MMGlobalClass::is_interface*/;
2455 if (UNTAG_Bool(variable
[8])) { /*if*/
2456 variable
[8] = variable
[0];
2457 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2458 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define attribute "), TAG_Int(35)); /*new String*/
2459 variable
[11] = variable
[10];
2460 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
2461 variable
[12] = variable
[2] /*prop*/;
2462 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
2463 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[12]) /*AbstractArray::add*/;
2464 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(" in the interface "), TAG_Int(18)); /*new String*/
2465 variable
[14] = variable
[13];
2466 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[14]) /*AbstractArray::add*/;
2467 variable
[15] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2468 variable
[16] = variable
[15];
2469 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
2470 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[16]) /*AbstractArray::add*/;
2471 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2472 variable
[18] = variable
[17];
2473 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[18]) /*AbstractArray::add*/;
2474 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2475 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
2477 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[7] /*gbc*/)( variable
[7] /*gbc*/) /*MMGlobalClass::is_universal*/;
2478 if (UNTAG_Bool(variable
[8])) { /*if*/
2479 variable
[8] = variable
[0];
2480 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2481 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define attribute "), TAG_Int(35)); /*new String*/
2482 variable
[11] = variable
[10];
2483 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
2484 variable
[12] = variable
[2] /*prop*/;
2485 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
2486 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[12]) /*AbstractArray::add*/;
2487 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(" in the universal class "), TAG_Int(24)); /*new String*/
2488 variable
[14] = variable
[13];
2489 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[14]) /*AbstractArray::add*/;
2490 variable
[15] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2491 variable
[16] = variable
[15];
2492 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
2493 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[16]) /*AbstractArray::add*/;
2494 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2495 variable
[18] = variable
[17];
2496 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[18]) /*AbstractArray::add*/;
2497 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2498 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
2502 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[6] /*glob*/)( variable
[6] /*glob*/) /*MMGlobalProperty::is_init*/;
2503 if (UNTAG_Bool(variable
[8])) { /*if*/
2504 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_interface( variable
[7] /*gbc*/)( variable
[7] /*gbc*/) /*MMGlobalClass::is_interface*/;
2505 if (UNTAG_Bool(variable
[8])) { /*if*/
2506 variable
[8] = variable
[0];
2507 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2508 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define a constructor "), TAG_Int(39)); /*new String*/
2509 variable
[11] = variable
[10];
2510 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
2511 variable
[12] = variable
[2] /*prop*/;
2512 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
2513 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[12]) /*AbstractArray::add*/;
2514 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(" in the class "), TAG_Int(14)); /*new String*/
2515 variable
[14] = variable
[13];
2516 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[14]) /*AbstractArray::add*/;
2517 variable
[15] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2518 variable
[16] = variable
[15];
2519 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
2520 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[16]) /*AbstractArray::add*/;
2521 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2522 variable
[18] = variable
[17];
2523 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[18]) /*AbstractArray::add*/;
2524 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2525 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
2527 variable
[8] = CALL_abstractmetamodel___MMGlobalClass___is_universal( variable
[7] /*gbc*/)( variable
[7] /*gbc*/) /*MMGlobalClass::is_universal*/;
2528 if (UNTAG_Bool(variable
[8])) { /*if*/
2529 variable
[8] = variable
[0];
2530 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2531 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define a constructor "), TAG_Int(39)); /*new String*/
2532 variable
[11] = variable
[10];
2533 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
2534 variable
[12] = variable
[2] /*prop*/;
2535 variable
[12] = CALL_string___Object___to_s(variable
[12])(variable
[12]) /*Object::to_s*/;
2536 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[12]) /*AbstractArray::add*/;
2537 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(" in the universal "), TAG_Int(18)); /*new String*/
2538 variable
[14] = variable
[13];
2539 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[14]) /*AbstractArray::add*/;
2540 variable
[15] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2541 variable
[16] = variable
[15];
2542 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
2543 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[16]) /*AbstractArray::add*/;
2544 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2545 variable
[18] = variable
[17];
2546 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[18]) /*AbstractArray::add*/;
2547 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2548 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
2553 variable
[8] = CALL_static_type___MMLocalProperty___signature( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::signature*/;
2554 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::==*/)))));
2555 if (UNTAG_Bool(variable
[8])) { /*if*/
2556 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[6] /*glob*/)( variable
[6] /*glob*/) /*MMGlobalProperty::is_init*/;
2557 if (UNTAG_Bool(variable
[8])) { /*if*/
2558 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2559 variable
[10] = CALL_abstractmetamodel___MMLocalProperty___name( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::name*/;
2560 variable
[9] = CALL_abstractmetamodel___MMLocalClass___super_methods_named(variable
[9])(variable
[9], variable
[10]) /*MMLocalClass::super_methods_named*/;
2561 variable
[8] = variable
[9];
2562 variable
[9] = variable
[0];
2563 CALL_mmbuilder___PPropdef___inherit_signature(variable
[9])(variable
[9], variable
[1] /*v*/, variable
[2] /*prop*/, variable
[8] /*supers*/) /*PPropdef::inherit_signature*/;
2565 variable
[8] = CALL_static_type___MMLocalProperty___signature( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::signature*/;
2566 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::==*/)))))));
2567 if (UNTAG_Bool(variable
[8])) { /*if*/
2569 variable
[8] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2570 variable
[8] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[8])(variable
[8]) /*SignatureBuilder::untyped_params*/;
2571 variable
[8] = CALL_abstract_collection___Collection___is_empty(variable
[8])(variable
[8]) /*AbstractArray::is_empty*/;
2572 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[8])))) { /*if*/
2573 variable
[8] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2574 variable
[8] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[8])(variable
[8]) /*SignatureBuilder::untyped_params*/;
2575 variable
[8] = CALL_abstract_collection___Collection___first(variable
[8])(variable
[8]) /*IndexedCollection::first*/;
2576 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Error: Untyped parameter."), TAG_Int(25)); /*new String*/
2577 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
2579 variable
[8] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
2580 variable
[9] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2581 variable
[9] = CALL_static_type___MMLocalClass___get_type(variable
[9])(variable
[9]) /*MMLocalClass::get_type*/;
2582 variable
[10] = NEW_MMSignature_static_type___MMSignature___init(variable
[8], NIT_NULL
/*null*/, variable
[9]); /*new MMSignature*/
2583 variable
[8] = variable
[10];
2584 CALL_static_type___MMLocalProperty___signature__eq( variable
[2] /*prop*/)( variable
[2] /*prop*/, variable
[8]) /*MMLocalProperty::signature=*/;
2585 variable
[8] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2586 variable
[8] = CALL_mmbuilder___SignatureBuilder___closure_decls(variable
[8])(variable
[8]) /*SignatureBuilder::closure_decls*/;
2587 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::==*/)))))));
2588 if (UNTAG_Bool(variable
[8])) { /*if*/
2589 variable
[8] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2590 variable
[8] = CALL_mmbuilder___SignatureBuilder___closure_decls(variable
[8])(variable
[8]) /*SignatureBuilder::closure_decls*/;
2591 variable
[8] = CALL_abstract_collection___Collection___iterator(variable
[8])(variable
[8]) /*AbstractArray::iterator*/;
2592 while (true) { /*for*/
2593 variable
[9] = CALL_abstract_collection___Iterator___is_ok(variable
[8])(variable
[8]) /*ArrayIterator::is_ok*/;
2594 if (!UNTAG_Bool(variable
[9])) break; /*for*/
2595 variable
[9] = CALL_abstract_collection___Iterator___item(variable
[8])(variable
[8]) /*ArrayIterator::item*/;
2596 variable
[10] = variable
[9];
2597 variable
[11] = CALL_static_type___MMLocalProperty___signature( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::signature*/;
2598 variable
[11] = CALL_static_type___MMSignature___closures(variable
[11])(variable
[11]) /*MMSignature::closures*/;
2599 variable
[12] = CALL_syntax_base___PClosureDecl___variable( variable
[10] /*clos*/)( variable
[10] /*clos*/) /*AClosureDecl::variable*/;
2600 variable
[12] = CALL_syntax_base___ClosureVariable___closure(variable
[12])(variable
[12]) /*ClosureVariable::closure*/;
2601 CALL_abstract_collection___SimpleCollection___add(variable
[11])(variable
[11], variable
[12]) /*AbstractArray::add*/;
2602 continue_90
: while(0);
2603 CALL_abstract_collection___Iterator___next(variable
[8])(variable
[8]) /*ArrayIterator::next*/;
2610 return_label89
: while(false);
2611 tracehead
= trace
.prev
;
2614 void mmbuilder___PPropdef___inherit_signature(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
2615 struct trace_t trace
= {NULL
, NULL
, 800, LOCATE_mmbuilder___PPropdef___inherit_signature
};
2617 void **closurevariable
= NULL
;
2618 trace
.prev
= tracehead
; tracehead
= &trace
;
2619 trace
.file
= LOCATE_mmbuilder
;
2621 variable
[1] = param0
;
2622 variable
[2] = param1
;
2623 variable
[3] = param2
;
2624 variable
[6] = CALL_static_type___MMLocalProperty___signature( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::signature*/;
2625 variable
[5] = variable
[6];
2626 variable
[6] = CALL_abstract_collection___Collection___iterator( variable
[3] /*supers*/)( variable
[3] /*supers*/) /*AbstractArray::iterator*/;
2627 while (true) { /*for*/
2628 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*ArrayIterator::is_ok*/;
2629 if (!UNTAG_Bool(variable
[7])) break; /*for*/
2630 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*ArrayIterator::item*/;
2631 variable
[8] = variable
[7];
2632 variable
[10] = CALL_static_type___MMLocalProperty___signature( variable
[8] /*ip*/)( variable
[8] /*ip*/) /*MMLocalProperty::signature*/;
2633 variable
[11] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2634 variable
[11] = CALL_static_type___MMLocalClass___get_type(variable
[11])(variable
[11]) /*MMLocalClass::get_type*/;
2635 variable
[10] = CALL_static_type___MMSignature___adaptation_to(variable
[10])(variable
[10], variable
[11]) /*MMSignature::adaptation_to*/;
2636 variable
[9] = variable
[10];
2637 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::==*/)))));
2638 if (UNTAG_Bool(variable
[10])) { /*if*/
2639 variable
[10] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2640 variable
[10] = CALL_mmbuilder___SignatureBuilder___params(variable
[10])(variable
[10]) /*SignatureBuilder::params*/;
2641 variable
[10] = CALL_abstract_collection___Collection___length(variable
[10])(variable
[10]) /*AbstractArray::length*/;
2642 variable
[11] = CALL_static_type___MMSignature___arity( variable
[9] /*isig*/)( variable
[9] /*isig*/) /*MMSignature::arity*/;
2643 variable
[10] = TAG_Bool((variable
[10])!=(variable
[11]));
2644 if (UNTAG_Bool(variable
[10])) { /*if*/
2645 goto return_label91
;
2647 variable
[10] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2648 variable
[10] = CALL_mmbuilder___SignatureBuilder___params(variable
[10])(variable
[10]) /*SignatureBuilder::params*/;
2649 variable
[10] = CALL_abstract_collection___Collection___iterator(variable
[10])(variable
[10]) /*AbstractArray::iterator*/;
2650 while (true) { /*for*/
2651 variable
[11] = CALL_abstract_collection___Iterator___is_ok(variable
[10])(variable
[10]) /*ArrayIterator::is_ok*/;
2652 if (!UNTAG_Bool(variable
[11])) break; /*for*/
2653 variable
[11] = CALL_abstract_collection___Iterator___item(variable
[10])(variable
[10]) /*ArrayIterator::item*/;
2654 variable
[12] = variable
[11];
2655 variable
[14] = CALL_syntax_base___PParam___position( variable
[12] /*p*/)( variable
[12] /*p*/) /*PParam::position*/;
2656 variable
[14] = CALL_static_type___MMSignature_____bra( variable
[9] /*isig*/)( variable
[9] /*isig*/, variable
[14]) /*MMSignature::[]*/;
2657 variable
[13] = variable
[14];
2658 CALL_mmbuilder___PParam___stype__eq( variable
[12] /*p*/)( variable
[12] /*p*/, variable
[13] /*t*/) /*PParam::stype=*/;
2659 variable
[14] = CALL_syntax_base___PParam___position( variable
[12] /*p*/)( variable
[12] /*p*/) /*PParam::position*/;
2660 variable
[15] = CALL_vararg___MMSignature___vararg_rank( variable
[9] /*isig*/)( variable
[9] /*isig*/) /*MMSignature::vararg_rank*/;
2661 variable
[14] = TAG_Bool((variable
[14])==(variable
[15]));
2662 if (UNTAG_Bool(variable
[14])) { /*if*/
2663 variable
[14] = CALL_syntax_base___AbsSyntaxVisitor___type_array( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[13] /*t*/) /*AbsSyntaxVisitor::type_array*/;
2664 variable
[13] = variable
[14] /*t=*/;
2666 variable
[14] = CALL_syntax_base___PParam___variable( variable
[12] /*p*/)( variable
[12] /*p*/) /*PParam::variable*/;
2667 CALL_syntax_base___Variable___stype__eq(variable
[14])(variable
[14], variable
[13] /*t*/) /*Variable::stype=*/;
2668 continue_93
: while(0);
2669 CALL_abstract_collection___Iterator___next(variable
[10])(variable
[10]) /*ArrayIterator::next*/;
2672 variable
[5] = variable
[9] /*isig*/ /*s=*/;
2673 CALL_static_type___MMLocalProperty___signature__eq( variable
[2] /*prop*/)( variable
[2] /*prop*/, variable
[5] /*s*/) /*MMLocalProperty::signature=*/;
2675 continue_92
: while(0);
2676 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*ArrayIterator::next*/;
2679 return_label91
: while(false);
2680 tracehead
= trace
.prev
;
2683 void mmbuilder___PPropdef___do_and_check_redef(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
2684 struct trace_t trace
= {NULL
, NULL
, 826, LOCATE_mmbuilder___PPropdef___do_and_check_redef
};
2686 void **closurevariable
= NULL
;
2687 trace
.prev
= tracehead
; tracehead
= &trace
;
2688 trace
.file
= LOCATE_mmbuilder
;
2690 variable
[1] = param0
;
2691 variable
[2] = param1
;
2692 variable
[3] = param2
;
2693 variable
[4] = param3
;
2694 variable
[7] = variable
[0];
2695 variable
[7] = TAG_Bool((variable
[7]==NIT_NULL
) || VAL_ISA(variable
[7], COLOR_AConcreteInitPropdef
, ID_AConcreteInitPropdef
)) /*cast AConcreteInitPropdef*/;
2696 variable
[6] = variable
[7];
2697 variable
[8] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
2698 variable
[7] = variable
[8];
2699 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable
[3] /*has_redef*/)))) { /*if*/
2700 variable
[8] = variable
[0];
2701 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2702 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
2703 variable
[11] = variable
[10];
2704 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
2705 variable
[12] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2706 variable
[13] = variable
[12];
2707 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
2708 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
2709 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2710 variable
[15] = variable
[14];
2711 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
2712 variable
[16] = variable
[2] /*prop*/;
2713 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
2714 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[16]) /*AbstractArray::add*/;
2715 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(" is an inherited property. To redefine it, add the redef keyword."), TAG_Int(65)); /*new String*/
2716 variable
[18] = variable
[17];
2717 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[18]) /*AbstractArray::add*/;
2718 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2719 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
2720 goto return_label94
;
2722 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[7] /*glob*/)( variable
[7] /*glob*/) /*MMGlobalProperty::is_init*/;
2723 variable
[9] = variable
[8];
2724 if (UNTAG_Bool(variable
[9])) { /* and */
2725 variable
[9] = TAG_Bool(!UNTAG_Bool( variable
[6] /*is_init*/));
2727 variable
[8] = variable
[9];
2728 if (UNTAG_Bool(variable
[8])) { /*if*/
2729 variable
[8] = variable
[0];
2730 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2731 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: A method "), TAG_Int(22)); /*new String*/
2732 variable
[11] = variable
[10];
2733 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
2734 variable
[12] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2735 variable
[13] = variable
[12];
2736 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
2737 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
2738 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2739 variable
[15] = variable
[14];
2740 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
2741 variable
[16] = variable
[2] /*prop*/;
2742 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
2743 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[16]) /*AbstractArray::add*/;
2744 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(" cannot redefine a constructor."), TAG_Int(31)); /*new String*/
2745 variable
[18] = variable
[17];
2746 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[18]) /*AbstractArray::add*/;
2747 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2748 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
2750 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___is_init( variable
[7] /*glob*/)( variable
[7] /*glob*/) /*MMGlobalProperty::is_init*/;
2751 variable
[8] = TAG_Bool(!UNTAG_Bool(variable
[8]));
2752 if (UNTAG_Bool(variable
[8])) { /* and */
2753 variable
[8] = variable
[6] /*is_init*/;
2755 if (UNTAG_Bool(variable
[8])) { /*if*/
2756 variable
[8] = variable
[0];
2757 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2758 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: A constructor "), TAG_Int(27)); /*new String*/
2759 variable
[11] = variable
[10];
2760 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[11]) /*AbstractArray::add*/;
2761 variable
[12] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2762 variable
[13] = variable
[12];
2763 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
2764 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[13]) /*AbstractArray::add*/;
2765 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2766 variable
[15] = variable
[14];
2767 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[15]) /*AbstractArray::add*/;
2768 variable
[16] = variable
[2] /*prop*/;
2769 variable
[16] = CALL_string___Object___to_s(variable
[16])(variable
[16]) /*Object::to_s*/;
2770 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[16]) /*AbstractArray::add*/;
2771 variable
[17] = NEW_String_string___String___with_native(BOX_NativeString(" cannot redefine a method."), TAG_Int(26)); /*new String*/
2772 variable
[18] = variable
[17];
2773 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[18]) /*AbstractArray::add*/;
2774 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2775 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[8], variable
[9]) /*AbsSyntaxVisitor::error*/;
2778 variable
[9] = CALL_static_type___MMLocalProperty___signature( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::signature*/;
2779 variable
[8] = variable
[9];
2780 variable
[9] = CALL_abstractmetamodel___MMLocalProperty___prhe( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::prhe*/;
2781 variable
[9] = CALL_partial_order___PartialOrderElement___direct_greaters(variable
[9])(variable
[9]) /*PartialOrderElement::direct_greaters*/;
2782 variable
[9] = CALL_abstract_collection___Collection___iterator(variable
[9])(variable
[9]) /*AbstractArray::iterator*/;
2783 while (true) { /*for*/
2784 variable
[10] = CALL_abstract_collection___Iterator___is_ok(variable
[9])(variable
[9]) /*ArrayIterator::is_ok*/;
2785 if (!UNTAG_Bool(variable
[10])) break; /*for*/
2786 variable
[10] = CALL_abstract_collection___Iterator___item(variable
[9])(variable
[9]) /*ArrayIterator::item*/;
2787 variable
[11] = variable
[10];
2788 variable
[13] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[11] /*i*/)( variable
[11] /*i*/) /*MMLocalProperty::local_class*/;
2789 variable
[14] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
2790 variable
[13] = CALL_abstractmetamodel___MMLocalClass_____bra(variable
[13])(variable
[13], variable
[14]) /*MMLocalClass::[]*/;
2791 variable
[12] = variable
[13];
2792 variable
[14] = CALL_static_type___MMLocalProperty___signature( variable
[11] /*i*/)( variable
[11] /*i*/) /*MMLocalProperty::signature*/;
2793 variable
[15] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2794 variable
[15] = CALL_static_type___MMLocalClass___get_type(variable
[15])(variable
[15]) /*MMLocalClass::get_type*/;
2795 variable
[14] = CALL_static_type___MMSignature___adaptation_to(variable
[14])(variable
[14], variable
[15]) /*MMSignature::adaptation_to*/;
2796 variable
[13] = variable
[14];
2797 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::==*/)))));
2798 if (UNTAG_Bool(variable
[14])) { /*if*/
2799 variable
[14] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2800 variable
[14] = CALL_mmbuilder___SignatureBuilder___params(variable
[14])(variable
[14]) /*SignatureBuilder::params*/;
2801 variable
[14] = CALL_abstract_collection___Collection___length(variable
[14])(variable
[14]) /*AbstractArray::length*/;
2802 variable
[15] = CALL_static_type___MMSignature___arity( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::arity*/;
2803 variable
[14] = TAG_Bool((variable
[14])!=(variable
[15]));
2804 if (UNTAG_Bool(variable
[14])) { /*if*/
2805 variable
[14] = variable
[0];
2806 variable
[15] = NEW_Array_array___Array___with_capacity(TAG_Int(11)); /*new Array[String]*/
2807 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
2808 variable
[17] = variable
[16];
2809 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[17]) /*AbstractArray::add*/;
2810 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2811 variable
[19] = variable
[18];
2812 variable
[19] = CALL_string___Object___to_s(variable
[19])(variable
[19]) /*Object::to_s*/;
2813 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[19]) /*AbstractArray::add*/;
2814 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2815 variable
[21] = variable
[20];
2816 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[21]) /*AbstractArray::add*/;
2817 variable
[22] = variable
[2] /*prop*/;
2818 variable
[22] = CALL_string___Object___to_s(variable
[22])(variable
[22]) /*Object::to_s*/;
2819 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[22]) /*AbstractArray::add*/;
2820 variable
[23] = NEW_String_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)); /*new String*/
2821 variable
[24] = variable
[23];
2822 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[24]) /*AbstractArray::add*/;
2823 variable
[25] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
2824 variable
[26] = variable
[25];
2825 variable
[26] = CALL_string___Object___to_s(variable
[26])(variable
[26]) /*Object::to_s*/;
2826 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[26]) /*AbstractArray::add*/;
2827 variable
[27] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2828 variable
[28] = variable
[27];
2829 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[28]) /*AbstractArray::add*/;
2830 variable
[29] = variable
[12] /*ip*/;
2831 variable
[29] = CALL_string___Object___to_s(variable
[29])(variable
[29]) /*Object::to_s*/;
2832 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[29]) /*AbstractArray::add*/;
2833 variable
[30] = NEW_String_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)); /*new String*/
2834 variable
[31] = variable
[30];
2835 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[31]) /*AbstractArray::add*/;
2836 variable
[32] = CALL_static_type___MMSignature___arity( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::arity*/;
2837 variable
[33] = variable
[32];
2838 variable
[33] = CALL_string___Object___to_s(variable
[33])(variable
[33]) /*Object::to_s*/;
2839 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[33]) /*AbstractArray::add*/;
2840 variable
[34] = NEW_String_string___String___with_native(BOX_NativeString(" parameter(s)."), TAG_Int(14)); /*new String*/
2841 variable
[35] = variable
[34];
2842 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[35]) /*AbstractArray::add*/;
2843 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
2844 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[14], variable
[15]) /*AbsSyntaxVisitor::error*/;
2845 goto return_label94
;
2847 variable
[14] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2848 variable
[14] = CALL_mmbuilder___SignatureBuilder___params(variable
[14])(variable
[14]) /*SignatureBuilder::params*/;
2849 variable
[14] = CALL_abstract_collection___Collection___iterator(variable
[14])(variable
[14]) /*AbstractArray::iterator*/;
2850 while (true) { /*for*/
2851 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*ArrayIterator::is_ok*/;
2852 if (!UNTAG_Bool(variable
[15])) break; /*for*/
2853 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*ArrayIterator::item*/;
2854 variable
[16] = variable
[15];
2855 variable
[18] = CALL_syntax_base___PParam___position( variable
[16] /*p*/)( variable
[16] /*p*/) /*PParam::position*/;
2856 variable
[18] = CALL_static_type___MMSignature_____bra( variable
[13] /*isig*/)( variable
[13] /*isig*/, variable
[18]) /*MMSignature::[]*/;
2857 variable
[17] = variable
[18];
2858 CALL_mmbuilder___PParam___stype__eq( variable
[16] /*p*/)( variable
[16] /*p*/, variable
[17] /*t*/) /*PParam::stype=*/;
2859 variable
[18] = CALL_syntax_base___PParam___position( variable
[16] /*p*/)( variable
[16] /*p*/) /*PParam::position*/;
2860 variable
[19] = CALL_vararg___MMSignature___vararg_rank( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::vararg_rank*/;
2861 variable
[18] = TAG_Bool((variable
[18])==(variable
[19]));
2862 if (UNTAG_Bool(variable
[18])) { /*if*/
2863 variable
[18] = CALL_syntax_base___AbsSyntaxVisitor___type_array( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[17] /*t*/) /*AbsSyntaxVisitor::type_array*/;
2864 variable
[17] = variable
[18] /*t=*/;
2866 variable
[18] = CALL_syntax_base___PParam___variable( variable
[16] /*p*/)( variable
[16] /*p*/) /*PParam::variable*/;
2867 CALL_syntax_base___Variable___stype__eq(variable
[18])(variable
[18], variable
[17] /*t*/) /*Variable::stype=*/;
2868 continue_96
: while(0);
2869 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*ArrayIterator::next*/;
2872 variable
[8] = variable
[13] /*isig*/ /*s=*/;
2873 CALL_static_type___MMLocalProperty___signature__eq( variable
[2] /*prop*/)( variable
[2] /*prop*/, variable
[8] /*s*/) /*MMLocalProperty::signature=*/;
2875 variable
[14] = CALL_static_type___MMSignature___arity( variable
[8] /*s*/)( variable
[8] /*s*/) /*MMSignature::arity*/;
2876 variable
[15] = CALL_static_type___MMSignature___arity( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::arity*/;
2877 variable
[14] = TAG_Bool((variable
[14])!=(variable
[15]));
2878 if (UNTAG_Bool(variable
[14])) { /*if*/
2879 variable
[14] = variable
[0];
2880 variable
[15] = NEW_Array_array___Array___with_capacity(TAG_Int(11)); /*new Array[String]*/
2881 variable
[16] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
2882 variable
[17] = variable
[16];
2883 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[17]) /*AbstractArray::add*/;
2884 variable
[18] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2885 variable
[19] = variable
[18];
2886 variable
[19] = CALL_string___Object___to_s(variable
[19])(variable
[19]) /*Object::to_s*/;
2887 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[19]) /*AbstractArray::add*/;
2888 variable
[20] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2889 variable
[21] = variable
[20];
2890 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[21]) /*AbstractArray::add*/;
2891 variable
[22] = variable
[2] /*prop*/;
2892 variable
[22] = CALL_string___Object___to_s(variable
[22])(variable
[22]) /*Object::to_s*/;
2893 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[22]) /*AbstractArray::add*/;
2894 variable
[23] = NEW_String_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)); /*new String*/
2895 variable
[24] = variable
[23];
2896 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[24]) /*AbstractArray::add*/;
2897 variable
[25] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
2898 variable
[26] = variable
[25];
2899 variable
[26] = CALL_string___Object___to_s(variable
[26])(variable
[26]) /*Object::to_s*/;
2900 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[26]) /*AbstractArray::add*/;
2901 variable
[27] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2902 variable
[28] = variable
[27];
2903 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[28]) /*AbstractArray::add*/;
2904 variable
[29] = variable
[12] /*ip*/;
2905 variable
[29] = CALL_string___Object___to_s(variable
[29])(variable
[29]) /*Object::to_s*/;
2906 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[29]) /*AbstractArray::add*/;
2907 variable
[30] = NEW_String_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)); /*new String*/
2908 variable
[31] = variable
[30];
2909 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[31]) /*AbstractArray::add*/;
2910 variable
[32] = CALL_static_type___MMSignature___arity( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::arity*/;
2911 variable
[33] = variable
[32];
2912 variable
[33] = CALL_string___Object___to_s(variable
[33])(variable
[33]) /*Object::to_s*/;
2913 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[33]) /*AbstractArray::add*/;
2914 variable
[34] = NEW_String_string___String___with_native(BOX_NativeString(" parameter(s)."), TAG_Int(14)); /*new String*/
2915 variable
[35] = variable
[34];
2916 CALL_abstract_collection___SimpleCollection___add(variable
[15])(variable
[15], variable
[35]) /*AbstractArray::add*/;
2917 variable
[15] = CALL_string___Object___to_s(variable
[15])(variable
[15]) /*Object::to_s*/;
2918 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[14], variable
[15]) /*AbsSyntaxVisitor::error*/;
2920 variable
[14] = CALL_static_type___MMSignature___arity( variable
[8] /*s*/)( variable
[8] /*s*/) /*MMSignature::arity*/;
2921 variable
[15] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[14]); /*new Range[Int]*/
2922 variable
[14] = variable
[15];
2923 variable
[14] = CALL_abstract_collection___Collection___iterator(variable
[14])(variable
[14]) /*Range::iterator*/;
2924 while (true) { /*for*/
2925 variable
[15] = CALL_abstract_collection___Iterator___is_ok(variable
[14])(variable
[14]) /*Iterator::is_ok*/;
2926 if (!UNTAG_Bool(variable
[15])) break; /*for*/
2927 variable
[15] = CALL_abstract_collection___Iterator___item(variable
[14])(variable
[14]) /*Iterator::item*/;
2928 variable
[16] = variable
[15];
2929 variable
[17] = CALL_static_type___MMSignature_____bra( variable
[8] /*s*/)( variable
[8] /*s*/, variable
[16] /*i*/) /*MMSignature::[]*/;
2930 variable
[18] = CALL_static_type___MMSignature_____bra( variable
[13] /*isig*/)( variable
[13] /*isig*/, variable
[16] /*i*/) /*MMSignature::[]*/;
2931 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[17] == variable
[18]) || ((variable
[17] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[17])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[17],variable
[18])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[17])(variable
[17], variable
[18]) /*Object::==*/)))))));
2932 if (UNTAG_Bool(variable
[17])) { /*if*/
2933 variable
[17] = variable
[0];
2934 variable
[18] = NEW_Array_array___Array___with_capacity(TAG_Int(13)); /*new Array[String]*/
2935 variable
[19] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Expected "), TAG_Int(22)); /*new String*/
2936 variable
[20] = variable
[19];
2937 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[20]) /*AbstractArray::add*/;
2938 variable
[21] = CALL_static_type___MMSignature_____bra( variable
[13] /*isig*/)( variable
[13] /*isig*/, variable
[16] /*i*/) /*MMSignature::[]*/;
2939 variable
[22] = variable
[21];
2940 variable
[22] = CALL_string___Object___to_s(variable
[22])(variable
[22]) /*Object::to_s*/;
2941 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[22]) /*AbstractArray::add*/;
2942 variable
[23] = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
2943 variable
[24] = variable
[23];
2944 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[24]) /*AbstractArray::add*/;
2945 variable
[25] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
2946 variable
[26] = variable
[25];
2947 variable
[26] = CALL_string___Object___to_s(variable
[26])(variable
[26]) /*Object::to_s*/;
2948 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[26]) /*AbstractArray::add*/;
2949 variable
[27] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2950 variable
[28] = variable
[27];
2951 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[28]) /*AbstractArray::add*/;
2952 variable
[29] = variable
[12] /*ip*/;
2953 variable
[29] = CALL_string___Object___to_s(variable
[29])(variable
[29]) /*Object::to_s*/;
2954 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[29]) /*AbstractArray::add*/;
2955 variable
[30] = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
2956 variable
[31] = variable
[30];
2957 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[31]) /*AbstractArray::add*/;
2958 variable
[32] = CALL_static_type___MMSignature_____bra( variable
[8] /*s*/)( variable
[8] /*s*/, variable
[16] /*i*/) /*MMSignature::[]*/;
2959 variable
[33] = variable
[32];
2960 variable
[33] = CALL_string___Object___to_s(variable
[33])(variable
[33]) /*Object::to_s*/;
2961 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[33]) /*AbstractArray::add*/;
2962 variable
[34] = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
2963 variable
[35] = variable
[34];
2964 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[35]) /*AbstractArray::add*/;
2965 variable
[36] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
2966 variable
[37] = variable
[36];
2967 variable
[37] = CALL_string___Object___to_s(variable
[37])(variable
[37]) /*Object::to_s*/;
2968 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[37]) /*AbstractArray::add*/;
2969 variable
[38] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2970 variable
[39] = variable
[38];
2971 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[39]) /*AbstractArray::add*/;
2972 variable
[40] = variable
[2] /*prop*/;
2973 variable
[40] = CALL_string___Object___to_s(variable
[40])(variable
[40]) /*Object::to_s*/;
2974 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[40]) /*AbstractArray::add*/;
2975 variable
[41] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2976 variable
[42] = variable
[41];
2977 CALL_abstract_collection___SimpleCollection___add(variable
[18])(variable
[18], variable
[42]) /*AbstractArray::add*/;
2978 variable
[18] = CALL_string___Object___to_s(variable
[18])(variable
[18]) /*Object::to_s*/;
2979 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[17], variable
[18]) /*AbsSyntaxVisitor::error*/;
2981 continue_97
: while(0);
2982 CALL_abstract_collection___Iterator___next(variable
[14])(variable
[14]) /*Iterator::next*/;
2986 variable
[15] = CALL_static_type___MMSignature___return_type( variable
[8] /*s*/)( variable
[8] /*s*/) /*MMSignature::return_type*/;
2987 variable
[14] = variable
[15];
2988 variable
[16] = CALL_static_type___MMSignature___return_type( variable
[13] /*isig*/)( variable
[13] /*isig*/) /*MMSignature::return_type*/;
2989 variable
[15] = variable
[16];
2990 variable
[16] = TAG_Bool(( variable
[14] /*srt*/ == NIT_NULL
/*null*/) || (( variable
[14] /*srt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[14] /*srt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[14] /*srt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[14] /*srt*/)( variable
[14] /*srt*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2991 variable
[17] = variable
[16];
2992 if (UNTAG_Bool(variable
[17])) { /* and */
2993 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[15] /*isrt*/ == NIT_NULL
/*null*/) || (( variable
[15] /*isrt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[15] /*isrt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[15] /*isrt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[15] /*isrt*/)( variable
[15] /*isrt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
2995 variable
[16] = variable
[17];
2996 if (UNTAG_Bool(variable
[16])) { /*if*/
2997 variable
[16] = variable
[0];
2998 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[String]*/
2999 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: The procedure "), TAG_Int(27)); /*new String*/
3000 variable
[19] = variable
[18];
3001 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[19]) /*AbstractArray::add*/;
3002 variable
[20] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3003 variable
[21] = variable
[20];
3004 variable
[21] = CALL_string___Object___to_s(variable
[21])(variable
[21]) /*Object::to_s*/;
3005 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[21]) /*AbstractArray::add*/;
3006 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3007 variable
[23] = variable
[22];
3008 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[23]) /*AbstractArray::add*/;
3009 variable
[24] = variable
[2] /*prop*/;
3010 variable
[24] = CALL_string___Object___to_s(variable
[24])(variable
[24]) /*Object::to_s*/;
3011 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[24]) /*AbstractArray::add*/;
3012 variable
[25] = NEW_String_string___String___with_native(BOX_NativeString(" redefines the function "), TAG_Int(24)); /*new String*/
3013 variable
[26] = variable
[25];
3014 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[26]) /*AbstractArray::add*/;
3015 variable
[27] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
3016 variable
[28] = variable
[27];
3017 variable
[28] = CALL_string___Object___to_s(variable
[28])(variable
[28]) /*Object::to_s*/;
3018 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[28]) /*AbstractArray::add*/;
3019 variable
[29] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3020 variable
[30] = variable
[29];
3021 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[30]) /*AbstractArray::add*/;
3022 variable
[31] = variable
[12] /*ip*/;
3023 variable
[31] = CALL_string___Object___to_s(variable
[31])(variable
[31]) /*Object::to_s*/;
3024 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[31]) /*AbstractArray::add*/;
3025 variable
[32] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
3026 variable
[33] = variable
[32];
3027 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[33]) /*AbstractArray::add*/;
3028 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
3029 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[16], variable
[17]) /*AbsSyntaxVisitor::error*/;
3031 variable
[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[14] /*srt*/ == NIT_NULL
/*null*/) || (( variable
[14] /*srt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[14] /*srt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[14] /*srt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[14] /*srt*/)( variable
[14] /*srt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
3032 variable
[17] = variable
[16];
3033 if (UNTAG_Bool(variable
[17])) { /* and */
3034 variable
[17] = TAG_Bool(( variable
[15] /*isrt*/ == NIT_NULL
/*null*/) || (( variable
[15] /*isrt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[15] /*isrt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[15] /*isrt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[15] /*isrt*/)( variable
[15] /*isrt*/, NIT_NULL
/*null*/) /*Object::==*/)))));
3036 variable
[16] = variable
[17];
3037 if (UNTAG_Bool(variable
[16])) { /*if*/
3038 variable
[16] = variable
[0];
3039 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[String]*/
3040 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: The function "), TAG_Int(26)); /*new String*/
3041 variable
[19] = variable
[18];
3042 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[19]) /*AbstractArray::add*/;
3043 variable
[20] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3044 variable
[21] = variable
[20];
3045 variable
[21] = CALL_string___Object___to_s(variable
[21])(variable
[21]) /*Object::to_s*/;
3046 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[21]) /*AbstractArray::add*/;
3047 variable
[22] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3048 variable
[23] = variable
[22];
3049 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[23]) /*AbstractArray::add*/;
3050 variable
[24] = variable
[2] /*prop*/;
3051 variable
[24] = CALL_string___Object___to_s(variable
[24])(variable
[24]) /*Object::to_s*/;
3052 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[24]) /*AbstractArray::add*/;
3053 variable
[25] = NEW_String_string___String___with_native(BOX_NativeString(" redefines the procedure "), TAG_Int(25)); /*new String*/
3054 variable
[26] = variable
[25];
3055 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[26]) /*AbstractArray::add*/;
3056 variable
[27] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
3057 variable
[28] = variable
[27];
3058 variable
[28] = CALL_string___Object___to_s(variable
[28])(variable
[28]) /*Object::to_s*/;
3059 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[28]) /*AbstractArray::add*/;
3060 variable
[29] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3061 variable
[30] = variable
[29];
3062 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[30]) /*AbstractArray::add*/;
3063 variable
[31] = variable
[12] /*ip*/;
3064 variable
[31] = CALL_string___Object___to_s(variable
[31])(variable
[31]) /*Object::to_s*/;
3065 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[31]) /*AbstractArray::add*/;
3066 variable
[32] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
3067 variable
[33] = variable
[32];
3068 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[33]) /*AbstractArray::add*/;
3069 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
3070 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[16], variable
[17]) /*AbsSyntaxVisitor::error*/;
3072 variable
[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[14] /*srt*/ == NIT_NULL
/*null*/) || (( variable
[14] /*srt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[14] /*srt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[14] /*srt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[14] /*srt*/)( variable
[14] /*srt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
3073 variable
[17] = variable
[16];
3074 if (UNTAG_Bool(variable
[17])) { /* and */
3075 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[15] /*isrt*/ == NIT_NULL
/*null*/) || (( variable
[15] /*isrt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[15] /*isrt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[15] /*isrt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[15] /*isrt*/)( variable
[15] /*isrt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
3077 variable
[16] = variable
[17];
3078 variable
[17] = variable
[16];
3079 if (UNTAG_Bool(variable
[17])) { /* and */
3080 variable
[17] = CALL_static_type___MMType_____l( variable
[14] /*srt*/)( variable
[14] /*srt*/, variable
[15] /*isrt*/) /*MMType::<*/;
3081 variable
[17] = TAG_Bool(!UNTAG_Bool(variable
[17]));
3083 variable
[16] = variable
[17];
3084 if (UNTAG_Bool(variable
[16])) { /*if*/
3085 variable
[16] = variable
[0];
3086 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(13)); /*new Array[String]*/
3087 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Expected "), TAG_Int(22)); /*new String*/
3088 variable
[19] = variable
[18];
3089 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[19]) /*AbstractArray::add*/;
3090 variable
[20] = variable
[15] /*isrt*/;
3091 variable
[20] = CALL_string___Object___to_s(variable
[20])(variable
[20]) /*Object::to_s*/;
3092 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[20]) /*AbstractArray::add*/;
3093 variable
[21] = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
3094 variable
[22] = variable
[21];
3095 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[22]) /*AbstractArray::add*/;
3096 variable
[23] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
3097 variable
[24] = variable
[23];
3098 variable
[24] = CALL_string___Object___to_s(variable
[24])(variable
[24]) /*Object::to_s*/;
3099 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[24]) /*AbstractArray::add*/;
3100 variable
[25] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3101 variable
[26] = variable
[25];
3102 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[26]) /*AbstractArray::add*/;
3103 variable
[27] = variable
[12] /*ip*/;
3104 variable
[27] = CALL_string___Object___to_s(variable
[27])(variable
[27]) /*Object::to_s*/;
3105 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[27]) /*AbstractArray::add*/;
3106 variable
[28] = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
3107 variable
[29] = variable
[28];
3108 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[29]) /*AbstractArray::add*/;
3109 variable
[30] = variable
[14] /*srt*/;
3110 variable
[30] = CALL_string___Object___to_s(variable
[30])(variable
[30]) /*Object::to_s*/;
3111 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[30]) /*AbstractArray::add*/;
3112 variable
[31] = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
3113 variable
[32] = variable
[31];
3114 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[32]) /*AbstractArray::add*/;
3115 variable
[33] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3116 variable
[34] = variable
[33];
3117 variable
[34] = CALL_string___Object___to_s(variable
[34])(variable
[34]) /*Object::to_s*/;
3118 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[34]) /*AbstractArray::add*/;
3119 variable
[35] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3120 variable
[36] = variable
[35];
3121 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[36]) /*AbstractArray::add*/;
3122 variable
[37] = variable
[2] /*prop*/;
3123 variable
[37] = CALL_string___Object___to_s(variable
[37])(variable
[37]) /*Object::to_s*/;
3124 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[37]) /*AbstractArray::add*/;
3125 variable
[38] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
3126 variable
[39] = variable
[38];
3127 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[39]) /*AbstractArray::add*/;
3128 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
3129 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[16], variable
[17]) /*AbsSyntaxVisitor::error*/;
3131 variable
[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[14] /*srt*/ == NIT_NULL
/*null*/) || (( variable
[14] /*srt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[14] /*srt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[14] /*srt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[14] /*srt*/)( variable
[14] /*srt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
3132 variable
[17] = variable
[16];
3133 if (UNTAG_Bool(variable
[17])) { /* and */
3134 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[15] /*isrt*/ == NIT_NULL
/*null*/) || (( variable
[15] /*isrt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[15] /*isrt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[15] /*isrt*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[15] /*isrt*/)( variable
[15] /*isrt*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
3136 variable
[16] = variable
[17];
3137 variable
[17] = variable
[16];
3138 if (UNTAG_Bool(variable
[17])) { /* and */
3139 variable
[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[14] /*srt*/ == variable
[15] /*isrt*/) || (( variable
[14] /*srt*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[14] /*srt*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[14] /*srt*/, variable
[15] /*isrt*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[14] /*srt*/)( variable
[14] /*srt*/, variable
[15] /*isrt*/) /*Object::==*/)))))));
3141 variable
[16] = variable
[17];
3142 variable
[17] = variable
[16];
3143 if (UNTAG_Bool(variable
[17])) { /* and */
3144 variable
[17] = TAG_Bool(( variable
[2] /*prop*/==NIT_NULL
) || VAL_ISA( variable
[2] /*prop*/, COLOR_MMAttribute
, ID_MMAttribute
)) /*cast MMAttribute*/;
3146 variable
[16] = variable
[17];
3147 if (UNTAG_Bool(variable
[16])) { /*if*/
3148 variable
[16] = variable
[0];
3149 variable
[17] = NEW_Array_array___Array___with_capacity(TAG_Int(13)); /*new Array[String]*/
3150 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef warning: Expected "), TAG_Int(24)); /*new String*/
3151 variable
[19] = variable
[18];
3152 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[19]) /*AbstractArray::add*/;
3153 variable
[20] = variable
[15] /*isrt*/;
3154 variable
[20] = CALL_string___Object___to_s(variable
[20])(variable
[20]) /*Object::to_s*/;
3155 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[20]) /*AbstractArray::add*/;
3156 variable
[21] = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
3157 variable
[22] = variable
[21];
3158 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[22]) /*AbstractArray::add*/;
3159 variable
[23] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[12] /*ip*/)( variable
[12] /*ip*/) /*MMLocalProperty::local_class*/;
3160 variable
[24] = variable
[23];
3161 variable
[24] = CALL_string___Object___to_s(variable
[24])(variable
[24]) /*Object::to_s*/;
3162 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[24]) /*AbstractArray::add*/;
3163 variable
[25] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3164 variable
[26] = variable
[25];
3165 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[26]) /*AbstractArray::add*/;
3166 variable
[27] = variable
[12] /*ip*/;
3167 variable
[27] = CALL_string___Object___to_s(variable
[27])(variable
[27]) /*Object::to_s*/;
3168 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[27]) /*AbstractArray::add*/;
3169 variable
[28] = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
3170 variable
[29] = variable
[28];
3171 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[29]) /*AbstractArray::add*/;
3172 variable
[30] = variable
[14] /*srt*/;
3173 variable
[30] = CALL_string___Object___to_s(variable
[30])(variable
[30]) /*Object::to_s*/;
3174 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[30]) /*AbstractArray::add*/;
3175 variable
[31] = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
3176 variable
[32] = variable
[31];
3177 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[32]) /*AbstractArray::add*/;
3178 variable
[33] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3179 variable
[34] = variable
[33];
3180 variable
[34] = CALL_string___Object___to_s(variable
[34])(variable
[34]) /*Object::to_s*/;
3181 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[34]) /*AbstractArray::add*/;
3182 variable
[35] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3183 variable
[36] = variable
[35];
3184 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[36]) /*AbstractArray::add*/;
3185 variable
[37] = variable
[2] /*prop*/;
3186 variable
[37] = CALL_string___Object___to_s(variable
[37])(variable
[37]) /*Object::to_s*/;
3187 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[37]) /*AbstractArray::add*/;
3188 variable
[38] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
3189 variable
[39] = variable
[38];
3190 CALL_abstract_collection___SimpleCollection___add(variable
[17])(variable
[17], variable
[39]) /*AbstractArray::add*/;
3191 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
3192 CALL_syntax_base___AbsSyntaxVisitor___warning( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[16], variable
[17]) /*AbsSyntaxVisitor::warning*/;
3197 continue_95
: while(0);
3198 CALL_abstract_collection___Iterator___next(variable
[9])(variable
[9]) /*ArrayIterator::next*/;
3201 variable
[9] = TAG_Bool(( variable
[4] /*visibility_level*/)!=( TAG_Int(1)));
3202 variable
[10] = variable
[9];
3203 if (UNTAG_Bool(variable
[10])) { /* and */
3204 variable
[10] = CALL_abstractmetamodel___MMGlobalProperty___visibility_level( variable
[7] /*glob*/)( variable
[7] /*glob*/) /*MMGlobalProperty::visibility_level*/;
3205 variable
[10] = TAG_Bool((variable
[10])!=( variable
[4] /*visibility_level*/));
3207 variable
[9] = variable
[10];
3208 if (UNTAG_Bool(variable
[9])) { /*if*/
3209 variable
[9] = variable
[0];
3210 variable
[10] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3211 variable
[11] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
3212 variable
[12] = variable
[11];
3213 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[12]) /*AbstractArray::add*/;
3214 variable
[13] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::local_class*/;
3215 variable
[14] = variable
[13];
3216 variable
[14] = CALL_string___Object___to_s(variable
[14])(variable
[14]) /*Object::to_s*/;
3217 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[14]) /*AbstractArray::add*/;
3218 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3219 variable
[16] = variable
[15];
3220 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[16]) /*AbstractArray::add*/;
3221 variable
[17] = variable
[2] /*prop*/;
3222 variable
[17] = CALL_string___Object___to_s(variable
[17])(variable
[17]) /*Object::to_s*/;
3223 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[17]) /*AbstractArray::add*/;
3224 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(" redefinition cannot change visibility."), TAG_Int(39)); /*new String*/
3225 variable
[19] = variable
[18];
3226 CALL_abstract_collection___SimpleCollection___add(variable
[10])(variable
[10], variable
[19]) /*AbstractArray::add*/;
3227 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
3228 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[9], variable
[10]) /*AbsSyntaxVisitor::error*/;
3230 variable
[9] = variable
[0];
3231 variable
[10] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
3232 CALL_syntax_base___MMGlobalProperty___check_visibility( variable
[7] /*glob*/)( variable
[7] /*glob*/, variable
[1] /*v*/, variable
[9], variable
[10], TAG_Bool(true)) /*MMGlobalProperty::check_visibility*/;
3233 return_label94
: while(false);
3234 tracehead
= trace
.prev
;
3237 void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t self
, val_t param0
) {
3238 struct trace_t trace
= {NULL
, NULL
, 953, LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor
};
3240 void **closurevariable
= NULL
;
3241 trace
.prev
= tracehead
; tracehead
= &trace
;
3242 trace
.file
= LOCATE_mmbuilder
;
3244 variable
[1] = param0
;
3245 variable
[3] = variable
[0];
3246 variable
[3] = CALL_syntax_base___AAttrPropdef___prop(variable
[3])(variable
[3]) /*AAttrPropdef::prop*/;
3247 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*AbsSyntaxVisitor::local_property=*/;
3248 CALL_SUPER_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1]) /*super AAttrPropdef::accept_abs_syntax_visitor*/;
3249 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/) /*AbsSyntaxVisitor::local_property=*/;
3250 return_label98
: while(false);
3251 tracehead
= trace
.prev
;
3254 val_t
mmbuilder___AAttrPropdef___prop(val_t self
) {
3255 struct trace_t trace
= {NULL
, NULL
, 904, LOCATE_mmbuilder___AAttrPropdef___prop
};
3256 val_t
*variable
= NULL
;
3257 void **closurevariable
= NULL
;
3258 trace
.prev
= tracehead
; tracehead
= &trace
;
3259 trace
.file
= LOCATE_mmbuilder
;
3260 tracehead
= trace
.prev
;
3261 return ATTR_mmbuilder___AAttrPropdef____prop( self
) /*AAttrPropdef::_prop*/;
3263 val_t
mmbuilder___AAttrPropdef___readmethod(val_t self
) {
3264 struct trace_t trace
= {NULL
, NULL
, 902, LOCATE_mmbuilder___AAttrPropdef___readmethod
};
3265 val_t
*variable
= NULL
;
3266 void **closurevariable
= NULL
;
3267 trace
.prev
= tracehead
; tracehead
= &trace
;
3268 trace
.file
= LOCATE_mmbuilder
;
3269 tracehead
= trace
.prev
;
3270 return ATTR_mmbuilder___AAttrPropdef____readmethod( self
) /*AAttrPropdef::_readmethod*/;
3272 val_t
mmbuilder___AAttrPropdef___writemethod(val_t self
) {
3273 struct trace_t trace
= {NULL
, NULL
, 903, LOCATE_mmbuilder___AAttrPropdef___writemethod
};
3274 val_t
*variable
= NULL
;
3275 void **closurevariable
= NULL
;
3276 trace
.prev
= tracehead
; tracehead
= &trace
;
3277 trace
.file
= LOCATE_mmbuilder
;
3278 tracehead
= trace
.prev
;
3279 return ATTR_mmbuilder___AAttrPropdef____writemethod( self
) /*AAttrPropdef::_writemethod*/;
3281 void mmbuilder___AAttrPropdef___accept_property_builder(val_t self
, val_t param0
) {
3282 struct trace_t trace
= {NULL
, NULL
, 906, LOCATE_mmbuilder___AAttrPropdef___accept_property_builder
};
3284 void **closurevariable
= NULL
;
3285 trace
.prev
= tracehead
; tracehead
= &trace
;
3286 trace
.file
= LOCATE_mmbuilder
;
3288 variable
[1] = param0
;
3289 CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_builder(variable
[0])(variable
[0], variable
[1]) /*super AAttrPropdef::accept_property_builder*/;
3290 variable
[4] = variable
[0];
3291 variable
[4] = CALL_parser_nodes___AAttrPropdef___n_id(variable
[4])(variable
[4]) /*AAttrPropdef::n_id*/;
3292 variable
[4] = CALL_syntax_base___Token___to_symbol(variable
[4])(variable
[4]) /*Token::to_symbol*/;
3293 variable
[3] = variable
[4];
3294 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3295 variable
[6] = variable
[0];
3296 variable
[7] = NEW_MMSrcAttribute_syntax_base___MMSrcAttribute___init( variable
[3] /*name*/, variable
[5], variable
[6]); /*new MMSrcAttribute*/
3297 variable
[5] = variable
[7];
3298 variable
[4] = variable
[5];
3299 variable
[5] = variable
[0];
3300 ATTR_mmbuilder___AAttrPropdef____prop(variable
[5]) /*AAttrPropdef::_prop*/ = variable
[4] /*prop*/;
3301 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3302 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[5])(variable
[5], variable
[1] /*v*/, variable
[4] /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
3303 variable
[5] = variable
[0];
3304 variable
[5] = CALL_parser_nodes___AAttrPropdef___n_readable(variable
[5])(variable
[5]) /*AAttrPropdef::n_readable*/;
3305 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::==*/)))))));
3306 if (UNTAG_Bool(variable
[5])) { /*if*/
3307 variable
[5] = variable
[0];
3308 variable
[5] = CALL_parser_nodes___AAttrPropdef___n_id(variable
[5])(variable
[5]) /*AAttrPropdef::n_id*/;
3309 variable
[5] = CALL_lexer___Token___text(variable
[5])(variable
[5]) /*Token::text*/;
3310 variable
[5] = CALL_string___String___substring_from(variable
[5])(variable
[5], TAG_Int(1)) /*String::substring_from*/;
3311 variable
[5] = CALL_symbol___String___to_symbol(variable
[5])(variable
[5]) /*String::to_symbol*/;
3312 variable
[3] = variable
[5] /*name=*/;
3313 variable
[5] = variable
[0];
3314 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3315 variable
[7] = variable
[0];
3316 variable
[8] = NEW_MMReadImplementationMethod_syntax_base___MMReadImplementationMethod___init( variable
[3] /*name*/, variable
[6], variable
[7]); /*new MMReadImplementationMethod*/
3317 variable
[6] = variable
[8];
3318 ATTR_mmbuilder___AAttrPropdef____readmethod(variable
[5]) /*AAttrPropdef::_readmethod*/ = variable
[6];
3319 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3320 variable
[6] = variable
[0];
3321 variable
[6] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable
[6]) /*AAttrPropdef::_readmethod*/;
3322 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[5])(variable
[5], variable
[1] /*v*/, variable
[6]) /*MMSrcLocalClass::add_src_local_property*/;
3324 variable
[5] = variable
[0];
3325 variable
[5] = CALL_parser_nodes___AAttrPropdef___n_writable(variable
[5])(variable
[5]) /*AAttrPropdef::n_writable*/;
3326 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::==*/)))))));
3327 if (UNTAG_Bool(variable
[5])) { /*if*/
3328 variable
[5] = variable
[0];
3329 variable
[5] = CALL_parser_nodes___AAttrPropdef___n_id(variable
[5])(variable
[5]) /*AAttrPropdef::n_id*/;
3330 variable
[5] = CALL_lexer___Token___text(variable
[5])(variable
[5]) /*Token::text*/;
3331 variable
[5] = CALL_string___String___substring_from(variable
[5])(variable
[5], TAG_Int(1)) /*String::substring_from*/;
3332 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
3333 variable
[5] = CALL_string___String_____plus(variable
[5])(variable
[5], variable
[6]) /*String::+*/;
3334 variable
[5] = CALL_symbol___String___to_symbol(variable
[5])(variable
[5]) /*String::to_symbol*/;
3335 variable
[3] = variable
[5] /*name=*/;
3336 variable
[5] = variable
[0];
3337 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3338 variable
[7] = variable
[0];
3339 variable
[8] = NEW_MMWriteImplementationMethod_syntax_base___MMWriteImplementationMethod___init( variable
[3] /*name*/, variable
[6], variable
[7]); /*new MMWriteImplementationMethod*/
3340 variable
[6] = variable
[8];
3341 ATTR_mmbuilder___AAttrPropdef____writemethod(variable
[5]) /*AAttrPropdef::_writemethod*/ = variable
[6];
3342 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3343 variable
[6] = variable
[0];
3344 variable
[6] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable
[6]) /*AAttrPropdef::_writemethod*/;
3345 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[5])(variable
[5], variable
[1] /*v*/, variable
[6]) /*MMSrcLocalClass::add_src_local_property*/;
3347 return_label99
: while(false);
3348 tracehead
= trace
.prev
;
3351 void mmbuilder___AAttrPropdef___accept_property_verifier(val_t self
, val_t param0
) {
3352 struct trace_t trace
= {NULL
, NULL
, 926, LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier
};
3354 void **closurevariable
= NULL
;
3355 trace
.prev
= tracehead
; tracehead
= &trace
;
3356 trace
.file
= LOCATE_mmbuilder
;
3358 variable
[1] = param0
;
3359 CALL_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super AAttrPropdef::accept_property_verifier*/;
3360 /*variable[3] is variable t*/
3361 variable
[4] = variable
[0];
3362 variable
[4] = CALL_parser_nodes___AAttrPropdef___n_type(variable
[4])(variable
[4]) /*AAttrPropdef::n_type*/;
3363 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::==*/)))))));
3364 if (UNTAG_Bool(variable
[4])) { /*if*/
3365 variable
[4] = variable
[0];
3366 variable
[4] = CALL_parser_nodes___AAttrPropdef___n_type(variable
[4])(variable
[4]) /*AAttrPropdef::n_type*/;
3367 variable
[4] = CALL_syntax_base___PType___get_stype(variable
[4])(variable
[4], variable
[1] /*v*/) /*PType::get_stype*/;
3368 variable
[3] = variable
[4] /*t=*/;
3370 variable
[4] = variable
[0];
3371 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3372 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("Not yet implemented: Attribute definition "), TAG_Int(42)); /*new String*/
3373 variable
[7] = variable
[6];
3374 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[7]) /*AbstractArray::add*/;
3375 variable
[8] = variable
[0];
3376 variable
[8] = ATTR_mmbuilder___AAttrPropdef____prop(variable
[8]) /*AAttrPropdef::_prop*/;
3377 variable
[8] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable
[8])(variable
[8]) /*MMLocalProperty::local_class*/;
3378 variable
[9] = variable
[8];
3379 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
3380 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[9]) /*AbstractArray::add*/;
3381 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3382 variable
[11] = variable
[10];
3383 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[11]) /*AbstractArray::add*/;
3384 variable
[12] = variable
[0];
3385 variable
[12] = ATTR_mmbuilder___AAttrPropdef____prop(variable
[12]) /*AAttrPropdef::_prop*/;
3386 variable
[13] = variable
[12];
3387 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
3388 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[13]) /*AbstractArray::add*/;
3389 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString(" requires an explicit type."), TAG_Int(27)); /*new String*/
3390 variable
[15] = variable
[14];
3391 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[15]) /*AbstractArray::add*/;
3392 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
3393 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4], variable
[5]) /*AbsSyntaxVisitor::error*/;
3394 goto return_label100
;
3396 variable
[5] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
3397 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3398 variable
[6] = CALL_static_type___MMLocalClass___get_type(variable
[6])(variable
[6]) /*MMLocalClass::get_type*/;
3399 variable
[7] = NEW_MMSignature_static_type___MMSignature___init(variable
[5], variable
[3] /*t*/, variable
[6]); /*new MMSignature*/
3400 variable
[5] = variable
[7];
3401 variable
[4] = variable
[5];
3402 variable
[5] = variable
[0];
3403 variable
[5] = ATTR_mmbuilder___AAttrPropdef____prop(variable
[5]) /*AAttrPropdef::_prop*/;
3404 CALL_static_type___MMLocalProperty___signature__eq(variable
[5])(variable
[5], variable
[4] /*signature*/) /*MMLocalProperty::signature=*/;
3405 variable
[6] = variable
[0];
3406 variable
[6] = CALL_parser_nodes___AAttrPropdef___n_visibility(variable
[6])(variable
[6]) /*AAttrPropdef::n_visibility*/;
3407 variable
[6] = CALL_mmbuilder___PVisibility___level(variable
[6])(variable
[6]) /*PVisibility::level*/;
3408 variable
[5] = variable
[6];
3409 variable
[6] = variable
[0];
3410 variable
[7] = variable
[0];
3411 variable
[7] = ATTR_mmbuilder___AAttrPropdef____prop(variable
[7]) /*AAttrPropdef::_prop*/;
3412 variable
[8] = variable
[0];
3413 variable
[8] = CALL_parser_nodes___AAttrPropdef___n_kwredef(variable
[8])(variable
[8]) /*AAttrPropdef::n_kwredef*/;
3414 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::==*/)))))));
3415 CALL_mmbuilder___PPropdef___process_and_check(variable
[6])(variable
[6], variable
[1] /*v*/, variable
[7], variable
[8], variable
[5] /*visibility_level*/) /*PPropdef::process_and_check*/;
3416 variable
[6] = variable
[0];
3417 variable
[6] = CALL_parser_nodes___AAttrPropdef___n_readable(variable
[6])(variable
[6]) /*AAttrPropdef::n_readable*/;
3418 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::==*/)))))));
3419 if (UNTAG_Bool(variable
[6])) { /*if*/
3420 variable
[6] = variable
[0];
3421 variable
[6] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable
[6]) /*AAttrPropdef::_readmethod*/;
3422 CALL_static_type___MMLocalProperty___signature__eq(variable
[6])(variable
[6], variable
[4] /*signature*/) /*MMLocalProperty::signature=*/;
3423 variable
[6] = variable
[0];
3424 variable
[7] = variable
[0];
3425 variable
[7] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable
[7]) /*AAttrPropdef::_readmethod*/;
3426 variable
[8] = variable
[0];
3427 variable
[8] = CALL_parser_nodes___AAttrPropdef___n_readable(variable
[8])(variable
[8]) /*AAttrPropdef::n_readable*/;
3428 variable
[8] = CALL_parser_nodes___PAble___n_kwredef(variable
[8])(variable
[8]) /*PAble::n_kwredef*/;
3429 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::==*/)))))));
3430 CALL_mmbuilder___PPropdef___process_and_check(variable
[6])(variable
[6], variable
[1] /*v*/, variable
[7], variable
[8], variable
[5] /*visibility_level*/) /*PPropdef::process_and_check*/;
3431 variable
[6] = variable
[0];
3432 variable
[6] = CALL_parser_nodes___AAttrPropdef___n_type(variable
[6])(variable
[6]) /*AAttrPropdef::n_type*/;
3433 variable
[7] = variable
[0];
3434 variable
[7] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable
[7]) /*AAttrPropdef::_readmethod*/;
3435 CALL_mmbuilder___PType___check_visibility(variable
[6])(variable
[6], variable
[1] /*v*/, variable
[7]) /*PType::check_visibility*/;
3437 variable
[6] = variable
[0];
3438 variable
[6] = CALL_parser_nodes___AAttrPropdef___n_writable(variable
[6])(variable
[6]) /*AAttrPropdef::n_writable*/;
3439 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::==*/)))))));
3440 if (UNTAG_Bool(variable
[6])) { /*if*/
3441 variable
[6] = variable
[0];
3442 variable
[6] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable
[6]) /*AAttrPropdef::_writemethod*/;
3443 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
3444 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[3] /*t*/) /*AbstractArray::add*/;
3445 variable
[8] = NEW_Array_array___Array___with_items(variable
[7]); /*new Array[MMType]*/
3446 variable
[7] = variable
[8];
3447 variable
[8] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3448 variable
[8] = CALL_static_type___MMLocalClass___get_type(variable
[8])(variable
[8]) /*MMLocalClass::get_type*/;
3449 variable
[9] = NEW_MMSignature_static_type___MMSignature___init(variable
[7], NIT_NULL
/*null*/, variable
[8]); /*new MMSignature*/
3450 variable
[7] = variable
[9];
3451 CALL_static_type___MMLocalProperty___signature__eq(variable
[6])(variable
[6], variable
[7]) /*MMLocalProperty::signature=*/;
3452 variable
[6] = variable
[0];
3453 variable
[7] = variable
[0];
3454 variable
[7] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable
[7]) /*AAttrPropdef::_writemethod*/;
3455 variable
[8] = variable
[0];
3456 variable
[8] = CALL_parser_nodes___AAttrPropdef___n_writable(variable
[8])(variable
[8]) /*AAttrPropdef::n_writable*/;
3457 variable
[8] = CALL_parser_nodes___PAble___n_kwredef(variable
[8])(variable
[8]) /*PAble::n_kwredef*/;
3458 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::==*/)))))));
3459 CALL_mmbuilder___PPropdef___process_and_check(variable
[6])(variable
[6], variable
[1] /*v*/, variable
[7], variable
[8], variable
[5] /*visibility_level*/) /*PPropdef::process_and_check*/;
3460 variable
[6] = variable
[0];
3461 variable
[6] = CALL_parser_nodes___AAttrPropdef___n_type(variable
[6])(variable
[6]) /*AAttrPropdef::n_type*/;
3462 variable
[7] = variable
[0];
3463 variable
[7] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable
[7]) /*AAttrPropdef::_writemethod*/;
3464 CALL_mmbuilder___PType___check_visibility(variable
[6])(variable
[6], variable
[1] /*v*/, variable
[7]) /*PType::check_visibility*/;
3466 return_label100
: while(false);
3467 tracehead
= trace
.prev
;
3470 void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t self
, val_t param0
) {
3471 struct trace_t trace
= {NULL
, NULL
, 1009, LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor
};
3473 void **closurevariable
= NULL
;
3474 trace
.prev
= tracehead
; tracehead
= &trace
;
3475 trace
.file
= LOCATE_mmbuilder
;
3477 variable
[1] = param0
;
3478 variable
[3] = variable
[0];
3479 variable
[3] = CALL_syntax_base___AMethPropdef___method(variable
[3])(variable
[3]) /*AMethPropdef::method*/;
3480 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*AbsSyntaxVisitor::local_property=*/;
3481 CALL_SUPER_mmbuilder___AMethPropdef___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1]) /*super AMethPropdef::accept_abs_syntax_visitor*/;
3482 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/) /*AbsSyntaxVisitor::local_property=*/;
3483 return_label101
: while(false);
3484 tracehead
= trace
.prev
;
3487 val_t
mmbuilder___AMethPropdef___method(val_t self
) {
3488 struct trace_t trace
= {NULL
, NULL
, 965, LOCATE_mmbuilder___AMethPropdef___method
};
3489 val_t
*variable
= NULL
;
3490 void **closurevariable
= NULL
;
3491 trace
.prev
= tracehead
; tracehead
= &trace
;
3492 trace
.file
= LOCATE_mmbuilder
;
3493 tracehead
= trace
.prev
;
3494 return ATTR_mmbuilder___AMethPropdef____method( self
) /*AMethPropdef::_method*/;
3496 void mmbuilder___AMethPropdef___accept_property_builder(val_t self
, val_t param0
) {
3497 struct trace_t trace
= {NULL
, NULL
, 967, LOCATE_mmbuilder___AMethPropdef___accept_property_builder
};
3498 static val_t once_value_103
; static int once_bool_103
; /* Once value for variable[4]*/
3499 static val_t once_value_104
; static int once_bool_104
; /* Once value for variable[4]*/
3500 static val_t once_value_105
; static int once_bool_105
; /* Once value for variable[4]*/
3501 static val_t once_value_106
; static int once_bool_106
; /* Once value for variable[5]*/
3503 void **closurevariable
= NULL
;
3504 trace
.prev
= tracehead
; tracehead
= &trace
;
3505 trace
.file
= LOCATE_mmbuilder
;
3507 variable
[1] = param0
;
3508 CALL_SUPER_mmbuilder___AMethPropdef___accept_property_builder(variable
[0])(variable
[0], variable
[1]) /*super AMethPropdef::accept_property_builder*/;
3509 variable
[3] = variable
[0];
3510 variable
[3] = CALL_parser_nodes___AMethPropdef___n_methid(variable
[3])(variable
[3]) /*AMethPropdef::n_methid*/;
3511 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::==*/)))));
3512 if (UNTAG_Bool(variable
[3])) { /*if*/
3513 variable
[3] = variable
[0];
3514 variable
[3] = TAG_Bool((variable
[3]==NIT_NULL
) || VAL_ISA(variable
[3], COLOR_AConcreteInitPropdef
, ID_AConcreteInitPropdef
)) /*cast AConcreteInitPropdef*/;
3515 if (UNTAG_Bool(variable
[3])) { /*if*/
3516 variable
[3] = variable
[0];
3517 if (once_bool_103
) variable
[4] = once_value_103
;
3519 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
3520 variable
[4] = CALL_symbol___String___to_symbol(variable
[4])(variable
[4]) /*String::to_symbol*/;
3521 once_value_103
= variable
[4];
3522 once_bool_103
= true;
3524 ATTR_mmbuilder___AMethPropdef____name(variable
[3]) /*AMethPropdef::_name*/ = variable
[4];
3526 variable
[3] = variable
[0];
3527 if (once_bool_104
) variable
[4] = once_value_104
;
3529 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)); /*new String*/
3530 variable
[4] = CALL_symbol___String___to_symbol(variable
[4])(variable
[4]) /*String::to_symbol*/;
3531 once_value_104
= variable
[4];
3532 once_bool_104
= true;
3534 ATTR_mmbuilder___AMethPropdef____name(variable
[3]) /*AMethPropdef::_name*/ = variable
[4];
3537 variable
[3] = variable
[0];
3538 variable
[4] = variable
[0];
3539 variable
[4] = CALL_parser_nodes___AMethPropdef___n_methid(variable
[4])(variable
[4]) /*AMethPropdef::n_methid*/;
3540 variable
[4] = CALL_mmbuilder___PMethid___name(variable
[4])(variable
[4]) /*PMethid::name*/;
3541 ATTR_mmbuilder___AMethPropdef____name(variable
[3]) /*AMethPropdef::_name*/ = variable
[4];
3542 variable
[3] = variable
[0];
3543 variable
[3] = CALL_parser_nodes___AMethPropdef___n_methid(variable
[3])(variable
[3]) /*AMethPropdef::n_methid*/;
3544 variable
[3] = CALL_mmbuilder___PMethid___name(variable
[3])(variable
[3]) /*PMethid::name*/;
3545 if (once_bool_105
) variable
[4] = once_value_105
;
3547 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
3548 variable
[4] = CALL_symbol___String___to_symbol(variable
[4])(variable
[4]) /*String::to_symbol*/;
3549 once_value_105
= variable
[4];
3550 once_bool_105
= true;
3552 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::==*/)))));
3553 if (UNTAG_Bool(variable
[3])) { /*if*/
3554 variable
[4] = variable
[0];
3555 variable
[4] = CALL_parser_nodes___AMethPropdef___n_signature(variable
[4])(variable
[4]) /*AMethPropdef::n_signature*/;
3556 variable
[3] = variable
[4];
3557 variable
[4] = TAG_Bool(( variable
[3] /*ns*/==NIT_NULL
) || VAL_ISA( variable
[3] /*ns*/, COLOR_ASignature
, ID_ASignature
)) /*cast ASignature*/;
3558 variable
[5] = variable
[4];
3559 if (UNTAG_Bool(variable
[5])) { /* and */
3560 variable
[5] = CALL_parser_nodes___ASignature___n_params( variable
[3] /*ns*/)( variable
[3] /*ns*/) /*ASignature::n_params*/;
3561 variable
[5] = CALL_abstract_collection___Collection___length(variable
[5])(variable
[5]) /*List::length*/;
3562 variable
[5] = TAG_Bool((variable
[5])==( TAG_Int(0)));
3564 variable
[4] = variable
[5];
3565 if (UNTAG_Bool(variable
[4])) { /*if*/
3566 variable
[4] = variable
[0];
3567 if (once_bool_106
) variable
[5] = once_value_106
;
3569 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
3570 variable
[5] = CALL_symbol___String___to_symbol(variable
[5])(variable
[5]) /*String::to_symbol*/;
3571 once_value_106
= variable
[5];
3572 once_bool_106
= true;
3574 ATTR_mmbuilder___AMethPropdef____name(variable
[4]) /*AMethPropdef::_name*/ = variable
[5];
3578 variable
[4] = variable
[0];
3579 variable
[4] = ATTR_mmbuilder___AMethPropdef____name(variable
[4]) /*AMethPropdef::_name*/;
3580 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3581 variable
[6] = variable
[0];
3582 variable
[7] = NEW_MMMethSrcMethod_syntax_base___MMMethSrcMethod___init(variable
[4], variable
[5], variable
[6]); /*new MMMethSrcMethod*/
3583 variable
[4] = variable
[7];
3584 variable
[3] = variable
[4];
3585 variable
[4] = variable
[0];
3586 ATTR_mmbuilder___AMethPropdef____method(variable
[4]) /*AMethPropdef::_method*/ = variable
[3] /*prop*/;
3587 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3588 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[4])(variable
[4], variable
[1] /*v*/, variable
[3] /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
3589 return_label102
: while(false);
3590 tracehead
= trace
.prev
;
3593 void mmbuilder___AMethPropdef___accept_property_verifier(val_t self
, val_t param0
) {
3594 struct trace_t trace
= {NULL
, NULL
, 991, LOCATE_mmbuilder___AMethPropdef___accept_property_verifier
};
3596 void **closurevariable
= NULL
;
3597 trace
.prev
= tracehead
; tracehead
= &trace
;
3598 trace
.file
= LOCATE_mmbuilder
;
3600 variable
[1] = param0
;
3601 variable
[3] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init(); /*new SignatureBuilder*/
3602 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*PropertyVerifierVisitor::signature_builder=*/;
3603 CALL_SUPER_mmbuilder___AMethPropdef___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super AMethPropdef::accept_property_verifier*/;
3604 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3605 variable
[3] = CALL_mmbuilder___SignatureBuilder___signature(variable
[3])(variable
[3]) /*SignatureBuilder::signature*/;
3606 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::==*/)))));
3607 if (UNTAG_Bool(variable
[3])) { /*if*/
3609 variable
[3] = variable
[0];
3610 variable
[3] = ATTR_mmbuilder___AMethPropdef____method(variable
[3]) /*AMethPropdef::_method*/;
3611 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3612 variable
[4] = CALL_mmbuilder___SignatureBuilder___signature(variable
[4])(variable
[4]) /*SignatureBuilder::signature*/;
3613 CALL_static_type___MMLocalProperty___signature__eq(variable
[3])(variable
[3], variable
[4]) /*MMLocalProperty::signature=*/;
3615 variable
[3] = TAG_Int(1);
3616 variable
[4] = variable
[0];
3617 variable
[4] = CALL_parser_nodes___AMethPropdef___n_visibility(variable
[4])(variable
[4]) /*AMethPropdef::n_visibility*/;
3618 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::==*/)))))));
3619 variable
[5] = variable
[4];
3620 if (UNTAG_Bool(variable
[5])) { /* and */
3621 variable
[5] = variable
[0];
3622 variable
[5] = CALL_parser_nodes___AMethPropdef___n_visibility(variable
[5])(variable
[5]) /*AMethPropdef::n_visibility*/;
3623 variable
[5] = CALL_mmbuilder___PVisibility___level(variable
[5])(variable
[5]) /*PVisibility::level*/;
3624 variable
[5] = TAG_Bool(UNTAG_Int(variable
[5])>UNTAG_Int( TAG_Int(1)));
3626 variable
[4] = variable
[5];
3627 if (UNTAG_Bool(variable
[4])) { /*if*/
3628 variable
[4] = variable
[0];
3629 variable
[4] = CALL_parser_nodes___AMethPropdef___n_visibility(variable
[4])(variable
[4]) /*AMethPropdef::n_visibility*/;
3630 variable
[4] = CALL_mmbuilder___PVisibility___level(variable
[4])(variable
[4]) /*PVisibility::level*/;
3631 variable
[3] = variable
[4] /*visibility_level=*/;
3633 variable
[4] = variable
[0];
3634 variable
[5] = variable
[0];
3635 variable
[5] = ATTR_mmbuilder___AMethPropdef____method(variable
[5]) /*AMethPropdef::_method*/;
3636 variable
[6] = variable
[0];
3637 variable
[6] = CALL_parser_nodes___AMethPropdef___n_kwredef(variable
[6])(variable
[6]) /*AMethPropdef::n_kwredef*/;
3638 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::==*/)))))));
3639 CALL_mmbuilder___PPropdef___process_and_check(variable
[4])(variable
[4], variable
[1] /*v*/, variable
[5], variable
[6], variable
[3] /*visibility_level*/) /*PPropdef::process_and_check*/;
3640 variable
[4] = variable
[0];
3641 variable
[4] = CALL_parser_nodes___AMethPropdef___n_signature(variable
[4])(variable
[4]) /*AMethPropdef::n_signature*/;
3642 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::==*/)))))));
3643 if (UNTAG_Bool(variable
[4])) { /*if*/
3644 variable
[4] = variable
[0];
3645 variable
[4] = CALL_parser_nodes___AMethPropdef___n_signature(variable
[4])(variable
[4]) /*AMethPropdef::n_signature*/;
3646 variable
[5] = variable
[0];
3647 variable
[5] = ATTR_mmbuilder___AMethPropdef____method(variable
[5]) /*AMethPropdef::_method*/;
3648 CALL_mmbuilder___PSignature___check_visibility(variable
[4])(variable
[4], variable
[1] /*v*/, variable
[5]) /*PSignature::check_visibility*/;
3650 return_label107
: while(false);
3651 tracehead
= trace
.prev
;
3654 val_t
mmbuilder___AMethPropdef___name(val_t self
) {
3655 struct trace_t trace
= {NULL
, NULL
, 962, LOCATE_mmbuilder___AMethPropdef___name
};
3656 val_t
*variable
= NULL
;
3657 void **closurevariable
= NULL
;
3658 trace
.prev
= tracehead
; tracehead
= &trace
;
3659 trace
.file
= LOCATE_mmbuilder
;
3660 tracehead
= trace
.prev
;
3661 return ATTR_mmbuilder___AMethPropdef____name( self
) /*AMethPropdef::_name*/;
3663 void mmbuilder___AMainMethPropdef___process_and_check(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
3664 struct trace_t trace
= {NULL
, NULL
, 1018, LOCATE_mmbuilder___AMainMethPropdef___process_and_check
};
3666 void **closurevariable
= NULL
;
3667 trace
.prev
= tracehead
; tracehead
= &trace
;
3668 trace
.file
= LOCATE_mmbuilder
;
3670 variable
[1] = param0
;
3671 variable
[2] = param1
;
3672 variable
[3] = param2
;
3673 variable
[4] = param3
;
3674 variable
[6] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*prop*/)( variable
[2] /*prop*/) /*MMLocalProperty::global*/;
3675 CALL_abstractmetamodel___MMGlobalProperty___visibility_level__eq(variable
[6])(variable
[6], variable
[4] /*visibility_level*/) /*MMGlobalProperty::visibility_level=*/;
3676 variable
[6] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
3677 variable
[7] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3678 variable
[7] = CALL_static_type___MMLocalClass___get_type(variable
[7])(variable
[7]) /*MMLocalClass::get_type*/;
3679 variable
[8] = NEW_MMSignature_static_type___MMSignature___init(variable
[6], NIT_NULL
/*null*/, variable
[7]); /*new MMSignature*/
3680 variable
[6] = variable
[8];
3681 CALL_static_type___MMLocalProperty___signature__eq( variable
[2] /*prop*/)( variable
[2] /*prop*/, variable
[6]) /*MMLocalProperty::signature=*/;
3682 return_label108
: while(false);
3683 tracehead
= trace
.prev
;
3686 void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t self
, val_t param0
) {
3687 struct trace_t trace
= {NULL
, NULL
, 1047, LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor
};
3689 void **closurevariable
= NULL
;
3690 trace
.prev
= tracehead
; tracehead
= &trace
;
3691 trace
.file
= LOCATE_mmbuilder
;
3693 variable
[1] = param0
;
3694 variable
[3] = variable
[0];
3695 variable
[3] = CALL_syntax_base___ATypePropdef___prop(variable
[3])(variable
[3]) /*ATypePropdef::prop*/;
3696 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3]) /*AbsSyntaxVisitor::local_property=*/;
3697 CALL_SUPER_mmbuilder___ATypePropdef___accept_abs_syntax_visitor(variable
[0])(variable
[0], variable
[1]) /*super ATypePropdef::accept_abs_syntax_visitor*/;
3698 CALL_syntax_base___AbsSyntaxVisitor___local_property__eq( variable
[1] /*v*/)( variable
[1] /*v*/, NIT_NULL
/*null*/) /*AbsSyntaxVisitor::local_property=*/;
3699 return_label109
: while(false);
3700 tracehead
= trace
.prev
;
3703 val_t
mmbuilder___ATypePropdef___prop(val_t self
) {
3704 struct trace_t trace
= {NULL
, NULL
, 1027, LOCATE_mmbuilder___ATypePropdef___prop
};
3705 val_t
*variable
= NULL
;
3706 void **closurevariable
= NULL
;
3707 trace
.prev
= tracehead
; tracehead
= &trace
;
3708 trace
.file
= LOCATE_mmbuilder
;
3709 tracehead
= trace
.prev
;
3710 return ATTR_mmbuilder___ATypePropdef____prop( self
) /*ATypePropdef::_prop*/;
3712 void mmbuilder___ATypePropdef___accept_property_builder(val_t self
, val_t param0
) {
3713 struct trace_t trace
= {NULL
, NULL
, 1029, LOCATE_mmbuilder___ATypePropdef___accept_property_builder
};
3715 void **closurevariable
= NULL
;
3716 trace
.prev
= tracehead
; tracehead
= &trace
;
3717 trace
.file
= LOCATE_mmbuilder
;
3719 variable
[1] = param0
;
3720 CALL_SUPER_mmbuilder___ATypePropdef___accept_property_builder(variable
[0])(variable
[0], variable
[1]) /*super ATypePropdef::accept_property_builder*/;
3721 variable
[4] = variable
[0];
3722 variable
[4] = CALL_parser_nodes___ATypePropdef___n_id(variable
[4])(variable
[4]) /*ATypePropdef::n_id*/;
3723 variable
[4] = CALL_syntax_base___Token___to_symbol(variable
[4])(variable
[4]) /*Token::to_symbol*/;
3724 variable
[3] = variable
[4];
3725 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3726 variable
[6] = variable
[0];
3727 variable
[7] = NEW_MMSrcTypeProperty_syntax_base___MMSrcTypeProperty___init( variable
[3] /*name*/, variable
[5], variable
[6]); /*new MMSrcTypeProperty*/
3728 variable
[5] = variable
[7];
3729 variable
[4] = variable
[5];
3730 variable
[5] = variable
[0];
3731 ATTR_mmbuilder___ATypePropdef____prop(variable
[5]) /*ATypePropdef::_prop*/ = variable
[4] /*prop*/;
3732 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3733 CALL_mmbuilder___MMSrcLocalClass___add_src_local_property(variable
[5])(variable
[5], variable
[1] /*v*/, variable
[4] /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
3734 return_label110
: while(false);
3735 tracehead
= trace
.prev
;
3738 void mmbuilder___ATypePropdef___accept_property_verifier(val_t self
, val_t param0
) {
3739 struct trace_t trace
= {NULL
, NULL
, 1038, LOCATE_mmbuilder___ATypePropdef___accept_property_verifier
};
3741 void **closurevariable
= NULL
;
3742 trace
.prev
= tracehead
; tracehead
= &trace
;
3743 trace
.file
= LOCATE_mmbuilder
;
3745 variable
[1] = param0
;
3746 CALL_SUPER_mmbuilder___ATypePropdef___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super ATypePropdef::accept_property_verifier*/;
3747 variable
[4] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
3748 variable
[5] = variable
[0];
3749 variable
[5] = CALL_parser_nodes___ATypePropdef___n_type(variable
[5])(variable
[5]) /*ATypePropdef::n_type*/;
3750 variable
[5] = CALL_syntax_base___PType___get_stype(variable
[5])(variable
[5], variable
[1] /*v*/) /*PType::get_stype*/;
3751 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3752 variable
[6] = CALL_static_type___MMLocalClass___get_type(variable
[6])(variable
[6]) /*MMLocalClass::get_type*/;
3753 variable
[7] = NEW_MMSignature_static_type___MMSignature___init(variable
[4], variable
[5], variable
[6]); /*new MMSignature*/
3754 variable
[4] = variable
[7];
3755 variable
[3] = variable
[4];
3756 variable
[4] = variable
[0];
3757 variable
[4] = ATTR_mmbuilder___ATypePropdef____prop(variable
[4]) /*ATypePropdef::_prop*/;
3758 CALL_static_type___MMLocalProperty___signature__eq(variable
[4])(variable
[4], variable
[3] /*signature*/) /*MMLocalProperty::signature=*/;
3759 variable
[5] = variable
[0];
3760 variable
[5] = CALL_parser_nodes___ATypePropdef___n_visibility(variable
[5])(variable
[5]) /*ATypePropdef::n_visibility*/;
3761 variable
[5] = CALL_mmbuilder___PVisibility___level(variable
[5])(variable
[5]) /*PVisibility::level*/;
3762 variable
[4] = variable
[5];
3763 variable
[5] = variable
[0];
3764 variable
[6] = variable
[0];
3765 variable
[6] = ATTR_mmbuilder___ATypePropdef____prop(variable
[6]) /*ATypePropdef::_prop*/;
3766 variable
[7] = variable
[0];
3767 variable
[7] = CALL_parser_nodes___ATypePropdef___n_kwredef(variable
[7])(variable
[7]) /*ATypePropdef::n_kwredef*/;
3768 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::==*/)))))));
3769 CALL_mmbuilder___PPropdef___process_and_check(variable
[5])(variable
[5], variable
[1] /*v*/, variable
[6], variable
[7], variable
[4] /*visibility_level*/) /*PPropdef::process_and_check*/;
3770 return_label111
: while(false);
3771 tracehead
= trace
.prev
;
3774 void mmbuilder___MethidAccumulator___visit(val_t self
, val_t param0
) {
3775 struct trace_t trace
= {NULL
, NULL
, 1059, LOCATE_mmbuilder___MethidAccumulator___visit
};
3777 void **closurevariable
= NULL
;
3778 trace
.prev
= tracehead
; tracehead
= &trace
;
3779 trace
.file
= LOCATE_mmbuilder
;
3781 variable
[1] = param0
;
3782 variable
[3] = TAG_Bool(( variable
[1] /*n*/==NIT_NULL
) || VAL_ISA( variable
[1] /*n*/, COLOR_Token
, ID_Token
)) /*cast Token*/;
3783 if (UNTAG_Bool(variable
[3])) { /*if*/
3784 variable
[3] = variable
[0];
3785 variable
[3] = ATTR_mmbuilder___MethidAccumulator____name(variable
[3]) /*MethidAccumulator::_name*/;
3786 variable
[4] = CALL_lexer___Token___text( variable
[1] /*n*/)( variable
[1] /*n*/) /*Token::text*/;
3787 CALL_abstract_collection___IndexedCollection___append(variable
[3])(variable
[3], variable
[4]) /*String::append*/;
3789 variable
[3] = variable
[0];
3790 CALL_parser_prod___PNode___visit_all( variable
[1] /*n*/)( variable
[1] /*n*/, variable
[3]) /*PNode::visit_all*/;
3792 return_label112
: while(false);
3793 tracehead
= trace
.prev
;
3796 val_t
mmbuilder___MethidAccumulator___name(val_t self
) {
3797 struct trace_t trace
= {NULL
, NULL
, 1058, LOCATE_mmbuilder___MethidAccumulator___name
};
3798 val_t
*variable
= NULL
;
3799 void **closurevariable
= NULL
;
3800 trace
.prev
= tracehead
; tracehead
= &trace
;
3801 trace
.file
= LOCATE_mmbuilder
;
3802 tracehead
= trace
.prev
;
3803 return ATTR_mmbuilder___MethidAccumulator____name( self
) /*MethidAccumulator::_name*/;
3805 void mmbuilder___MethidAccumulator___init(val_t self
, int* init_table
) {
3806 struct trace_t trace
= {NULL
, NULL
, 1068, LOCATE_mmbuilder___MethidAccumulator___init
};
3808 void **closurevariable
= NULL
;
3809 trace
.prev
= tracehead
; tracehead
= &trace
;
3810 trace
.file
= LOCATE_mmbuilder
;
3812 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MethidAccumulator
].i
]) return;
3813 variable
[2] = variable
[0];
3814 variable
[3] = NEW_String_string___String___init(); /*new String*/
3815 ATTR_mmbuilder___MethidAccumulator____name(variable
[2]) /*MethidAccumulator::_name*/ = variable
[3];
3816 return_label113
: while(false);
3817 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MethidAccumulator
].i
] = 1;
3818 tracehead
= trace
.prev
;
3821 void mmbuilder___PMethid___accept_property_builder(val_t self
, val_t param0
) {
3822 struct trace_t trace
= {NULL
, NULL
, 1078, LOCATE_mmbuilder___PMethid___accept_property_builder
};
3824 void **closurevariable
= NULL
;
3825 trace
.prev
= tracehead
; tracehead
= &trace
;
3826 trace
.file
= LOCATE_mmbuilder
;
3828 variable
[1] = param0
;
3829 variable
[4] = NEW_MethidAccumulator_mmbuilder___MethidAccumulator___init(); /*new MethidAccumulator*/
3830 variable
[3] = variable
[4];
3831 variable
[4] = variable
[0];
3832 CALL_parser_prod___Visitor___visit( variable
[3] /*accumulator*/)( variable
[3] /*accumulator*/, variable
[4]) /*MethidAccumulator::visit*/;
3833 variable
[4] = variable
[0];
3834 variable
[5] = CALL_mmbuilder___MethidAccumulator___name( variable
[3] /*accumulator*/)( variable
[3] /*accumulator*/) /*MethidAccumulator::name*/;
3835 variable
[5] = CALL_symbol___String___to_symbol(variable
[5])(variable
[5]) /*String::to_symbol*/;
3836 ATTR_mmbuilder___PMethid____name(variable
[4]) /*PMethid::_name*/ = variable
[5];
3837 CALL_SUPER_mmbuilder___PMethid___accept_property_builder(variable
[0])(variable
[0], variable
[1]) /*super PMethid::accept_property_builder*/;
3838 return_label114
: while(false);
3839 tracehead
= trace
.prev
;
3842 val_t
mmbuilder___PMethid___name(val_t self
) {
3843 struct trace_t trace
= {NULL
, NULL
, 1075, LOCATE_mmbuilder___PMethid___name
};
3844 val_t
*variable
= NULL
;
3845 void **closurevariable
= NULL
;
3846 trace
.prev
= tracehead
; tracehead
= &trace
;
3847 trace
.file
= LOCATE_mmbuilder
;
3848 tracehead
= trace
.prev
;
3849 return ATTR_mmbuilder___PMethid____name( self
) /*PMethid::_name*/;
3851 void mmbuilder___PSignature___check_visibility(val_t self
, val_t param0
, val_t param1
) {
3852 struct trace_t trace
= {NULL
, NULL
, 1088, LOCATE_mmbuilder___PSignature___check_visibility
};
3853 val_t
*variable
= NULL
;
3854 void **closurevariable
= NULL
;
3855 trace
.prev
= tracehead
; tracehead
= &trace
;
3856 trace
.file
= LOCATE_mmbuilder
;
3857 fprintf(stderr
, "Deferred method called");
3858 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 1088);
3860 tracehead
= trace
.prev
;
3863 void mmbuilder___ASignature___accept_property_verifier(val_t self
, val_t param0
) {
3864 struct trace_t trace
= {NULL
, NULL
, 1093, LOCATE_mmbuilder___ASignature___accept_property_verifier
};
3866 void **closurevariable
= NULL
;
3867 trace
.prev
= tracehead
; tracehead
= &trace
;
3868 trace
.file
= LOCATE_mmbuilder
;
3870 variable
[1] = param0
;
3871 CALL_SUPER_mmbuilder___ASignature___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super ASignature::accept_property_verifier*/;
3872 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3873 variable
[3] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[3])(variable
[3]) /*SignatureBuilder::untyped_params*/;
3874 variable
[3] = CALL_abstract_collection___Collection___is_empty(variable
[3])(variable
[3]) /*AbstractArray::is_empty*/;
3875 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[3])))) { /*if*/
3876 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3877 variable
[3] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[3])(variable
[3]) /*SignatureBuilder::untyped_params*/;
3878 variable
[3] = CALL_abstract_collection___Collection___first(variable
[3])(variable
[3]) /*IndexedCollection::first*/;
3879 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3880 variable
[4] = CALL_mmbuilder___SignatureBuilder___params(variable
[4])(variable
[4]) /*SignatureBuilder::params*/;
3881 variable
[4] = CALL_abstract_collection___Collection___first(variable
[4])(variable
[4]) /*IndexedCollection::first*/;
3882 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::==*/)))))));
3883 variable
[4] = variable
[3];
3884 if (!UNTAG_Bool(variable
[4])) { /* or */
3885 variable
[4] = variable
[0];
3886 variable
[4] = CALL_parser_nodes___ASignature___n_type(variable
[4])(variable
[4]) /*ASignature::n_type*/;
3887 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::==*/)))))));
3889 variable
[3] = variable
[4];
3890 if (UNTAG_Bool(variable
[3])) { /*if*/
3891 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3892 variable
[3] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[3])(variable
[3]) /*SignatureBuilder::untyped_params*/;
3893 variable
[3] = CALL_abstract_collection___Collection___first(variable
[3])(variable
[3]) /*IndexedCollection::first*/;
3894 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("Syntax error: untyped parameter."), TAG_Int(32)); /*new String*/
3895 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3], variable
[4]) /*AbsSyntaxVisitor::error*/;
3896 goto return_label115
;
3899 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3900 variable
[3] = CALL_mmbuilder___SignatureBuilder___params(variable
[3])(variable
[3]) /*SignatureBuilder::params*/;
3901 variable
[3] = CALL_abstract_collection___Collection___is_empty(variable
[3])(variable
[3]) /*AbstractArray::is_empty*/;
3902 variable
[3] = TAG_Bool(!UNTAG_Bool(variable
[3]));
3903 if (!UNTAG_Bool(variable
[3])) { /* or */
3904 variable
[3] = variable
[0];
3905 variable
[3] = CALL_parser_nodes___ASignature___n_type(variable
[3])(variable
[3]) /*ASignature::n_type*/;
3906 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::==*/)))))));
3908 if (UNTAG_Bool(variable
[3])) { /*if*/
3909 variable
[4] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
3910 variable
[3] = variable
[4];
3911 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3912 variable
[4] = CALL_mmbuilder___SignatureBuilder___params(variable
[4])(variable
[4]) /*SignatureBuilder::params*/;
3913 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArray::iterator*/;
3914 while (true) { /*for*/
3915 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
3916 if (!UNTAG_Bool(variable
[5])) break; /*for*/
3917 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/;
3918 variable
[6] = variable
[5];
3919 variable
[7] = CALL_mmbuilder___PParam___stype( variable
[6] /*p*/)( variable
[6] /*p*/) /*PParam::stype*/;
3920 CALL_abstract_collection___SimpleCollection___add( variable
[3] /*pars*/)( variable
[3] /*pars*/, variable
[7]) /*AbstractArray::add*/;
3921 continue_116
: while(0);
3922 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
3924 break_116
: while(0);
3925 variable
[4] = NIT_NULL
/*null*/;
3926 variable
[5] = variable
[0];
3927 variable
[5] = CALL_parser_nodes___ASignature___n_type(variable
[5])(variable
[5]) /*ASignature::n_type*/;
3928 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::==*/)))))));
3929 if (UNTAG_Bool(variable
[5])) { /*if*/
3930 variable
[5] = variable
[0];
3931 variable
[5] = CALL_parser_nodes___ASignature___n_type(variable
[5])(variable
[5]) /*ASignature::n_type*/;
3932 variable
[5] = CALL_syntax_base___PType___get_stype(variable
[5])(variable
[5], variable
[1] /*v*/) /*PType::get_stype*/;
3933 variable
[4] = variable
[5] /*ret=*/;
3935 variable
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3936 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3937 variable
[6] = CALL_static_type___MMLocalClass___get_type(variable
[6])(variable
[6]) /*MMLocalClass::get_type*/;
3938 variable
[7] = NEW_MMSignature_static_type___MMSignature___init( variable
[3] /*pars*/, variable
[4] /*ret*/, variable
[6]); /*new MMSignature*/
3939 variable
[6] = variable
[7];
3940 CALL_mmbuilder___SignatureBuilder___signature__eq(variable
[5])(variable
[5], variable
[6]) /*SignatureBuilder::signature=*/;
3941 variable
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3942 variable
[5] = CALL_mmbuilder___SignatureBuilder___vararg_rank(variable
[5])(variable
[5]) /*SignatureBuilder::vararg_rank*/;
3943 variable
[5] = TAG_Bool(UNTAG_Int(variable
[5])>=UNTAG_Int( TAG_Int(0)));
3944 if (UNTAG_Bool(variable
[5])) { /*if*/
3945 variable
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3946 variable
[5] = CALL_mmbuilder___SignatureBuilder___signature(variable
[5])(variable
[5]) /*SignatureBuilder::signature*/;
3947 variable
[6] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3948 variable
[6] = CALL_mmbuilder___SignatureBuilder___vararg_rank(variable
[6])(variable
[6]) /*SignatureBuilder::vararg_rank*/;
3949 CALL_vararg___MMSignature___vararg_rank__eq(variable
[5])(variable
[5], variable
[6]) /*MMSignature::vararg_rank=*/;
3951 variable
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3952 variable
[5] = CALL_mmbuilder___SignatureBuilder___closure_decls(variable
[5])(variable
[5]) /*SignatureBuilder::closure_decls*/;
3953 variable
[5] = CALL_abstract_collection___Collection___iterator(variable
[5])(variable
[5]) /*AbstractArray::iterator*/;
3954 while (true) { /*for*/
3955 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*ArrayIterator::is_ok*/;
3956 if (!UNTAG_Bool(variable
[6])) break; /*for*/
3957 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*ArrayIterator::item*/;
3958 variable
[7] = variable
[6];
3959 variable
[8] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3960 variable
[8] = CALL_mmbuilder___SignatureBuilder___signature(variable
[8])(variable
[8]) /*SignatureBuilder::signature*/;
3961 variable
[8] = CALL_static_type___MMSignature___closures(variable
[8])(variable
[8]) /*MMSignature::closures*/;
3962 variable
[9] = CALL_syntax_base___PClosureDecl___variable( variable
[7] /*clos*/)( variable
[7] /*clos*/) /*AClosureDecl::variable*/;
3963 variable
[9] = CALL_syntax_base___ClosureVariable___closure(variable
[9])(variable
[9]) /*ClosureVariable::closure*/;
3964 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
3965 continue_117
: while(0);
3966 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*ArrayIterator::next*/;
3968 break_117
: while(0);
3971 return_label115
: while(false);
3972 tracehead
= trace
.prev
;
3975 void mmbuilder___ASignature___check_visibility(val_t self
, val_t param0
, val_t param1
) {
3976 struct trace_t trace
= {NULL
, NULL
, 1120, LOCATE_mmbuilder___ASignature___check_visibility
};
3978 void **closurevariable
= NULL
;
3979 trace
.prev
= tracehead
; tracehead
= &trace
;
3980 trace
.file
= LOCATE_mmbuilder
;
3982 variable
[1] = param0
;
3983 variable
[2] = param1
;
3984 variable
[4] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*p*/)( variable
[2] /*p*/) /*MMLocalProperty::global*/;
3985 variable
[4] = CALL_abstractmetamodel___MMGlobalProperty___visibility_level(variable
[4])(variable
[4]) /*MMGlobalProperty::visibility_level*/;
3986 variable
[4] = TAG_Bool(UNTAG_Int(variable
[4])>=UNTAG_Int( TAG_Int(3)));
3987 if (UNTAG_Bool(variable
[4])) { /*if*/
3988 goto return_label118
;
3990 variable
[4] = variable
[0];
3991 variable
[4] = CALL_parser_nodes___ASignature___n_params(variable
[4])(variable
[4]) /*ASignature::n_params*/;
3992 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*List::iterator*/;
3993 while (true) { /*for*/
3994 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ListIterator::is_ok*/;
3995 if (!UNTAG_Bool(variable
[5])) break; /*for*/
3996 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ListIterator::item*/;
3997 variable
[6] = variable
[5];
3998 variable
[7] = CALL_parser_nodes___PParam___n_type( variable
[6] /*n*/)( variable
[6] /*n*/) /*PParam::n_type*/;
3999 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::==*/)))))));
4000 if (UNTAG_Bool(variable
[7])) { /*if*/
4001 variable
[7] = CALL_parser_nodes___PParam___n_type( variable
[6] /*n*/)( variable
[6] /*n*/) /*PParam::n_type*/;
4002 CALL_mmbuilder___PType___check_visibility(variable
[7])(variable
[7], variable
[1] /*v*/, variable
[2] /*p*/) /*PType::check_visibility*/;
4004 continue_119
: while(0);
4005 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ListIterator::next*/;
4007 break_119
: while(0);
4008 variable
[4] = variable
[0];
4009 variable
[4] = CALL_parser_nodes___ASignature___n_type(variable
[4])(variable
[4]) /*ASignature::n_type*/;
4010 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::==*/)))))));
4011 if (UNTAG_Bool(variable
[4])) { /*if*/
4012 variable
[4] = variable
[0];
4013 variable
[4] = CALL_parser_nodes___ASignature___n_type(variable
[4])(variable
[4]) /*ASignature::n_type*/;
4014 CALL_mmbuilder___PType___check_visibility(variable
[4])(variable
[4], variable
[1] /*v*/, variable
[2] /*p*/) /*PType::check_visibility*/;
4016 return_label118
: while(false);
4017 tracehead
= trace
.prev
;
4020 val_t
mmbuilder___PParam___position(val_t self
) {
4021 struct trace_t trace
= {NULL
, NULL
, 1131, LOCATE_mmbuilder___PParam___position
};
4022 val_t
*variable
= NULL
;
4023 void **closurevariable
= NULL
;
4024 trace
.prev
= tracehead
; tracehead
= &trace
;
4025 trace
.file
= LOCATE_mmbuilder
;
4026 tracehead
= trace
.prev
;
4027 return ATTR_mmbuilder___PParam____position( self
) /*PParam::_position*/;
4029 val_t
mmbuilder___PParam___variable(val_t self
) {
4030 struct trace_t trace
= {NULL
, NULL
, 1133, LOCATE_mmbuilder___PParam___variable
};
4031 val_t
*variable
= NULL
;
4032 void **closurevariable
= NULL
;
4033 trace
.prev
= tracehead
; tracehead
= &trace
;
4034 trace
.file
= LOCATE_mmbuilder
;
4035 tracehead
= trace
.prev
;
4036 return ATTR_mmbuilder___PParam____variable( self
) /*PParam::_variable*/;
4038 void mmbuilder___PParam___accept_property_verifier(val_t self
, val_t param0
) {
4039 struct trace_t trace
= {NULL
, NULL
, 1138, LOCATE_mmbuilder___PParam___accept_property_verifier
};
4041 void **closurevariable
= NULL
;
4042 trace
.prev
= tracehead
; tracehead
= &trace
;
4043 trace
.file
= LOCATE_mmbuilder
;
4045 variable
[1] = param0
;
4046 CALL_SUPER_mmbuilder___PParam___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super PParam::accept_property_verifier*/;
4047 variable
[3] = variable
[0];
4048 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4049 variable
[4] = CALL_mmbuilder___SignatureBuilder___params(variable
[4])(variable
[4]) /*SignatureBuilder::params*/;
4050 variable
[4] = CALL_abstract_collection___Collection___length(variable
[4])(variable
[4]) /*AbstractArray::length*/;
4051 ATTR_mmbuilder___PParam____position(variable
[3]) /*PParam::_position*/ = variable
[4];
4052 variable
[3] = variable
[0];
4053 variable
[4] = variable
[0];
4054 variable
[4] = CALL_parser_nodes___PParam___n_id(variable
[4])(variable
[4]) /*PParam::n_id*/;
4055 variable
[4] = CALL_syntax_base___Token___to_symbol(variable
[4])(variable
[4]) /*Token::to_symbol*/;
4056 variable
[5] = variable
[0];
4057 variable
[6] = NEW_ParamVariable_syntax_base___ParamVariable___init(variable
[4], variable
[5]); /*new ParamVariable*/
4058 variable
[4] = variable
[6];
4059 ATTR_mmbuilder___PParam____variable(variable
[3]) /*PParam::_variable*/ = variable
[4];
4060 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4061 variable
[3] = CALL_mmbuilder___SignatureBuilder___params(variable
[3])(variable
[3]) /*SignatureBuilder::params*/;
4062 variable
[4] = variable
[0];
4063 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
4064 variable
[3] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4065 variable
[3] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[3])(variable
[3]) /*SignatureBuilder::untyped_params*/;
4066 variable
[4] = variable
[0];
4067 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
4068 variable
[3] = variable
[0];
4069 variable
[3] = CALL_parser_nodes___PParam___n_type(variable
[3])(variable
[3]) /*PParam::n_type*/;
4070 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::==*/)))))));
4071 if (UNTAG_Bool(variable
[3])) { /*if*/
4072 variable
[4] = variable
[0];
4073 variable
[4] = CALL_parser_nodes___PParam___n_type(variable
[4])(variable
[4]) /*PParam::n_type*/;
4074 variable
[4] = CALL_syntax_base___PType___get_stype(variable
[4])(variable
[4], variable
[1] /*v*/) /*PType::get_stype*/;
4075 variable
[3] = variable
[4];
4076 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4077 variable
[4] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[4])(variable
[4]) /*SignatureBuilder::untyped_params*/;
4078 variable
[4] = CALL_abstract_collection___Collection___iterator(variable
[4])(variable
[4]) /*AbstractArray::iterator*/;
4079 while (true) { /*for*/
4080 variable
[5] = CALL_abstract_collection___Iterator___is_ok(variable
[4])(variable
[4]) /*ArrayIterator::is_ok*/;
4081 if (!UNTAG_Bool(variable
[5])) break; /*for*/
4082 variable
[5] = CALL_abstract_collection___Iterator___item(variable
[4])(variable
[4]) /*ArrayIterator::item*/;
4083 variable
[6] = variable
[5];
4084 CALL_mmbuilder___PParam___stype__eq( variable
[6] /*p*/)( variable
[6] /*p*/, variable
[3] /*stype*/) /*PParam::stype=*/;
4085 variable
[7] = variable
[0];
4086 variable
[7] = CALL_mmbuilder___PParam___is_vararg(variable
[7])(variable
[7]) /*PParam::is_vararg*/;
4087 if (UNTAG_Bool(variable
[7])) { /*if*/
4088 variable
[7] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4089 variable
[7] = CALL_mmbuilder___SignatureBuilder___vararg_rank(variable
[7])(variable
[7]) /*SignatureBuilder::vararg_rank*/;
4090 variable
[8] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
4091 variable
[7] = TAG_Bool((variable
[7])==(variable
[8]));
4092 if (UNTAG_Bool(variable
[7])) { /*if*/
4093 variable
[7] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4094 variable
[8] = CALL_syntax_base___PParam___position( variable
[6] /*p*/)( variable
[6] /*p*/) /*PParam::position*/;
4095 CALL_mmbuilder___SignatureBuilder___vararg_rank__eq(variable
[7])(variable
[7], variable
[8]) /*SignatureBuilder::vararg_rank=*/;
4097 variable
[7] = variable
[0];
4098 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Error: A vararg parameter is already defined."), TAG_Int(45)); /*new String*/
4099 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[7], variable
[8]) /*AbsSyntaxVisitor::error*/;
4101 variable
[7] = CALL_syntax_base___AbsSyntaxVisitor___type_array( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3] /*stype*/) /*AbsSyntaxVisitor::type_array*/;
4102 variable
[3] = variable
[7] /*stype=*/;
4104 variable
[7] = CALL_syntax_base___PParam___variable( variable
[6] /*p*/)( variable
[6] /*p*/) /*PParam::variable*/;
4105 CALL_syntax_base___Variable___stype__eq(variable
[7])(variable
[7], variable
[3] /*stype*/) /*Variable::stype=*/;
4106 continue_121
: while(0);
4107 CALL_abstract_collection___Iterator___next(variable
[4])(variable
[4]) /*ArrayIterator::next*/;
4109 break_121
: while(0);
4110 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4111 variable
[4] = CALL_mmbuilder___SignatureBuilder___untyped_params(variable
[4])(variable
[4]) /*SignatureBuilder::untyped_params*/;
4112 CALL_abstract_collection___RemovableCollection___clear(variable
[4])(variable
[4]) /*AbstractArray::clear*/;
4114 return_label120
: while(false);
4115 tracehead
= trace
.prev
;
4118 val_t
mmbuilder___PParam___stype(val_t self
) {
4119 struct trace_t trace
= {NULL
, NULL
, 1135, LOCATE_mmbuilder___PParam___stype
};
4120 val_t
*variable
= NULL
;
4121 void **closurevariable
= NULL
;
4122 trace
.prev
= tracehead
; tracehead
= &trace
;
4123 trace
.file
= LOCATE_mmbuilder
;
4124 tracehead
= trace
.prev
;
4125 return ATTR_mmbuilder___PParam____stype( self
) /*PParam::_stype*/;
4127 void mmbuilder___PParam___stype__eq(val_t self
, val_t param0
) {
4128 struct trace_t trace
= {NULL
, NULL
, 1135, LOCATE_mmbuilder___PParam___stype__eq
};
4129 val_t
*variable
= NULL
;
4130 void **closurevariable
= NULL
;
4131 trace
.prev
= tracehead
; tracehead
= &trace
;
4132 trace
.file
= LOCATE_mmbuilder
;
4133 ATTR_mmbuilder___PParam____stype( self
) /*PParam::_stype*/ = param0
;
4134 tracehead
= trace
.prev
;
4137 val_t
mmbuilder___PParam___is_vararg(val_t self
) {
4138 struct trace_t trace
= {NULL
, NULL
, 1163, LOCATE_mmbuilder___PParam___is_vararg
};
4139 val_t
*variable
= NULL
;
4140 void **closurevariable
= NULL
;
4141 trace
.prev
= tracehead
; tracehead
= &trace
;
4142 trace
.file
= LOCATE_mmbuilder
;
4143 fprintf(stderr
, "Deferred method called");
4144 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 1163);
4146 tracehead
= trace
.prev
;
4149 val_t
mmbuilder___AParam___is_vararg(val_t self
) {
4150 struct trace_t trace
= {NULL
, NULL
, 1167, LOCATE_mmbuilder___AParam___is_vararg
};
4152 void **closurevariable
= NULL
;
4153 trace
.prev
= tracehead
; tracehead
= &trace
;
4154 trace
.file
= LOCATE_mmbuilder
;
4156 variable
[2] = variable
[0];
4157 variable
[2] = CALL_parser_nodes___AParam___n_dotdotdot(variable
[2])(variable
[2]) /*AParam::n_dotdotdot*/;
4158 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::==*/)))))));
4159 variable
[1] = variable
[2];
4160 goto return_label122
;
4161 return_label122
: while(false);
4162 tracehead
= trace
.prev
;
4165 val_t
mmbuilder___AClosureDecl___variable(val_t self
) {
4166 struct trace_t trace
= {NULL
, NULL
, 1171, LOCATE_mmbuilder___AClosureDecl___variable
};
4167 val_t
*variable
= NULL
;
4168 void **closurevariable
= NULL
;
4169 trace
.prev
= tracehead
; tracehead
= &trace
;
4170 trace
.file
= LOCATE_mmbuilder
;
4171 tracehead
= trace
.prev
;
4172 return ATTR_mmbuilder___AClosureDecl____variable( self
) /*AClosureDecl::_variable*/;
4174 void mmbuilder___AClosureDecl___accept_property_verifier(val_t self
, val_t param0
) {
4175 struct trace_t trace
= {NULL
, NULL
, 1173, LOCATE_mmbuilder___AClosureDecl___accept_property_verifier
};
4177 void **closurevariable
= NULL
;
4178 trace
.prev
= tracehead
; tracehead
= &trace
;
4179 trace
.file
= LOCATE_mmbuilder
;
4181 variable
[1] = param0
;
4182 variable
[4] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4183 variable
[3] = variable
[4];
4184 variable
[4] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init(); /*new SignatureBuilder*/
4185 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[4]) /*PropertyVerifierVisitor::signature_builder=*/;
4186 CALL_SUPER_mmbuilder___AClosureDecl___accept_property_verifier(variable
[0])(variable
[0], variable
[1]) /*super AClosureDecl::accept_property_verifier*/;
4187 variable
[5] = CALL_mmbuilder___PropertyVerifierVisitor___signature_builder( variable
[1] /*v*/)( variable
[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4188 variable
[5] = CALL_mmbuilder___SignatureBuilder___signature(variable
[5])(variable
[5]) /*SignatureBuilder::signature*/;
4189 variable
[4] = variable
[5];
4190 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::==*/)))));
4191 if (UNTAG_Bool(variable
[5])) { /*if*/
4192 variable
[5] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
4193 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
4194 variable
[6] = CALL_static_type___MMLocalClass___get_type(variable
[6])(variable
[6]) /*MMLocalClass::get_type*/;
4195 variable
[7] = NEW_MMSignature_static_type___MMSignature___init(variable
[5], NIT_NULL
/*null*/, variable
[6]); /*new MMSignature*/
4196 variable
[5] = variable
[7];
4197 variable
[4] = variable
[5] /*sig=*/;
4199 variable
[5] = CALL_static_type___MMSignature___return_type( variable
[4] /*sig*/)( variable
[4] /*sig*/) /*MMSignature::return_type*/;
4200 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::==*/)))))));
4201 variable
[6] = variable
[5];
4202 if (UNTAG_Bool(variable
[6])) { /* and */
4203 variable
[6] = variable
[0];
4204 variable
[6] = CALL_parser_nodes___AClosureDecl___n_kwbreak(variable
[6])(variable
[6]) /*AClosureDecl::n_kwbreak*/;
4205 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::==*/)))))));
4207 variable
[5] = variable
[6];
4208 if (UNTAG_Bool(variable
[5])) { /*if*/
4209 variable
[5] = variable
[0];
4210 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("Syntax Error: A break bloc cannot have a return value."), TAG_Int(54)); /*new String*/
4211 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[5], variable
[6]) /*AbsSyntaxVisitor::error*/;
4213 variable
[6] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
4214 variable
[7] = NEW_MMSignature_static_type___MMSignature___init(variable
[6], NIT_NULL
/*null*/, NIT_NULL
/*null*/); /*new MMSignature*/
4215 variable
[6] = variable
[7];
4216 variable
[5] = variable
[6];
4217 variable
[7] = NEW_MMClosure_static_type___MMClosure___init( variable
[5] /*finalize_sig*/, TAG_Bool(false), TAG_Bool(true)); /*new MMClosure*/
4218 variable
[6] = variable
[7];
4219 variable
[7] = CALL_static_type___MMSignature___closures( variable
[4] /*sig*/)( variable
[4] /*sig*/) /*MMSignature::closures*/;
4220 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[6] /*finalizer_clos*/) /*AbstractArray::add*/;
4221 variable
[8] = variable
[0];
4222 variable
[8] = CALL_parser_nodes___AClosureDecl___n_kwbreak(variable
[8])(variable
[8]) /*AClosureDecl::n_kwbreak*/;
4223 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::==*/)))))));
4224 variable
[9] = variable
[0];
4225 variable
[9] = CALL_parser_nodes___AClosureDecl___n_expr(variable
[9])(variable
[9]) /*AClosureDecl::n_expr*/;
4226 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::==*/)))))));
4227 variable
[10] = NEW_MMClosure_static_type___MMClosure___init( variable
[4] /*sig*/, variable
[8], variable
[9]); /*new MMClosure*/
4228 variable
[8] = variable
[10];
4229 variable
[7] = variable
[8];
4230 CALL_mmbuilder___PropertyVerifierVisitor___signature_builder__eq( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[3] /*old_signature_builder*/) /*PropertyVerifierVisitor::signature_builder=*/;
4231 variable
[8] = CALL_mmbuilder___SignatureBuilder___closure_decls( variable
[3] /*old_signature_builder*/)( variable
[3] /*old_signature_builder*/) /*SignatureBuilder::closure_decls*/;
4232 variable
[9] = variable
[0];
4233 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
4234 variable
[8] = variable
[0];
4235 variable
[9] = variable
[0];
4236 variable
[9] = CALL_parser_nodes___AClosureDecl___n_id(variable
[9])(variable
[9]) /*AClosureDecl::n_id*/;
4237 variable
[9] = CALL_syntax_base___Token___to_symbol(variable
[9])(variable
[9]) /*Token::to_symbol*/;
4238 variable
[10] = variable
[0];
4239 variable
[11] = NEW_ClosureVariable_syntax_base___ClosureVariable___init(variable
[9], variable
[10], variable
[7] /*clos*/); /*new ClosureVariable*/
4240 variable
[9] = variable
[11];
4241 ATTR_mmbuilder___AClosureDecl____variable(variable
[8]) /*AClosureDecl::_variable*/ = variable
[9];
4242 return_label123
: while(false);
4243 tracehead
= trace
.prev
;
4246 void mmbuilder___PType___check_visibility(val_t self
, val_t param0
, val_t param1
) {
4247 struct trace_t trace
= {NULL
, NULL
, 1199, LOCATE_mmbuilder___PType___check_visibility
};
4248 val_t
*variable
= NULL
;
4249 void **closurevariable
= NULL
;
4250 trace
.prev
= tracehead
; tracehead
= &trace
;
4251 trace
.file
= LOCATE_mmbuilder
;
4252 fprintf(stderr
, "Deferred method called");
4253 fprintf(stderr
, " (%s:%d)\n", LOCATE_mmbuilder
, 1199);
4255 tracehead
= trace
.prev
;
4258 void mmbuilder___AType___check_visibility(val_t self
, val_t param0
, val_t param1
) {
4259 struct trace_t trace
= {NULL
, NULL
, 1204, LOCATE_mmbuilder___AType___check_visibility
};
4261 void **closurevariable
= NULL
;
4262 trace
.prev
= tracehead
; tracehead
= &trace
;
4263 trace
.file
= LOCATE_mmbuilder
;
4265 variable
[1] = param0
;
4266 variable
[2] = param1
;
4267 variable
[4] = CALL_abstractmetamodel___MMLocalProperty___global( variable
[2] /*p*/)( variable
[2] /*p*/) /*MMLocalProperty::global*/;
4268 variable
[4] = CALL_abstractmetamodel___MMGlobalProperty___visibility_level(variable
[4])(variable
[4]) /*MMGlobalProperty::visibility_level*/;
4269 variable
[4] = TAG_Bool(UNTAG_Int(variable
[4])>=UNTAG_Int( TAG_Int(3)));
4270 if (UNTAG_Bool(variable
[4])) { /*if*/
4271 goto return_label124
;
4273 variable
[5] = variable
[0];
4274 variable
[5] = CALL_syntax_base___PType___get_stype(variable
[5])(variable
[5], variable
[1] /*v*/) /*AType::get_stype*/;
4275 variable
[4] = variable
[5];
4276 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::==*/)))));
4277 if (UNTAG_Bool(variable
[5])) { /*if*/
4278 goto return_label124
;
4280 variable
[6] = CALL_static_type___MMType___local_class( variable
[4] /*t*/)( variable
[4] /*t*/) /*MMType::local_class*/;
4281 variable
[5] = variable
[6];
4282 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::==*/)))));
4283 if (UNTAG_Bool(variable
[6])) { /*if*/
4284 goto return_label124
;
4286 variable
[6] = CALL_abstractmetamodel___MMLocalClass___global( variable
[5] /*bc*/)( variable
[5] /*bc*/) /*MMLocalClass::global*/;
4287 variable
[6] = CALL_abstractmetamodel___MMGlobalClass___visibility_level(variable
[6])(variable
[6]) /*MMGlobalClass::visibility_level*/;
4288 variable
[6] = TAG_Bool(UNTAG_Int(variable
[6])>=UNTAG_Int( TAG_Int(3)));
4289 if (UNTAG_Bool(variable
[6])) { /*if*/
4290 variable
[6] = variable
[0];
4291 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4292 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Access error: Class "), TAG_Int(20)); /*new String*/
4293 variable
[9] = variable
[8];
4294 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[9]) /*AbstractArray::add*/;
4295 variable
[10] = variable
[5] /*bc*/;
4296 variable
[10] = CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/;
4297 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[10]) /*AbstractArray::add*/;
4298 variable
[11] = 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*/
4299 variable
[12] = variable
[11];
4300 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[12]) /*AbstractArray::add*/;
4301 variable
[13] = variable
[2] /*p*/;
4302 variable
[13] = CALL_string___Object___to_s(variable
[13])(variable
[13]) /*Object::to_s*/;
4303 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[13]) /*AbstractArray::add*/;
4304 variable
[14] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
4305 variable
[15] = variable
[14];
4306 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[15]) /*AbstractArray::add*/;
4307 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
4308 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6], variable
[7]) /*AbsSyntaxVisitor::error*/;
4310 variable
[6] = variable
[0];
4311 variable
[6] = CALL_parser_nodes___AType___n_types(variable
[6])(variable
[6]) /*AType::n_types*/;
4312 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*List::iterator*/;
4313 while (true) { /*for*/
4314 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*ListIterator::is_ok*/;
4315 if (!UNTAG_Bool(variable
[7])) break; /*for*/
4316 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*ListIterator::item*/;
4317 variable
[8] = variable
[7];
4318 CALL_mmbuilder___PType___check_visibility( variable
[8] /*n*/)( variable
[8] /*n*/, variable
[1] /*v*/, variable
[2] /*p*/) /*PType::check_visibility*/;
4319 continue_125
: while(0);
4320 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*ListIterator::next*/;
4322 break_125
: while(0);
4323 return_label124
: while(false);
4324 tracehead
= trace
.prev
;
4327 void mmbuilder___PExpr___accept_class_builder(val_t self
, val_t param0
) {
4328 struct trace_t trace
= {NULL
, NULL
, 1221, LOCATE_mmbuilder___PExpr___accept_class_builder
};
4330 void **closurevariable
= NULL
;
4331 trace
.prev
= tracehead
; tracehead
= &trace
;
4332 trace
.file
= LOCATE_mmbuilder
;
4334 variable
[1] = param0
;
4335 return_label126
: while(false);
4336 tracehead
= trace
.prev
;
4339 void mmbuilder___PExpr___accept_property_builder(val_t self
, val_t param0
) {
4340 struct trace_t trace
= {NULL
, NULL
, 1222, LOCATE_mmbuilder___PExpr___accept_property_builder
};
4342 void **closurevariable
= NULL
;
4343 trace
.prev
= tracehead
; tracehead
= &trace
;
4344 trace
.file
= LOCATE_mmbuilder
;
4346 variable
[1] = param0
;
4347 return_label127
: while(false);
4348 tracehead
= trace
.prev
;
4351 void mmbuilder___PExpr___accept_property_verifier(val_t self
, val_t param0
) {
4352 struct trace_t trace
= {NULL
, NULL
, 1223, LOCATE_mmbuilder___PExpr___accept_property_verifier
};
4354 void **closurevariable
= NULL
;
4355 trace
.prev
= tracehead
; tracehead
= &trace
;
4356 trace
.file
= LOCATE_mmbuilder
;
4358 variable
[1] = param0
;
4359 return_label128
: while(false);
4360 tracehead
= trace
.prev
;