Update c_src to handle default closures.
[nit.git] / c_src / mmbuilder._sep.c
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};
5 val_t variable[6];
6 void **closurevariable = NULL;
7 trace.prev = tracehead; tracehead = &trace;
8 trace.file = LOCATE_mmbuilder;
9 variable[0] = self;
10 variable[1] = param0;
11 variable[2] = param1;
12 variable[4] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[1] /*a*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[1] /*a*/) /*MMLocalClass::cshe*/;
13 variable[4] = ((partial_order___PartialOrderElement___rank_t)CALL(variable[4],COLOR_partial_order___PartialOrderElement___rank))(variable[4]) /*PartialOrderElement::rank*/;
14 variable[5] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL( variable[2] /*b*/,COLOR_abstractmetamodel___MMLocalClass___cshe))( variable[2] /*b*/) /*MMLocalClass::cshe*/;
15 variable[5] = ((partial_order___PartialOrderElement___rank_t)CALL(variable[5],COLOR_partial_order___PartialOrderElement___rank))(variable[5]) /*PartialOrderElement::rank*/;
16 variable[4] = ((kernel___Int_____leqg_t)CALL(variable[4],COLOR_kernel___Comparable_____leqg))(variable[4], variable[5]) /*Int::<=>*/;
17 variable[3] = variable[4];
18 goto return_label0;
19 return_label0: while(false);
20 tracehead = trace.prev;
21 return variable[3];
22 }
23 void mmbuilder___CSHSorter___init(val_t self, int* init_table) {
24 struct trace_t trace = {NULL, NULL, 32, LOCATE_mmbuilder___CSHSorter___init};
25 val_t variable[2];
26 void **closurevariable = NULL;
27 trace.prev = tracehead; tracehead = &trace;
28 trace.file = LOCATE_mmbuilder;
29 variable[0] = self;
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;
34 return;
35 }
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]*/
39 val_t variable[19];
40 void **closurevariable = NULL;
41 trace.prev = tracehead; tracehead = &trace;
42 trace.file = LOCATE_mmbuilder;
43 variable[0] = self;
44 variable[1] = param0;
45 variable[3] = variable[0];
46 ((inheritance___MMModule___import_global_classes_t)CALL(variable[3],COLOR_inheritance___MMModule___import_global_classes))(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] = ((syntax_base___MMSrcModule___node_t)CALL(variable[4],COLOR_syntax_base___MMSrcModule___node))(variable[4]) /*MMSrcModule::node*/;
53 ((mmbuilder___ClassBuilderVisitor___visit_t)CALL( variable[3] /*mmbv*/,COLOR_parser_prod___Visitor___visit))( variable[3] /*mmbv*/, variable[4]) /*ClassBuilderVisitor::visit*/;
54 variable[4] = ((mmloader___ToolContext___error_count_t)CALL( variable[1] /*tc*/,COLOR_mmloader___ToolContext___error_count))( 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)));
59 }
60 variable[4] = variable[0];
61 ((inheritance___MMModule___import_local_classes_t)CALL(variable[4],COLOR_inheritance___MMModule___import_local_classes))(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] = ((syntax_base___MMSrcModule___node_t)CALL(variable[5],COLOR_syntax_base___MMSrcModule___node))(variable[5]) /*MMSrcModule::node*/;
68 ((mmbuilder___ClassSpecializationBuilderVisitor___visit_t)CALL( variable[4] /*mmbv1*/,COLOR_parser_prod___Visitor___visit))( variable[4] /*mmbv1*/, variable[5]) /*ClassSpecializationBuilderVisitor::visit*/;
69 variable[5] = ((mmloader___ToolContext___error_count_t)CALL( variable[1] /*tc*/,COLOR_mmloader___ToolContext___error_count))( 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)));
74 }
75 variable[5] = variable[0];
76 variable[5] = ((abstractmetamodel___MMModule___local_classes_t)CALL(variable[5],COLOR_abstractmetamodel___MMModule___local_classes))(variable[5]) /*MMModule::local_classes*/;
77 variable[5] = ((array___AbstractArray___iterator_t)CALL(variable[5],COLOR_abstract_collection___Collection___iterator))(variable[5]) /*AbstractArray::iterator*/;
78 while (true) { /*for*/
79 variable[6] = ((array___ArrayIterator___is_ok_t)CALL(variable[5],COLOR_abstract_collection___Iterator___is_ok))(variable[5]) /*ArrayIterator::is_ok*/;
80 if (!UNTAG_Bool(variable[6])) break; /*for*/
81 variable[6] = ((array___ArrayIterator___item_t)CALL(variable[5],COLOR_abstract_collection___Iterator___item))(variable[5]) /*ArrayIterator::item*/;
82 variable[7] = variable[6];
83 variable[8] = variable[0];
84 variable[9] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[7] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[7] /*c*/) /*MMLocalClass::global*/;
85 variable[9] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable[9],COLOR_abstractmetamodel___MMGlobalClass___intro))(variable[9]) /*MMGlobalClass::intro*/;
86 variable[9] = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable[9],COLOR_abstractmetamodel___MMLocalClass___module))(variable[9]) /*MMLocalClass::module*/;
87 variable[8] = ((abstractmetamodel___MMModule___visibility_for_t)CALL(variable[8],COLOR_abstractmetamodel___MMModule___visibility_for))(variable[8], variable[9]) /*MMModule::visibility_for*/;
88 variable[9] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[7] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[7] /*c*/) /*MMLocalClass::global*/;
89 variable[9] = ((abstractmetamodel___MMGlobalClass___visibility_level_t)CALL(variable[9],COLOR_abstractmetamodel___MMGlobalClass___visibility_level))(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*/
92 goto continue_3;
93 }
94 ((inheritance___MMLocalClass___compute_super_classes_t)CALL( variable[7] /*c*/,COLOR_inheritance___MMLocalClass___compute_super_classes))( variable[7] /*c*/) /*MMLocalClass::compute_super_classes*/;
95 continue_3: while(0);
96 ((array___ArrayIterator___next_t)CALL(variable[5],COLOR_abstract_collection___Iterator___next))(variable[5]) /*ArrayIterator::next*/;
97 }
98 break_3: while(0);
99 variable[6] = variable[0];
100 variable[6] = ((abstractmetamodel___MMModule___class_specialization_hierarchy_t)CALL(variable[6],COLOR_abstractmetamodel___MMModule___class_specialization_hierarchy))(variable[6]) /*MMModule::class_specialization_hierarchy*/;
101 variable[6] = ((array___Collection___to_a_t)CALL(variable[6],COLOR_array___Collection___to_a))(variable[6]) /*Collection::to_a*/;
102 variable[5] = variable[6];
103 if (once_bool_4) variable[7] = once_value_4;
104 else {
105 variable[7] = NEW_CSHSorter_mmbuilder___CSHSorter___init(); /*new CSHSorter*/
106 once_value_4 = variable[7];
107 once_bool_4 = true;
108 }
109 variable[6] = variable[7];
110 ((sorter___AbstractSorter___sort_t)CALL( variable[6] /*sorter*/,COLOR_sorter___AbstractSorter___sort))( 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] = ((array___AbstractArray___iterator_t)CALL( variable[5] /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable[5] /*classes*/) /*AbstractArray::iterator*/;
116 while (true) { /*for*/
117 variable[9] = ((array___ArrayIterator___is_ok_t)CALL(variable[8],COLOR_abstract_collection___Iterator___is_ok))(variable[8]) /*ArrayIterator::is_ok*/;
118 if (!UNTAG_Bool(variable[9])) break; /*for*/
119 variable[9] = ((array___ArrayIterator___item_t)CALL(variable[8],COLOR_abstract_collection___Iterator___item))(variable[8]) /*ArrayIterator::item*/;
120 variable[10] = variable[9];
121 ((mmbuilder___MMLocalClass___accept_class_visitor_t)CALL( variable[10] /*c*/,COLOR_mmbuilder___MMLocalClass___accept_class_visitor))( variable[10] /*c*/, variable[7] /*mmbv1b*/) /*MMLocalClass::accept_class_visitor*/;
122 ((inheritance___MMLocalClass___compute_ancestors_t)CALL( variable[10] /*c*/,COLOR_inheritance___MMLocalClass___compute_ancestors))( variable[10] /*c*/) /*MMLocalClass::compute_ancestors*/;
123 continue_5: while(0);
124 ((array___ArrayIterator___next_t)CALL(variable[8],COLOR_abstract_collection___Iterator___next))(variable[8]) /*ArrayIterator::next*/;
125 }
126 break_5: while(0);
127 variable[8] = ((mmloader___ToolContext___error_count_t)CALL( variable[1] /*tc*/,COLOR_mmloader___ToolContext___error_count))( 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)));
132 }
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] = ((array___AbstractArray___iterator_t)CALL( variable[5] /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable[5] /*classes*/) /*AbstractArray::iterator*/;
138 while (true) { /*for*/
139 variable[10] = ((array___ArrayIterator___is_ok_t)CALL(variable[9],COLOR_abstract_collection___Iterator___is_ok))(variable[9]) /*ArrayIterator::is_ok*/;
140 if (!UNTAG_Bool(variable[10])) break; /*for*/
141 variable[10] = ((array___ArrayIterator___item_t)CALL(variable[9],COLOR_abstract_collection___Iterator___item))(variable[9]) /*ArrayIterator::item*/;
142 variable[11] = variable[10];
143 ((mmbuilder___MMLocalClass___accept_class_visitor_t)CALL( variable[11] /*c*/,COLOR_mmbuilder___MMLocalClass___accept_class_visitor))( variable[11] /*c*/, variable[8] /*mmbv1b*/) /*MMLocalClass::accept_class_visitor*/;
144 continue_6: while(0);
145 ((array___ArrayIterator___next_t)CALL(variable[9],COLOR_abstract_collection___Iterator___next))(variable[9]) /*ArrayIterator::next*/;
146 }
147 break_6: while(0);
148 variable[9] = ((mmloader___ToolContext___error_count_t)CALL( variable[1] /*tc*/,COLOR_mmloader___ToolContext___error_count))( 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)));
153 }
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] = ((array___AbstractArray___iterator_t)CALL( variable[5] /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable[5] /*classes*/) /*AbstractArray::iterator*/;
159 while (true) { /*for*/
160 variable[11] = ((array___ArrayIterator___is_ok_t)CALL(variable[10],COLOR_abstract_collection___Iterator___is_ok))(variable[10]) /*ArrayIterator::is_ok*/;
161 if (!UNTAG_Bool(variable[11])) break; /*for*/
162 variable[11] = ((array___ArrayIterator___item_t)CALL(variable[10],COLOR_abstract_collection___Iterator___item))(variable[10]) /*ArrayIterator::item*/;
163 variable[12] = variable[11];
164 ((inheritance___MMLocalClass___inherit_global_properties_t)CALL( variable[12] /*c*/,COLOR_inheritance___MMLocalClass___inherit_global_properties))( variable[12] /*c*/) /*MMLocalClass::inherit_global_properties*/;
165 ((mmbuilder___MMLocalClass___accept_class_visitor_t)CALL( variable[12] /*c*/,COLOR_mmbuilder___MMLocalClass___accept_class_visitor))( 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] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[12] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[12] /*c*/) /*MMLocalClass::global*/;
170 variable[14] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable[14],COLOR_abstractmetamodel___MMGlobalClass___intro))(variable[14]) /*MMGlobalClass::intro*/;
171 variable[14] = TAG_Bool((variable[14] == variable[12] /*c*/) || ((variable[14] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[14],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[14], variable[12] /*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[14],COLOR_kernel___Object_____eqeq))(variable[14], variable[12] /*c*/) /*Object::==*/)))));
172 }
173 variable[13] = variable[14];
174 variable[14] = variable[13];
175 if (UNTAG_Bool(variable[14])) { /* and */
176 variable[14] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[12] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[12] /*c*/) /*MMLocalClass::global*/;
177 variable[14] = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL(variable[14],COLOR_abstractmetamodel___MMGlobalClass___is_universal))(variable[14]) /*MMGlobalClass::is_universal*/;
178 variable[14] = TAG_Bool(!UNTAG_Bool(variable[14]));
179 }
180 variable[13] = variable[14];
181 variable[14] = variable[13];
182 if (UNTAG_Bool(variable[14])) { /* and */
183 variable[14] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[12] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[12] /*c*/) /*MMLocalClass::global*/;
184 variable[14] = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL(variable[14],COLOR_abstractmetamodel___MMGlobalClass___is_interface))(variable[14]) /*MMGlobalClass::is_interface*/;
185 variable[14] = TAG_Bool(!UNTAG_Bool(variable[14]));
186 }
187 variable[13] = variable[14];
188 if (UNTAG_Bool(variable[13])) { /*if*/
189 ((mmbuilder___MMSrcLocalClass___process_default_constructors_t)CALL( variable[12] /*c*/,COLOR_mmbuilder___MMSrcLocalClass___process_default_constructors))( variable[12] /*c*/, variable[9] /*mmbv2*/) /*MMSrcLocalClass::process_default_constructors*/;
190 }
191 continue_7: while(0);
192 ((array___ArrayIterator___next_t)CALL(variable[10],COLOR_abstract_collection___Iterator___next))(variable[10]) /*ArrayIterator::next*/;
193 }
194 break_7: while(0);
195 variable[10] = ((mmloader___ToolContext___error_count_t)CALL( variable[1] /*tc*/,COLOR_mmloader___ToolContext___error_count))( 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)));
200 }
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] = ((array___AbstractArray___iterator_t)CALL( variable[5] /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable[5] /*classes*/) /*AbstractArray::iterator*/;
206 while (true) { /*for*/
207 variable[12] = ((array___ArrayIterator___is_ok_t)CALL(variable[11],COLOR_abstract_collection___Iterator___is_ok))(variable[11]) /*ArrayIterator::is_ok*/;
208 if (!UNTAG_Bool(variable[12])) break; /*for*/
209 variable[12] = ((array___ArrayIterator___item_t)CALL(variable[11],COLOR_abstract_collection___Iterator___item))(variable[11]) /*ArrayIterator::item*/;
210 variable[13] = variable[12];
211 ((mmbuilder___MMLocalClass___accept_properties_visitor_t)CALL( variable[13] /*c*/,COLOR_mmbuilder___MMLocalClass___accept_properties_visitor))( variable[13] /*c*/, variable[10] /*mmbv3*/) /*MMLocalClass::accept_properties_visitor*/;
212 continue_8: while(0);
213 ((array___ArrayIterator___next_t)CALL(variable[11],COLOR_abstract_collection___Iterator___next))(variable[11]) /*ArrayIterator::next*/;
214 }
215 break_8: while(0);
216 variable[11] = ((array___AbstractArray___iterator_t)CALL( variable[5] /*classes*/,COLOR_abstract_collection___Collection___iterator))( variable[5] /*classes*/) /*AbstractArray::iterator*/;
217 while (true) { /*for*/
218 variable[12] = ((array___ArrayIterator___is_ok_t)CALL(variable[11],COLOR_abstract_collection___Iterator___is_ok))(variable[11]) /*ArrayIterator::is_ok*/;
219 if (!UNTAG_Bool(variable[12])) break; /*for*/
220 variable[12] = ((array___ArrayIterator___item_t)CALL(variable[11],COLOR_abstract_collection___Iterator___item))(variable[11]) /*ArrayIterator::item*/;
221 variable[13] = variable[12];
222 variable[14] = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable[13] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable[13] /*c*/) /*MMLocalClass::global_properties*/;
223 variable[14] = ((abstract_collection___Collection___iterator_t)CALL(variable[14],COLOR_abstract_collection___Collection___iterator))(variable[14]) /*Collection::iterator*/;
224 while (true) { /*for*/
225 variable[15] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[14],COLOR_abstract_collection___Iterator___is_ok))(variable[14]) /*Iterator::is_ok*/;
226 if (!UNTAG_Bool(variable[15])) break; /*for*/
227 variable[15] = ((abstract_collection___Iterator___item_t)CALL(variable[14],COLOR_abstract_collection___Iterator___item))(variable[14]) /*Iterator::item*/;
228 variable[16] = variable[15];
229 variable[17] = variable[0];
230 variable[18] = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable[16] /*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable[16] /*g*/) /*MMGlobalProperty::intro*/;
231 variable[18] = ((abstractmetamodel___MMLocalProperty___module_t)CALL(variable[18],COLOR_abstractmetamodel___MMLocalProperty___module))(variable[18]) /*MMLocalProperty::module*/;
232 variable[17] = ((abstractmetamodel___MMModule___visibility_for_t)CALL(variable[17],COLOR_abstractmetamodel___MMModule___visibility_for))(variable[17], variable[18]) /*MMModule::visibility_for*/;
233 variable[18] = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL( variable[16] /*g*/,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))( 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*/
236 goto continue_10;
237 }
238 variable[18] = ((inheritance___MMLocalClass_____bra_t)CALL( variable[13] /*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra))( variable[13] /*c*/, variable[16] /*g*/) /*MMLocalClass::[]*/;
239 variable[17] = variable[18];
240 continue_10: while(0);
241 ((abstract_collection___Iterator___next_t)CALL(variable[14],COLOR_abstract_collection___Iterator___next))(variable[14]) /*Iterator::next*/;
242 }
243 break_10: while(0);
244 continue_9: while(0);
245 ((array___ArrayIterator___next_t)CALL(variable[11],COLOR_abstract_collection___Iterator___next))(variable[11]) /*ArrayIterator::next*/;
246 }
247 break_9: while(0);
248 variable[11] = ((mmloader___ToolContext___error_count_t)CALL( variable[1] /*tc*/,COLOR_mmloader___ToolContext___error_count))( 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)));
253 }
254 return_label2: while(false);
255 tracehead = trace.prev;
256 return;
257 }
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};
260 val_t variable[3];
261 void **closurevariable = NULL;
262 trace.prev = tracehead; tracehead = &trace;
263 trace.file = LOCATE_mmbuilder;
264 variable[0] = self;
265 variable[1] = param0;
266 return_label11: while(false);
267 tracehead = trace.prev;
268 return;
269 }
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};
272 val_t variable[3];
273 void **closurevariable = NULL;
274 trace.prev = tracehead; tracehead = &trace;
275 trace.file = LOCATE_mmbuilder;
276 variable[0] = self;
277 variable[1] = param0;
278 return_label12: while(false);
279 tracehead = trace.prev;
280 return;
281 }
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};
284 val_t variable[6];
285 void **closurevariable = NULL;
286 trace.prev = tracehead; tracehead = &trace;
287 trace.file = LOCATE_mmbuilder;
288 variable[0] = self;
289 variable[1] = param0;
290 variable[3] = variable[0];
291 variable[3] = ((syntax_base___MMSrcLocalClass___nodes_t)CALL(variable[3],COLOR_syntax_base___MMSrcLocalClass___nodes))(variable[3]) /*MMSrcLocalClass::nodes*/;
292 variable[3] = ((array___AbstractArray___iterator_t)CALL(variable[3],COLOR_abstract_collection___Collection___iterator))(variable[3]) /*AbstractArray::iterator*/;
293 while (true) { /*for*/
294 variable[4] = ((array___ArrayIterator___is_ok_t)CALL(variable[3],COLOR_abstract_collection___Iterator___is_ok))(variable[3]) /*ArrayIterator::is_ok*/;
295 if (!UNTAG_Bool(variable[4])) break; /*for*/
296 variable[4] = ((array___ArrayIterator___item_t)CALL(variable[3],COLOR_abstract_collection___Iterator___item))(variable[3]) /*ArrayIterator::item*/;
297 variable[5] = variable[4];
298 ((parser_prod___Visitor___visit_t)CALL( variable[1] /*v*/,COLOR_parser_prod___Visitor___visit))( variable[1] /*v*/, variable[5] /*n*/) /*Visitor::visit*/;
299 continue_14: while(0);
300 ((array___ArrayIterator___next_t)CALL(variable[3],COLOR_abstract_collection___Iterator___next))(variable[3]) /*ArrayIterator::next*/;
301 }
302 break_14: while(0);
303 return_label13: while(false);
304 tracehead = trace.prev;
305 return;
306 }
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};
309 val_t variable[6];
310 void **closurevariable = NULL;
311 trace.prev = tracehead; tracehead = &trace;
312 trace.file = LOCATE_mmbuilder;
313 variable[0] = self;
314 variable[1] = param0;
315 variable[3] = variable[0];
316 variable[3] = ((syntax_base___MMSrcLocalClass___nodes_t)CALL(variable[3],COLOR_syntax_base___MMSrcLocalClass___nodes))(variable[3]) /*MMSrcLocalClass::nodes*/;
317 variable[3] = ((array___AbstractArray___iterator_t)CALL(variable[3],COLOR_abstract_collection___Collection___iterator))(variable[3]) /*AbstractArray::iterator*/;
318 while (true) { /*for*/
319 variable[4] = ((array___ArrayIterator___is_ok_t)CALL(variable[3],COLOR_abstract_collection___Iterator___is_ok))(variable[3]) /*ArrayIterator::is_ok*/;
320 if (!UNTAG_Bool(variable[4])) break; /*for*/
321 variable[4] = ((array___ArrayIterator___item_t)CALL(variable[3],COLOR_abstract_collection___Iterator___item))(variable[3]) /*ArrayIterator::item*/;
322 variable[5] = variable[4];
323 ((parser_prod___Visitor___visit_t)CALL( variable[1] /*v*/,COLOR_parser_prod___Visitor___visit))( variable[1] /*v*/, variable[5] /*n*/) /*Visitor::visit*/;
324 continue_16: while(0);
325 ((array___ArrayIterator___next_t)CALL(variable[3],COLOR_abstract_collection___Iterator___next))(variable[3]) /*ArrayIterator::next*/;
326 }
327 break_16: while(0);
328 variable[3] = variable[0];
329 variable[3] = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL(variable[3],COLOR_syntax_base___MMSrcLocalClass___src_local_properties))(variable[3]) /*MMSrcLocalClass::src_local_properties*/;
330 variable[3] = ((abstract_collection___Map___iterator_t)CALL(variable[3],COLOR_abstract_collection___Collection___iterator))(variable[3]) /*Map::iterator*/;
331 while (true) { /*for*/
332 variable[4] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[3],COLOR_abstract_collection___Iterator___is_ok))(variable[3]) /*Iterator::is_ok*/;
333 if (!UNTAG_Bool(variable[4])) break; /*for*/
334 variable[4] = ((abstract_collection___Iterator___item_t)CALL(variable[3],COLOR_abstract_collection___Iterator___item))(variable[3]) /*Iterator::item*/;
335 variable[5] = variable[4];
336 ((mmbuilder___MMLocalProperty___accept_property_visitor_t)CALL( variable[5] /*p*/,COLOR_mmbuilder___MMLocalProperty___accept_property_visitor))( variable[5] /*p*/, variable[1] /*v*/) /*MMLocalProperty::accept_property_visitor*/;
337 continue_17: while(0);
338 ((abstract_collection___Iterator___next_t)CALL(variable[3],COLOR_abstract_collection___Iterator___next))(variable[3]) /*Iterator::next*/;
339 }
340 break_17: while(0);
341 return_label15: while(false);
342 tracehead = trace.prev;
343 return;
344 }
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]*/
348 val_t variable[24];
349 void **closurevariable = NULL;
350 trace.prev = tracehead; tracehead = &trace;
351 trace.file = LOCATE_mmbuilder;
352 variable[0] = self;
353 variable[1] = param0;
354 variable[3] = variable[0];
355 variable[3] = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL(variable[3],COLOR_abstractmetamodel___MMLocalClass___global_properties))(variable[3]) /*MMLocalClass::global_properties*/;
356 variable[3] = ((abstract_collection___Collection___iterator_t)CALL(variable[3],COLOR_abstract_collection___Collection___iterator))(variable[3]) /*Collection::iterator*/;
357 while (true) { /*for*/
358 variable[4] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[3],COLOR_abstract_collection___Iterator___is_ok))(variable[3]) /*Iterator::is_ok*/;
359 if (!UNTAG_Bool(variable[4])) break; /*for*/
360 variable[4] = ((abstract_collection___Iterator___item_t)CALL(variable[3],COLOR_abstract_collection___Iterator___item))(variable[3]) /*Iterator::item*/;
361 variable[5] = variable[4];
362 variable[6] = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable[5] /*gp*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable[5] /*gp*/) /*MMGlobalProperty::is_init*/;
363 if (UNTAG_Bool(variable[6])) { /*if*/
364 variable[6] = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL( variable[5] /*gp*/,COLOR_abstractmetamodel___MMGlobalProperty___intro))( variable[5] /*gp*/) /*MMGlobalProperty::intro*/;
365 variable[6] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable[6],COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable[6]) /*MMLocalProperty::local_class*/;
366 variable[7] = variable[0];
367 variable[6] = TAG_Bool((variable[6] == variable[7]) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6],variable[7])):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], variable[7]) /*Object::==*/)))));
368 if (UNTAG_Bool(variable[6])) { /*if*/
369 goto return_label18;
370 }
371 }
372 continue_19: while(0);
373 ((abstract_collection___Iterator___next_t)CALL(variable[3],COLOR_abstract_collection___Iterator___next))(variable[3]) /*Iterator::next*/;
374 }
375 break_19: while(0);
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] = ((abstractmetamodel___MMLocalClass___che_t)CALL(variable[5],COLOR_abstractmetamodel___MMLocalClass___che))(variable[5]) /*MMLocalClass::che*/;
382 variable[5] = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable[5],COLOR_partial_order___PartialOrderElement___direct_greaters))(variable[5]) /*PartialOrderElement::direct_greaters*/;
383 variable[5] = ((array___AbstractArray___iterator_t)CALL(variable[5],COLOR_abstract_collection___Collection___iterator))(variable[5]) /*AbstractArray::iterator*/;
384 while (true) { /*for*/
385 variable[6] = ((array___ArrayIterator___is_ok_t)CALL(variable[5],COLOR_abstract_collection___Iterator___is_ok))(variable[5]) /*ArrayIterator::is_ok*/;
386 if (!UNTAG_Bool(variable[6])) break; /*for*/
387 variable[6] = ((array___ArrayIterator___item_t)CALL(variable[5],COLOR_abstract_collection___Iterator___item))(variable[5]) /*ArrayIterator::item*/;
388 variable[7] = variable[6];
389 variable[8] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[7] /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[7] /*sc*/) /*MMLocalClass::global*/;
390 variable[8] = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL(variable[8],COLOR_abstractmetamodel___MMGlobalClass___is_universal))(variable[8]) /*MMGlobalClass::is_universal*/;
391 variable[9] = variable[8];
392 if (!UNTAG_Bool(variable[9])) { /* or */
393 variable[9] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[7] /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[7] /*sc*/) /*MMLocalClass::global*/;
394 variable[9] = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL(variable[9],COLOR_abstractmetamodel___MMGlobalClass___is_interface))(variable[9]) /*MMGlobalClass::is_interface*/;
395 }
396 variable[8] = variable[9];
397 if (UNTAG_Bool(variable[8])) { /*if*/
398 goto continue_20;
399 }
400 variable[8] = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable[7] /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable[7] /*sc*/) /*MMLocalClass::global_properties*/;
401 variable[8] = ((abstract_collection___Collection___iterator_t)CALL(variable[8],COLOR_abstract_collection___Collection___iterator))(variable[8]) /*Collection::iterator*/;
402 while (true) { /*for*/
403 variable[9] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[8],COLOR_abstract_collection___Iterator___is_ok))(variable[8]) /*Iterator::is_ok*/;
404 if (!UNTAG_Bool(variable[9])) break; /*for*/
405 variable[9] = ((abstract_collection___Iterator___item_t)CALL(variable[8],COLOR_abstract_collection___Iterator___item))(variable[8]) /*Iterator::item*/;
406 variable[10] = variable[9];
407 variable[11] = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable[10] /*gp*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable[10] /*gp*/) /*MMGlobalProperty::is_init*/;
408 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[11])))) { /*if*/
409 goto continue_21;
410 }
411 ((array___ArraySet___add_t)CALL( variable[4] /*super_constructors*/,COLOR_abstract_collection___SimpleCollection___add))( variable[4] /*super_constructors*/, variable[10] /*gp*/) /*ArraySet::add*/;
412 continue_21: while(0);
413 ((abstract_collection___Iterator___next_t)CALL(variable[8],COLOR_abstract_collection___Iterator___next))(variable[8]) /*Iterator::next*/;
414 }
415 break_21: while(0);
416 if (once_bool_22) variable[9] = once_value_22;
417 else {
418 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
419 variable[9] = ((symbol___String___to_symbol_t)CALL(variable[9],COLOR_symbol___String___to_symbol))(variable[9]) /*String::to_symbol*/;
420 once_value_22 = variable[9];
421 once_bool_22 = true;
422 }
423 variable[9] = ((abstractmetamodel___MMLocalClass___get_property_by_name_t)CALL( variable[7] /*sc*/,COLOR_abstractmetamodel___MMLocalClass___get_property_by_name))( 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) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*gp*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*gp*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*gp*/,COLOR_kernel___Object_____eqeq))( variable[8] /*gp*/, NIT_NULL /*null*/) /*Object::==*/)))))));
426 if (UNTAG_Bool(variable[9])) { /*if*/
427 variable[9] = variable[0];
428 variable[9] = ((inheritance___MMLocalClass_____bra_t)CALL(variable[9],COLOR_abstractmetamodel___MMLocalClass_____bra))(variable[9], variable[8] /*gp*/) /*MMLocalClass::[]*/;
429 ((array___ArraySet___add_t)CALL( variable[3] /*super_inits*/,COLOR_abstract_collection___SimpleCollection___add))( variable[3] /*super_inits*/, variable[9]) /*ArraySet::add*/;
430 }
431 continue_20: while(0);
432 ((array___ArrayIterator___next_t)CALL(variable[5],COLOR_abstract_collection___Iterator___next))(variable[5]) /*ArrayIterator::next*/;
433 }
434 break_20: while(0);
435 variable[6] = NEW_Array_array___Array___init(); /*new Array[MMSrcAttribute]*/
436 variable[5] = variable[6];
437 variable[6] = variable[0];
438 variable[6] = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL(variable[6],COLOR_syntax_base___MMSrcLocalClass___src_local_properties))(variable[6]) /*MMSrcLocalClass::src_local_properties*/;
439 variable[6] = ((abstract_collection___Map___iterator_t)CALL(variable[6],COLOR_abstract_collection___Collection___iterator))(variable[6]) /*Map::iterator*/;
440 while (true) { /*for*/
441 variable[7] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[6],COLOR_abstract_collection___Iterator___is_ok))(variable[6]) /*Iterator::is_ok*/;
442 if (!UNTAG_Bool(variable[7])) break; /*for*/
443 variable[7] = ((abstract_collection___Iterator___item_t)CALL(variable[6],COLOR_abstract_collection___Iterator___item))(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] = ((syntax_base___MMSrcAttribute___node_t)CALL( variable[8] /*a*/,COLOR_syntax_base___MMLocalProperty___node))( 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] = ((parser_nodes___AAttrPropdef___n_expr_t)CALL( variable[9] /*n*/,COLOR_parser_nodes___AAttrPropdef___n_expr))( variable[9] /*n*/) /*AAttrPropdef::n_expr*/;
452 variable[10] = TAG_Bool((variable[10] == NIT_NULL /*null*/) || ((variable[10] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[10],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[10], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[10],COLOR_kernel___Object_____eqeq))(variable[10], NIT_NULL /*null*/) /*Object::==*/)))));
453 if (UNTAG_Bool(variable[10])) { /*if*/
454 ((array___AbstractArray___add_t)CALL( variable[5] /*unassigned_attributes*/,COLOR_abstract_collection___SimpleCollection___add))( variable[5] /*unassigned_attributes*/, variable[8] /*a*/) /*AbstractArray::add*/;
455 }
456 }
457 continue_23: while(0);
458 ((abstract_collection___Iterator___next_t)CALL(variable[6],COLOR_abstract_collection___Iterator___next))(variable[6]) /*Iterator::next*/;
459 }
460 break_23: while(0);
461 variable[6] = ((array___ArraySet___is_empty_t)CALL( variable[4] /*super_constructors*/,COLOR_abstract_collection___Collection___is_empty))( 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] = ((array___ArraySet___iterator_t)CALL( variable[4] /*super_constructors*/,COLOR_abstract_collection___Collection___iterator))( variable[4] /*super_constructors*/) /*ArraySet::iterator*/;
466 while (true) { /*for*/
467 variable[8] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[7],COLOR_abstract_collection___Iterator___is_ok))(variable[7]) /*Iterator::is_ok*/;
468 if (!UNTAG_Bool(variable[8])) break; /*for*/
469 variable[8] = ((abstract_collection___Iterator___item_t)CALL(variable[7],COLOR_abstract_collection___Iterator___item))(variable[7]) /*Iterator::item*/;
470 variable[9] = variable[8];
471 variable[11] = ((abstractmetamodel___MMGlobalProperty___local_class_t)CALL( variable[9] /*gp*/,COLOR_abstractmetamodel___MMGlobalProperty___local_class))( variable[9] /*gp*/) /*MMGlobalProperty::local_class*/;
472 variable[10] = variable[11];
473 variable[11] = ((array___AbstractArray___has_t)CALL( variable[6] /*supers*/,COLOR_abstract_collection___Collection___has))( variable[6] /*supers*/, variable[10] /*sc*/) /*AbstractArray::has*/;
474 if (UNTAG_Bool(variable[11])) { /*if*/
475 goto continue_24;
476 }
477 variable[11] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[10] /*sc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[10] /*sc*/) /*MMLocalClass::global*/;
478 variable[11] = ((abstractmetamodel___MMGlobalClass___is_mixin_t)CALL(variable[11],COLOR_abstractmetamodel___MMGlobalClass___is_mixin))(variable[11]) /*MMGlobalClass::is_mixin*/;
479 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[11])))) { /*if*/
480 ((array___AbstractArray___add_t)CALL( variable[6] /*supers*/,COLOR_abstract_collection___SimpleCollection___add))( variable[6] /*supers*/, variable[10] /*sc*/) /*AbstractArray::add*/;
481 }
482 continue_24: while(0);
483 ((abstract_collection___Iterator___next_t)CALL(variable[7],COLOR_abstract_collection___Iterator___next))(variable[7]) /*Iterator::next*/;
484 }
485 break_24: while(0);
486 variable[7] = variable[0];
487 variable[7] = ((abstractmetamodel___MMLocalClass___che_t)CALL(variable[7],COLOR_abstractmetamodel___MMLocalClass___che))(variable[7]) /*MMLocalClass::che*/;
488 variable[7] = ((partial_order___PartialOrderElement___order_t)CALL(variable[7],COLOR_partial_order___PartialOrderElement___order))(variable[7]) /*PartialOrderElement::order*/;
489 variable[7] = ((partial_order___PartialOrder___select_smallests_t)CALL(variable[7],COLOR_partial_order___PartialOrder___select_smallests))(variable[7], variable[6] /*supers*/) /*PartialOrder::select_smallests*/;
490 variable[6] = variable[7] /*supers=*/;
491 variable[7] = NIT_NULL /*null*/;
492 variable[8] = ((array___AbstractArray___length_t)CALL( variable[6] /*supers*/,COLOR_abstract_collection___Collection___length))( 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] = ((syntax_base___MMSrcLocalClass___nodes_t)CALL(variable[8],COLOR_syntax_base___MMSrcLocalClass___nodes))(variable[8]) /*MMSrcLocalClass::nodes*/;
497 variable[8] = ((abstract_collection___IndexedCollection___first_t)CALL(variable[8],COLOR_abstract_collection___Collection___first))(variable[8]) /*IndexedCollection::first*/;
498 variable[9] = NEW_String_string___String___init(); /*new 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 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
502 variable[12] = variable[0];
503 variable[13] = variable[12];
504 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
505 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
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 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
509 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
510 variable[16] = ((string___Collection___join_t)CALL( variable[6] /*supers*/,COLOR_string___Collection___join))( variable[6] /*supers*/, variable[16]) /*Collection::join*/;
511 variable[17] = variable[16];
512 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[17]) /*String::append*/;
513 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(". Costructors are "), TAG_Int(18)); /*new String*/
514 variable[19] = variable[18];
515 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[19]) /*String::append*/;
516 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
517 variable[20] = ((string___Collection___join_t)CALL( variable[4] /*super_constructors*/,COLOR_string___Collection___join))( variable[4] /*super_constructors*/, variable[20]) /*Collection::join*/;
518 variable[21] = variable[20];
519 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[21]) /*String::append*/;
520 variable[22] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
521 variable[23] = variable[22];
522 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[23]) /*String::append*/;
523 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
524 goto return_label18;
525 } else { /*if*/
526 variable[8] = ((array___AbstractArray___length_t)CALL( variable[6] /*supers*/,COLOR_abstract_collection___Collection___length))( variable[6] /*supers*/) /*AbstractArray::length*/;
527 variable[8] = TAG_Bool((variable[8])==( TAG_Int(1)));
528 if (UNTAG_Bool(variable[8])) { /*if*/
529 variable[8] = ((abstract_collection___IndexedCollection___first_t)CALL( variable[6] /*supers*/,COLOR_abstract_collection___Collection___first))( variable[6] /*supers*/) /*IndexedCollection::first*/;
530 variable[7] = variable[8] /*superclass=*/;
531 }
532 }
533 variable[8] = ((array___ArraySet___iterator_t)CALL( variable[4] /*super_constructors*/,COLOR_abstract_collection___Collection___iterator))( variable[4] /*super_constructors*/) /*ArraySet::iterator*/;
534 while (true) { /*for*/
535 variable[9] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[8],COLOR_abstract_collection___Iterator___is_ok))(variable[8]) /*Iterator::is_ok*/;
536 if (!UNTAG_Bool(variable[9])) break; /*for*/
537 variable[9] = ((abstract_collection___Iterator___item_t)CALL(variable[8],COLOR_abstract_collection___Iterator___item))(variable[8]) /*Iterator::item*/;
538 variable[10] = variable[9];
539 variable[11] = TAG_Bool(( variable[7] /*superclass*/ == NIT_NULL /*null*/) || (( variable[7] /*superclass*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[7] /*superclass*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[7] /*superclass*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[7] /*superclass*/,COLOR_kernel___Object_____eqeq))( variable[7] /*superclass*/, NIT_NULL /*null*/) /*Object::==*/)))));
540 variable[12] = variable[11];
541 if (!UNTAG_Bool(variable[12])) { /* or */
542 variable[12] = ((abstractmetamodel___MMGlobalProperty___local_class_t)CALL( variable[10] /*gp*/,COLOR_abstractmetamodel___MMGlobalProperty___local_class))( variable[10] /*gp*/) /*MMGlobalProperty::local_class*/;
543 variable[12] = TAG_Bool((variable[12] == variable[7] /*superclass*/) || ((variable[12] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[12],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[12], variable[7] /*superclass*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[12],COLOR_kernel___Object_____eqeq))(variable[12], variable[7] /*superclass*/) /*Object::==*/)))));
544 }
545 variable[11] = variable[12];
546 if (UNTAG_Bool(variable[11])) { /*if*/
547 variable[11] = variable[0];
548 ((inheritance___MMLocalClass___make_visible_an_inherited_global_property_t)CALL(variable[11],COLOR_inheritance___MMLocalClass___make_visible_an_inherited_global_property))(variable[11], variable[10] /*gp*/) /*MMLocalClass::make_visible_an_inherited_global_property*/;
549 }
550 continue_25: while(0);
551 ((abstract_collection___Iterator___next_t)CALL(variable[8],COLOR_abstract_collection___Iterator___next))(variable[8]) /*Iterator::next*/;
552 }
553 break_25: while(0);
554 variable[8] = variable[0];
555 variable[8] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[8],COLOR_abstractmetamodel___MMLocalClass___global))(variable[8]) /*MMLocalClass::global*/;
556 variable[9] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[7] /*superclass*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[7] /*superclass*/) /*MMLocalClass::global*/;
557 ((abstractmetamodel___MMGlobalClass___mixin_of__eq_t)CALL(variable[8],COLOR_abstractmetamodel___MMGlobalClass___mixin_of__eq))(variable[8], variable[9]) /*MMGlobalClass::mixin_of=*/;
558 } else { /*if*/
559 variable[7] = variable[0];
560 variable[8] = ((array___Collection___to_a_t)CALL( variable[3] /*super_inits*/,COLOR_array___Collection___to_a))( variable[3] /*super_inits*/) /*Collection::to_a*/;
561 variable[9] = NEW_MMImplicitInit_syntax_base___MMImplicitInit___init(variable[7], variable[5] /*unassigned_attributes*/, variable[8]); /*new MMImplicitInit*/
562 variable[7] = variable[9];
563 variable[6] = variable[7];
564 variable[7] = variable[0];
565 ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable[7],COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable[7], variable[1] /*v*/, variable[6] /*p*/) /*MMSrcLocalClass::add_src_local_property*/;
566 }
567 return_label18: while(false);
568 tracehead = trace.prev;
569 return;
570 }
571 void mmbuilder___MMSrcLocalClass___add_src_local_property(val_t self, val_t param0, val_t param1) {
572 struct trace_t trace = {NULL, NULL, 232, LOCATE_mmbuilder___MMSrcLocalClass___add_src_local_property};
573 val_t variable[21];
574 void **closurevariable = NULL;
575 trace.prev = tracehead; tracehead = &trace;
576 trace.file = LOCATE_mmbuilder;
577 variable[0] = self;
578 variable[1] = param0;
579 variable[2] = param1;
580 variable[5] = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable[2] /*prop*/) /*MMLocalProperty::name*/;
581 variable[4] = variable[5];
582 variable[5] = variable[0];
583 variable[5] = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL(variable[5],COLOR_syntax_base___MMSrcLocalClass___src_local_properties))(variable[5]) /*MMSrcLocalClass::src_local_properties*/;
584 variable[5] = ((abstract_collection___Map___has_key_t)CALL(variable[5],COLOR_abstract_collection___Map___has_key))(variable[5], variable[4] /*pname*/) /*Map::has_key*/;
585 if (UNTAG_Bool(variable[5])) { /*if*/
586 variable[5] = ((syntax_base___MMLocalProperty___node_t)CALL( variable[2] /*prop*/,COLOR_syntax_base___MMLocalProperty___node))( variable[2] /*prop*/) /*MMLocalProperty::node*/;
587 variable[6] = NEW_String_string___String___init(); /*new String*/
588 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("Error: A property "), TAG_Int(18)); /*new String*/
589 variable[8] = variable[7];
590 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
591 variable[9] = variable[4] /*pname*/;
592 variable[9] = ((string___String___to_s_t)CALL(variable[9],COLOR_string___Object___to_s))(variable[9]) /*String::to_s*/;
593 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[9]) /*String::append*/;
594 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" is already defined in class "), TAG_Int(29)); /*new String*/
595 variable[11] = variable[10];
596 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[11]) /*String::append*/;
597 variable[12] = variable[0];
598 variable[12] = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable[12],COLOR_abstractmetamodel___MMLocalClass___name))(variable[12]) /*MMLocalClass::name*/;
599 variable[13] = variable[12];
600 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
601 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[13]) /*String::append*/;
602 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
603 variable[15] = variable[14];
604 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[15]) /*String::append*/;
605 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[5], variable[6]) /*AbsSyntaxVisitor::error*/;
606 goto return_label26;
607 }
608 variable[5] = variable[0];
609 variable[5] = ((syntax_base___MMSrcLocalClass___src_local_properties_t)CALL(variable[5],COLOR_syntax_base___MMSrcLocalClass___src_local_properties))(variable[5]) /*MMSrcLocalClass::src_local_properties*/;
610 ((abstract_collection___Map_____braeq_t)CALL(variable[5],COLOR_abstract_collection___Map_____braeq))(variable[5], variable[4] /*pname*/, variable[2] /*prop*/) /*Map::[]=*/;
611 variable[5] = variable[0];
612 variable[5] = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL(variable[5],COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))(variable[5], variable[4] /*pname*/) /*MMLocalClass::has_global_property_by_name*/;
613 if (UNTAG_Bool(variable[5])) { /*if*/
614 variable[6] = variable[0];
615 variable[6] = ((abstractmetamodel___MMLocalClass___properties_by_name_t)CALL(variable[6],COLOR_abstractmetamodel___MMLocalClass___properties_by_name))(variable[6]) /*MMLocalClass::properties_by_name*/;
616 variable[6] = ((abstract_collection___Map_____bra_t)CALL(variable[6],COLOR_abstract_collection___Map_____bra))(variable[6], variable[4] /*pname*/) /*Map::[]*/;
617 variable[5] = variable[6];
618 variable[6] = ((array___AbstractArray___length_t)CALL( variable[5] /*globs*/,COLOR_abstract_collection___Collection___length))( variable[5] /*globs*/) /*AbstractArray::length*/;
619 variable[6] = TAG_Bool(UNTAG_Int(variable[6])>UNTAG_Int( TAG_Int(1)));
620 if (UNTAG_Bool(variable[6])) { /*if*/
621 variable[6] = ((syntax_base___MMLocalProperty___node_t)CALL( variable[2] /*prop*/,COLOR_syntax_base___MMLocalProperty___node))( variable[2] /*prop*/) /*MMLocalProperty::node*/;
622 variable[7] = NEW_String_string___String___init(); /*new String*/
623 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Name error: "), TAG_Int(12)); /*new String*/
624 variable[9] = variable[8];
625 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
626 variable[10] = variable[0];
627 variable[11] = variable[10];
628 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
629 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[11]) /*String::append*/;
630 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" inherits "), TAG_Int(10)); /*new String*/
631 variable[13] = variable[12];
632 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[13]) /*String::append*/;
633 variable[14] = ((array___AbstractArray___length_t)CALL( variable[5] /*globs*/,COLOR_abstract_collection___Collection___length))( variable[5] /*globs*/) /*AbstractArray::length*/;
634 variable[15] = variable[14];
635 variable[15] = ((string___String___to_s_t)CALL(variable[15],COLOR_string___Object___to_s))(variable[15]) /*String::to_s*/;
636 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[15]) /*String::append*/;
637 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(" global properties named "), TAG_Int(25)); /*new String*/
638 variable[17] = variable[16];
639 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[17]) /*String::append*/;
640 variable[18] = variable[4] /*pname*/;
641 variable[18] = ((string___String___to_s_t)CALL(variable[18],COLOR_string___Object___to_s))(variable[18]) /*String::to_s*/;
642 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[18]) /*String::append*/;
643 variable[19] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
644 variable[20] = variable[19];
645 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[20]) /*String::append*/;
646 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[6], variable[7]) /*AbsSyntaxVisitor::error*/;
647 }
648 variable[7] = ((abstract_collection___IndexedCollection___first_t)CALL( variable[5] /*globs*/,COLOR_abstract_collection___Collection___first))( variable[5] /*globs*/) /*IndexedCollection::first*/;
649 variable[6] = variable[7];
650 ((inheritance___MMLocalProperty___inherit_global_t)CALL( variable[2] /*prop*/,COLOR_inheritance___MMLocalProperty___inherit_global))( variable[2] /*prop*/, variable[6] /*g*/) /*MMLocalProperty::inherit_global*/;
651 }
652 variable[5] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[2] /*prop*/) /*MMLocalProperty::global*/;
653 variable[5] = TAG_Bool((variable[5] == NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))(variable[5], NIT_NULL /*null*/) /*Object::==*/)))));
654 if (UNTAG_Bool(variable[5])) { /*if*/
655 ((abstractmetamodel___MMLocalProperty___new_global_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___new_global))( variable[2] /*prop*/) /*MMLocalProperty::new_global*/;
656 variable[5] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[2] /*prop*/) /*MMLocalProperty::global*/;
657 variable[6] = ((syntax_base___MMLocalProperty___is_init_t)CALL( variable[2] /*prop*/,COLOR_syntax_base___MMLocalProperty___is_init))( variable[2] /*prop*/) /*MMLocalProperty::is_init*/;
658 ((abstractmetamodel___MMGlobalProperty___is_init__eq_t)CALL(variable[5],COLOR_abstractmetamodel___MMGlobalProperty___is_init__eq))(variable[5], variable[6]) /*MMGlobalProperty::is_init=*/;
659 }
660 return_label26: while(false);
661 tracehead = trace.prev;
662 return;
663 }
664 void mmbuilder___MMLocalProperty___accept_property_visitor(val_t self, val_t param0) {
665 struct trace_t trace = {NULL, NULL, 262, LOCATE_mmbuilder___MMLocalProperty___accept_property_visitor};
666 val_t variable[3];
667 void **closurevariable = NULL;
668 trace.prev = tracehead; tracehead = &trace;
669 trace.file = LOCATE_mmbuilder;
670 variable[0] = self;
671 variable[1] = param0;
672 return_label27: while(false);
673 tracehead = trace.prev;
674 return;
675 }
676 void mmbuilder___MMImplicitInit___accept_property_visitor(val_t self, val_t param0) {
677 struct trace_t trace = {NULL, NULL, 269, LOCATE_mmbuilder___MMImplicitInit___accept_property_visitor};
678 val_t variable[22];
679 void **closurevariable = NULL;
680 trace.prev = tracehead; tracehead = &trace;
681 trace.file = LOCATE_mmbuilder;
682 variable[0] = self;
683 variable[1] = param0;
684 variable[3] = NIT_NULL /*null*/;
685 variable[4] = variable[0];
686 variable[4] = ((syntax_base___MMImplicitInit___super_inits_t)CALL(variable[4],COLOR_syntax_base___MMImplicitInit___super_inits))(variable[4]) /*MMImplicitInit::super_inits*/;
687 variable[4] = ((array___AbstractArray___iterator_t)CALL(variable[4],COLOR_abstract_collection___Collection___iterator))(variable[4]) /*AbstractArray::iterator*/;
688 while (true) { /*for*/
689 variable[5] = ((array___ArrayIterator___is_ok_t)CALL(variable[4],COLOR_abstract_collection___Iterator___is_ok))(variable[4]) /*ArrayIterator::is_ok*/;
690 if (!UNTAG_Bool(variable[5])) break; /*for*/
691 variable[5] = ((array___ArrayIterator___item_t)CALL(variable[4],COLOR_abstract_collection___Iterator___item))(variable[4]) /*ArrayIterator::item*/;
692 variable[6] = variable[5];
693 variable[7] = ((static_type___MMLocalProperty___signature_t)CALL( variable[6] /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable[6] /*p*/) /*MMLocalProperty::signature*/;
694 variable[7] = ((static_type___MMSignature___arity_t)CALL(variable[7],COLOR_static_type___MMSignature___arity))(variable[7]) /*MMSignature::arity*/;
695 variable[7] = TAG_Bool(UNTAG_Int(variable[7])>UNTAG_Int( TAG_Int(0)));
696 if (UNTAG_Bool(variable[7])) { /*if*/
697 variable[7] = TAG_Bool(( variable[3] /*base*/ == NIT_NULL /*null*/) || (( variable[3] /*base*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[3] /*base*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*base*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[3] /*base*/,COLOR_kernel___Object_____eqeq))( variable[3] /*base*/, NIT_NULL /*null*/) /*Object::==*/)))));
698 if (UNTAG_Bool(variable[7])) { /*if*/
699 variable[3] = variable[6] /*p*/ /*base=*/;
700 } else { /*if*/
701 variable[7] = NEW_String_string___String___init(); /*new String*/
702 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Error: explicit constructor needed in "), TAG_Int(38)); /*new String*/
703 variable[9] = variable[8];
704 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
705 variable[10] = variable[0];
706 variable[10] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable[10],COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable[10]) /*MMLocalProperty::local_class*/;
707 variable[11] = variable[10];
708 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
709 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[11]) /*String::append*/;
710 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" since both super-constructor "), TAG_Int(30)); /*new String*/
711 variable[13] = variable[12];
712 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[13]) /*String::append*/;
713 variable[14] = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL( variable[3] /*base*/,COLOR_abstractmetamodel___MMLocalProperty___full_name))( variable[3] /*base*/) /*MMLocalProperty::full_name*/;
714 variable[15] = variable[14];
715 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[15]) /*String::append*/;
716 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)); /*new String*/
717 variable[17] = variable[16];
718 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[17]) /*String::append*/;
719 variable[18] = ((abstractmetamodel___MMLocalProperty___full_name_t)CALL( variable[6] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___full_name))( variable[6] /*p*/) /*MMLocalProperty::full_name*/;
720 variable[19] = variable[18];
721 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[19]) /*String::append*/;
722 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(" have paramters"), TAG_Int(15)); /*new String*/
723 variable[21] = variable[20];
724 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[21]) /*String::append*/;
725 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, NIT_NULL /*null*/, variable[7]) /*AbsSyntaxVisitor::error*/;
726 goto return_label28;
727 }
728 }
729 continue_29: while(0);
730 ((array___ArrayIterator___next_t)CALL(variable[4],COLOR_abstract_collection___Iterator___next))(variable[4]) /*ArrayIterator::next*/;
731 }
732 break_29: while(0);
733 variable[4] = variable[0];
734 ATTR_mmbuilder___MMImplicitInit____super_init(variable[4]) /*MMImplicitInit::_super_init*/ = variable[3] /*base*/;
735 variable[5] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
736 variable[4] = variable[5];
737 variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*base*/ == NIT_NULL /*null*/) || (( variable[3] /*base*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[3] /*base*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*base*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[3] /*base*/,COLOR_kernel___Object_____eqeq))( variable[3] /*base*/, NIT_NULL /*null*/) /*Object::==*/)))))));
738 if (UNTAG_Bool(variable[5])) { /*if*/
739 variable[6] = ((static_type___MMLocalProperty___signature_t)CALL( variable[3] /*base*/,COLOR_static_type___MMLocalProperty___signature))( variable[3] /*base*/) /*MMLocalProperty::signature*/;
740 variable[5] = variable[6];
741 variable[6] = ((static_type___MMSignature___arity_t)CALL( variable[5] /*sig*/,COLOR_static_type___MMSignature___arity))( variable[5] /*sig*/) /*MMSignature::arity*/;
742 variable[7] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6]); /*new Range[Int]*/
743 variable[6] = variable[7];
744 variable[6] = ((range___Range___iterator_t)CALL(variable[6],COLOR_abstract_collection___Collection___iterator))(variable[6]) /*Range::iterator*/;
745 while (true) { /*for*/
746 variable[7] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[6],COLOR_abstract_collection___Iterator___is_ok))(variable[6]) /*Iterator::is_ok*/;
747 if (!UNTAG_Bool(variable[7])) break; /*for*/
748 variable[7] = ((abstract_collection___Iterator___item_t)CALL(variable[6],COLOR_abstract_collection___Iterator___item))(variable[6]) /*Iterator::item*/;
749 variable[8] = variable[7];
750 variable[9] = ((static_type___MMSignature_____bra_t)CALL( variable[5] /*sig*/,COLOR_static_type___MMSignature_____bra))( variable[5] /*sig*/, variable[8] /*i*/) /*MMSignature::[]*/;
751 ((array___AbstractArray___add_t)CALL( variable[4] /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable[4] /*params*/, variable[9]) /*AbstractArray::add*/;
752 continue_30: while(0);
753 ((abstract_collection___Iterator___next_t)CALL(variable[6],COLOR_abstract_collection___Iterator___next))(variable[6]) /*Iterator::next*/;
754 }
755 break_30: while(0);
756 }
757 variable[5] = variable[0];
758 variable[5] = ((syntax_base___MMImplicitInit___unassigned_attributes_t)CALL(variable[5],COLOR_syntax_base___MMImplicitInit___unassigned_attributes))(variable[5]) /*MMImplicitInit::unassigned_attributes*/;
759 variable[5] = ((array___AbstractArray___iterator_t)CALL(variable[5],COLOR_abstract_collection___Collection___iterator))(variable[5]) /*AbstractArray::iterator*/;
760 while (true) { /*for*/
761 variable[6] = ((array___ArrayIterator___is_ok_t)CALL(variable[5],COLOR_abstract_collection___Iterator___is_ok))(variable[5]) /*ArrayIterator::is_ok*/;
762 if (!UNTAG_Bool(variable[6])) break; /*for*/
763 variable[6] = ((array___ArrayIterator___item_t)CALL(variable[5],COLOR_abstract_collection___Iterator___item))(variable[5]) /*ArrayIterator::item*/;
764 variable[7] = variable[6];
765 variable[8] = ((static_type___MMLocalProperty___signature_t)CALL( variable[7] /*a*/,COLOR_static_type___MMLocalProperty___signature))( variable[7] /*a*/) /*MMLocalProperty::signature*/;
766 variable[8] = ((static_type___MMSignature___return_type_t)CALL(variable[8],COLOR_static_type___MMSignature___return_type))(variable[8]) /*MMSignature::return_type*/;
767 ((array___AbstractArray___add_t)CALL( variable[4] /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable[4] /*params*/, variable[8]) /*AbstractArray::add*/;
768 continue_31: while(0);
769 ((array___ArrayIterator___next_t)CALL(variable[5],COLOR_abstract_collection___Iterator___next))(variable[5]) /*ArrayIterator::next*/;
770 }
771 break_31: while(0);
772 variable[5] = variable[0];
773 variable[6] = variable[0];
774 variable[6] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable[6],COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable[6]) /*MMLocalProperty::local_class*/;
775 variable[6] = ((genericity___MMLocalClass___get_type_t)CALL(variable[6],COLOR_static_type___MMLocalClass___get_type))(variable[6]) /*MMLocalClass::get_type*/;
776 variable[7] = NEW_MMSignature_static_type___MMSignature___init( variable[4] /*params*/, NIT_NULL /*null*/, variable[6]); /*new MMSignature*/
777 variable[6] = variable[7];
778 ((static_type___MMLocalProperty___signature__eq_t)CALL(variable[5],COLOR_static_type___MMLocalProperty___signature__eq))(variable[5], variable[6]) /*MMLocalProperty::signature=*/;
779 return_label28: while(false);
780 tracehead = trace.prev;
781 return;
782 }
783 val_t mmbuilder___MMImplicitInit___super_init(val_t self) {
784 struct trace_t trace = {NULL, NULL, 268, LOCATE_mmbuilder___MMImplicitInit___super_init};
785 val_t *variable = NULL;
786 void **closurevariable = NULL;
787 trace.prev = tracehead; tracehead = &trace;
788 trace.file = LOCATE_mmbuilder;
789 tracehead = trace.prev;
790 return ATTR_mmbuilder___MMImplicitInit____super_init( self) /*MMImplicitInit::_super_init*/;
791 }
792 val_t mmbuilder___MMSrcAncestor___local_class(val_t self) {
793 struct trace_t trace = {NULL, NULL, 304, LOCATE_mmbuilder___MMSrcAncestor___local_class};
794 val_t *variable = NULL;
795 void **closurevariable = NULL;
796 trace.prev = tracehead; tracehead = &trace;
797 trace.file = LOCATE_mmbuilder;
798 tracehead = trace.prev;
799 return ATTR_mmbuilder___MMSrcAncestor____local_class( self) /*MMSrcAncestor::_local_class*/;
800 }
801 val_t mmbuilder___MMSrcAncestor___node(val_t self) {
802 struct trace_t trace = {NULL, NULL, 302, LOCATE_mmbuilder___MMSrcAncestor___node};
803 val_t *variable = NULL;
804 void **closurevariable = NULL;
805 trace.prev = tracehead; tracehead = &trace;
806 trace.file = LOCATE_mmbuilder;
807 tracehead = trace.prev;
808 return ATTR_mmbuilder___MMSrcAncestor____node( self) /*MMSrcAncestor::_node*/;
809 }
810 void mmbuilder___MMSrcAncestor___init(val_t self, val_t param0, val_t param1, int* init_table) {
811 struct trace_t trace = {NULL, NULL, 306, LOCATE_mmbuilder___MMSrcAncestor___init};
812 val_t variable[5];
813 void **closurevariable = NULL;
814 trace.prev = tracehead; tracehead = &trace;
815 trace.file = LOCATE_mmbuilder;
816 variable[0] = self;
817 variable[1] = param0;
818 variable[2] = param1;
819 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcAncestor].i]) return;
820 variable[4] = variable[0];
821 ATTR_mmbuilder___MMSrcAncestor____node(variable[4]) /*MMSrcAncestor::_node*/ = variable[1] /*n*/;
822 variable[4] = variable[0];
823 ATTR_mmbuilder___MMSrcAncestor____local_class(variable[4]) /*MMSrcAncestor::_local_class*/ = variable[2] /*c*/;
824 return_label32: while(false);
825 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcAncestor].i] = 1;
826 tracehead = trace.prev;
827 return;
828 }
829 void mmbuilder___ClassBuilderVisitor___visit(val_t self, val_t param0) {
830 struct trace_t trace = {NULL, NULL, 326, LOCATE_mmbuilder___ClassBuilderVisitor___visit};
831 val_t variable[4];
832 void **closurevariable = NULL;
833 trace.prev = tracehead; tracehead = &trace;
834 trace.file = LOCATE_mmbuilder;
835 variable[0] = self;
836 variable[1] = param0;
837 variable[3] = variable[0];
838 ((mmbuilder___PNode___accept_class_builder_t)CALL( variable[1] /*n*/,COLOR_mmbuilder___PNode___accept_class_builder))( variable[1] /*n*/, variable[3]) /*PNode::accept_class_builder*/;
839 return_label33: while(false);
840 tracehead = trace.prev;
841 return;
842 }
843 val_t mmbuilder___ClassBuilderVisitor___local_class_arity(val_t self) {
844 struct trace_t trace = {NULL, NULL, 320, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity};
845 val_t *variable = NULL;
846 void **closurevariable = NULL;
847 trace.prev = tracehead; tracehead = &trace;
848 trace.file = LOCATE_mmbuilder;
849 tracehead = trace.prev;
850 return ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self) /*ClassBuilderVisitor::_local_class_arity*/;
851 }
852 void mmbuilder___ClassBuilderVisitor___local_class_arity__eq(val_t self, val_t param0) {
853 struct trace_t trace = {NULL, NULL, 320, LOCATE_mmbuilder___ClassBuilderVisitor___local_class_arity__eq};
854 val_t *variable = NULL;
855 void **closurevariable = NULL;
856 trace.prev = tracehead; tracehead = &trace;
857 trace.file = LOCATE_mmbuilder;
858 ATTR_mmbuilder___ClassBuilderVisitor____local_class_arity( self) /*ClassBuilderVisitor::_local_class_arity*/ = param0;
859 tracehead = trace.prev;
860 return;
861 }
862 val_t mmbuilder___ClassBuilderVisitor___formals(val_t self) {
863 struct trace_t trace = {NULL, NULL, 323, LOCATE_mmbuilder___ClassBuilderVisitor___formals};
864 val_t *variable = NULL;
865 void **closurevariable = NULL;
866 trace.prev = tracehead; tracehead = &trace;
867 trace.file = LOCATE_mmbuilder;
868 tracehead = trace.prev;
869 return ATTR_mmbuilder___ClassBuilderVisitor____formals( self) /*ClassBuilderVisitor::_formals*/;
870 }
871 void mmbuilder___ClassBuilderVisitor___formals__eq(val_t self, val_t param0) {
872 struct trace_t trace = {NULL, NULL, 323, LOCATE_mmbuilder___ClassBuilderVisitor___formals__eq};
873 val_t *variable = NULL;
874 void **closurevariable = NULL;
875 trace.prev = tracehead; tracehead = &trace;
876 trace.file = LOCATE_mmbuilder;
877 ATTR_mmbuilder___ClassBuilderVisitor____formals( self) /*ClassBuilderVisitor::_formals*/ = param0;
878 tracehead = trace.prev;
879 return;
880 }
881 void mmbuilder___ClassBuilderVisitor___init(val_t self, val_t param0, val_t param1, int* init_table) {
882 struct trace_t trace = {NULL, NULL, 327, LOCATE_mmbuilder___ClassBuilderVisitor___init};
883 val_t variable[4];
884 void **closurevariable = NULL;
885 trace.prev = tracehead; tracehead = &trace;
886 trace.file = LOCATE_mmbuilder;
887 variable[0] = self;
888 variable[1] = param0;
889 variable[2] = param1;
890 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ClassBuilderVisitor].i]) return;
891 ((syntax_base___AbsSyntaxVisitor___init_t)CALL(variable[0],COLOR_syntax_base___AbsSyntaxVisitor___init))(variable[0], variable[1], variable[2], init_table /*YYY*/) /*AbsSyntaxVisitor::init*/;
892 return_label34: while(false);
893 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ClassBuilderVisitor].i] = 1;
894 tracehead = trace.prev;
895 return;
896 }
897 void mmbuilder___ClassSpecializationBuilderVisitor___visit(val_t self, val_t param0) {
898 struct trace_t trace = {NULL, NULL, 334, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___visit};
899 val_t variable[4];
900 void **closurevariable = NULL;
901 trace.prev = tracehead; tracehead = &trace;
902 trace.file = LOCATE_mmbuilder;
903 variable[0] = self;
904 variable[1] = param0;
905 variable[3] = variable[0];
906 ((mmbuilder___PNode___accept_class_specialization_builder_t)CALL( variable[1] /*n*/,COLOR_mmbuilder___PNode___accept_class_specialization_builder))( variable[1] /*n*/, variable[3]) /*PNode::accept_class_specialization_builder*/;
907 return_label35: while(false);
908 tracehead = trace.prev;
909 return;
910 }
911 void mmbuilder___ClassSpecializationBuilderVisitor___init(val_t self, val_t param0, val_t param1, int* init_table) {
912 struct trace_t trace = {NULL, NULL, 335, LOCATE_mmbuilder___ClassSpecializationBuilderVisitor___init};
913 val_t variable[4];
914 void **closurevariable = NULL;
915 trace.prev = tracehead; tracehead = &trace;
916 trace.file = LOCATE_mmbuilder;
917 variable[0] = self;
918 variable[1] = param0;
919 variable[2] = param1;
920 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ClassSpecializationBuilderVisitor].i]) return;
921 ((syntax_base___AbsSyntaxVisitor___init_t)CALL(variable[0],COLOR_syntax_base___AbsSyntaxVisitor___init))(variable[0], variable[1], variable[2], init_table /*YYY*/) /*AbsSyntaxVisitor::init*/;
922 return_label36: while(false);
923 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ClassSpecializationBuilderVisitor].i] = 1;
924 tracehead = trace.prev;
925 return;
926 }
927 void mmbuilder___ClassAncestorBuilder___visit(val_t self, val_t param0) {
928 struct trace_t trace = {NULL, NULL, 342, LOCATE_mmbuilder___ClassAncestorBuilder___visit};
929 val_t variable[4];
930 void **closurevariable = NULL;
931 trace.prev = tracehead; tracehead = &trace;
932 trace.file = LOCATE_mmbuilder;
933 variable[0] = self;
934 variable[1] = param0;
935 variable[3] = variable[0];
936 ((mmbuilder___PNode___accept_class_ancestor_builder_t)CALL( variable[1] /*n*/,COLOR_mmbuilder___PNode___accept_class_ancestor_builder))( variable[1] /*n*/, variable[3]) /*PNode::accept_class_ancestor_builder*/;
937 return_label37: while(false);
938 tracehead = trace.prev;
939 return;
940 }
941 void mmbuilder___ClassAncestorBuilder___init(val_t self, val_t param0, val_t param1, int* init_table) {
942 struct trace_t trace = {NULL, NULL, 343, LOCATE_mmbuilder___ClassAncestorBuilder___init};
943 val_t variable[4];
944 void **closurevariable = NULL;
945 trace.prev = tracehead; tracehead = &trace;
946 trace.file = LOCATE_mmbuilder;
947 variable[0] = self;
948 variable[1] = param0;
949 variable[2] = param1;
950 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ClassAncestorBuilder].i]) return;
951 ((syntax_base___AbsSyntaxVisitor___init_t)CALL(variable[0],COLOR_syntax_base___AbsSyntaxVisitor___init))(variable[0], variable[1], variable[2], init_table /*YYY*/) /*AbsSyntaxVisitor::init*/;
952 return_label38: while(false);
953 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ClassAncestorBuilder].i] = 1;
954 tracehead = trace.prev;
955 return;
956 }
957 void mmbuilder___ClassVerifierVisitor___visit(val_t self, val_t param0) {
958 struct trace_t trace = {NULL, NULL, 350, LOCATE_mmbuilder___ClassVerifierVisitor___visit};
959 val_t variable[4];
960 void **closurevariable = NULL;
961 trace.prev = tracehead; tracehead = &trace;
962 trace.file = LOCATE_mmbuilder;
963 variable[0] = self;
964 variable[1] = param0;
965 variable[3] = variable[0];
966 ((mmbuilder___PNode___accept_class_verifier_t)CALL( variable[1] /*n*/,COLOR_mmbuilder___PNode___accept_class_verifier))( variable[1] /*n*/, variable[3]) /*PNode::accept_class_verifier*/;
967 return_label39: while(false);
968 tracehead = trace.prev;
969 return;
970 }
971 void mmbuilder___ClassVerifierVisitor___init(val_t self, val_t param0, val_t param1, int* init_table) {
972 struct trace_t trace = {NULL, NULL, 351, LOCATE_mmbuilder___ClassVerifierVisitor___init};
973 val_t variable[4];
974 void **closurevariable = NULL;
975 trace.prev = tracehead; tracehead = &trace;
976 trace.file = LOCATE_mmbuilder;
977 variable[0] = self;
978 variable[1] = param0;
979 variable[2] = param1;
980 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ClassVerifierVisitor].i]) return;
981 ((syntax_base___AbsSyntaxVisitor___init_t)CALL(variable[0],COLOR_syntax_base___AbsSyntaxVisitor___init))(variable[0], variable[1], variable[2], init_table /*YYY*/) /*AbsSyntaxVisitor::init*/;
982 return_label40: while(false);
983 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ClassVerifierVisitor].i] = 1;
984 tracehead = trace.prev;
985 return;
986 }
987 void mmbuilder___PropertyBuilderVisitor___visit(val_t self, val_t param0) {
988 struct trace_t trace = {NULL, NULL, 361, LOCATE_mmbuilder___PropertyBuilderVisitor___visit};
989 val_t variable[4];
990 void **closurevariable = NULL;
991 trace.prev = tracehead; tracehead = &trace;
992 trace.file = LOCATE_mmbuilder;
993 variable[0] = self;
994 variable[1] = param0;
995 variable[3] = variable[0];
996 ((mmbuilder___PNode___accept_property_builder_t)CALL( variable[1] /*n*/,COLOR_mmbuilder___PNode___accept_property_builder))( variable[1] /*n*/, variable[3]) /*PNode::accept_property_builder*/;
997 return_label41: while(false);
998 tracehead = trace.prev;
999 return;
1000 }
1001 void mmbuilder___PropertyBuilderVisitor___init(val_t self, val_t param0, val_t param1, int* init_table) {
1002 struct trace_t trace = {NULL, NULL, 362, LOCATE_mmbuilder___PropertyBuilderVisitor___init};
1003 val_t variable[4];
1004 void **closurevariable = NULL;
1005 trace.prev = tracehead; tracehead = &trace;
1006 trace.file = LOCATE_mmbuilder;
1007 variable[0] = self;
1008 variable[1] = param0;
1009 variable[2] = param1;
1010 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_PropertyBuilderVisitor].i]) return;
1011 ((syntax_base___AbsSyntaxVisitor___init_t)CALL(variable[0],COLOR_syntax_base___AbsSyntaxVisitor___init))(variable[0], variable[1], variable[2], init_table /*YYY*/) /*AbsSyntaxVisitor::init*/;
1012 return_label42: while(false);
1013 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_PropertyBuilderVisitor].i] = 1;
1014 tracehead = trace.prev;
1015 return;
1016 }
1017 void mmbuilder___PropertyVerifierVisitor___visit(val_t self, val_t param0) {
1018 struct trace_t trace = {NULL, NULL, 373, LOCATE_mmbuilder___PropertyVerifierVisitor___visit};
1019 val_t variable[4];
1020 void **closurevariable = NULL;
1021 trace.prev = tracehead; tracehead = &trace;
1022 trace.file = LOCATE_mmbuilder;
1023 variable[0] = self;
1024 variable[1] = param0;
1025 variable[3] = variable[0];
1026 ((mmbuilder___PNode___accept_property_verifier_t)CALL( variable[1] /*n*/,COLOR_mmbuilder___PNode___accept_property_verifier))( variable[1] /*n*/, variable[3]) /*PNode::accept_property_verifier*/;
1027 return_label43: while(false);
1028 tracehead = trace.prev;
1029 return;
1030 }
1031 val_t mmbuilder___PropertyVerifierVisitor___signature_builder(val_t self) {
1032 struct trace_t trace = {NULL, NULL, 370, LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder};
1033 val_t *variable = NULL;
1034 void **closurevariable = NULL;
1035 trace.prev = tracehead; tracehead = &trace;
1036 trace.file = LOCATE_mmbuilder;
1037 tracehead = trace.prev;
1038 return ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder( self) /*PropertyVerifierVisitor::_signature_builder*/;
1039 }
1040 void mmbuilder___PropertyVerifierVisitor___signature_builder__eq(val_t self, val_t param0) {
1041 struct trace_t trace = {NULL, NULL, 370, LOCATE_mmbuilder___PropertyVerifierVisitor___signature_builder__eq};
1042 val_t *variable = NULL;
1043 void **closurevariable = NULL;
1044 trace.prev = tracehead; tracehead = &trace;
1045 trace.file = LOCATE_mmbuilder;
1046 ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder( self) /*PropertyVerifierVisitor::_signature_builder*/ = param0;
1047 tracehead = trace.prev;
1048 return;
1049 }
1050 void mmbuilder___PropertyVerifierVisitor___init(val_t self, val_t param0, val_t param1, int* init_table) {
1051 struct trace_t trace = {NULL, NULL, 375, LOCATE_mmbuilder___PropertyVerifierVisitor___init};
1052 val_t variable[6];
1053 void **closurevariable = NULL;
1054 trace.prev = tracehead; tracehead = &trace;
1055 trace.file = LOCATE_mmbuilder;
1056 variable[0] = self;
1057 variable[1] = param0;
1058 variable[2] = param1;
1059 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_PropertyVerifierVisitor].i]) return;
1060 ((syntax_base___AbsSyntaxVisitor___init_t)CALL(variable[0],COLOR_syntax_base___AbsSyntaxVisitor___init))(variable[0], variable[1], variable[2], init_table /*YYY*/) /*AbsSyntaxVisitor::init*/;
1061 variable[4] = variable[0];
1062 variable[5] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init(); /*new SignatureBuilder*/
1063 ATTR_mmbuilder___PropertyVerifierVisitor____signature_builder(variable[4]) /*PropertyVerifierVisitor::_signature_builder*/ = variable[5];
1064 return_label44: while(false);
1065 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_PropertyVerifierVisitor].i] = 1;
1066 tracehead = trace.prev;
1067 return;
1068 }
1069 val_t mmbuilder___SignatureBuilder___params(val_t self) {
1070 struct trace_t trace = {NULL, NULL, 384, LOCATE_mmbuilder___SignatureBuilder___params};
1071 val_t *variable = NULL;
1072 void **closurevariable = NULL;
1073 trace.prev = tracehead; tracehead = &trace;
1074 trace.file = LOCATE_mmbuilder;
1075 tracehead = trace.prev;
1076 return ATTR_mmbuilder___SignatureBuilder____params( self) /*SignatureBuilder::_params*/;
1077 }
1078 void mmbuilder___SignatureBuilder___params__eq(val_t self, val_t param0) {
1079 struct trace_t trace = {NULL, NULL, 384, LOCATE_mmbuilder___SignatureBuilder___params__eq};
1080 val_t *variable = NULL;
1081 void **closurevariable = NULL;
1082 trace.prev = tracehead; tracehead = &trace;
1083 trace.file = LOCATE_mmbuilder;
1084 ATTR_mmbuilder___SignatureBuilder____params( self) /*SignatureBuilder::_params*/ = param0;
1085 tracehead = trace.prev;
1086 return;
1087 }
1088 val_t mmbuilder___SignatureBuilder___untyped_params(val_t self) {
1089 struct trace_t trace = {NULL, NULL, 387, LOCATE_mmbuilder___SignatureBuilder___untyped_params};
1090 val_t *variable = NULL;
1091 void **closurevariable = NULL;
1092 trace.prev = tracehead; tracehead = &trace;
1093 trace.file = LOCATE_mmbuilder;
1094 tracehead = trace.prev;
1095 return ATTR_mmbuilder___SignatureBuilder____untyped_params( self) /*SignatureBuilder::_untyped_params*/;
1096 }
1097 void mmbuilder___SignatureBuilder___untyped_params__eq(val_t self, val_t param0) {
1098 struct trace_t trace = {NULL, NULL, 387, LOCATE_mmbuilder___SignatureBuilder___untyped_params__eq};
1099 val_t *variable = NULL;
1100 void **closurevariable = NULL;
1101 trace.prev = tracehead; tracehead = &trace;
1102 trace.file = LOCATE_mmbuilder;
1103 ATTR_mmbuilder___SignatureBuilder____untyped_params( self) /*SignatureBuilder::_untyped_params*/ = param0;
1104 tracehead = trace.prev;
1105 return;
1106 }
1107 val_t mmbuilder___SignatureBuilder___vararg_rank(val_t self) {
1108 struct trace_t trace = {NULL, NULL, 390, LOCATE_mmbuilder___SignatureBuilder___vararg_rank};
1109 val_t *variable = NULL;
1110 void **closurevariable = NULL;
1111 trace.prev = tracehead; tracehead = &trace;
1112 trace.file = LOCATE_mmbuilder;
1113 tracehead = trace.prev;
1114 return ATTR_mmbuilder___SignatureBuilder____vararg_rank( self) /*SignatureBuilder::_vararg_rank*/;
1115 }
1116 void mmbuilder___SignatureBuilder___vararg_rank__eq(val_t self, val_t param0) {
1117 struct trace_t trace = {NULL, NULL, 390, LOCATE_mmbuilder___SignatureBuilder___vararg_rank__eq};
1118 val_t *variable = NULL;
1119 void **closurevariable = NULL;
1120 trace.prev = tracehead; tracehead = &trace;
1121 trace.file = LOCATE_mmbuilder;
1122 ATTR_mmbuilder___SignatureBuilder____vararg_rank( self) /*SignatureBuilder::_vararg_rank*/ = param0;
1123 tracehead = trace.prev;
1124 return;
1125 }
1126 val_t mmbuilder___SignatureBuilder___closure_decls(val_t self) {
1127 struct trace_t trace = {NULL, NULL, 393, LOCATE_mmbuilder___SignatureBuilder___closure_decls};
1128 val_t *variable = NULL;
1129 void **closurevariable = NULL;
1130 trace.prev = tracehead; tracehead = &trace;
1131 trace.file = LOCATE_mmbuilder;
1132 tracehead = trace.prev;
1133 return ATTR_mmbuilder___SignatureBuilder____closure_decls( self) /*SignatureBuilder::_closure_decls*/;
1134 }
1135 void mmbuilder___SignatureBuilder___closure_decls__eq(val_t self, val_t param0) {
1136 struct trace_t trace = {NULL, NULL, 393, LOCATE_mmbuilder___SignatureBuilder___closure_decls__eq};
1137 val_t *variable = NULL;
1138 void **closurevariable = NULL;
1139 trace.prev = tracehead; tracehead = &trace;
1140 trace.file = LOCATE_mmbuilder;
1141 ATTR_mmbuilder___SignatureBuilder____closure_decls( self) /*SignatureBuilder::_closure_decls*/ = param0;
1142 tracehead = trace.prev;
1143 return;
1144 }
1145 val_t mmbuilder___SignatureBuilder___signature(val_t self) {
1146 struct trace_t trace = {NULL, NULL, 396, LOCATE_mmbuilder___SignatureBuilder___signature};
1147 val_t *variable = NULL;
1148 void **closurevariable = NULL;
1149 trace.prev = tracehead; tracehead = &trace;
1150 trace.file = LOCATE_mmbuilder;
1151 tracehead = trace.prev;
1152 return ATTR_mmbuilder___SignatureBuilder____signature( self) /*SignatureBuilder::_signature*/;
1153 }
1154 void mmbuilder___SignatureBuilder___signature__eq(val_t self, val_t param0) {
1155 struct trace_t trace = {NULL, NULL, 396, LOCATE_mmbuilder___SignatureBuilder___signature__eq};
1156 val_t *variable = NULL;
1157 void **closurevariable = NULL;
1158 trace.prev = tracehead; tracehead = &trace;
1159 trace.file = LOCATE_mmbuilder;
1160 ATTR_mmbuilder___SignatureBuilder____signature( self) /*SignatureBuilder::_signature*/ = param0;
1161 tracehead = trace.prev;
1162 return;
1163 }
1164 void mmbuilder___SignatureBuilder___init(val_t self, int* init_table) {
1165 struct trace_t trace = {NULL, NULL, 0, LOCATE_mmbuilder___SignatureBuilder___init};
1166 val_t *variable = NULL;
1167 void **closurevariable = NULL;
1168 trace.prev = tracehead; tracehead = &trace;
1169 trace.file = LOCATE_mmbuilder;
1170 tracehead = trace.prev;
1171 return;
1172 }
1173 void mmbuilder___PNode___accept_class_builder(val_t self, val_t param0) {
1174 struct trace_t trace = {NULL, NULL, 403, LOCATE_mmbuilder___PNode___accept_class_builder};
1175 val_t variable[4];
1176 void **closurevariable = NULL;
1177 trace.prev = tracehead; tracehead = &trace;
1178 trace.file = LOCATE_mmbuilder;
1179 variable[0] = self;
1180 variable[1] = param0;
1181 variable[3] = variable[0];
1182 ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL(variable[3],COLOR_syntax_base___PNode___accept_abs_syntax_visitor))(variable[3], variable[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1183 return_label45: while(false);
1184 tracehead = trace.prev;
1185 return;
1186 }
1187 void mmbuilder___PNode___accept_class_specialization_builder(val_t self, val_t param0) {
1188 struct trace_t trace = {NULL, NULL, 404, LOCATE_mmbuilder___PNode___accept_class_specialization_builder};
1189 val_t variable[4];
1190 void **closurevariable = NULL;
1191 trace.prev = tracehead; tracehead = &trace;
1192 trace.file = LOCATE_mmbuilder;
1193 variable[0] = self;
1194 variable[1] = param0;
1195 variable[3] = variable[0];
1196 ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL(variable[3],COLOR_syntax_base___PNode___accept_abs_syntax_visitor))(variable[3], variable[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1197 return_label46: while(false);
1198 tracehead = trace.prev;
1199 return;
1200 }
1201 void mmbuilder___PNode___accept_class_ancestor_builder(val_t self, val_t param0) {
1202 struct trace_t trace = {NULL, NULL, 405, LOCATE_mmbuilder___PNode___accept_class_ancestor_builder};
1203 val_t variable[4];
1204 void **closurevariable = NULL;
1205 trace.prev = tracehead; tracehead = &trace;
1206 trace.file = LOCATE_mmbuilder;
1207 variable[0] = self;
1208 variable[1] = param0;
1209 variable[3] = variable[0];
1210 ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL(variable[3],COLOR_syntax_base___PNode___accept_abs_syntax_visitor))(variable[3], variable[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1211 return_label47: while(false);
1212 tracehead = trace.prev;
1213 return;
1214 }
1215 void mmbuilder___PNode___accept_class_verifier(val_t self, val_t param0) {
1216 struct trace_t trace = {NULL, NULL, 406, LOCATE_mmbuilder___PNode___accept_class_verifier};
1217 val_t variable[4];
1218 void **closurevariable = NULL;
1219 trace.prev = tracehead; tracehead = &trace;
1220 trace.file = LOCATE_mmbuilder;
1221 variable[0] = self;
1222 variable[1] = param0;
1223 variable[3] = variable[0];
1224 ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL(variable[3],COLOR_syntax_base___PNode___accept_abs_syntax_visitor))(variable[3], variable[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1225 return_label48: while(false);
1226 tracehead = trace.prev;
1227 return;
1228 }
1229 void mmbuilder___PNode___accept_property_builder(val_t self, val_t param0) {
1230 struct trace_t trace = {NULL, NULL, 407, LOCATE_mmbuilder___PNode___accept_property_builder};
1231 val_t variable[4];
1232 void **closurevariable = NULL;
1233 trace.prev = tracehead; tracehead = &trace;
1234 trace.file = LOCATE_mmbuilder;
1235 variable[0] = self;
1236 variable[1] = param0;
1237 variable[3] = variable[0];
1238 ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL(variable[3],COLOR_syntax_base___PNode___accept_abs_syntax_visitor))(variable[3], variable[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1239 return_label49: while(false);
1240 tracehead = trace.prev;
1241 return;
1242 }
1243 void mmbuilder___PNode___accept_property_verifier(val_t self, val_t param0) {
1244 struct trace_t trace = {NULL, NULL, 408, LOCATE_mmbuilder___PNode___accept_property_verifier};
1245 val_t variable[4];
1246 void **closurevariable = NULL;
1247 trace.prev = tracehead; tracehead = &trace;
1248 trace.file = LOCATE_mmbuilder;
1249 variable[0] = self;
1250 variable[1] = param0;
1251 variable[3] = variable[0];
1252 ((syntax_base___PNode___accept_abs_syntax_visitor_t)CALL(variable[3],COLOR_syntax_base___PNode___accept_abs_syntax_visitor))(variable[3], variable[1] /*v*/) /*PNode::accept_abs_syntax_visitor*/;
1253 return_label50: while(false);
1254 tracehead = trace.prev;
1255 return;
1256 }
1257 void mmbuilder___AModule___import_super_modules(val_t self, val_t param0, val_t param1) {
1258 struct trace_t trace = {NULL, NULL, 412, LOCATE_mmbuilder___AModule___import_super_modules};
1259 static val_t once_value_53; static int once_bool_53; /* Once value for variable[8]*/
1260 val_t variable[14];
1261 void **closurevariable = NULL;
1262 trace.prev = tracehead; tracehead = &trace;
1263 trace.file = LOCATE_mmbuilder;
1264 variable[0] = self;
1265 variable[1] = param0;
1266 variable[2] = param1;
1267 variable[5] = NEW_Array_array___Array___init(); /*new Array[Symbol]*/
1268 variable[4] = variable[5];
1269 variable[6] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, Int]*/
1270 variable[5] = variable[6];
1271 variable[6] = NIT_NULL /*null*/;
1272 variable[7] = variable[0];
1273 variable[7] = ((parser_nodes___AModule___n_imports_t)CALL(variable[7],COLOR_parser_nodes___AModule___n_imports))(variable[7]) /*AModule::n_imports*/;
1274 variable[7] = ((list___List___iterator_t)CALL(variable[7],COLOR_abstract_collection___Collection___iterator))(variable[7]) /*List::iterator*/;
1275 while (true) { /*for*/
1276 variable[8] = ((list___ListIterator___is_ok_t)CALL(variable[7],COLOR_abstract_collection___Iterator___is_ok))(variable[7]) /*ListIterator::is_ok*/;
1277 if (!UNTAG_Bool(variable[8])) break; /*for*/
1278 variable[8] = ((list___ListIterator___item_t)CALL(variable[7],COLOR_abstract_collection___Iterator___item))(variable[7]) /*ListIterator::item*/;
1279 variable[9] = variable[8];
1280 variable[11] = ((mmbuilder___PImport___module_name_t)CALL( variable[9] /*i*/,COLOR_mmbuilder___PImport___module_name))( variable[9] /*i*/) /*PImport::module_name*/;
1281 variable[10] = variable[11];
1282 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*n*/ == NIT_NULL /*null*/) || (( variable[10] /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[10] /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[10] /*n*/,COLOR_kernel___Object_____eqeq))( variable[10] /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1283 if (UNTAG_Bool(variable[11])) { /*if*/
1284 ((array___AbstractArray___add_t)CALL( variable[4] /*module_names_to_import*/,COLOR_abstract_collection___SimpleCollection___add))( variable[4] /*module_names_to_import*/, variable[10] /*n*/) /*AbstractArray::add*/;
1285 variable[11] = ((mmbuilder___PImport___visibility_level_t)CALL( variable[9] /*i*/,COLOR_mmbuilder___PImport___visibility_level))( variable[9] /*i*/) /*PImport::visibility_level*/;
1286 ((hash___HashMap_____braeq_t)CALL( variable[5] /*module_visibility*/,COLOR_abstract_collection___Map_____braeq))( variable[5] /*module_visibility*/, variable[10] /*n*/, variable[11]) /*HashMap::[]=*/;
1287 } else { /*if*/
1288 variable[6] = variable[9] /*i*/ /*no_import=*/;
1289 }
1290 continue_52: while(0);
1291 ((list___ListIterator___next_t)CALL(variable[7],COLOR_abstract_collection___Iterator___next))(variable[7]) /*ListIterator::next*/;
1292 }
1293 break_52: while(0);
1294 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*no_import*/ == NIT_NULL /*null*/) || (( variable[6] /*no_import*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*no_import*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*no_import*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*no_import*/,COLOR_kernel___Object_____eqeq))( variable[6] /*no_import*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1295 if (UNTAG_Bool(variable[7])) { /*if*/
1296 variable[7] = ((array___AbstractArray___is_empty_t)CALL( variable[4] /*module_names_to_import*/,COLOR_abstract_collection___Collection___is_empty))( variable[4] /*module_names_to_import*/) /*AbstractArray::is_empty*/;
1297 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[7])))) { /*if*/
1298 variable[7] = NEW_String_string___String___init(); /*new String*/
1299 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1300 variable[9] = variable[8];
1301 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
1302 variable[10] = ((parser_prod___Prod___locate_t)CALL( variable[6] /*no_import*/,COLOR_parser_prod___PNode___locate))( variable[6] /*no_import*/) /*Prod::locate*/;
1303 variable[11] = variable[10];
1304 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[11]) /*String::append*/;
1305 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(": Error: Top modules cannot import other modules."), TAG_Int(49)); /*new String*/
1306 variable[13] = variable[12];
1307 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[13]) /*String::append*/;
1308 ((mmloader___ToolContext___error_t)CALL( variable[1] /*tc*/,COLOR_mmloader___ToolContext___error))( variable[1] /*tc*/, variable[7]) /*ToolContext::error*/;
1309 }
1310 } else { /*if*/
1311 variable[7] = ((array___AbstractArray___is_empty_t)CALL( variable[4] /*module_names_to_import*/,COLOR_abstract_collection___Collection___is_empty))( variable[4] /*module_names_to_import*/) /*AbstractArray::is_empty*/;
1312 if (UNTAG_Bool(variable[7])) { /*if*/
1313 if (once_bool_53) variable[8] = once_value_53;
1314 else {
1315 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("standard"), TAG_Int(8)); /*new String*/
1316 variable[8] = ((symbol___String___to_symbol_t)CALL(variable[8],COLOR_symbol___String___to_symbol))(variable[8]) /*String::to_symbol*/;
1317 once_value_53 = variable[8];
1318 once_bool_53 = true;
1319 }
1320 variable[7] = variable[8];
1321 ((array___AbstractArray___add_t)CALL( variable[4] /*module_names_to_import*/,COLOR_abstract_collection___SimpleCollection___add))( variable[4] /*module_names_to_import*/, variable[7] /*stdname*/) /*AbstractArray::add*/;
1322 ((hash___HashMap_____braeq_t)CALL( variable[5] /*module_visibility*/,COLOR_abstract_collection___Map_____braeq))( variable[5] /*module_visibility*/, variable[7] /*stdname*/, TAG_Int(1)) /*HashMap::[]=*/;
1323 }
1324 }
1325 ((mmloader___MMModule___import_supers_modules_t)CALL( variable[2] /*mod*/,COLOR_mmloader___MMModule___import_supers_modules))( variable[2] /*mod*/, variable[4] /*module_names_to_import*/) /*MMModule::import_supers_modules*/;
1326 variable[7] = ((array___AbstractArray___iterator_t)CALL( variable[4] /*module_names_to_import*/,COLOR_abstract_collection___Collection___iterator))( variable[4] /*module_names_to_import*/) /*AbstractArray::iterator*/;
1327 while (true) { /*for*/
1328 variable[8] = ((array___ArrayIterator___is_ok_t)CALL(variable[7],COLOR_abstract_collection___Iterator___is_ok))(variable[7]) /*ArrayIterator::is_ok*/;
1329 if (!UNTAG_Bool(variable[8])) break; /*for*/
1330 variable[8] = ((array___ArrayIterator___item_t)CALL(variable[7],COLOR_abstract_collection___Iterator___item))(variable[7]) /*ArrayIterator::item*/;
1331 variable[9] = variable[8];
1332 variable[11] = ((abstract_collection___CoupleMap_____bra_t)CALL( variable[5] /*module_visibility*/,COLOR_abstract_collection___Map_____bra))( variable[5] /*module_visibility*/, variable[9] /*mname*/) /*CoupleMap::[]*/;
1333 variable[10] = variable[11];
1334 variable[12] = ((mmloader___ToolContext___get_module_t)CALL( variable[1] /*tc*/,COLOR_mmloader___ToolContext___get_module))( variable[1] /*tc*/, variable[9] /*mname*/, variable[2] /*mod*/) /*ToolContext::get_module*/;
1335 variable[11] = variable[12];
1336 ((abstractmetamodel___MMModule___add_super_module_t)CALL( variable[2] /*mod*/,COLOR_abstractmetamodel___MMModule___add_super_module))( variable[2] /*mod*/, variable[11] /*m*/, variable[10] /*level*/) /*MMModule::add_super_module*/;
1337 continue_54: while(0);
1338 ((array___ArrayIterator___next_t)CALL(variable[7],COLOR_abstract_collection___Iterator___next))(variable[7]) /*ArrayIterator::next*/;
1339 }
1340 break_54: while(0);
1341 return_label51: while(false);
1342 tracehead = trace.prev;
1343 return;
1344 }
1345 void mmbuilder___APackagedecl___accept_class_builder(val_t self, val_t param0) {
1346 struct trace_t trace = {NULL, NULL, 449, LOCATE_mmbuilder___APackagedecl___accept_class_builder};
1347 val_t variable[15];
1348 void **closurevariable = NULL;
1349 trace.prev = tracehead; tracehead = &trace;
1350 trace.file = LOCATE_mmbuilder;
1351 variable[0] = self;
1352 variable[1] = param0;
1353 variable[3] = variable[0];
1354 variable[3] = ((parser_nodes___APackagedecl___n_id_t)CALL(variable[3],COLOR_parser_nodes___APackagedecl___n_id))(variable[3]) /*APackagedecl::n_id*/;
1355 variable[3] = ((syntax_base___Token___to_symbol_t)CALL(variable[3],COLOR_syntax_base___Token___to_symbol))(variable[3]) /*Token::to_symbol*/;
1356 variable[4] = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1357 variable[4] = ((abstractmetamodel___MMModule___name_t)CALL(variable[4],COLOR_abstractmetamodel___MMModule___name))(variable[4]) /*MMModule::name*/;
1358 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == variable[4]) || ((variable[3] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3],variable[4])):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))(variable[3], variable[4]) /*Object::==*/)))))));
1359 if (UNTAG_Bool(variable[3])) { /*if*/
1360 variable[3] = variable[0];
1361 variable[3] = ((parser_nodes___APackagedecl___n_id_t)CALL(variable[3],COLOR_parser_nodes___APackagedecl___n_id))(variable[3]) /*APackagedecl::n_id*/;
1362 variable[4] = NEW_String_string___String___init(); /*new String*/
1363 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("Error: Package name missmatch between "), TAG_Int(38)); /*new String*/
1364 variable[6] = variable[5];
1365 ((string___String___append_t)CALL(variable[4],COLOR_abstract_collection___IndexedCollection___append))(variable[4], variable[6]) /*String::append*/;
1366 variable[7] = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1367 variable[7] = ((abstractmetamodel___MMModule___name_t)CALL(variable[7],COLOR_abstractmetamodel___MMModule___name))(variable[7]) /*MMModule::name*/;
1368 variable[8] = variable[7];
1369 variable[8] = ((string___String___to_s_t)CALL(variable[8],COLOR_string___Object___to_s))(variable[8]) /*String::to_s*/;
1370 ((string___String___append_t)CALL(variable[4],COLOR_abstract_collection___IndexedCollection___append))(variable[4], variable[8]) /*String::append*/;
1371 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)); /*new String*/
1372 variable[10] = variable[9];
1373 ((string___String___append_t)CALL(variable[4],COLOR_abstract_collection___IndexedCollection___append))(variable[4], variable[10]) /*String::append*/;
1374 variable[11] = variable[0];
1375 variable[11] = ((parser_nodes___APackagedecl___n_id_t)CALL(variable[11],COLOR_parser_nodes___APackagedecl___n_id))(variable[11]) /*APackagedecl::n_id*/;
1376 variable[11] = ((syntax_base___Token___to_symbol_t)CALL(variable[11],COLOR_syntax_base___Token___to_symbol))(variable[11]) /*Token::to_symbol*/;
1377 variable[12] = variable[11];
1378 variable[12] = ((string___String___to_s_t)CALL(variable[12],COLOR_string___Object___to_s))(variable[12]) /*String::to_s*/;
1379 ((string___String___append_t)CALL(variable[4],COLOR_abstract_collection___IndexedCollection___append))(variable[4], variable[12]) /*String::append*/;
1380 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1381 variable[14] = variable[13];
1382 ((string___String___append_t)CALL(variable[4],COLOR_abstract_collection___IndexedCollection___append))(variable[4], variable[14]) /*String::append*/;
1383 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[3], variable[4]) /*AbsSyntaxVisitor::error*/;
1384 }
1385 return_label55: while(false);
1386 tracehead = trace.prev;
1387 return;
1388 }
1389 val_t mmbuilder___PImport___module_name(val_t self) {
1390 struct trace_t trace = {NULL, NULL, 458, LOCATE_mmbuilder___PImport___module_name};
1391 val_t *variable = NULL;
1392 void **closurevariable = NULL;
1393 trace.prev = tracehead; tracehead = &trace;
1394 trace.file = LOCATE_mmbuilder;
1395 fprintf(stderr, "Deferred method called");
1396 fprintf(stderr, " (%s:%d)\n", LOCATE_mmbuilder, 458);
1397 nit_exit(1);
1398 tracehead = trace.prev;
1399 return NIT_NULL;
1400 }
1401 val_t mmbuilder___PImport___visibility_level(val_t self) {
1402 struct trace_t trace = {NULL, NULL, 461, LOCATE_mmbuilder___PImport___visibility_level};
1403 val_t *variable = NULL;
1404 void **closurevariable = NULL;
1405 trace.prev = tracehead; tracehead = &trace;
1406 trace.file = LOCATE_mmbuilder;
1407 fprintf(stderr, "Deferred method called");
1408 fprintf(stderr, " (%s:%d)\n", LOCATE_mmbuilder, 461);
1409 nit_exit(1);
1410 tracehead = trace.prev;
1411 return NIT_NULL;
1412 }
1413 val_t mmbuilder___AImport___module_name(val_t self) {
1414 struct trace_t trace = {NULL, NULL, 465, LOCATE_mmbuilder___AImport___module_name};
1415 val_t variable[3];
1416 void **closurevariable = NULL;
1417 trace.prev = tracehead; tracehead = &trace;
1418 trace.file = LOCATE_mmbuilder;
1419 variable[0] = self;
1420 variable[2] = variable[0];
1421 variable[2] = ((parser_nodes___AImport___n_id_t)CALL(variable[2],COLOR_parser_nodes___AImport___n_id))(variable[2]) /*AImport::n_id*/;
1422 variable[2] = ((syntax_base___Token___to_symbol_t)CALL(variable[2],COLOR_syntax_base___Token___to_symbol))(variable[2]) /*Token::to_symbol*/;
1423 variable[1] = variable[2];
1424 goto return_label56;
1425 return_label56: while(false);
1426 tracehead = trace.prev;
1427 return variable[1];
1428 }
1429 val_t mmbuilder___AImport___visibility_level(val_t self) {
1430 struct trace_t trace = {NULL, NULL, 469, LOCATE_mmbuilder___AImport___visibility_level};
1431 val_t variable[3];
1432 void **closurevariable = NULL;
1433 trace.prev = tracehead; tracehead = &trace;
1434 trace.file = LOCATE_mmbuilder;
1435 variable[0] = self;
1436 variable[2] = variable[0];
1437 variable[2] = ((parser_nodes___AImport___n_visibility_t)CALL(variable[2],COLOR_parser_nodes___AImport___n_visibility))(variable[2]) /*AImport::n_visibility*/;
1438 variable[2] = ((mmbuilder___PVisibility___level_t)CALL(variable[2],COLOR_mmbuilder___PVisibility___level))(variable[2]) /*PVisibility::level*/;
1439 variable[1] = variable[2];
1440 goto return_label57;
1441 return_label57: while(false);
1442 tracehead = trace.prev;
1443 return variable[1];
1444 }
1445 val_t mmbuilder___ANoImport___module_name(val_t self) {
1446 struct trace_t trace = {NULL, NULL, 475, LOCATE_mmbuilder___ANoImport___module_name};
1447 val_t variable[2];
1448 void **closurevariable = NULL;
1449 trace.prev = tracehead; tracehead = &trace;
1450 trace.file = LOCATE_mmbuilder;
1451 variable[0] = self;
1452 variable[1] = NIT_NULL /*null*/;
1453 goto return_label58;
1454 return_label58: while(false);
1455 tracehead = trace.prev;
1456 return variable[1];
1457 }
1458 val_t mmbuilder___PVisibility___level(val_t self) {
1459 struct trace_t trace = {NULL, NULL, 482, LOCATE_mmbuilder___PVisibility___level};
1460 val_t *variable = NULL;
1461 void **closurevariable = NULL;
1462 trace.prev = tracehead; tracehead = &trace;
1463 trace.file = LOCATE_mmbuilder;
1464 fprintf(stderr, "Deferred method called");
1465 fprintf(stderr, " (%s:%d)\n", LOCATE_mmbuilder, 482);
1466 nit_exit(1);
1467 tracehead = trace.prev;
1468 return NIT_NULL;
1469 }
1470 val_t mmbuilder___APublicVisibility___level(val_t self) {
1471 struct trace_t trace = {NULL, NULL, 486, LOCATE_mmbuilder___APublicVisibility___level};
1472 val_t variable[2];
1473 void **closurevariable = NULL;
1474 trace.prev = tracehead; tracehead = &trace;
1475 trace.file = LOCATE_mmbuilder;
1476 variable[0] = self;
1477 variable[1] = TAG_Int(1);
1478 goto return_label59;
1479 return_label59: while(false);
1480 tracehead = trace.prev;
1481 return variable[1];
1482 }
1483 val_t mmbuilder___AProtectedVisibility___level(val_t self) {
1484 struct trace_t trace = {NULL, NULL, 489, LOCATE_mmbuilder___AProtectedVisibility___level};
1485 val_t variable[2];
1486 void **closurevariable = NULL;
1487 trace.prev = tracehead; tracehead = &trace;
1488 trace.file = LOCATE_mmbuilder;
1489 variable[0] = self;
1490 variable[1] = TAG_Int(2);
1491 goto return_label60;
1492 return_label60: while(false);
1493 tracehead = trace.prev;
1494 return variable[1];
1495 }
1496 val_t mmbuilder___APrivateVisibility___level(val_t self) {
1497 struct trace_t trace = {NULL, NULL, 492, LOCATE_mmbuilder___APrivateVisibility___level};
1498 val_t variable[2];
1499 void **closurevariable = NULL;
1500 trace.prev = tracehead; tracehead = &trace;
1501 trace.file = LOCATE_mmbuilder;
1502 variable[0] = self;
1503 variable[1] = TAG_Int(3);
1504 goto return_label61;
1505 return_label61: while(false);
1506 tracehead = trace.prev;
1507 return variable[1];
1508 }
1509 val_t mmbuilder___AIntrudeVisibility___level(val_t self) {
1510 struct trace_t trace = {NULL, NULL, 495, LOCATE_mmbuilder___AIntrudeVisibility___level};
1511 val_t variable[2];
1512 void **closurevariable = NULL;
1513 trace.prev = tracehead; tracehead = &trace;
1514 trace.file = LOCATE_mmbuilder;
1515 variable[0] = self;
1516 variable[1] = TAG_Int(0);
1517 goto return_label62;
1518 return_label62: while(false);
1519 tracehead = trace.prev;
1520 return variable[1];
1521 }
1522 void mmbuilder___PClassdef___accept_abs_syntax_visitor(val_t self, val_t param0) {
1523 struct trace_t trace = {NULL, NULL, 550, LOCATE_mmbuilder___PClassdef___accept_abs_syntax_visitor};
1524 val_t variable[4];
1525 void **closurevariable = NULL;
1526 trace.prev = tracehead; tracehead = &trace;
1527 trace.file = LOCATE_mmbuilder;
1528 variable[0] = self;
1529 variable[1] = param0;
1530 variable[3] = variable[0];
1531 variable[3] = ATTR_mmbuilder___PClassdef____local_class(variable[3]) /*PClassdef::_local_class*/;
1532 ((syntax_base___AbsSyntaxVisitor___local_class__eq_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class__eq))( variable[1] /*v*/, variable[3]) /*AbsSyntaxVisitor::local_class=*/;
1533 ((mmbuilder___PClassdef___accept_abs_syntax_visitor_t)CALL(variable[0],COLOR_SUPER_mmbuilder___PClassdef___accept_abs_syntax_visitor))(variable[0], variable[1]) /*super PClassdef::accept_abs_syntax_visitor*/;
1534 ((syntax_base___AbsSyntaxVisitor___local_class__eq_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class__eq))( variable[1] /*v*/, NIT_NULL /*null*/) /*AbsSyntaxVisitor::local_class=*/;
1535 return_label63: while(false);
1536 tracehead = trace.prev;
1537 return;
1538 }
1539 val_t mmbuilder___PClassdef___local_class(val_t self) {
1540 struct trace_t trace = {NULL, NULL, 500, LOCATE_mmbuilder___PClassdef___local_class};
1541 val_t *variable = NULL;
1542 void **closurevariable = NULL;
1543 trace.prev = tracehead; tracehead = &trace;
1544 trace.file = LOCATE_mmbuilder;
1545 tracehead = trace.prev;
1546 return ATTR_mmbuilder___PClassdef____local_class( self) /*PClassdef::_local_class*/;
1547 }
1548 void mmbuilder___PClassdef___accept_class_builder(val_t self, val_t param0) {
1549 struct trace_t trace = {NULL, NULL, 511, LOCATE_mmbuilder___PClassdef___accept_class_builder};
1550 val_t variable[18];
1551 void **closurevariable = NULL;
1552 trace.prev = tracehead; tracehead = &trace;
1553 trace.file = LOCATE_mmbuilder;
1554 variable[0] = self;
1555 variable[1] = param0;
1556 /*variable[3] is variable local_class*/
1557 variable[5] = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1558 variable[4] = variable[5];
1559 variable[6] = ((syntax_base___MMSrcModule___src_local_classes_t)CALL( variable[4] /*mod*/,COLOR_syntax_base___MMSrcModule___src_local_classes))( variable[4] /*mod*/) /*MMSrcModule::src_local_classes*/;
1560 variable[5] = variable[6];
1561 variable[6] = variable[0];
1562 variable[6] = ((mmbuilder___PClassdef___name_t)CALL(variable[6],COLOR_mmbuilder___PClassdef___name))(variable[6]) /*PClassdef::name*/;
1563 variable[6] = ((abstract_collection___Map___has_key_t)CALL( variable[5] /*local_classes*/,COLOR_abstract_collection___Map___has_key))( variable[5] /*local_classes*/, variable[6]) /*Map::has_key*/;
1564 if (UNTAG_Bool(variable[6])) { /*if*/
1565 variable[6] = variable[0];
1566 variable[6] = ((mmbuilder___PClassdef___name_t)CALL(variable[6],COLOR_mmbuilder___PClassdef___name))(variable[6]) /*PClassdef::name*/;
1567 variable[6] = ((abstract_collection___Map_____bra_t)CALL( variable[5] /*local_classes*/,COLOR_abstract_collection___Map_____bra))( variable[5] /*local_classes*/, variable[6]) /*Map::[]*/;
1568 variable[3] = variable[6] /*local_class=*/;
1569 variable[6] = variable[0];
1570 variable[6] = TAG_Bool((variable[6]==NIT_NULL) || VAL_ISA(variable[6], COLOR_AClassdef, ID_AClassdef)) /*cast AClassdef*/;
1571 if (UNTAG_Bool(variable[6])) { /*if*/
1572 variable[6] = variable[0];
1573 variable[7] = NEW_String_string___String___init(); /*new String*/
1574 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Error: A class "), TAG_Int(15)); /*new String*/
1575 variable[9] = variable[8];
1576 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
1577 variable[10] = variable[0];
1578 variable[10] = ((mmbuilder___AClassdef___name_t)CALL(variable[10],COLOR_mmbuilder___PClassdef___name))(variable[10]) /*AClassdef::name*/;
1579 variable[11] = variable[10];
1580 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
1581 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[11]) /*String::append*/;
1582 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" is already defined at line "), TAG_Int(28)); /*new String*/
1583 variable[13] = variable[12];
1584 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[13]) /*String::append*/;
1585 variable[14] = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( variable[3] /*local_class*/,COLOR_syntax_base___MMSrcLocalClass___nodes))( variable[3] /*local_class*/) /*MMSrcLocalClass::nodes*/;
1586 variable[14] = ((abstract_collection___IndexedCollection___first_t)CALL(variable[14],COLOR_abstract_collection___Collection___first))(variable[14]) /*IndexedCollection::first*/;
1587 variable[14] = ((parser_prod___Prod___first_token_t)CALL(variable[14],COLOR_parser_prod___Prod___first_token))(variable[14]) /*Prod::first_token*/;
1588 variable[14] = ((lexer___Token___line_t)CALL(variable[14],COLOR_lexer___Token___line))(variable[14]) /*Token::line*/;
1589 variable[15] = variable[14];
1590 variable[15] = ((string___String___to_s_t)CALL(variable[15],COLOR_string___Object___to_s))(variable[15]) /*String::to_s*/;
1591 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[15]) /*String::append*/;
1592 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1593 variable[17] = variable[16];
1594 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[17]) /*String::append*/;
1595 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[6], variable[7]) /*AbsSyntaxVisitor::error*/;
1596 goto return_label64;
1597 }
1598 variable[6] = ((syntax_base___MMSrcLocalClass___nodes_t)CALL( variable[3] /*local_class*/,COLOR_syntax_base___MMSrcLocalClass___nodes))( variable[3] /*local_class*/) /*MMSrcLocalClass::nodes*/;
1599 variable[7] = variable[0];
1600 ((array___AbstractArray___add_t)CALL(variable[6],COLOR_abstract_collection___SimpleCollection___add))(variable[6], variable[7]) /*AbstractArray::add*/;
1601 } else { /*if*/
1602 variable[6] = variable[0];
1603 variable[6] = ((mmbuilder___PClassdef___name_t)CALL(variable[6],COLOR_mmbuilder___PClassdef___name))(variable[6]) /*PClassdef::name*/;
1604 variable[7] = variable[0];
1605 variable[8] = variable[0];
1606 variable[8] = ((mmbuilder___PClassdef___arity_t)CALL(variable[8],COLOR_mmbuilder___PClassdef___arity))(variable[8]) /*PClassdef::arity*/;
1607 variable[9] = NEW_MMSrcLocalClass_syntax_base___MMSrcLocalClass___init(variable[6], variable[7], variable[8]); /*new MMSrcLocalClass*/
1608 variable[6] = variable[9];
1609 variable[3] = variable[6] /*local_class=*/;
1610 ((abstractmetamodel___MMModule___add_local_class_t)CALL( variable[4] /*mod*/,COLOR_abstractmetamodel___MMModule___add_local_class))( variable[4] /*mod*/, variable[3] /*local_class*/) /*MMModule::add_local_class*/;
1611 variable[6] = variable[0];
1612 variable[6] = ((mmbuilder___PClassdef___name_t)CALL(variable[6],COLOR_mmbuilder___PClassdef___name))(variable[6]) /*PClassdef::name*/;
1613 ((abstract_collection___Map_____braeq_t)CALL( variable[5] /*local_classes*/,COLOR_abstract_collection___Map_____braeq))( variable[5] /*local_classes*/, variable[6], variable[3] /*local_class*/) /*Map::[]=*/;
1614 variable[7] = variable[0];
1615 variable[7] = ((mmbuilder___PClassdef___name_t)CALL(variable[7],COLOR_mmbuilder___PClassdef___name))(variable[7]) /*PClassdef::name*/;
1616 variable[7] = ((abstractmetamodel___MMModule___global_class_named_t)CALL( variable[4] /*mod*/,COLOR_abstractmetamodel___MMModule___global_class_named))( variable[4] /*mod*/, variable[7]) /*MMModule::global_class_named*/;
1617 variable[6] = variable[7];
1618 variable[7] = TAG_Bool(( variable[6] /*g*/ == NIT_NULL /*null*/) || (( variable[6] /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*g*/,COLOR_kernel___Object_____eqeq))( variable[6] /*g*/, NIT_NULL /*null*/) /*Object::==*/)))));
1619 if (UNTAG_Bool(variable[7])) { /*if*/
1620 ((abstractmetamodel___MMLocalClass___new_global_t)CALL( variable[3] /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___new_global))( variable[3] /*local_class*/) /*MMLocalClass::new_global*/;
1621 variable[7] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[3] /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[3] /*local_class*/) /*MMLocalClass::global*/;
1622 variable[6] = variable[7] /*g=*/;
1623 } else { /*if*/
1624 ((abstractmetamodel___MMLocalClass___set_global_t)CALL( variable[3] /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___set_global))( variable[3] /*local_class*/, variable[6] /*g*/) /*MMLocalClass::set_global*/;
1625 }
1626 }
1627 variable[6] = variable[0];
1628 ATTR_mmbuilder___PClassdef____local_class(variable[6]) /*PClassdef::_local_class*/ = variable[3] /*local_class*/;
1629 ((mmbuilder___ClassBuilderVisitor___local_class_arity__eq_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity__eq))( variable[1] /*v*/, TAG_Int(0)) /*ClassBuilderVisitor::local_class_arity=*/;
1630 variable[6] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, MMTypeFormalParameter]*/
1631 ((mmbuilder___ClassBuilderVisitor___formals__eq_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___formals__eq))( variable[1] /*v*/, variable[6]) /*ClassBuilderVisitor::formals=*/;
1632 ((mmbuilder___PClassdef___accept_class_builder_t)CALL(variable[0],COLOR_SUPER_mmbuilder___PClassdef___accept_class_builder))(variable[0], variable[1]) /*super PClassdef::accept_class_builder*/;
1633 variable[6] = variable[0];
1634 variable[6] = ATTR_mmbuilder___PClassdef____local_class(variable[6]) /*PClassdef::_local_class*/;
1635 variable[7] = ((mmbuilder___ClassBuilderVisitor___formals_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___formals))( variable[1] /*v*/) /*ClassBuilderVisitor::formals*/;
1636 ((syntax_base___MMSrcLocalClass___formal_dict__eq_t)CALL(variable[6],COLOR_syntax_base___MMSrcLocalClass___formal_dict__eq))(variable[6], variable[7]) /*MMSrcLocalClass::formal_dict=*/;
1637 ((mmbuilder___ClassBuilderVisitor___formals__eq_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___formals__eq))( variable[1] /*v*/, NIT_NULL /*null*/) /*ClassBuilderVisitor::formals=*/;
1638 return_label64: while(false);
1639 tracehead = trace.prev;
1640 return;
1641 }
1642 val_t mmbuilder___PClassdef___name(val_t self) {
1643 struct trace_t trace = {NULL, NULL, 502, LOCATE_mmbuilder___PClassdef___name};
1644 val_t *variable = NULL;
1645 void **closurevariable = NULL;
1646 trace.prev = tracehead; tracehead = &trace;
1647 trace.file = LOCATE_mmbuilder;
1648 fprintf(stderr, "Deferred method called");
1649 fprintf(stderr, " (%s:%d)\n", LOCATE_mmbuilder, 502);
1650 nit_exit(1);
1651 tracehead = trace.prev;
1652 return NIT_NULL;
1653 }
1654 val_t mmbuilder___PClassdef___arity(val_t self) {
1655 struct trace_t trace = {NULL, NULL, 505, LOCATE_mmbuilder___PClassdef___arity};
1656 val_t variable[2];
1657 void **closurevariable = NULL;
1658 trace.prev = tracehead; tracehead = &trace;
1659 trace.file = LOCATE_mmbuilder;
1660 variable[0] = self;
1661 variable[1] = TAG_Int(0);
1662 goto return_label65;
1663 return_label65: while(false);
1664 tracehead = trace.prev;
1665 return variable[1];
1666 }
1667 val_t mmbuilder___PClassdef___visibility_level(val_t self) {
1668 struct trace_t trace = {NULL, NULL, 508, LOCATE_mmbuilder___PClassdef___visibility_level};
1669 val_t variable[2];
1670 void **closurevariable = NULL;
1671 trace.prev = tracehead; tracehead = &trace;
1672 trace.file = LOCATE_mmbuilder;
1673 variable[0] = self;
1674 variable[1] = TAG_Int(1);
1675 goto return_label66;
1676 return_label66: while(false);
1677 tracehead = trace.prev;
1678 return variable[1];
1679 }
1680 val_t mmbuilder___PClasskind___is_interface(val_t self) {
1681 struct trace_t trace = {NULL, NULL, 559, LOCATE_mmbuilder___PClasskind___is_interface};
1682 val_t variable[2];
1683 void **closurevariable = NULL;
1684 trace.prev = tracehead; tracehead = &trace;
1685 trace.file = LOCATE_mmbuilder;
1686 variable[0] = self;
1687 variable[1] = TAG_Bool(false);
1688 goto return_label67;
1689 return_label67: while(false);
1690 tracehead = trace.prev;
1691 return variable[1];
1692 }
1693 val_t mmbuilder___PClasskind___is_universal(val_t self) {
1694 struct trace_t trace = {NULL, NULL, 560, LOCATE_mmbuilder___PClasskind___is_universal};
1695 val_t variable[2];
1696 void **closurevariable = NULL;
1697 trace.prev = tracehead; tracehead = &trace;
1698 trace.file = LOCATE_mmbuilder;
1699 variable[0] = self;
1700 variable[1] = TAG_Bool(false);
1701 goto return_label68;
1702 return_label68: while(false);
1703 tracehead = trace.prev;
1704 return variable[1];
1705 }
1706 val_t mmbuilder___PClasskind___is_abstract(val_t self) {
1707 struct trace_t trace = {NULL, NULL, 561, LOCATE_mmbuilder___PClasskind___is_abstract};
1708 val_t variable[2];
1709 void **closurevariable = NULL;
1710 trace.prev = tracehead; tracehead = &trace;
1711 trace.file = LOCATE_mmbuilder;
1712 variable[0] = self;
1713 variable[1] = TAG_Bool(false);
1714 goto return_label69;
1715 return_label69: while(false);
1716 tracehead = trace.prev;
1717 return variable[1];
1718 }
1719 val_t mmbuilder___AInterfaceClasskind___is_interface(val_t self) {
1720 struct trace_t trace = {NULL, NULL, 565, LOCATE_mmbuilder___AInterfaceClasskind___is_interface};
1721 val_t variable[2];
1722 void **closurevariable = NULL;
1723 trace.prev = tracehead; tracehead = &trace;
1724 trace.file = LOCATE_mmbuilder;
1725 variable[0] = self;
1726 variable[1] = TAG_Bool(true);
1727 goto return_label70;
1728 return_label70: while(false);
1729 tracehead = trace.prev;
1730 return variable[1];
1731 }
1732 val_t mmbuilder___AUniversalClasskind___is_universal(val_t self) {
1733 struct trace_t trace = {NULL, NULL, 568, LOCATE_mmbuilder___AUniversalClasskind___is_universal};
1734 val_t variable[2];
1735 void **closurevariable = NULL;
1736 trace.prev = tracehead; tracehead = &trace;
1737 trace.file = LOCATE_mmbuilder;
1738 variable[0] = self;
1739 variable[1] = TAG_Bool(true);
1740 goto return_label71;
1741 return_label71: while(false);
1742 tracehead = trace.prev;
1743 return variable[1];
1744 }
1745 val_t mmbuilder___AAbstractClasskind___is_abstract(val_t self) {
1746 struct trace_t trace = {NULL, NULL, 571, LOCATE_mmbuilder___AAbstractClasskind___is_abstract};
1747 val_t variable[2];
1748 void **closurevariable = NULL;
1749 trace.prev = tracehead; tracehead = &trace;
1750 trace.file = LOCATE_mmbuilder;
1751 variable[0] = self;
1752 variable[1] = TAG_Bool(true);
1753 goto return_label72;
1754 return_label72: while(false);
1755 tracehead = trace.prev;
1756 return variable[1];
1757 }
1758 void mmbuilder___AClassdef___accept_class_verifier(val_t self, val_t param0) {
1759 struct trace_t trace = {NULL, NULL, 583, LOCATE_mmbuilder___AClassdef___accept_class_verifier};
1760 val_t variable[20];
1761 void **closurevariable = NULL;
1762 trace.prev = tracehead; tracehead = &trace;
1763 trace.file = LOCATE_mmbuilder;
1764 variable[0] = self;
1765 variable[1] = param0;
1766 ((mmbuilder___AClassdef___accept_class_verifier_t)CALL(variable[0],COLOR_SUPER_mmbuilder___AClassdef___accept_class_verifier))(variable[0], variable[1]) /*super AClassdef::accept_class_verifier*/;
1767 variable[4] = variable[0];
1768 variable[4] = ATTR_mmbuilder___PClassdef____local_class(variable[4]) /*PClassdef::_local_class*/;
1769 variable[4] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[4],COLOR_abstractmetamodel___MMLocalClass___global))(variable[4]) /*MMLocalClass::global*/;
1770 variable[3] = variable[4];
1771 variable[4] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___intro))( variable[3] /*glob*/) /*MMGlobalClass::intro*/;
1772 variable[5] = variable[0];
1773 variable[5] = ATTR_mmbuilder___PClassdef____local_class(variable[5]) /*PClassdef::_local_class*/;
1774 variable[4] = TAG_Bool((variable[4] == variable[5]) || ((variable[4] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4],variable[5])):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))(variable[4], variable[5]) /*Object::==*/)))));
1775 if (UNTAG_Bool(variable[4])) { /*if*/
1776 variable[4] = variable[0];
1777 variable[4] = ((mmbuilder___AClassdef___visibility_level_t)CALL(variable[4],COLOR_mmbuilder___PClassdef___visibility_level))(variable[4]) /*AClassdef::visibility_level*/;
1778 ((abstractmetamodel___MMGlobalClass___visibility_level__eq_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___visibility_level__eq))( variable[3] /*glob*/, variable[4]) /*MMGlobalClass::visibility_level=*/;
1779 variable[4] = variable[0];
1780 variable[4] = ((parser_nodes___AClassdef___n_classkind_t)CALL(variable[4],COLOR_parser_nodes___AClassdef___n_classkind))(variable[4]) /*AClassdef::n_classkind*/;
1781 variable[4] = ((mmbuilder___PClasskind___is_interface_t)CALL(variable[4],COLOR_mmbuilder___PClasskind___is_interface))(variable[4]) /*PClasskind::is_interface*/;
1782 ((abstractmetamodel___MMGlobalClass___is_interface__eq_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface__eq))( variable[3] /*glob*/, variable[4]) /*MMGlobalClass::is_interface=*/;
1783 variable[4] = variable[0];
1784 variable[4] = ((parser_nodes___AClassdef___n_classkind_t)CALL(variable[4],COLOR_parser_nodes___AClassdef___n_classkind))(variable[4]) /*AClassdef::n_classkind*/;
1785 variable[4] = ((mmbuilder___PClasskind___is_abstract_t)CALL(variable[4],COLOR_mmbuilder___PClasskind___is_abstract))(variable[4]) /*PClasskind::is_abstract*/;
1786 ((abstractmetamodel___MMGlobalClass___is_abstract__eq_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___is_abstract__eq))( variable[3] /*glob*/, variable[4]) /*MMGlobalClass::is_abstract=*/;
1787 variable[4] = variable[0];
1788 variable[4] = ((parser_nodes___AClassdef___n_classkind_t)CALL(variable[4],COLOR_parser_nodes___AClassdef___n_classkind))(variable[4]) /*AClassdef::n_classkind*/;
1789 variable[4] = ((mmbuilder___PClasskind___is_universal_t)CALL(variable[4],COLOR_mmbuilder___PClasskind___is_universal))(variable[4]) /*PClasskind::is_universal*/;
1790 ((abstractmetamodel___MMGlobalClass___is_universal__eq_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal__eq))( variable[3] /*glob*/, variable[4]) /*MMGlobalClass::is_universal=*/;
1791 variable[4] = variable[0];
1792 variable[4] = ((parser_nodes___AClassdef___n_kwredef_t)CALL(variable[4],COLOR_parser_nodes___AClassdef___n_kwredef))(variable[4]) /*AClassdef::n_kwredef*/;
1793 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
1794 if (UNTAG_Bool(variable[4])) { /*if*/
1795 variable[4] = variable[0];
1796 variable[5] = NEW_String_string___String___init(); /*new String*/
1797 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: No class "), TAG_Int(22)); /*new String*/
1798 variable[7] = variable[6];
1799 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[7]) /*String::append*/;
1800 variable[8] = variable[0];
1801 variable[8] = ((mmbuilder___AClassdef___name_t)CALL(variable[8],COLOR_mmbuilder___PClassdef___name))(variable[8]) /*AClassdef::name*/;
1802 variable[9] = variable[8];
1803 variable[9] = ((string___String___to_s_t)CALL(variable[9],COLOR_string___Object___to_s))(variable[9]) /*String::to_s*/;
1804 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[9]) /*String::append*/;
1805 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*/
1806 variable[11] = variable[10];
1807 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[11]) /*String::append*/;
1808 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[4], variable[5]) /*AbsSyntaxVisitor::error*/;
1809 }
1810 variable[4] = variable[0];
1811 variable[4] = ATTR_mmbuilder___PClassdef____local_class(variable[4]) /*PClassdef::_local_class*/;
1812 variable[4] = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable[4],COLOR_abstractmetamodel___MMLocalClass___cshe))(variable[4]) /*MMLocalClass::cshe*/;
1813 variable[4] = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable[4],COLOR_partial_order___PartialOrderElement___direct_greaters))(variable[4]) /*PartialOrderElement::direct_greaters*/;
1814 variable[4] = ((array___AbstractArray___iterator_t)CALL(variable[4],COLOR_abstract_collection___Collection___iterator))(variable[4]) /*AbstractArray::iterator*/;
1815 while (true) { /*for*/
1816 variable[5] = ((array___ArrayIterator___is_ok_t)CALL(variable[4],COLOR_abstract_collection___Iterator___is_ok))(variable[4]) /*ArrayIterator::is_ok*/;
1817 if (!UNTAG_Bool(variable[5])) break; /*for*/
1818 variable[5] = ((array___ArrayIterator___item_t)CALL(variable[4],COLOR_abstract_collection___Iterator___item))(variable[4]) /*ArrayIterator::item*/;
1819 variable[6] = variable[5];
1820 variable[8] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[6] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[6] /*c*/) /*MMLocalClass::global*/;
1821 variable[7] = variable[8];
1822 variable[8] = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface))( variable[3] /*glob*/) /*MMGlobalClass::is_interface*/;
1823 if (UNTAG_Bool(variable[8])) { /*if*/
1824 variable[8] = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable[7] /*cg*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable[7] /*cg*/) /*MMGlobalClass::is_universal*/;
1825 if (UNTAG_Bool(variable[8])) { /*if*/
1826 variable[8] = variable[0];
1827 variable[9] = NEW_String_string___String___init(); /*new String*/
1828 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Interface "), TAG_Int(25)); /*new String*/
1829 variable[11] = variable[10];
1830 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
1831 variable[12] = variable[0];
1832 variable[12] = ((mmbuilder___AClassdef___name_t)CALL(variable[12],COLOR_mmbuilder___PClassdef___name))(variable[12]) /*AClassdef::name*/;
1833 variable[13] = variable[12];
1834 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
1835 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
1836 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise universal class "), TAG_Int(35)); /*new String*/
1837 variable[15] = variable[14];
1838 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
1839 variable[16] = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable[6] /*c*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable[6] /*c*/) /*MMLocalClass::name*/;
1840 variable[17] = variable[16];
1841 variable[17] = ((string___String___to_s_t)CALL(variable[17],COLOR_string___Object___to_s))(variable[17]) /*String::to_s*/;
1842 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[17]) /*String::append*/;
1843 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1844 variable[19] = variable[18];
1845 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[19]) /*String::append*/;
1846 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
1847 } else { /*if*/
1848 variable[8] = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL( variable[7] /*cg*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface))( variable[7] /*cg*/) /*MMGlobalClass::is_interface*/;
1849 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[8])))) { /*if*/
1850 variable[8] = variable[0];
1851 variable[9] = NEW_String_string___String___init(); /*new String*/
1852 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Interface "), TAG_Int(25)); /*new String*/
1853 variable[11] = variable[10];
1854 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
1855 variable[12] = variable[0];
1856 variable[12] = ((mmbuilder___AClassdef___name_t)CALL(variable[12],COLOR_mmbuilder___PClassdef___name))(variable[12]) /*AClassdef::name*/;
1857 variable[13] = variable[12];
1858 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
1859 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
1860 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise class "), TAG_Int(25)); /*new String*/
1861 variable[15] = variable[14];
1862 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
1863 variable[16] = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable[6] /*c*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable[6] /*c*/) /*MMLocalClass::name*/;
1864 variable[17] = variable[16];
1865 variable[17] = ((string___String___to_s_t)CALL(variable[17],COLOR_string___Object___to_s))(variable[17]) /*String::to_s*/;
1866 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[17]) /*String::append*/;
1867 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1868 variable[19] = variable[18];
1869 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[19]) /*String::append*/;
1870 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
1871 }
1872 }
1873 } else { /*if*/
1874 variable[8] = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable[3] /*glob*/) /*MMGlobalClass::is_universal*/;
1875 if (UNTAG_Bool(variable[8])) { /*if*/
1876 variable[8] = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL( variable[7] /*cg*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface))( variable[7] /*cg*/) /*MMGlobalClass::is_interface*/;
1877 variable[8] = TAG_Bool(!UNTAG_Bool(variable[8]));
1878 if (UNTAG_Bool(variable[8])) { /* and */
1879 variable[8] = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable[7] /*cg*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable[7] /*cg*/) /*MMGlobalClass::is_universal*/;
1880 variable[8] = TAG_Bool(!UNTAG_Bool(variable[8]));
1881 }
1882 if (UNTAG_Bool(variable[8])) { /*if*/
1883 variable[8] = variable[0];
1884 variable[9] = NEW_String_string___String___init(); /*new String*/
1885 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Universal class "), TAG_Int(31)); /*new String*/
1886 variable[11] = variable[10];
1887 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
1888 variable[12] = variable[0];
1889 variable[12] = ((mmbuilder___AClassdef___name_t)CALL(variable[12],COLOR_mmbuilder___PClassdef___name))(variable[12]) /*AClassdef::name*/;
1890 variable[13] = variable[12];
1891 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
1892 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
1893 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise class "), TAG_Int(25)); /*new String*/
1894 variable[15] = variable[14];
1895 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
1896 variable[16] = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable[6] /*c*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable[6] /*c*/) /*MMLocalClass::name*/;
1897 variable[17] = variable[16];
1898 variable[17] = ((string___String___to_s_t)CALL(variable[17],COLOR_string___Object___to_s))(variable[17]) /*String::to_s*/;
1899 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[17]) /*String::append*/;
1900 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1901 variable[19] = variable[18];
1902 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[19]) /*String::append*/;
1903 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
1904 }
1905 } else { /*if*/
1906 variable[8] = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable[7] /*cg*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable[7] /*cg*/) /*MMGlobalClass::is_universal*/;
1907 if (UNTAG_Bool(variable[8])) { /*if*/
1908 variable[8] = variable[0];
1909 variable[9] = NEW_String_string___String___init(); /*new String*/
1910 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Special error: Class "), TAG_Int(21)); /*new String*/
1911 variable[11] = variable[10];
1912 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
1913 variable[12] = variable[0];
1914 variable[12] = ((mmbuilder___AClassdef___name_t)CALL(variable[12],COLOR_mmbuilder___PClassdef___name))(variable[12]) /*AClassdef::name*/;
1915 variable[13] = variable[12];
1916 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
1917 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
1918 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" try to specialise universal class "), TAG_Int(35)); /*new String*/
1919 variable[15] = variable[14];
1920 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
1921 variable[16] = ((abstractmetamodel___MMLocalClass___name_t)CALL( variable[6] /*c*/,COLOR_abstractmetamodel___MMLocalClass___name))( variable[6] /*c*/) /*MMLocalClass::name*/;
1922 variable[17] = variable[16];
1923 variable[17] = ((string___String___to_s_t)CALL(variable[17],COLOR_string___Object___to_s))(variable[17]) /*String::to_s*/;
1924 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[17]) /*String::append*/;
1925 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1926 variable[19] = variable[18];
1927 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[19]) /*String::append*/;
1928 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
1929 }
1930 }
1931 }
1932 continue_74: while(0);
1933 ((array___ArrayIterator___next_t)CALL(variable[4],COLOR_abstract_collection___Iterator___next))(variable[4]) /*ArrayIterator::next*/;
1934 }
1935 break_74: while(0);
1936 goto return_label73;
1937 }
1938 variable[4] = variable[0];
1939 variable[5] = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1940 ((syntax_base___MMGlobalClass___check_visibility_t)CALL( variable[3] /*glob*/,COLOR_syntax_base___MMGlobalClass___check_visibility))( variable[3] /*glob*/, variable[1] /*v*/, variable[4], variable[5]) /*MMGlobalClass::check_visibility*/;
1941 variable[4] = variable[0];
1942 variable[4] = ((parser_nodes___AClassdef___n_kwredef_t)CALL(variable[4],COLOR_parser_nodes___AClassdef___n_kwredef))(variable[4]) /*AClassdef::n_kwredef*/;
1943 variable[4] = TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))(variable[4], NIT_NULL /*null*/) /*Object::==*/)))));
1944 if (UNTAG_Bool(variable[4])) { /*if*/
1945 variable[4] = variable[0];
1946 variable[5] = NEW_String_string___String___init(); /*new String*/
1947 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
1948 variable[7] = variable[6];
1949 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[7]) /*String::append*/;
1950 variable[8] = variable[0];
1951 variable[8] = ((mmbuilder___AClassdef___name_t)CALL(variable[8],COLOR_mmbuilder___PClassdef___name))(variable[8]) /*AClassdef::name*/;
1952 variable[9] = variable[8];
1953 variable[9] = ((string___String___to_s_t)CALL(variable[9],COLOR_string___Object___to_s))(variable[9]) /*String::to_s*/;
1954 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[9]) /*String::append*/;
1955 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*/
1956 variable[11] = variable[10];
1957 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[11]) /*String::append*/;
1958 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[4], variable[5]) /*AbsSyntaxVisitor::error*/;
1959 goto return_label73;
1960 }
1961 variable[4] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___intro))( variable[3] /*glob*/) /*MMGlobalClass::intro*/;
1962 variable[4] = ((abstractmetamodel___MMLocalClass___arity_t)CALL(variable[4],COLOR_abstractmetamodel___MMLocalClass___arity))(variable[4]) /*MMLocalClass::arity*/;
1963 variable[5] = variable[0];
1964 variable[5] = ATTR_mmbuilder___PClassdef____local_class(variable[5]) /*PClassdef::_local_class*/;
1965 variable[5] = ((abstractmetamodel___MMLocalClass___arity_t)CALL(variable[5],COLOR_abstractmetamodel___MMLocalClass___arity))(variable[5]) /*MMLocalClass::arity*/;
1966 variable[4] = TAG_Bool((variable[4])!=(variable[5]));
1967 if (UNTAG_Bool(variable[4])) { /*if*/
1968 variable[4] = variable[0];
1969 variable[5] = NEW_String_string___String___init(); /*new String*/
1970 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Formal parameter arity missmatch; got "), TAG_Int(51)); /*new String*/
1971 variable[7] = variable[6];
1972 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[7]) /*String::append*/;
1973 variable[8] = variable[0];
1974 variable[8] = ATTR_mmbuilder___PClassdef____local_class(variable[8]) /*PClassdef::_local_class*/;
1975 variable[8] = ((abstractmetamodel___MMLocalClass___arity_t)CALL(variable[8],COLOR_abstractmetamodel___MMLocalClass___arity))(variable[8]) /*MMLocalClass::arity*/;
1976 variable[9] = variable[8];
1977 variable[9] = ((string___String___to_s_t)CALL(variable[9],COLOR_string___Object___to_s))(variable[9]) /*String::to_s*/;
1978 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[9]) /*String::append*/;
1979 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(", expected "), TAG_Int(11)); /*new String*/
1980 variable[11] = variable[10];
1981 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[11]) /*String::append*/;
1982 variable[12] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___intro))( variable[3] /*glob*/) /*MMGlobalClass::intro*/;
1983 variable[12] = ((abstractmetamodel___MMLocalClass___arity_t)CALL(variable[12],COLOR_abstractmetamodel___MMLocalClass___arity))(variable[12]) /*MMLocalClass::arity*/;
1984 variable[13] = variable[12];
1985 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
1986 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[13]) /*String::append*/;
1987 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1988 variable[15] = variable[14];
1989 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[15]) /*String::append*/;
1990 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[4], variable[5]) /*AbsSyntaxVisitor::error*/;
1991 }
1992 variable[4] = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface))( variable[3] /*glob*/) /*MMGlobalClass::is_interface*/;
1993 variable[4] = TAG_Bool(!UNTAG_Bool(variable[4]));
1994 if (UNTAG_Bool(variable[4])) { /* and */
1995 variable[4] = variable[0];
1996 variable[4] = ((parser_nodes___AClassdef___n_classkind_t)CALL(variable[4],COLOR_parser_nodes___AClassdef___n_classkind))(variable[4]) /*AClassdef::n_classkind*/;
1997 variable[4] = ((mmbuilder___PClasskind___is_interface_t)CALL(variable[4],COLOR_mmbuilder___PClasskind___is_interface))(variable[4]) /*PClasskind::is_interface*/;
1998 }
1999 variable[5] = variable[4];
2000 if (!UNTAG_Bool(variable[5])) { /* or */
2001 variable[5] = ((abstractmetamodel___MMGlobalClass___is_abstract_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___is_abstract))( variable[3] /*glob*/) /*MMGlobalClass::is_abstract*/;
2002 variable[5] = TAG_Bool(!UNTAG_Bool(variable[5]));
2003 }
2004 variable[4] = variable[5];
2005 variable[5] = variable[4];
2006 if (UNTAG_Bool(variable[5])) { /* and */
2007 variable[5] = variable[0];
2008 variable[5] = ((parser_nodes___AClassdef___n_classkind_t)CALL(variable[5],COLOR_parser_nodes___AClassdef___n_classkind))(variable[5]) /*AClassdef::n_classkind*/;
2009 variable[5] = ((mmbuilder___PClasskind___is_abstract_t)CALL(variable[5],COLOR_mmbuilder___PClasskind___is_abstract))(variable[5]) /*PClasskind::is_abstract*/;
2010 }
2011 variable[4] = variable[5];
2012 variable[5] = variable[4];
2013 if (!UNTAG_Bool(variable[5])) { /* or */
2014 variable[5] = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable[3] /*glob*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable[3] /*glob*/) /*MMGlobalClass::is_universal*/;
2015 variable[5] = TAG_Bool(!UNTAG_Bool(variable[5]));
2016 }
2017 variable[4] = variable[5];
2018 variable[5] = variable[4];
2019 if (UNTAG_Bool(variable[5])) { /* and */
2020 variable[5] = variable[0];
2021 variable[5] = ((parser_nodes___AClassdef___n_classkind_t)CALL(variable[5],COLOR_parser_nodes___AClassdef___n_classkind))(variable[5]) /*AClassdef::n_classkind*/;
2022 variable[5] = ((mmbuilder___PClasskind___is_universal_t)CALL(variable[5],COLOR_mmbuilder___PClasskind___is_universal))(variable[5]) /*PClasskind::is_universal*/;
2023 }
2024 variable[4] = variable[5];
2025 if (UNTAG_Bool(variable[4])) { /*if*/
2026 variable[4] = variable[0];
2027 variable[5] = NEW_String_string___String___init(); /*new String*/
2028 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: cannot change kind of class "), TAG_Int(41)); /*new String*/
2029 variable[7] = variable[6];
2030 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[7]) /*String::append*/;
2031 variable[8] = variable[0];
2032 variable[8] = ((mmbuilder___AClassdef___name_t)CALL(variable[8],COLOR_mmbuilder___PClassdef___name))(variable[8]) /*AClassdef::name*/;
2033 variable[9] = variable[8];
2034 variable[9] = ((string___String___to_s_t)CALL(variable[9],COLOR_string___Object___to_s))(variable[9]) /*String::to_s*/;
2035 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[9]) /*String::append*/;
2036 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2037 variable[11] = variable[10];
2038 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[11]) /*String::append*/;
2039 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[4], variable[5]) /*AbsSyntaxVisitor::error*/;
2040 }
2041 return_label73: while(false);
2042 tracehead = trace.prev;
2043 return;
2044 }
2045 val_t mmbuilder___AClassdef___name(val_t self) {
2046 struct trace_t trace = {NULL, NULL, 575, LOCATE_mmbuilder___AClassdef___name};
2047 val_t variable[3];
2048 void **closurevariable = NULL;
2049 trace.prev = tracehead; tracehead = &trace;
2050 trace.file = LOCATE_mmbuilder;
2051 variable[0] = self;
2052 variable[2] = variable[0];
2053 variable[2] = ((parser_nodes___AClassdef___n_id_t)CALL(variable[2],COLOR_parser_nodes___AClassdef___n_id))(variable[2]) /*AClassdef::n_id*/;
2054 variable[2] = ((syntax_base___Token___to_symbol_t)CALL(variable[2],COLOR_syntax_base___Token___to_symbol))(variable[2]) /*Token::to_symbol*/;
2055 variable[1] = variable[2];
2056 goto return_label75;
2057 return_label75: while(false);
2058 tracehead = trace.prev;
2059 return variable[1];
2060 }
2061 val_t mmbuilder___AClassdef___arity(val_t self) {
2062 struct trace_t trace = {NULL, NULL, 579, LOCATE_mmbuilder___AClassdef___arity};
2063 val_t variable[3];
2064 void **closurevariable = NULL;
2065 trace.prev = tracehead; tracehead = &trace;
2066 trace.file = LOCATE_mmbuilder;
2067 variable[0] = self;
2068 variable[2] = variable[0];
2069 variable[2] = ((parser_nodes___AClassdef___n_formaldefs_t)CALL(variable[2],COLOR_parser_nodes___AClassdef___n_formaldefs))(variable[2]) /*AClassdef::n_formaldefs*/;
2070 variable[2] = ((list___List___length_t)CALL(variable[2],COLOR_abstract_collection___Collection___length))(variable[2]) /*List::length*/;
2071 variable[1] = variable[2];
2072 goto return_label76;
2073 return_label76: while(false);
2074 tracehead = trace.prev;
2075 return variable[1];
2076 }
2077 val_t mmbuilder___AClassdef___visibility_level(val_t self) {
2078 struct trace_t trace = {NULL, NULL, 640, LOCATE_mmbuilder___AClassdef___visibility_level};
2079 val_t variable[3];
2080 void **closurevariable = NULL;
2081 trace.prev = tracehead; tracehead = &trace;
2082 trace.file = LOCATE_mmbuilder;
2083 variable[0] = self;
2084 variable[2] = variable[0];
2085 variable[2] = ((parser_nodes___AClassdef___n_visibility_t)CALL(variable[2],COLOR_parser_nodes___AClassdef___n_visibility))(variable[2]) /*AClassdef::n_visibility*/;
2086 variable[2] = ((mmbuilder___PVisibility___level_t)CALL(variable[2],COLOR_mmbuilder___PVisibility___level))(variable[2]) /*PVisibility::level*/;
2087 variable[1] = variable[2];
2088 goto return_label77;
2089 return_label77: while(false);
2090 tracehead = trace.prev;
2091 return variable[1];
2092 }
2093 val_t mmbuilder___AMainClassdef___name(val_t self) {
2094 struct trace_t trace = {NULL, NULL, 647, LOCATE_mmbuilder___AMainClassdef___name};
2095 static val_t once_value_79; static int once_bool_79; /* Once value for variable[2]*/
2096 val_t variable[3];
2097 void **closurevariable = NULL;
2098 trace.prev = tracehead; tracehead = &trace;
2099 trace.file = LOCATE_mmbuilder;
2100 variable[0] = self;
2101 if (once_bool_79) variable[2] = once_value_79;
2102 else {
2103 variable[2] = NEW_String_string___String___with_native(BOX_NativeString("Sys"), TAG_Int(3)); /*new String*/
2104 variable[2] = ((symbol___String___to_symbol_t)CALL(variable[2],COLOR_symbol___String___to_symbol))(variable[2]) /*String::to_symbol*/;
2105 once_value_79 = variable[2];
2106 once_bool_79 = true;
2107 }
2108 variable[1] = variable[2];
2109 goto return_label78;
2110 return_label78: while(false);
2111 tracehead = trace.prev;
2112 return variable[1];
2113 }
2114 val_t mmbuilder___ATopClassdef___name(val_t self) {
2115 struct trace_t trace = {NULL, NULL, 654, LOCATE_mmbuilder___ATopClassdef___name};
2116 static val_t once_value_81; static int once_bool_81; /* Once value for variable[2]*/
2117 val_t variable[3];
2118 void **closurevariable = NULL;
2119 trace.prev = tracehead; tracehead = &trace;
2120 trace.file = LOCATE_mmbuilder;
2121 variable[0] = self;
2122 if (once_bool_81) variable[2] = once_value_81;
2123 else {
2124 variable[2] = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
2125 variable[2] = ((symbol___String___to_symbol_t)CALL(variable[2],COLOR_symbol___String___to_symbol))(variable[2]) /*String::to_symbol*/;
2126 once_value_81 = variable[2];
2127 once_bool_81 = true;
2128 }
2129 variable[1] = variable[2];
2130 goto return_label80;
2131 return_label80: while(false);
2132 tracehead = trace.prev;
2133 return variable[1];
2134 }
2135 val_t mmbuilder___MMSrcTypeFormalParameter___node(val_t self) {
2136 struct trace_t trace = {NULL, NULL, 662, LOCATE_mmbuilder___MMSrcTypeFormalParameter___node};
2137 val_t *variable = NULL;
2138 void **closurevariable = NULL;
2139 trace.prev = tracehead; tracehead = &trace;
2140 trace.file = LOCATE_mmbuilder;
2141 tracehead = trace.prev;
2142 return ATTR_mmbuilder___MMSrcTypeFormalParameter____node( self) /*MMSrcTypeFormalParameter::_node*/;
2143 }
2144 void mmbuilder___MMSrcTypeFormalParameter___init(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
2145 struct trace_t trace = {NULL, NULL, 665, LOCATE_mmbuilder___MMSrcTypeFormalParameter___init};
2146 val_t variable[7];
2147 void **closurevariable = NULL;
2148 trace.prev = tracehead; tracehead = &trace;
2149 trace.file = LOCATE_mmbuilder;
2150 variable[0] = self;
2151 variable[1] = param0;
2152 variable[2] = param1;
2153 variable[3] = param2;
2154 variable[4] = param3;
2155 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcTypeFormalParameter].i]) return;
2156 ((genericity___MMTypeFormalParameter___init_t)CALL(variable[0],COLOR_genericity___MMTypeFormalParameter___init))(variable[0], variable[1] /*name*/, variable[2] /*pos*/, variable[3] /*local_class*/, init_table /*YYY*/) /*MMTypeFormalParameter::init*/;
2157 variable[6] = variable[0];
2158 ATTR_mmbuilder___MMSrcTypeFormalParameter____node(variable[6]) /*MMSrcTypeFormalParameter::_node*/ = variable[4] /*n*/;
2159 return_label82: while(false);
2160 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcTypeFormalParameter].i] = 1;
2161 tracehead = trace.prev;
2162 return;
2163 }
2164 void mmbuilder___AFormaldef___accept_class_builder(val_t self, val_t param0) {
2165 struct trace_t trace = {NULL, NULL, 676, LOCATE_mmbuilder___AFormaldef___accept_class_builder};
2166 val_t variable[9];
2167 void **closurevariable = NULL;
2168 trace.prev = tracehead; tracehead = &trace;
2169 trace.file = LOCATE_mmbuilder;
2170 variable[0] = self;
2171 variable[1] = param0;
2172 variable[4] = variable[0];
2173 variable[4] = ((parser_nodes___AFormaldef___n_id_t)CALL(variable[4],COLOR_parser_nodes___AFormaldef___n_id))(variable[4]) /*AFormaldef::n_id*/;
2174 variable[4] = ((syntax_base___Token___to_symbol_t)CALL(variable[4],COLOR_syntax_base___Token___to_symbol))(variable[4]) /*Token::to_symbol*/;
2175 variable[3] = variable[4];
2176 variable[5] = ((mmbuilder___ClassBuilderVisitor___local_class_arity_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity))( variable[1] /*v*/) /*ClassBuilderVisitor::local_class_arity*/;
2177 variable[6] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2178 variable[7] = variable[0];
2179 variable[8] = NEW_MMSrcTypeFormalParameter_mmbuilder___MMSrcTypeFormalParameter___init( variable[3] /*name*/, variable[5], variable[6], variable[7]); /*new MMSrcTypeFormalParameter*/
2180 variable[5] = variable[8];
2181 variable[4] = variable[5];
2182 variable[5] = variable[0];
2183 ATTR_mmbuilder___AFormaldef____formal(variable[5]) /*AFormaldef::_formal*/ = variable[4] /*formal_type*/;
2184 variable[5] = ((mmbuilder___ClassBuilderVisitor___local_class_arity_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity))( variable[1] /*v*/) /*ClassBuilderVisitor::local_class_arity*/;
2185 variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1)));
2186 ((mmbuilder___ClassBuilderVisitor___local_class_arity__eq_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___local_class_arity__eq))( variable[1] /*v*/, variable[5]) /*ClassBuilderVisitor::local_class_arity=*/;
2187 variable[5] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2188 ((genericity___MMLocalClass___register_formal_t)CALL(variable[5],COLOR_genericity___MMLocalClass___register_formal))(variable[5], variable[4] /*formal_type*/) /*MMLocalClass::register_formal*/;
2189 variable[5] = ((mmbuilder___ClassBuilderVisitor___formals_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___ClassBuilderVisitor___formals))( variable[1] /*v*/) /*ClassBuilderVisitor::formals*/;
2190 ((abstract_collection___Map_____braeq_t)CALL(variable[5],COLOR_abstract_collection___Map_____braeq))(variable[5], variable[3] /*name*/, variable[4] /*formal_type*/) /*Map::[]=*/;
2191 ((mmbuilder___AFormaldef___accept_class_builder_t)CALL(variable[0],COLOR_SUPER_mmbuilder___AFormaldef___accept_class_builder))(variable[0], variable[1]) /*super AFormaldef::accept_class_builder*/;
2192 return_label83: while(false);
2193 tracehead = trace.prev;
2194 return;
2195 }
2196 void mmbuilder___AFormaldef___accept_class_verifier(val_t self, val_t param0) {
2197 struct trace_t trace = {NULL, NULL, 687, LOCATE_mmbuilder___AFormaldef___accept_class_verifier};
2198 val_t variable[20];
2199 void **closurevariable = NULL;
2200 trace.prev = tracehead; tracehead = &trace;
2201 trace.file = LOCATE_mmbuilder;
2202 variable[0] = self;
2203 variable[1] = param0;
2204 ((mmbuilder___AFormaldef___accept_class_verifier_t)CALL(variable[0],COLOR_SUPER_mmbuilder___AFormaldef___accept_class_verifier))(variable[0], variable[1]) /*super AFormaldef::accept_class_verifier*/;
2205 variable[4] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2206 variable[3] = variable[4];
2207 variable[5] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[3] /*c*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[3] /*c*/) /*MMLocalClass::global*/;
2208 variable[5] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable[5],COLOR_abstractmetamodel___MMGlobalClass___intro))(variable[5]) /*MMGlobalClass::intro*/;
2209 variable[4] = variable[5];
2210 variable[5] = TAG_Bool(( variable[3] /*c*/ == variable[4] /*o*/) || (( variable[3] /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[3] /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*c*/, variable[4] /*o*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[3] /*c*/,COLOR_kernel___Object_____eqeq))( variable[3] /*c*/, variable[4] /*o*/) /*Object::==*/)))));
2211 if (UNTAG_Bool(variable[5])) { /*if*/
2212 variable[5] = variable[0];
2213 variable[5] = ((parser_nodes___AFormaldef___n_type_t)CALL(variable[5],COLOR_parser_nodes___AFormaldef___n_type))(variable[5]) /*AFormaldef::n_type*/;
2214 variable[5] = TAG_Bool((variable[5] == NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))(variable[5], NIT_NULL /*null*/) /*Object::==*/)))));
2215 if (UNTAG_Bool(variable[5])) { /*if*/
2216 variable[5] = variable[0];
2217 variable[5] = ATTR_mmbuilder___AFormaldef____formal(variable[5]) /*AFormaldef::_formal*/;
2218 variable[6] = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable[1] /*v*/) /*AbsSyntaxVisitor::module*/;
2219 variable[6] = ((inheritance___MMModule___type_any_t)CALL(variable[6],COLOR_inheritance___MMModule___type_any))(variable[6]) /*MMModule::type_any*/;
2220 ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable[5],COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable[5], variable[6]) /*MMTypeFormalParameter::bound=*/;
2221 } else { /*if*/
2222 variable[5] = variable[0];
2223 variable[5] = ATTR_mmbuilder___AFormaldef____formal(variable[5]) /*AFormaldef::_formal*/;
2224 variable[6] = variable[0];
2225 variable[6] = ((parser_nodes___AFormaldef___n_type_t)CALL(variable[6],COLOR_parser_nodes___AFormaldef___n_type))(variable[6]) /*AFormaldef::n_type*/;
2226 variable[6] = ((syntax_base___PType___get_stype_t)CALL(variable[6],COLOR_syntax_base___PType___get_stype))(variable[6], variable[1] /*v*/) /*PType::get_stype*/;
2227 ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable[5],COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable[5], variable[6]) /*MMTypeFormalParameter::bound=*/;
2228 }
2229 } else { /*if*/
2230 variable[6] = variable[0];
2231 variable[6] = ATTR_mmbuilder___AFormaldef____formal(variable[6]) /*AFormaldef::_formal*/;
2232 variable[6] = ((genericity___MMTypeFormalParameter___position_t)CALL(variable[6],COLOR_genericity___MMTypeFormalParameter___position))(variable[6]) /*MMTypeFormalParameter::position*/;
2233 variable[6] = ((genericity___MMLocalClass___get_formal_t)CALL( variable[4] /*o*/,COLOR_genericity___MMLocalClass___get_formal))( variable[4] /*o*/, variable[6]) /*MMLocalClass::get_formal*/;
2234 variable[6] = ((type_formal___MMTypeFormal___bound_t)CALL(variable[6],COLOR_type_formal___MMTypeFormal___bound))(variable[6]) /*MMTypeFormal::bound*/;
2235 variable[7] = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable[1] /*v*/) /*AbsSyntaxVisitor::module*/;
2236 variable[6] = ((static_type___MMType___for_module_t)CALL(variable[6],COLOR_static_type___MMType___for_module))(variable[6], variable[7]) /*MMType::for_module*/;
2237 variable[5] = variable[6];
2238 variable[6] = variable[0];
2239 variable[6] = ((parser_nodes___AFormaldef___n_type_t)CALL(variable[6],COLOR_parser_nodes___AFormaldef___n_type))(variable[6]) /*AFormaldef::n_type*/;
2240 variable[6] = TAG_Bool((variable[6] == NIT_NULL /*null*/) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], NIT_NULL /*null*/) /*Object::==*/)))));
2241 if (UNTAG_Bool(variable[6])) { /*if*/
2242 variable[6] = variable[0];
2243 variable[6] = ATTR_mmbuilder___AFormaldef____formal(variable[6]) /*AFormaldef::_formal*/;
2244 ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable[6],COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable[6], variable[5] /*ob*/) /*MMTypeFormalParameter::bound=*/;
2245 } else { /*if*/
2246 variable[6] = variable[0];
2247 variable[6] = ATTR_mmbuilder___AFormaldef____formal(variable[6]) /*AFormaldef::_formal*/;
2248 variable[7] = variable[0];
2249 variable[7] = ((parser_nodes___AFormaldef___n_type_t)CALL(variable[7],COLOR_parser_nodes___AFormaldef___n_type))(variable[7]) /*AFormaldef::n_type*/;
2250 variable[7] = ((syntax_base___PType___get_stype_t)CALL(variable[7],COLOR_syntax_base___PType___get_stype))(variable[7], variable[1] /*v*/) /*PType::get_stype*/;
2251 ((genericity___MMTypeFormalParameter___bound__eq_t)CALL(variable[6],COLOR_genericity___MMTypeFormalParameter___bound__eq))(variable[6], variable[7]) /*MMTypeFormalParameter::bound=*/;
2252 variable[6] = variable[0];
2253 variable[6] = ATTR_mmbuilder___AFormaldef____formal(variable[6]) /*AFormaldef::_formal*/;
2254 variable[6] = ((type_formal___MMTypeFormal___bound_t)CALL(variable[6],COLOR_type_formal___MMTypeFormal___bound))(variable[6]) /*MMTypeFormal::bound*/;
2255 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] == variable[5] /*ob*/) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], variable[5] /*ob*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], variable[5] /*ob*/) /*Object::==*/)))))));
2256 if (UNTAG_Bool(variable[6])) { /*if*/
2257 variable[6] = variable[0];
2258 variable[7] = NEW_String_string___String___init(); /*new String*/
2259 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Cannot change formal parameter type of class "), TAG_Int(58)); /*new String*/
2260 variable[9] = variable[8];
2261 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
2262 variable[10] = variable[3] /*c*/;
2263 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
2264 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[10]) /*String::append*/;
2265 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("; got "), TAG_Int(6)); /*new String*/
2266 variable[12] = variable[11];
2267 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[12]) /*String::append*/;
2268 variable[13] = variable[0];
2269 variable[13] = ATTR_mmbuilder___AFormaldef____formal(variable[13]) /*AFormaldef::_formal*/;
2270 variable[13] = ((type_formal___MMTypeFormal___bound_t)CALL(variable[13],COLOR_type_formal___MMTypeFormal___bound))(variable[13]) /*MMTypeFormal::bound*/;
2271 variable[14] = variable[13];
2272 variable[14] = ((string___String___to_s_t)CALL(variable[14],COLOR_string___Object___to_s))(variable[14]) /*String::to_s*/;
2273 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[14]) /*String::append*/;
2274 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(", expected "), TAG_Int(11)); /*new String*/
2275 variable[16] = variable[15];
2276 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[16]) /*String::append*/;
2277 variable[17] = variable[5] /*ob*/;
2278 variable[17] = ((string___String___to_s_t)CALL(variable[17],COLOR_string___Object___to_s))(variable[17]) /*String::to_s*/;
2279 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[17]) /*String::append*/;
2280 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2281 variable[19] = variable[18];
2282 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[19]) /*String::append*/;
2283 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[6], variable[7]) /*AbsSyntaxVisitor::error*/;
2284 }
2285 }
2286 }
2287 return_label84: while(false);
2288 tracehead = trace.prev;
2289 return;
2290 }
2291 void mmbuilder___ASuperclass___accept_class_specialization_builder(val_t self, val_t param0) {
2292 struct trace_t trace = {NULL, NULL, 715, LOCATE_mmbuilder___ASuperclass___accept_class_specialization_builder};
2293 val_t variable[7];
2294 void **closurevariable = NULL;
2295 trace.prev = tracehead; tracehead = &trace;
2296 trace.file = LOCATE_mmbuilder;
2297 variable[0] = self;
2298 variable[1] = param0;
2299 ((mmbuilder___ASuperclass___accept_class_specialization_builder_t)CALL(variable[0],COLOR_SUPER_mmbuilder___ASuperclass___accept_class_specialization_builder))(variable[0], variable[1]) /*super ASuperclass::accept_class_specialization_builder*/;
2300 variable[4] = variable[0];
2301 variable[4] = ((parser_nodes___ASuperclass___n_type_t)CALL(variable[4],COLOR_parser_nodes___ASuperclass___n_type))(variable[4]) /*ASuperclass::n_type*/;
2302 variable[4] = ((syntax_base___PType___get_local_class_t)CALL(variable[4],COLOR_syntax_base___PType___get_local_class))(variable[4], variable[1] /*v*/) /*PType::get_local_class*/;
2303 variable[3] = variable[4];
2304 variable[5] = variable[0];
2305 variable[6] = NEW_MMSrcAncestor_mmbuilder___MMSrcAncestor___init(variable[5], variable[3] /*c*/); /*new MMSrcAncestor*/
2306 variable[5] = variable[6];
2307 variable[4] = variable[5];
2308 variable[5] = variable[0];
2309 ATTR_mmbuilder___ASuperclass____ancestor(variable[5]) /*ASuperclass::_ancestor*/ = variable[4] /*ancestor*/;
2310 variable[5] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2311 ((inheritance___MMLocalClass___add_direct_parent_t)CALL(variable[5],COLOR_inheritance___MMLocalClass___add_direct_parent))(variable[5], variable[4] /*ancestor*/) /*MMLocalClass::add_direct_parent*/;
2312 return_label85: while(false);
2313 tracehead = trace.prev;
2314 return;
2315 }
2316 void mmbuilder___ASuperclass___accept_class_ancestor_builder(val_t self, val_t param0) {
2317 struct trace_t trace = {NULL, NULL, 724, LOCATE_mmbuilder___ASuperclass___accept_class_ancestor_builder};
2318 val_t variable[5];
2319 void **closurevariable = NULL;
2320 trace.prev = tracehead; tracehead = &trace;
2321 trace.file = LOCATE_mmbuilder;
2322 variable[0] = self;
2323 variable[1] = param0;
2324 ((mmbuilder___ASuperclass___accept_class_ancestor_builder_t)CALL(variable[0],COLOR_SUPER_mmbuilder___ASuperclass___accept_class_ancestor_builder))(variable[0], variable[1]) /*super ASuperclass::accept_class_ancestor_builder*/;
2325 variable[3] = variable[0];
2326 variable[3] = ATTR_mmbuilder___ASuperclass____ancestor(variable[3]) /*ASuperclass::_ancestor*/;
2327 variable[4] = variable[0];
2328 variable[4] = ((parser_nodes___ASuperclass___n_type_t)CALL(variable[4],COLOR_parser_nodes___ASuperclass___n_type))(variable[4]) /*ASuperclass::n_type*/;
2329 variable[4] = ((syntax_base___PType___get_unchecked_stype_t)CALL(variable[4],COLOR_syntax_base___PType___get_unchecked_stype))(variable[4], variable[1] /*v*/) /*PType::get_unchecked_stype*/;
2330 ((static_type___MMAncestor___stype__eq_t)CALL(variable[3],COLOR_static_type___MMAncestor___stype__eq))(variable[3], variable[4]) /*MMAncestor::stype=*/;
2331 variable[3] = variable[0];
2332 variable[3] = ATTR_mmbuilder___ASuperclass____ancestor(variable[3]) /*ASuperclass::_ancestor*/;
2333 variable[4] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2334 variable[4] = ((genericity___MMLocalClass___get_type_t)CALL(variable[4],COLOR_static_type___MMLocalClass___get_type))(variable[4]) /*MMLocalClass::get_type*/;
2335 ((static_type___MMAncestor___inheriter__eq_t)CALL(variable[3],COLOR_static_type___MMAncestor___inheriter__eq))(variable[3], variable[4]) /*MMAncestor::inheriter=*/;
2336 return_label86: while(false);
2337 tracehead = trace.prev;
2338 return;
2339 }
2340 void mmbuilder___ASuperclass___accept_class_verifier(val_t self, val_t param0) {
2341 struct trace_t trace = {NULL, NULL, 731, LOCATE_mmbuilder___ASuperclass___accept_class_verifier};
2342 val_t variable[4];
2343 void **closurevariable = NULL;
2344 trace.prev = tracehead; tracehead = &trace;
2345 trace.file = LOCATE_mmbuilder;
2346 variable[0] = self;
2347 variable[1] = param0;
2348 ((mmbuilder___ASuperclass___accept_class_verifier_t)CALL(variable[0],COLOR_SUPER_mmbuilder___ASuperclass___accept_class_verifier))(variable[0], variable[1]) /*super ASuperclass::accept_class_verifier*/;
2349 variable[3] = variable[0];
2350 variable[3] = ((parser_nodes___ASuperclass___n_type_t)CALL(variable[3],COLOR_parser_nodes___ASuperclass___n_type))(variable[3]) /*ASuperclass::n_type*/;
2351 ((syntax_base___PType___check_conform_t)CALL(variable[3],COLOR_syntax_base___PType___check_conform))(variable[3], variable[1] /*v*/) /*PType::check_conform*/;
2352 return_label87: while(false);
2353 tracehead = trace.prev;
2354 return;
2355 }
2356 val_t mmbuilder___ASuperclass___ancestor(val_t self) {
2357 struct trace_t trace = {NULL, NULL, 713, LOCATE_mmbuilder___ASuperclass___ancestor};
2358 val_t *variable = NULL;
2359 void **closurevariable = NULL;
2360 trace.prev = tracehead; tracehead = &trace;
2361 trace.file = LOCATE_mmbuilder;
2362 tracehead = trace.prev;
2363 return ATTR_mmbuilder___ASuperclass____ancestor( self) /*ASuperclass::_ancestor*/;
2364 }
2365 void mmbuilder___PPropdef___process_and_check(val_t self, val_t param0, val_t param1, val_t param2, val_t param3) {
2366 struct trace_t trace = {NULL, NULL, 739, LOCATE_mmbuilder___PPropdef___process_and_check};
2367 val_t variable[7];
2368 void **closurevariable = NULL;
2369 trace.prev = tracehead; tracehead = &trace;
2370 trace.file = LOCATE_mmbuilder;
2371 variable[0] = self;
2372 variable[1] = param0;
2373 variable[2] = param1;
2374 variable[3] = param2;
2375 variable[4] = param3;
2376 variable[6] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[2] /*prop*/) /*MMLocalProperty::global*/;
2377 variable[6] = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable[6],COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable[6]) /*MMGlobalProperty::intro*/;
2378 variable[6] = TAG_Bool((variable[6] == variable[2] /*prop*/) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], variable[2] /*prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], variable[2] /*prop*/) /*Object::==*/)))));
2379 if (UNTAG_Bool(variable[6])) { /*if*/
2380 variable[6] = variable[0];
2381 ((mmbuilder___PPropdef___do_and_check_intro_t)CALL(variable[6],COLOR_mmbuilder___PPropdef___do_and_check_intro))(variable[6], variable[1] /*v*/, variable[2] /*prop*/, variable[3] /*has_redef*/, variable[4] /*visibility_level*/) /*PPropdef::do_and_check_intro*/;
2382 } else { /*if*/
2383 variable[6] = variable[0];
2384 ((mmbuilder___PPropdef___do_and_check_redef_t)CALL(variable[6],COLOR_mmbuilder___PPropdef___do_and_check_redef))(variable[6], variable[1] /*v*/, variable[2] /*prop*/, variable[3] /*has_redef*/, variable[4] /*visibility_level*/) /*PPropdef::do_and_check_redef*/;
2385 }
2386 return_label88: while(false);
2387 tracehead = trace.prev;
2388 return;
2389 }
2390 void mmbuilder___PPropdef___do_and_check_intro(val_t self, val_t param0, val_t param1, val_t param2, val_t param3) {
2391 struct trace_t trace = {NULL, NULL, 754, LOCATE_mmbuilder___PPropdef___do_and_check_intro};
2392 val_t variable[19];
2393 void **closurevariable = NULL;
2394 trace.prev = tracehead; tracehead = &trace;
2395 trace.file = LOCATE_mmbuilder;
2396 variable[0] = self;
2397 variable[1] = param0;
2398 variable[2] = param1;
2399 variable[3] = param2;
2400 variable[4] = param3;
2401 variable[7] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[2] /*prop*/) /*MMLocalProperty::global*/;
2402 variable[6] = variable[7];
2403 variable[8] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2404 variable[8] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[8],COLOR_abstractmetamodel___MMLocalClass___global))(variable[8]) /*MMLocalClass::global*/;
2405 variable[7] = variable[8];
2406 variable[8] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2407 variable[8] = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable[8],COLOR_abstractmetamodel___MMLocalClass___global))(variable[8]) /*MMLocalClass::global*/;
2408 variable[8] = ((abstractmetamodel___MMGlobalClass___visibility_level_t)CALL(variable[8],COLOR_abstractmetamodel___MMGlobalClass___visibility_level))(variable[8]) /*MMGlobalClass::visibility_level*/;
2409 variable[8] = TAG_Bool(UNTAG_Int(variable[8])>=UNTAG_Int( TAG_Int(3)));
2410 if (UNTAG_Bool(variable[8])) { /*if*/
2411 variable[4] = TAG_Int(3) /*visibility_level=*/;
2412 }
2413 ((abstractmetamodel___MMGlobalProperty___visibility_level__eq_t)CALL( variable[6] /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level__eq))( variable[6] /*glob*/, variable[4] /*visibility_level*/) /*MMGlobalProperty::visibility_level=*/;
2414 if (UNTAG_Bool( variable[3] /*has_redef*/)) { /*if*/
2415 variable[8] = variable[0];
2416 variable[9] = NEW_String_string___String___init(); /*new String*/
2417 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: No property "), TAG_Int(19)); /*new String*/
2418 variable[11] = variable[10];
2419 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
2420 variable[12] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2421 variable[13] = variable[12];
2422 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
2423 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
2424 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2425 variable[15] = variable[14];
2426 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
2427 variable[16] = variable[2] /*prop*/;
2428 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
2429 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[16]) /*String::append*/;
2430 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*/
2431 variable[18] = variable[17];
2432 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[18]) /*String::append*/;
2433 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
2434 }
2435 variable[8] = ((abstractmetamodel___MMGlobalProperty___is_attribute_t)CALL( variable[6] /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_attribute))( variable[6] /*glob*/) /*MMGlobalProperty::is_attribute*/;
2436 if (UNTAG_Bool(variable[8])) { /*if*/
2437 variable[8] = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL( variable[7] /*gbc*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface))( variable[7] /*gbc*/) /*MMGlobalClass::is_interface*/;
2438 if (UNTAG_Bool(variable[8])) { /*if*/
2439 variable[8] = variable[0];
2440 variable[9] = NEW_String_string___String___init(); /*new String*/
2441 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define attribute "), TAG_Int(35)); /*new String*/
2442 variable[11] = variable[10];
2443 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
2444 variable[12] = variable[2] /*prop*/;
2445 variable[12] = ((string___String___to_s_t)CALL(variable[12],COLOR_string___Object___to_s))(variable[12]) /*String::to_s*/;
2446 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[12]) /*String::append*/;
2447 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" in the interface "), TAG_Int(18)); /*new String*/
2448 variable[14] = variable[13];
2449 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[14]) /*String::append*/;
2450 variable[15] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2451 variable[16] = variable[15];
2452 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
2453 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[16]) /*String::append*/;
2454 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2455 variable[18] = variable[17];
2456 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[18]) /*String::append*/;
2457 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
2458 } else { /*if*/
2459 variable[8] = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable[7] /*gbc*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable[7] /*gbc*/) /*MMGlobalClass::is_universal*/;
2460 if (UNTAG_Bool(variable[8])) { /*if*/
2461 variable[8] = variable[0];
2462 variable[9] = NEW_String_string___String___init(); /*new String*/
2463 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define attribute "), TAG_Int(35)); /*new String*/
2464 variable[11] = variable[10];
2465 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
2466 variable[12] = variable[2] /*prop*/;
2467 variable[12] = ((string___String___to_s_t)CALL(variable[12],COLOR_string___Object___to_s))(variable[12]) /*String::to_s*/;
2468 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[12]) /*String::append*/;
2469 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" in the universal class "), TAG_Int(24)); /*new String*/
2470 variable[14] = variable[13];
2471 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[14]) /*String::append*/;
2472 variable[15] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2473 variable[16] = variable[15];
2474 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
2475 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[16]) /*String::append*/;
2476 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2477 variable[18] = variable[17];
2478 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[18]) /*String::append*/;
2479 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
2480 }
2481 }
2482 } else { /*if*/
2483 variable[8] = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable[6] /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable[6] /*glob*/) /*MMGlobalProperty::is_init*/;
2484 if (UNTAG_Bool(variable[8])) { /*if*/
2485 variable[8] = ((abstractmetamodel___MMGlobalClass___is_interface_t)CALL( variable[7] /*gbc*/,COLOR_abstractmetamodel___MMGlobalClass___is_interface))( variable[7] /*gbc*/) /*MMGlobalClass::is_interface*/;
2486 if (UNTAG_Bool(variable[8])) { /*if*/
2487 variable[8] = variable[0];
2488 variable[9] = NEW_String_string___String___init(); /*new String*/
2489 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define a constructor "), TAG_Int(39)); /*new String*/
2490 variable[11] = variable[10];
2491 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
2492 variable[12] = variable[2] /*prop*/;
2493 variable[12] = ((string___String___to_s_t)CALL(variable[12],COLOR_string___Object___to_s))(variable[12]) /*String::to_s*/;
2494 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[12]) /*String::append*/;
2495 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" in the class "), TAG_Int(14)); /*new String*/
2496 variable[14] = variable[13];
2497 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[14]) /*String::append*/;
2498 variable[15] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2499 variable[16] = variable[15];
2500 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
2501 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[16]) /*String::append*/;
2502 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2503 variable[18] = variable[17];
2504 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[18]) /*String::append*/;
2505 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
2506 } else { /*if*/
2507 variable[8] = ((abstractmetamodel___MMGlobalClass___is_universal_t)CALL( variable[7] /*gbc*/,COLOR_abstractmetamodel___MMGlobalClass___is_universal))( variable[7] /*gbc*/) /*MMGlobalClass::is_universal*/;
2508 if (UNTAG_Bool(variable[8])) { /*if*/
2509 variable[8] = variable[0];
2510 variable[9] = NEW_String_string___String___init(); /*new String*/
2511 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Error: Attempt to define a constructor "), TAG_Int(39)); /*new String*/
2512 variable[11] = variable[10];
2513 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
2514 variable[12] = variable[2] /*prop*/;
2515 variable[12] = ((string___String___to_s_t)CALL(variable[12],COLOR_string___Object___to_s))(variable[12]) /*String::to_s*/;
2516 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[12]) /*String::append*/;
2517 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" in the universal "), TAG_Int(18)); /*new String*/
2518 variable[14] = variable[13];
2519 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[14]) /*String::append*/;
2520 variable[15] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2521 variable[16] = variable[15];
2522 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
2523 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[16]) /*String::append*/;
2524 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2525 variable[18] = variable[17];
2526 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[18]) /*String::append*/;
2527 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
2528 }
2529 }
2530 }
2531 }
2532 variable[8] = ((static_type___MMLocalProperty___signature_t)CALL( variable[2] /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable[2] /*prop*/) /*MMLocalProperty::signature*/;
2533 variable[8] = TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))(variable[8], NIT_NULL /*null*/) /*Object::==*/)))));
2534 if (UNTAG_Bool(variable[8])) { /*if*/
2535 variable[8] = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable[6] /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable[6] /*glob*/) /*MMGlobalProperty::is_init*/;
2536 if (UNTAG_Bool(variable[8])) { /*if*/
2537 variable[9] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2538 variable[10] = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable[2] /*prop*/) /*MMLocalProperty::name*/;
2539 variable[9] = ((abstractmetamodel___MMLocalClass___super_methods_named_t)CALL(variable[9],COLOR_abstractmetamodel___MMLocalClass___super_methods_named))(variable[9], variable[10]) /*MMLocalClass::super_methods_named*/;
2540 variable[8] = variable[9];
2541 variable[9] = variable[0];
2542 ((mmbuilder___PPropdef___inherit_signature_t)CALL(variable[9],COLOR_mmbuilder___PPropdef___inherit_signature))(variable[9], variable[1] /*v*/, variable[2] /*prop*/, variable[8] /*supers*/) /*PPropdef::inherit_signature*/;
2543 }
2544 variable[8] = ((static_type___MMLocalProperty___signature_t)CALL( variable[2] /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable[2] /*prop*/) /*MMLocalProperty::signature*/;
2545 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
2546 if (UNTAG_Bool(variable[8])) { /*if*/
2547 } else { /*if*/
2548 variable[8] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2549 variable[8] = ((mmbuilder___SignatureBuilder___untyped_params_t)CALL(variable[8],COLOR_mmbuilder___SignatureBuilder___untyped_params))(variable[8]) /*SignatureBuilder::untyped_params*/;
2550 variable[8] = ((array___AbstractArray___is_empty_t)CALL(variable[8],COLOR_abstract_collection___Collection___is_empty))(variable[8]) /*AbstractArray::is_empty*/;
2551 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[8])))) { /*if*/
2552 variable[8] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2553 variable[8] = ((mmbuilder___SignatureBuilder___untyped_params_t)CALL(variable[8],COLOR_mmbuilder___SignatureBuilder___untyped_params))(variable[8]) /*SignatureBuilder::untyped_params*/;
2554 variable[8] = ((abstract_collection___IndexedCollection___first_t)CALL(variable[8],COLOR_abstract_collection___Collection___first))(variable[8]) /*IndexedCollection::first*/;
2555 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Error: Untyped parameter."), TAG_Int(25)); /*new String*/
2556 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
2557 } else { /*if*/
2558 variable[8] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
2559 variable[9] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2560 variable[9] = ((genericity___MMLocalClass___get_type_t)CALL(variable[9],COLOR_static_type___MMLocalClass___get_type))(variable[9]) /*MMLocalClass::get_type*/;
2561 variable[10] = NEW_MMSignature_static_type___MMSignature___init(variable[8], NIT_NULL /*null*/, variable[9]); /*new MMSignature*/
2562 variable[8] = variable[10];
2563 ((static_type___MMLocalProperty___signature__eq_t)CALL( variable[2] /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable[2] /*prop*/, variable[8]) /*MMLocalProperty::signature=*/;
2564 variable[8] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2565 variable[8] = ((mmbuilder___SignatureBuilder___closure_decls_t)CALL(variable[8],COLOR_mmbuilder___SignatureBuilder___closure_decls))(variable[8]) /*SignatureBuilder::closure_decls*/;
2566 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
2567 if (UNTAG_Bool(variable[8])) { /*if*/
2568 variable[8] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2569 variable[8] = ((mmbuilder___SignatureBuilder___closure_decls_t)CALL(variable[8],COLOR_mmbuilder___SignatureBuilder___closure_decls))(variable[8]) /*SignatureBuilder::closure_decls*/;
2570 variable[8] = ((array___AbstractArray___iterator_t)CALL(variable[8],COLOR_abstract_collection___Collection___iterator))(variable[8]) /*AbstractArray::iterator*/;
2571 while (true) { /*for*/
2572 variable[9] = ((array___ArrayIterator___is_ok_t)CALL(variable[8],COLOR_abstract_collection___Iterator___is_ok))(variable[8]) /*ArrayIterator::is_ok*/;
2573 if (!UNTAG_Bool(variable[9])) break; /*for*/
2574 variable[9] = ((array___ArrayIterator___item_t)CALL(variable[8],COLOR_abstract_collection___Iterator___item))(variable[8]) /*ArrayIterator::item*/;
2575 variable[10] = variable[9];
2576 variable[11] = ((static_type___MMLocalProperty___signature_t)CALL( variable[2] /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable[2] /*prop*/) /*MMLocalProperty::signature*/;
2577 variable[11] = ((static_type___MMSignature___closures_t)CALL(variable[11],COLOR_static_type___MMSignature___closures))(variable[11]) /*MMSignature::closures*/;
2578 variable[12] = ((mmbuilder___AClosureDecl___variable_t)CALL( variable[10] /*clos*/,COLOR_syntax_base___PClosureDecl___variable))( variable[10] /*clos*/) /*AClosureDecl::variable*/;
2579 variable[12] = ((syntax_base___ClosureVariable___closure_t)CALL(variable[12],COLOR_syntax_base___ClosureVariable___closure))(variable[12]) /*ClosureVariable::closure*/;
2580 ((array___AbstractArray___add_t)CALL(variable[11],COLOR_abstract_collection___SimpleCollection___add))(variable[11], variable[12]) /*AbstractArray::add*/;
2581 continue_90: while(0);
2582 ((array___ArrayIterator___next_t)CALL(variable[8],COLOR_abstract_collection___Iterator___next))(variable[8]) /*ArrayIterator::next*/;
2583 }
2584 break_90: while(0);
2585 }
2586 }
2587 }
2588 }
2589 return_label89: while(false);
2590 tracehead = trace.prev;
2591 return;
2592 }
2593 void mmbuilder___PPropdef___inherit_signature(val_t self, val_t param0, val_t param1, val_t param2) {
2594 struct trace_t trace = {NULL, NULL, 800, LOCATE_mmbuilder___PPropdef___inherit_signature};
2595 val_t variable[16];
2596 void **closurevariable = NULL;
2597 trace.prev = tracehead; tracehead = &trace;
2598 trace.file = LOCATE_mmbuilder;
2599 variable[0] = self;
2600 variable[1] = param0;
2601 variable[2] = param1;
2602 variable[3] = param2;
2603 variable[6] = ((static_type___MMLocalProperty___signature_t)CALL( variable[2] /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable[2] /*prop*/) /*MMLocalProperty::signature*/;
2604 variable[5] = variable[6];
2605 variable[6] = ((array___AbstractArray___iterator_t)CALL( variable[3] /*supers*/,COLOR_abstract_collection___Collection___iterator))( variable[3] /*supers*/) /*AbstractArray::iterator*/;
2606 while (true) { /*for*/
2607 variable[7] = ((array___ArrayIterator___is_ok_t)CALL(variable[6],COLOR_abstract_collection___Iterator___is_ok))(variable[6]) /*ArrayIterator::is_ok*/;
2608 if (!UNTAG_Bool(variable[7])) break; /*for*/
2609 variable[7] = ((array___ArrayIterator___item_t)CALL(variable[6],COLOR_abstract_collection___Iterator___item))(variable[6]) /*ArrayIterator::item*/;
2610 variable[8] = variable[7];
2611 variable[10] = ((static_type___MMLocalProperty___signature_t)CALL( variable[8] /*ip*/,COLOR_static_type___MMLocalProperty___signature))( variable[8] /*ip*/) /*MMLocalProperty::signature*/;
2612 variable[11] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2613 variable[11] = ((genericity___MMLocalClass___get_type_t)CALL(variable[11],COLOR_static_type___MMLocalClass___get_type))(variable[11]) /*MMLocalClass::get_type*/;
2614 variable[10] = ((vararg___MMSignature___adaptation_to_t)CALL(variable[10],COLOR_static_type___MMSignature___adaptation_to))(variable[10], variable[11]) /*MMSignature::adaptation_to*/;
2615 variable[9] = variable[10];
2616 variable[10] = TAG_Bool(( variable[5] /*s*/ == NIT_NULL /*null*/) || (( variable[5] /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[5] /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[5] /*s*/,COLOR_kernel___Object_____eqeq))( variable[5] /*s*/, NIT_NULL /*null*/) /*Object::==*/)))));
2617 if (UNTAG_Bool(variable[10])) { /*if*/
2618 variable[10] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2619 variable[10] = ((mmbuilder___SignatureBuilder___params_t)CALL(variable[10],COLOR_mmbuilder___SignatureBuilder___params))(variable[10]) /*SignatureBuilder::params*/;
2620 variable[10] = ((array___AbstractArray___length_t)CALL(variable[10],COLOR_abstract_collection___Collection___length))(variable[10]) /*AbstractArray::length*/;
2621 variable[11] = ((static_type___MMSignature___arity_t)CALL( variable[9] /*isig*/,COLOR_static_type___MMSignature___arity))( variable[9] /*isig*/) /*MMSignature::arity*/;
2622 variable[10] = TAG_Bool((variable[10])!=(variable[11]));
2623 if (UNTAG_Bool(variable[10])) { /*if*/
2624 goto return_label91;
2625 }
2626 variable[10] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2627 variable[10] = ((mmbuilder___SignatureBuilder___params_t)CALL(variable[10],COLOR_mmbuilder___SignatureBuilder___params))(variable[10]) /*SignatureBuilder::params*/;
2628 variable[10] = ((array___AbstractArray___iterator_t)CALL(variable[10],COLOR_abstract_collection___Collection___iterator))(variable[10]) /*AbstractArray::iterator*/;
2629 while (true) { /*for*/
2630 variable[11] = ((array___ArrayIterator___is_ok_t)CALL(variable[10],COLOR_abstract_collection___Iterator___is_ok))(variable[10]) /*ArrayIterator::is_ok*/;
2631 if (!UNTAG_Bool(variable[11])) break; /*for*/
2632 variable[11] = ((array___ArrayIterator___item_t)CALL(variable[10],COLOR_abstract_collection___Iterator___item))(variable[10]) /*ArrayIterator::item*/;
2633 variable[12] = variable[11];
2634 variable[14] = ((mmbuilder___PParam___position_t)CALL( variable[12] /*p*/,COLOR_syntax_base___PParam___position))( variable[12] /*p*/) /*PParam::position*/;
2635 variable[14] = ((static_type___MMSignature_____bra_t)CALL( variable[9] /*isig*/,COLOR_static_type___MMSignature_____bra))( variable[9] /*isig*/, variable[14]) /*MMSignature::[]*/;
2636 variable[13] = variable[14];
2637 ((mmbuilder___PParam___stype__eq_t)CALL( variable[12] /*p*/,COLOR_mmbuilder___PParam___stype__eq))( variable[12] /*p*/, variable[13] /*t*/) /*PParam::stype=*/;
2638 variable[14] = ((mmbuilder___PParam___position_t)CALL( variable[12] /*p*/,COLOR_syntax_base___PParam___position))( variable[12] /*p*/) /*PParam::position*/;
2639 variable[15] = ((vararg___MMSignature___vararg_rank_t)CALL( variable[9] /*isig*/,COLOR_vararg___MMSignature___vararg_rank))( variable[9] /*isig*/) /*MMSignature::vararg_rank*/;
2640 variable[14] = TAG_Bool((variable[14])==(variable[15]));
2641 if (UNTAG_Bool(variable[14])) { /*if*/
2642 variable[14] = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable[1] /*v*/, variable[13] /*t*/) /*AbsSyntaxVisitor::type_array*/;
2643 variable[13] = variable[14] /*t=*/;
2644 }
2645 variable[14] = ((mmbuilder___PParam___variable_t)CALL( variable[12] /*p*/,COLOR_syntax_base___PParam___variable))( variable[12] /*p*/) /*PParam::variable*/;
2646 ((syntax_base___Variable___stype__eq_t)CALL(variable[14],COLOR_syntax_base___Variable___stype__eq))(variable[14], variable[13] /*t*/) /*Variable::stype=*/;
2647 continue_93: while(0);
2648 ((array___ArrayIterator___next_t)CALL(variable[10],COLOR_abstract_collection___Iterator___next))(variable[10]) /*ArrayIterator::next*/;
2649 }
2650 break_93: while(0);
2651 variable[5] = variable[9] /*isig*/ /*s=*/;
2652 ((static_type___MMLocalProperty___signature__eq_t)CALL( variable[2] /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable[2] /*prop*/, variable[5] /*s*/) /*MMLocalProperty::signature=*/;
2653 }
2654 continue_92: while(0);
2655 ((array___ArrayIterator___next_t)CALL(variable[6],COLOR_abstract_collection___Iterator___next))(variable[6]) /*ArrayIterator::next*/;
2656 }
2657 break_92: while(0);
2658 return_label91: while(false);
2659 tracehead = trace.prev;
2660 return;
2661 }
2662 void mmbuilder___PPropdef___do_and_check_redef(val_t self, val_t param0, val_t param1, val_t param2, val_t param3) {
2663 struct trace_t trace = {NULL, NULL, 826, LOCATE_mmbuilder___PPropdef___do_and_check_redef};
2664 val_t variable[43];
2665 void **closurevariable = NULL;
2666 trace.prev = tracehead; tracehead = &trace;
2667 trace.file = LOCATE_mmbuilder;
2668 variable[0] = self;
2669 variable[1] = param0;
2670 variable[2] = param1;
2671 variable[3] = param2;
2672 variable[4] = param3;
2673 variable[7] = variable[0];
2674 variable[7] = TAG_Bool((variable[7]==NIT_NULL) || VAL_ISA(variable[7], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
2675 variable[6] = variable[7];
2676 variable[8] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[2] /*prop*/) /*MMLocalProperty::global*/;
2677 variable[7] = variable[8];
2678 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable[3] /*has_redef*/)))) { /*if*/
2679 variable[8] = variable[0];
2680 variable[9] = NEW_String_string___String___init(); /*new String*/
2681 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
2682 variable[11] = variable[10];
2683 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
2684 variable[12] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2685 variable[13] = variable[12];
2686 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
2687 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
2688 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2689 variable[15] = variable[14];
2690 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
2691 variable[16] = variable[2] /*prop*/;
2692 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
2693 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[16]) /*String::append*/;
2694 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*/
2695 variable[18] = variable[17];
2696 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[18]) /*String::append*/;
2697 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
2698 goto return_label94;
2699 }
2700 variable[8] = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable[7] /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable[7] /*glob*/) /*MMGlobalProperty::is_init*/;
2701 variable[9] = variable[8];
2702 if (UNTAG_Bool(variable[9])) { /* and */
2703 variable[9] = TAG_Bool(!UNTAG_Bool( variable[6] /*is_init*/));
2704 }
2705 variable[8] = variable[9];
2706 if (UNTAG_Bool(variable[8])) { /*if*/
2707 variable[8] = variable[0];
2708 variable[9] = NEW_String_string___String___init(); /*new String*/
2709 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: A method "), TAG_Int(22)); /*new String*/
2710 variable[11] = variable[10];
2711 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
2712 variable[12] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2713 variable[13] = variable[12];
2714 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
2715 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
2716 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2717 variable[15] = variable[14];
2718 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
2719 variable[16] = variable[2] /*prop*/;
2720 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
2721 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[16]) /*String::append*/;
2722 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(" cannot redefine a constructor."), TAG_Int(31)); /*new String*/
2723 variable[18] = variable[17];
2724 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[18]) /*String::append*/;
2725 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
2726 } else { /*if*/
2727 variable[8] = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL( variable[7] /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init))( variable[7] /*glob*/) /*MMGlobalProperty::is_init*/;
2728 variable[8] = TAG_Bool(!UNTAG_Bool(variable[8]));
2729 if (UNTAG_Bool(variable[8])) { /* and */
2730 variable[8] = variable[6] /*is_init*/;
2731 }
2732 if (UNTAG_Bool(variable[8])) { /*if*/
2733 variable[8] = variable[0];
2734 variable[9] = NEW_String_string___String___init(); /*new String*/
2735 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: A constructor "), TAG_Int(27)); /*new String*/
2736 variable[11] = variable[10];
2737 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
2738 variable[12] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2739 variable[13] = variable[12];
2740 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
2741 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[13]) /*String::append*/;
2742 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2743 variable[15] = variable[14];
2744 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[15]) /*String::append*/;
2745 variable[16] = variable[2] /*prop*/;
2746 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
2747 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[16]) /*String::append*/;
2748 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(" cannot redefine a method."), TAG_Int(26)); /*new String*/
2749 variable[18] = variable[17];
2750 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[18]) /*String::append*/;
2751 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
2752 }
2753 }
2754 variable[9] = ((static_type___MMLocalProperty___signature_t)CALL( variable[2] /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable[2] /*prop*/) /*MMLocalProperty::signature*/;
2755 variable[8] = variable[9];
2756 variable[9] = ((abstractmetamodel___MMLocalProperty___prhe_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___prhe))( variable[2] /*prop*/) /*MMLocalProperty::prhe*/;
2757 variable[9] = ((partial_order___PartialOrderElement___direct_greaters_t)CALL(variable[9],COLOR_partial_order___PartialOrderElement___direct_greaters))(variable[9]) /*PartialOrderElement::direct_greaters*/;
2758 variable[9] = ((array___AbstractArray___iterator_t)CALL(variable[9],COLOR_abstract_collection___Collection___iterator))(variable[9]) /*AbstractArray::iterator*/;
2759 while (true) { /*for*/
2760 variable[10] = ((array___ArrayIterator___is_ok_t)CALL(variable[9],COLOR_abstract_collection___Iterator___is_ok))(variable[9]) /*ArrayIterator::is_ok*/;
2761 if (!UNTAG_Bool(variable[10])) break; /*for*/
2762 variable[10] = ((array___ArrayIterator___item_t)CALL(variable[9],COLOR_abstract_collection___Iterator___item))(variable[9]) /*ArrayIterator::item*/;
2763 variable[11] = variable[10];
2764 variable[13] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[11] /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[11] /*i*/) /*MMLocalProperty::local_class*/;
2765 variable[14] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[2] /*prop*/) /*MMLocalProperty::global*/;
2766 variable[13] = ((inheritance___MMLocalClass_____bra_t)CALL(variable[13],COLOR_abstractmetamodel___MMLocalClass_____bra))(variable[13], variable[14]) /*MMLocalClass::[]*/;
2767 variable[12] = variable[13];
2768 variable[14] = ((static_type___MMLocalProperty___signature_t)CALL( variable[11] /*i*/,COLOR_static_type___MMLocalProperty___signature))( variable[11] /*i*/) /*MMLocalProperty::signature*/;
2769 variable[15] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2770 variable[15] = ((genericity___MMLocalClass___get_type_t)CALL(variable[15],COLOR_static_type___MMLocalClass___get_type))(variable[15]) /*MMLocalClass::get_type*/;
2771 variable[14] = ((vararg___MMSignature___adaptation_to_t)CALL(variable[14],COLOR_static_type___MMSignature___adaptation_to))(variable[14], variable[15]) /*MMSignature::adaptation_to*/;
2772 variable[13] = variable[14];
2773 variable[14] = TAG_Bool(( variable[8] /*s*/ == NIT_NULL /*null*/) || (( variable[8] /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[8] /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[8] /*s*/,COLOR_kernel___Object_____eqeq))( variable[8] /*s*/, NIT_NULL /*null*/) /*Object::==*/)))));
2774 if (UNTAG_Bool(variable[14])) { /*if*/
2775 variable[14] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2776 variable[14] = ((mmbuilder___SignatureBuilder___params_t)CALL(variable[14],COLOR_mmbuilder___SignatureBuilder___params))(variable[14]) /*SignatureBuilder::params*/;
2777 variable[14] = ((array___AbstractArray___length_t)CALL(variable[14],COLOR_abstract_collection___Collection___length))(variable[14]) /*AbstractArray::length*/;
2778 variable[15] = ((static_type___MMSignature___arity_t)CALL( variable[13] /*isig*/,COLOR_static_type___MMSignature___arity))( variable[13] /*isig*/) /*MMSignature::arity*/;
2779 variable[14] = TAG_Bool((variable[14])!=(variable[15]));
2780 if (UNTAG_Bool(variable[14])) { /*if*/
2781 variable[14] = variable[0];
2782 variable[15] = NEW_String_string___String___init(); /*new String*/
2783 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
2784 variable[17] = variable[16];
2785 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[17]) /*String::append*/;
2786 variable[18] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2787 variable[19] = variable[18];
2788 variable[19] = ((string___String___to_s_t)CALL(variable[19],COLOR_string___Object___to_s))(variable[19]) /*String::to_s*/;
2789 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[19]) /*String::append*/;
2790 variable[20] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2791 variable[21] = variable[20];
2792 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[21]) /*String::append*/;
2793 variable[22] = variable[2] /*prop*/;
2794 variable[22] = ((string___String___to_s_t)CALL(variable[22],COLOR_string___Object___to_s))(variable[22]) /*String::to_s*/;
2795 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[22]) /*String::append*/;
2796 variable[23] = NEW_String_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)); /*new String*/
2797 variable[24] = variable[23];
2798 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[24]) /*String::append*/;
2799 variable[25] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[12] /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[12] /*ip*/) /*MMLocalProperty::local_class*/;
2800 variable[26] = variable[25];
2801 variable[26] = ((string___String___to_s_t)CALL(variable[26],COLOR_string___Object___to_s))(variable[26]) /*String::to_s*/;
2802 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[26]) /*String::append*/;
2803 variable[27] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2804 variable[28] = variable[27];
2805 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[28]) /*String::append*/;
2806 variable[29] = variable[12] /*ip*/;
2807 variable[29] = ((string___String___to_s_t)CALL(variable[29],COLOR_string___Object___to_s))(variable[29]) /*String::to_s*/;
2808 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[29]) /*String::append*/;
2809 variable[30] = NEW_String_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)); /*new String*/
2810 variable[31] = variable[30];
2811 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[31]) /*String::append*/;
2812 variable[32] = ((static_type___MMSignature___arity_t)CALL( variable[13] /*isig*/,COLOR_static_type___MMSignature___arity))( variable[13] /*isig*/) /*MMSignature::arity*/;
2813 variable[33] = variable[32];
2814 variable[33] = ((string___String___to_s_t)CALL(variable[33],COLOR_string___Object___to_s))(variable[33]) /*String::to_s*/;
2815 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[33]) /*String::append*/;
2816 variable[34] = NEW_String_string___String___with_native(BOX_NativeString(" parameter(s)."), TAG_Int(14)); /*new String*/
2817 variable[35] = variable[34];
2818 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[35]) /*String::append*/;
2819 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[14], variable[15]) /*AbsSyntaxVisitor::error*/;
2820 goto return_label94;
2821 }
2822 variable[14] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
2823 variable[14] = ((mmbuilder___SignatureBuilder___params_t)CALL(variable[14],COLOR_mmbuilder___SignatureBuilder___params))(variable[14]) /*SignatureBuilder::params*/;
2824 variable[14] = ((array___AbstractArray___iterator_t)CALL(variable[14],COLOR_abstract_collection___Collection___iterator))(variable[14]) /*AbstractArray::iterator*/;
2825 while (true) { /*for*/
2826 variable[15] = ((array___ArrayIterator___is_ok_t)CALL(variable[14],COLOR_abstract_collection___Iterator___is_ok))(variable[14]) /*ArrayIterator::is_ok*/;
2827 if (!UNTAG_Bool(variable[15])) break; /*for*/
2828 variable[15] = ((array___ArrayIterator___item_t)CALL(variable[14],COLOR_abstract_collection___Iterator___item))(variable[14]) /*ArrayIterator::item*/;
2829 variable[16] = variable[15];
2830 variable[18] = ((mmbuilder___PParam___position_t)CALL( variable[16] /*p*/,COLOR_syntax_base___PParam___position))( variable[16] /*p*/) /*PParam::position*/;
2831 variable[18] = ((static_type___MMSignature_____bra_t)CALL( variable[13] /*isig*/,COLOR_static_type___MMSignature_____bra))( variable[13] /*isig*/, variable[18]) /*MMSignature::[]*/;
2832 variable[17] = variable[18];
2833 ((mmbuilder___PParam___stype__eq_t)CALL( variable[16] /*p*/,COLOR_mmbuilder___PParam___stype__eq))( variable[16] /*p*/, variable[17] /*t*/) /*PParam::stype=*/;
2834 variable[18] = ((mmbuilder___PParam___position_t)CALL( variable[16] /*p*/,COLOR_syntax_base___PParam___position))( variable[16] /*p*/) /*PParam::position*/;
2835 variable[19] = ((vararg___MMSignature___vararg_rank_t)CALL( variable[13] /*isig*/,COLOR_vararg___MMSignature___vararg_rank))( variable[13] /*isig*/) /*MMSignature::vararg_rank*/;
2836 variable[18] = TAG_Bool((variable[18])==(variable[19]));
2837 if (UNTAG_Bool(variable[18])) { /*if*/
2838 variable[18] = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable[1] /*v*/, variable[17] /*t*/) /*AbsSyntaxVisitor::type_array*/;
2839 variable[17] = variable[18] /*t=*/;
2840 }
2841 variable[18] = ((mmbuilder___PParam___variable_t)CALL( variable[16] /*p*/,COLOR_syntax_base___PParam___variable))( variable[16] /*p*/) /*PParam::variable*/;
2842 ((syntax_base___Variable___stype__eq_t)CALL(variable[18],COLOR_syntax_base___Variable___stype__eq))(variable[18], variable[17] /*t*/) /*Variable::stype=*/;
2843 continue_96: while(0);
2844 ((array___ArrayIterator___next_t)CALL(variable[14],COLOR_abstract_collection___Iterator___next))(variable[14]) /*ArrayIterator::next*/;
2845 }
2846 break_96: while(0);
2847 variable[8] = variable[13] /*isig*/ /*s=*/;
2848 ((static_type___MMLocalProperty___signature__eq_t)CALL( variable[2] /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable[2] /*prop*/, variable[8] /*s*/) /*MMLocalProperty::signature=*/;
2849 }
2850 variable[14] = ((static_type___MMSignature___arity_t)CALL( variable[8] /*s*/,COLOR_static_type___MMSignature___arity))( variable[8] /*s*/) /*MMSignature::arity*/;
2851 variable[15] = ((static_type___MMSignature___arity_t)CALL( variable[13] /*isig*/,COLOR_static_type___MMSignature___arity))( variable[13] /*isig*/) /*MMSignature::arity*/;
2852 variable[14] = TAG_Bool((variable[14])!=(variable[15]));
2853 if (UNTAG_Bool(variable[14])) { /*if*/
2854 variable[14] = variable[0];
2855 variable[15] = NEW_String_string___String___init(); /*new String*/
2856 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
2857 variable[17] = variable[16];
2858 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[17]) /*String::append*/;
2859 variable[18] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2860 variable[19] = variable[18];
2861 variable[19] = ((string___String___to_s_t)CALL(variable[19],COLOR_string___Object___to_s))(variable[19]) /*String::to_s*/;
2862 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[19]) /*String::append*/;
2863 variable[20] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2864 variable[21] = variable[20];
2865 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[21]) /*String::append*/;
2866 variable[22] = variable[2] /*prop*/;
2867 variable[22] = ((string___String___to_s_t)CALL(variable[22],COLOR_string___Object___to_s))(variable[22]) /*String::to_s*/;
2868 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[22]) /*String::append*/;
2869 variable[23] = NEW_String_string___String___with_native(BOX_NativeString(" redefines "), TAG_Int(11)); /*new String*/
2870 variable[24] = variable[23];
2871 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[24]) /*String::append*/;
2872 variable[25] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[12] /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[12] /*ip*/) /*MMLocalProperty::local_class*/;
2873 variable[26] = variable[25];
2874 variable[26] = ((string___String___to_s_t)CALL(variable[26],COLOR_string___Object___to_s))(variable[26]) /*String::to_s*/;
2875 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[26]) /*String::append*/;
2876 variable[27] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2877 variable[28] = variable[27];
2878 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[28]) /*String::append*/;
2879 variable[29] = variable[12] /*ip*/;
2880 variable[29] = ((string___String___to_s_t)CALL(variable[29],COLOR_string___Object___to_s))(variable[29]) /*String::to_s*/;
2881 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[29]) /*String::append*/;
2882 variable[30] = NEW_String_string___String___with_native(BOX_NativeString(" with "), TAG_Int(6)); /*new String*/
2883 variable[31] = variable[30];
2884 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[31]) /*String::append*/;
2885 variable[32] = ((static_type___MMSignature___arity_t)CALL( variable[13] /*isig*/,COLOR_static_type___MMSignature___arity))( variable[13] /*isig*/) /*MMSignature::arity*/;
2886 variable[33] = variable[32];
2887 variable[33] = ((string___String___to_s_t)CALL(variable[33],COLOR_string___Object___to_s))(variable[33]) /*String::to_s*/;
2888 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[33]) /*String::append*/;
2889 variable[34] = NEW_String_string___String___with_native(BOX_NativeString(" parameter(s)."), TAG_Int(14)); /*new String*/
2890 variable[35] = variable[34];
2891 ((string___String___append_t)CALL(variable[15],COLOR_abstract_collection___IndexedCollection___append))(variable[15], variable[35]) /*String::append*/;
2892 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[14], variable[15]) /*AbsSyntaxVisitor::error*/;
2893 } else { /*if*/
2894 variable[14] = ((static_type___MMSignature___arity_t)CALL( variable[8] /*s*/,COLOR_static_type___MMSignature___arity))( variable[8] /*s*/) /*MMSignature::arity*/;
2895 variable[15] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[14]); /*new Range[Int]*/
2896 variable[14] = variable[15];
2897 variable[14] = ((range___Range___iterator_t)CALL(variable[14],COLOR_abstract_collection___Collection___iterator))(variable[14]) /*Range::iterator*/;
2898 while (true) { /*for*/
2899 variable[15] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[14],COLOR_abstract_collection___Iterator___is_ok))(variable[14]) /*Iterator::is_ok*/;
2900 if (!UNTAG_Bool(variable[15])) break; /*for*/
2901 variable[15] = ((abstract_collection___Iterator___item_t)CALL(variable[14],COLOR_abstract_collection___Iterator___item))(variable[14]) /*Iterator::item*/;
2902 variable[16] = variable[15];
2903 variable[17] = ((static_type___MMSignature_____bra_t)CALL( variable[8] /*s*/,COLOR_static_type___MMSignature_____bra))( variable[8] /*s*/, variable[16] /*i*/) /*MMSignature::[]*/;
2904 variable[18] = ((static_type___MMSignature_____bra_t)CALL( variable[13] /*isig*/,COLOR_static_type___MMSignature_____bra))( variable[13] /*isig*/, variable[16] /*i*/) /*MMSignature::[]*/;
2905 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[17] == variable[18]) || ((variable[17] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[17],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[17],variable[18])):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[17],COLOR_kernel___Object_____eqeq))(variable[17], variable[18]) /*Object::==*/)))))));
2906 if (UNTAG_Bool(variable[17])) { /*if*/
2907 variable[17] = variable[0];
2908 variable[18] = NEW_String_string___String___init(); /*new String*/
2909 variable[19] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Expected "), TAG_Int(22)); /*new String*/
2910 variable[20] = variable[19];
2911 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[20]) /*String::append*/;
2912 variable[21] = ((static_type___MMSignature_____bra_t)CALL( variable[13] /*isig*/,COLOR_static_type___MMSignature_____bra))( variable[13] /*isig*/, variable[16] /*i*/) /*MMSignature::[]*/;
2913 variable[22] = variable[21];
2914 variable[22] = ((string___String___to_s_t)CALL(variable[22],COLOR_string___Object___to_s))(variable[22]) /*String::to_s*/;
2915 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[22]) /*String::append*/;
2916 variable[23] = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
2917 variable[24] = variable[23];
2918 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[24]) /*String::append*/;
2919 variable[25] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[12] /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[12] /*ip*/) /*MMLocalProperty::local_class*/;
2920 variable[26] = variable[25];
2921 variable[26] = ((string___String___to_s_t)CALL(variable[26],COLOR_string___Object___to_s))(variable[26]) /*String::to_s*/;
2922 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[26]) /*String::append*/;
2923 variable[27] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2924 variable[28] = variable[27];
2925 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[28]) /*String::append*/;
2926 variable[29] = variable[12] /*ip*/;
2927 variable[29] = ((string___String___to_s_t)CALL(variable[29],COLOR_string___Object___to_s))(variable[29]) /*String::to_s*/;
2928 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[29]) /*String::append*/;
2929 variable[30] = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
2930 variable[31] = variable[30];
2931 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[31]) /*String::append*/;
2932 variable[32] = ((static_type___MMSignature_____bra_t)CALL( variable[8] /*s*/,COLOR_static_type___MMSignature_____bra))( variable[8] /*s*/, variable[16] /*i*/) /*MMSignature::[]*/;
2933 variable[33] = variable[32];
2934 variable[33] = ((string___String___to_s_t)CALL(variable[33],COLOR_string___Object___to_s))(variable[33]) /*String::to_s*/;
2935 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[33]) /*String::append*/;
2936 variable[34] = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
2937 variable[35] = variable[34];
2938 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[35]) /*String::append*/;
2939 variable[36] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2940 variable[37] = variable[36];
2941 variable[37] = ((string___String___to_s_t)CALL(variable[37],COLOR_string___Object___to_s))(variable[37]) /*String::to_s*/;
2942 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[37]) /*String::append*/;
2943 variable[38] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2944 variable[39] = variable[38];
2945 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[39]) /*String::append*/;
2946 variable[40] = variable[2] /*prop*/;
2947 variable[40] = ((string___String___to_s_t)CALL(variable[40],COLOR_string___Object___to_s))(variable[40]) /*String::to_s*/;
2948 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[40]) /*String::append*/;
2949 variable[41] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2950 variable[42] = variable[41];
2951 ((string___String___append_t)CALL(variable[18],COLOR_abstract_collection___IndexedCollection___append))(variable[18], variable[42]) /*String::append*/;
2952 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[17], variable[18]) /*AbsSyntaxVisitor::error*/;
2953 }
2954 continue_97: while(0);
2955 ((abstract_collection___Iterator___next_t)CALL(variable[14],COLOR_abstract_collection___Iterator___next))(variable[14]) /*Iterator::next*/;
2956 }
2957 break_97: while(0);
2958 }
2959 variable[15] = ((static_type___MMSignature___return_type_t)CALL( variable[8] /*s*/,COLOR_static_type___MMSignature___return_type))( variable[8] /*s*/) /*MMSignature::return_type*/;
2960 variable[14] = variable[15];
2961 variable[16] = ((static_type___MMSignature___return_type_t)CALL( variable[13] /*isig*/,COLOR_static_type___MMSignature___return_type))( variable[13] /*isig*/) /*MMSignature::return_type*/;
2962 variable[15] = variable[16];
2963 variable[16] = TAG_Bool(( variable[14] /*srt*/ == NIT_NULL /*null*/) || (( variable[14] /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*srt*/,COLOR_kernel___Object_____eqeq))( variable[14] /*srt*/, NIT_NULL /*null*/) /*Object::==*/)))));
2964 variable[17] = variable[16];
2965 if (UNTAG_Bool(variable[17])) { /* and */
2966 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*isrt*/ == NIT_NULL /*null*/) || (( variable[15] /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*isrt*/,COLOR_kernel___Object_____eqeq))( variable[15] /*isrt*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2967 }
2968 variable[16] = variable[17];
2969 if (UNTAG_Bool(variable[16])) { /*if*/
2970 variable[16] = variable[0];
2971 variable[17] = NEW_String_string___String___init(); /*new String*/
2972 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: The procedure "), TAG_Int(27)); /*new String*/
2973 variable[19] = variable[18];
2974 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[19]) /*String::append*/;
2975 variable[20] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
2976 variable[21] = variable[20];
2977 variable[21] = ((string___String___to_s_t)CALL(variable[21],COLOR_string___Object___to_s))(variable[21]) /*String::to_s*/;
2978 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[21]) /*String::append*/;
2979 variable[22] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2980 variable[23] = variable[22];
2981 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[23]) /*String::append*/;
2982 variable[24] = variable[2] /*prop*/;
2983 variable[24] = ((string___String___to_s_t)CALL(variable[24],COLOR_string___Object___to_s))(variable[24]) /*String::to_s*/;
2984 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[24]) /*String::append*/;
2985 variable[25] = NEW_String_string___String___with_native(BOX_NativeString(" redefines the function "), TAG_Int(24)); /*new String*/
2986 variable[26] = variable[25];
2987 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[26]) /*String::append*/;
2988 variable[27] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[12] /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[12] /*ip*/) /*MMLocalProperty::local_class*/;
2989 variable[28] = variable[27];
2990 variable[28] = ((string___String___to_s_t)CALL(variable[28],COLOR_string___Object___to_s))(variable[28]) /*String::to_s*/;
2991 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[28]) /*String::append*/;
2992 variable[29] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
2993 variable[30] = variable[29];
2994 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[30]) /*String::append*/;
2995 variable[31] = variable[12] /*ip*/;
2996 variable[31] = ((string___String___to_s_t)CALL(variable[31],COLOR_string___Object___to_s))(variable[31]) /*String::to_s*/;
2997 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[31]) /*String::append*/;
2998 variable[32] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2999 variable[33] = variable[32];
3000 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[33]) /*String::append*/;
3001 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[16], variable[17]) /*AbsSyntaxVisitor::error*/;
3002 } else { /*if*/
3003 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*srt*/ == NIT_NULL /*null*/) || (( variable[14] /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*srt*/,COLOR_kernel___Object_____eqeq))( variable[14] /*srt*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3004 variable[17] = variable[16];
3005 if (UNTAG_Bool(variable[17])) { /* and */
3006 variable[17] = TAG_Bool(( variable[15] /*isrt*/ == NIT_NULL /*null*/) || (( variable[15] /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*isrt*/,COLOR_kernel___Object_____eqeq))( variable[15] /*isrt*/, NIT_NULL /*null*/) /*Object::==*/)))));
3007 }
3008 variable[16] = variable[17];
3009 if (UNTAG_Bool(variable[16])) { /*if*/
3010 variable[16] = variable[0];
3011 variable[17] = NEW_String_string___String___init(); /*new String*/
3012 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: The function "), TAG_Int(26)); /*new String*/
3013 variable[19] = variable[18];
3014 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[19]) /*String::append*/;
3015 variable[20] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
3016 variable[21] = variable[20];
3017 variable[21] = ((string___String___to_s_t)CALL(variable[21],COLOR_string___Object___to_s))(variable[21]) /*String::to_s*/;
3018 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[21]) /*String::append*/;
3019 variable[22] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3020 variable[23] = variable[22];
3021 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[23]) /*String::append*/;
3022 variable[24] = variable[2] /*prop*/;
3023 variable[24] = ((string___String___to_s_t)CALL(variable[24],COLOR_string___Object___to_s))(variable[24]) /*String::to_s*/;
3024 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[24]) /*String::append*/;
3025 variable[25] = NEW_String_string___String___with_native(BOX_NativeString(" redefines the procedure "), TAG_Int(25)); /*new String*/
3026 variable[26] = variable[25];
3027 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[26]) /*String::append*/;
3028 variable[27] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[12] /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[12] /*ip*/) /*MMLocalProperty::local_class*/;
3029 variable[28] = variable[27];
3030 variable[28] = ((string___String___to_s_t)CALL(variable[28],COLOR_string___Object___to_s))(variable[28]) /*String::to_s*/;
3031 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[28]) /*String::append*/;
3032 variable[29] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3033 variable[30] = variable[29];
3034 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[30]) /*String::append*/;
3035 variable[31] = variable[12] /*ip*/;
3036 variable[31] = ((string___String___to_s_t)CALL(variable[31],COLOR_string___Object___to_s))(variable[31]) /*String::to_s*/;
3037 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[31]) /*String::append*/;
3038 variable[32] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
3039 variable[33] = variable[32];
3040 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[33]) /*String::append*/;
3041 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[16], variable[17]) /*AbsSyntaxVisitor::error*/;
3042 } else { /*if*/
3043 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*srt*/ == NIT_NULL /*null*/) || (( variable[14] /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*srt*/,COLOR_kernel___Object_____eqeq))( variable[14] /*srt*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3044 variable[17] = variable[16];
3045 if (UNTAG_Bool(variable[17])) { /* and */
3046 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*isrt*/ == NIT_NULL /*null*/) || (( variable[15] /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*isrt*/,COLOR_kernel___Object_____eqeq))( variable[15] /*isrt*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3047 }
3048 variable[16] = variable[17];
3049 variable[17] = variable[16];
3050 if (UNTAG_Bool(variable[17])) { /* and */
3051 variable[17] = ((static_type___MMType_____l_t)CALL( variable[14] /*srt*/,COLOR_static_type___MMType_____l))( variable[14] /*srt*/, variable[15] /*isrt*/) /*MMType::<*/;
3052 variable[17] = TAG_Bool(!UNTAG_Bool(variable[17]));
3053 }
3054 variable[16] = variable[17];
3055 if (UNTAG_Bool(variable[16])) { /*if*/
3056 variable[16] = variable[0];
3057 variable[17] = NEW_String_string___String___init(); /*new String*/
3058 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: Expected "), TAG_Int(22)); /*new String*/
3059 variable[19] = variable[18];
3060 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[19]) /*String::append*/;
3061 variable[20] = variable[15] /*isrt*/;
3062 variable[20] = ((string___String___to_s_t)CALL(variable[20],COLOR_string___Object___to_s))(variable[20]) /*String::to_s*/;
3063 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[20]) /*String::append*/;
3064 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
3065 variable[22] = variable[21];
3066 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[22]) /*String::append*/;
3067 variable[23] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[12] /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[12] /*ip*/) /*MMLocalProperty::local_class*/;
3068 variable[24] = variable[23];
3069 variable[24] = ((string___String___to_s_t)CALL(variable[24],COLOR_string___Object___to_s))(variable[24]) /*String::to_s*/;
3070 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[24]) /*String::append*/;
3071 variable[25] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3072 variable[26] = variable[25];
3073 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[26]) /*String::append*/;
3074 variable[27] = variable[12] /*ip*/;
3075 variable[27] = ((string___String___to_s_t)CALL(variable[27],COLOR_string___Object___to_s))(variable[27]) /*String::to_s*/;
3076 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[27]) /*String::append*/;
3077 variable[28] = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
3078 variable[29] = variable[28];
3079 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[29]) /*String::append*/;
3080 variable[30] = variable[14] /*srt*/;
3081 variable[30] = ((string___String___to_s_t)CALL(variable[30],COLOR_string___Object___to_s))(variable[30]) /*String::to_s*/;
3082 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[30]) /*String::append*/;
3083 variable[31] = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
3084 variable[32] = variable[31];
3085 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[32]) /*String::append*/;
3086 variable[33] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
3087 variable[34] = variable[33];
3088 variable[34] = ((string___String___to_s_t)CALL(variable[34],COLOR_string___Object___to_s))(variable[34]) /*String::to_s*/;
3089 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[34]) /*String::append*/;
3090 variable[35] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3091 variable[36] = variable[35];
3092 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[36]) /*String::append*/;
3093 variable[37] = variable[2] /*prop*/;
3094 variable[37] = ((string___String___to_s_t)CALL(variable[37],COLOR_string___Object___to_s))(variable[37]) /*String::to_s*/;
3095 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[37]) /*String::append*/;
3096 variable[38] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
3097 variable[39] = variable[38];
3098 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[39]) /*String::append*/;
3099 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[16], variable[17]) /*AbsSyntaxVisitor::error*/;
3100 } else { /*if*/
3101 variable[16] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*srt*/ == NIT_NULL /*null*/) || (( variable[14] /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*srt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*srt*/,COLOR_kernel___Object_____eqeq))( variable[14] /*srt*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3102 variable[17] = variable[16];
3103 if (UNTAG_Bool(variable[17])) { /* and */
3104 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[15] /*isrt*/ == NIT_NULL /*null*/) || (( variable[15] /*isrt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[15] /*isrt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[15] /*isrt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[15] /*isrt*/,COLOR_kernel___Object_____eqeq))( variable[15] /*isrt*/, NIT_NULL /*null*/) /*Object::==*/)))))));
3105 }
3106 variable[16] = variable[17];
3107 variable[17] = variable[16];
3108 if (UNTAG_Bool(variable[17])) { /* and */
3109 variable[17] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[14] /*srt*/ == variable[15] /*isrt*/) || (( variable[14] /*srt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[14] /*srt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[14] /*srt*/, variable[15] /*isrt*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[14] /*srt*/,COLOR_kernel___Object_____eqeq))( variable[14] /*srt*/, variable[15] /*isrt*/) /*Object::==*/)))))));
3110 }
3111 variable[16] = variable[17];
3112 variable[17] = variable[16];
3113 if (UNTAG_Bool(variable[17])) { /* and */
3114 variable[17] = TAG_Bool(( variable[2] /*prop*/==NIT_NULL) || VAL_ISA( variable[2] /*prop*/, COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
3115 }
3116 variable[16] = variable[17];
3117 if (UNTAG_Bool(variable[16])) { /*if*/
3118 variable[16] = variable[0];
3119 variable[17] = NEW_String_string___String___init(); /*new String*/
3120 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("Redef warning: Expected "), TAG_Int(24)); /*new String*/
3121 variable[19] = variable[18];
3122 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[19]) /*String::append*/;
3123 variable[20] = variable[15] /*isrt*/;
3124 variable[20] = ((string___String___to_s_t)CALL(variable[20],COLOR_string___Object___to_s))(variable[20]) /*String::to_s*/;
3125 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[20]) /*String::append*/;
3126 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(" (as in "), TAG_Int(8)); /*new String*/
3127 variable[22] = variable[21];
3128 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[22]) /*String::append*/;
3129 variable[23] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[12] /*ip*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[12] /*ip*/) /*MMLocalProperty::local_class*/;
3130 variable[24] = variable[23];
3131 variable[24] = ((string___String___to_s_t)CALL(variable[24],COLOR_string___Object___to_s))(variable[24]) /*String::to_s*/;
3132 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[24]) /*String::append*/;
3133 variable[25] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3134 variable[26] = variable[25];
3135 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[26]) /*String::append*/;
3136 variable[27] = variable[12] /*ip*/;
3137 variable[27] = ((string___String___to_s_t)CALL(variable[27],COLOR_string___Object___to_s))(variable[27]) /*String::to_s*/;
3138 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[27]) /*String::append*/;
3139 variable[28] = NEW_String_string___String___with_native(BOX_NativeString("), got "), TAG_Int(7)); /*new String*/
3140 variable[29] = variable[28];
3141 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[29]) /*String::append*/;
3142 variable[30] = variable[14] /*srt*/;
3143 variable[30] = ((string___String___to_s_t)CALL(variable[30],COLOR_string___Object___to_s))(variable[30]) /*String::to_s*/;
3144 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[30]) /*String::append*/;
3145 variable[31] = NEW_String_string___String___with_native(BOX_NativeString(" in "), TAG_Int(4)); /*new String*/
3146 variable[32] = variable[31];
3147 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[32]) /*String::append*/;
3148 variable[33] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
3149 variable[34] = variable[33];
3150 variable[34] = ((string___String___to_s_t)CALL(variable[34],COLOR_string___Object___to_s))(variable[34]) /*String::to_s*/;
3151 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[34]) /*String::append*/;
3152 variable[35] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3153 variable[36] = variable[35];
3154 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[36]) /*String::append*/;
3155 variable[37] = variable[2] /*prop*/;
3156 variable[37] = ((string___String___to_s_t)CALL(variable[37],COLOR_string___Object___to_s))(variable[37]) /*String::to_s*/;
3157 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[37]) /*String::append*/;
3158 variable[38] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
3159 variable[39] = variable[38];
3160 ((string___String___append_t)CALL(variable[17],COLOR_abstract_collection___IndexedCollection___append))(variable[17], variable[39]) /*String::append*/;
3161 ((syntax_base___AbsSyntaxVisitor___warning_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning))( variable[1] /*v*/, variable[16], variable[17]) /*AbsSyntaxVisitor::warning*/;
3162 }
3163 }
3164 }
3165 }
3166 continue_95: while(0);
3167 ((array___ArrayIterator___next_t)CALL(variable[9],COLOR_abstract_collection___Iterator___next))(variable[9]) /*ArrayIterator::next*/;
3168 }
3169 break_95: while(0);
3170 variable[9] = TAG_Bool(( variable[4] /*visibility_level*/)!=( TAG_Int(1)));
3171 variable[10] = variable[9];
3172 if (UNTAG_Bool(variable[10])) { /* and */
3173 variable[10] = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL( variable[7] /*glob*/,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))( variable[7] /*glob*/) /*MMGlobalProperty::visibility_level*/;
3174 variable[10] = TAG_Bool((variable[10])!=( variable[4] /*visibility_level*/));
3175 }
3176 variable[9] = variable[10];
3177 if (UNTAG_Bool(variable[9])) { /*if*/
3178 variable[9] = variable[0];
3179 variable[10] = NEW_String_string___String___init(); /*new String*/
3180 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("Redef error: "), TAG_Int(13)); /*new String*/
3181 variable[12] = variable[11];
3182 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[12]) /*String::append*/;
3183 variable[13] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable[2] /*prop*/) /*MMLocalProperty::local_class*/;
3184 variable[14] = variable[13];
3185 variable[14] = ((string___String___to_s_t)CALL(variable[14],COLOR_string___Object___to_s))(variable[14]) /*String::to_s*/;
3186 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[14]) /*String::append*/;
3187 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3188 variable[16] = variable[15];
3189 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[16]) /*String::append*/;
3190 variable[17] = variable[2] /*prop*/;
3191 variable[17] = ((string___String___to_s_t)CALL(variable[17],COLOR_string___Object___to_s))(variable[17]) /*String::to_s*/;
3192 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[17]) /*String::append*/;
3193 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(" redefinition cannot change visibility."), TAG_Int(39)); /*new String*/
3194 variable[19] = variable[18];
3195 ((string___String___append_t)CALL(variable[10],COLOR_abstract_collection___IndexedCollection___append))(variable[10], variable[19]) /*String::append*/;
3196 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[9], variable[10]) /*AbsSyntaxVisitor::error*/;
3197 }
3198 variable[9] = variable[0];
3199 variable[10] = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable[1] /*v*/) /*AbsSyntaxVisitor::module*/;
3200 ((syntax_base___MMGlobalProperty___check_visibility_t)CALL( variable[7] /*glob*/,COLOR_syntax_base___MMGlobalProperty___check_visibility))( variable[7] /*glob*/, variable[1] /*v*/, variable[9], variable[10], TAG_Bool(true)) /*MMGlobalProperty::check_visibility*/;
3201 return_label94: while(false);
3202 tracehead = trace.prev;
3203 return;
3204 }
3205 void mmbuilder___AAttrPropdef___accept_abs_syntax_visitor(val_t self, val_t param0) {
3206 struct trace_t trace = {NULL, NULL, 953, LOCATE_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor};
3207 val_t variable[4];
3208 void **closurevariable = NULL;
3209 trace.prev = tracehead; tracehead = &trace;
3210 trace.file = LOCATE_mmbuilder;
3211 variable[0] = self;
3212 variable[1] = param0;
3213 variable[3] = variable[0];
3214 variable[3] = ((mmbuilder___AAttrPropdef___prop_t)CALL(variable[3],COLOR_syntax_base___AAttrPropdef___prop))(variable[3]) /*AAttrPropdef::prop*/;
3215 ((syntax_base___AbsSyntaxVisitor___local_property__eq_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq))( variable[1] /*v*/, variable[3]) /*AbsSyntaxVisitor::local_property=*/;
3216 ((mmbuilder___AAttrPropdef___accept_abs_syntax_visitor_t)CALL(variable[0],COLOR_SUPER_mmbuilder___AAttrPropdef___accept_abs_syntax_visitor))(variable[0], variable[1]) /*super AAttrPropdef::accept_abs_syntax_visitor*/;
3217 ((syntax_base___AbsSyntaxVisitor___local_property__eq_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq))( variable[1] /*v*/, NIT_NULL /*null*/) /*AbsSyntaxVisitor::local_property=*/;
3218 return_label98: while(false);
3219 tracehead = trace.prev;
3220 return;
3221 }
3222 val_t mmbuilder___AAttrPropdef___prop(val_t self) {
3223 struct trace_t trace = {NULL, NULL, 904, LOCATE_mmbuilder___AAttrPropdef___prop};
3224 val_t *variable = NULL;
3225 void **closurevariable = NULL;
3226 trace.prev = tracehead; tracehead = &trace;
3227 trace.file = LOCATE_mmbuilder;
3228 tracehead = trace.prev;
3229 return ATTR_mmbuilder___AAttrPropdef____prop( self) /*AAttrPropdef::_prop*/;
3230 }
3231 val_t mmbuilder___AAttrPropdef___readmethod(val_t self) {
3232 struct trace_t trace = {NULL, NULL, 902, LOCATE_mmbuilder___AAttrPropdef___readmethod};
3233 val_t *variable = NULL;
3234 void **closurevariable = NULL;
3235 trace.prev = tracehead; tracehead = &trace;
3236 trace.file = LOCATE_mmbuilder;
3237 tracehead = trace.prev;
3238 return ATTR_mmbuilder___AAttrPropdef____readmethod( self) /*AAttrPropdef::_readmethod*/;
3239 }
3240 val_t mmbuilder___AAttrPropdef___writemethod(val_t self) {
3241 struct trace_t trace = {NULL, NULL, 903, LOCATE_mmbuilder___AAttrPropdef___writemethod};
3242 val_t *variable = NULL;
3243 void **closurevariable = NULL;
3244 trace.prev = tracehead; tracehead = &trace;
3245 trace.file = LOCATE_mmbuilder;
3246 tracehead = trace.prev;
3247 return ATTR_mmbuilder___AAttrPropdef____writemethod( self) /*AAttrPropdef::_writemethod*/;
3248 }
3249 void mmbuilder___AAttrPropdef___accept_property_builder(val_t self, val_t param0) {
3250 struct trace_t trace = {NULL, NULL, 906, LOCATE_mmbuilder___AAttrPropdef___accept_property_builder};
3251 val_t variable[9];
3252 void **closurevariable = NULL;
3253 trace.prev = tracehead; tracehead = &trace;
3254 trace.file = LOCATE_mmbuilder;
3255 variable[0] = self;
3256 variable[1] = param0;
3257 ((mmbuilder___AAttrPropdef___accept_property_builder_t)CALL(variable[0],COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_builder))(variable[0], variable[1]) /*super AAttrPropdef::accept_property_builder*/;
3258 variable[4] = variable[0];
3259 variable[4] = ((parser_nodes___AAttrPropdef___n_id_t)CALL(variable[4],COLOR_parser_nodes___AAttrPropdef___n_id))(variable[4]) /*AAttrPropdef::n_id*/;
3260 variable[4] = ((syntax_base___Token___to_symbol_t)CALL(variable[4],COLOR_syntax_base___Token___to_symbol))(variable[4]) /*Token::to_symbol*/;
3261 variable[3] = variable[4];
3262 variable[5] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3263 variable[6] = variable[0];
3264 variable[7] = NEW_MMSrcAttribute_syntax_base___MMSrcAttribute___init( variable[3] /*name*/, variable[5], variable[6]); /*new MMSrcAttribute*/
3265 variable[5] = variable[7];
3266 variable[4] = variable[5];
3267 variable[5] = variable[0];
3268 ATTR_mmbuilder___AAttrPropdef____prop(variable[5]) /*AAttrPropdef::_prop*/ = variable[4] /*prop*/;
3269 variable[5] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3270 ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable[5],COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable[5], variable[1] /*v*/, variable[4] /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
3271 variable[5] = variable[0];
3272 variable[5] = ((parser_nodes___AAttrPropdef___n_readable_t)CALL(variable[5],COLOR_parser_nodes___AAttrPropdef___n_readable))(variable[5]) /*AAttrPropdef::n_readable*/;
3273 variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] == NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))(variable[5], NIT_NULL /*null*/) /*Object::==*/)))))));
3274 if (UNTAG_Bool(variable[5])) { /*if*/
3275 variable[5] = variable[0];
3276 variable[5] = ((parser_nodes___AAttrPropdef___n_id_t)CALL(variable[5],COLOR_parser_nodes___AAttrPropdef___n_id))(variable[5]) /*AAttrPropdef::n_id*/;
3277 variable[5] = ((lexer___Token___text_t)CALL(variable[5],COLOR_lexer___Token___text))(variable[5]) /*Token::text*/;
3278 variable[5] = ((string___String___substring_from_t)CALL(variable[5],COLOR_string___String___substring_from))(variable[5], TAG_Int(1)) /*String::substring_from*/;
3279 variable[5] = ((symbol___String___to_symbol_t)CALL(variable[5],COLOR_symbol___String___to_symbol))(variable[5]) /*String::to_symbol*/;
3280 variable[3] = variable[5] /*name=*/;
3281 variable[5] = variable[0];
3282 variable[6] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3283 variable[7] = variable[0];
3284 variable[8] = NEW_MMReadImplementationMethod_syntax_base___MMReadImplementationMethod___init( variable[3] /*name*/, variable[6], variable[7]); /*new MMReadImplementationMethod*/
3285 variable[6] = variable[8];
3286 ATTR_mmbuilder___AAttrPropdef____readmethod(variable[5]) /*AAttrPropdef::_readmethod*/ = variable[6];
3287 variable[5] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3288 variable[6] = variable[0];
3289 variable[6] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable[6]) /*AAttrPropdef::_readmethod*/;
3290 ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable[5],COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable[5], variable[1] /*v*/, variable[6]) /*MMSrcLocalClass::add_src_local_property*/;
3291 }
3292 variable[5] = variable[0];
3293 variable[5] = ((parser_nodes___AAttrPropdef___n_writable_t)CALL(variable[5],COLOR_parser_nodes___AAttrPropdef___n_writable))(variable[5]) /*AAttrPropdef::n_writable*/;
3294 variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] == NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))(variable[5], NIT_NULL /*null*/) /*Object::==*/)))))));
3295 if (UNTAG_Bool(variable[5])) { /*if*/
3296 variable[5] = variable[0];
3297 variable[5] = ((parser_nodes___AAttrPropdef___n_id_t)CALL(variable[5],COLOR_parser_nodes___AAttrPropdef___n_id))(variable[5]) /*AAttrPropdef::n_id*/;
3298 variable[5] = ((lexer___Token___text_t)CALL(variable[5],COLOR_lexer___Token___text))(variable[5]) /*Token::text*/;
3299 variable[5] = ((string___String___substring_from_t)CALL(variable[5],COLOR_string___String___substring_from))(variable[5], TAG_Int(1)) /*String::substring_from*/;
3300 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
3301 variable[5] = ((string___String_____plus_t)CALL(variable[5],COLOR_string___String_____plus))(variable[5], variable[6]) /*String::+*/;
3302 variable[5] = ((symbol___String___to_symbol_t)CALL(variable[5],COLOR_symbol___String___to_symbol))(variable[5]) /*String::to_symbol*/;
3303 variable[3] = variable[5] /*name=*/;
3304 variable[5] = variable[0];
3305 variable[6] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3306 variable[7] = variable[0];
3307 variable[8] = NEW_MMWriteImplementationMethod_syntax_base___MMWriteImplementationMethod___init( variable[3] /*name*/, variable[6], variable[7]); /*new MMWriteImplementationMethod*/
3308 variable[6] = variable[8];
3309 ATTR_mmbuilder___AAttrPropdef____writemethod(variable[5]) /*AAttrPropdef::_writemethod*/ = variable[6];
3310 variable[5] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3311 variable[6] = variable[0];
3312 variable[6] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable[6]) /*AAttrPropdef::_writemethod*/;
3313 ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable[5],COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable[5], variable[1] /*v*/, variable[6]) /*MMSrcLocalClass::add_src_local_property*/;
3314 }
3315 return_label99: while(false);
3316 tracehead = trace.prev;
3317 return;
3318 }
3319 void mmbuilder___AAttrPropdef___accept_property_verifier(val_t self, val_t param0) {
3320 struct trace_t trace = {NULL, NULL, 926, LOCATE_mmbuilder___AAttrPropdef___accept_property_verifier};
3321 val_t variable[16];
3322 void **closurevariable = NULL;
3323 trace.prev = tracehead; tracehead = &trace;
3324 trace.file = LOCATE_mmbuilder;
3325 variable[0] = self;
3326 variable[1] = param0;
3327 ((mmbuilder___AAttrPropdef___accept_property_verifier_t)CALL(variable[0],COLOR_SUPER_mmbuilder___AAttrPropdef___accept_property_verifier))(variable[0], variable[1]) /*super AAttrPropdef::accept_property_verifier*/;
3328 /*variable[3] is variable t*/
3329 variable[4] = variable[0];
3330 variable[4] = ((parser_nodes___AAttrPropdef___n_type_t)CALL(variable[4],COLOR_parser_nodes___AAttrPropdef___n_type))(variable[4]) /*AAttrPropdef::n_type*/;
3331 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
3332 if (UNTAG_Bool(variable[4])) { /*if*/
3333 variable[4] = variable[0];
3334 variable[4] = ((parser_nodes___AAttrPropdef___n_type_t)CALL(variable[4],COLOR_parser_nodes___AAttrPropdef___n_type))(variable[4]) /*AAttrPropdef::n_type*/;
3335 variable[4] = ((syntax_base___PType___get_stype_t)CALL(variable[4],COLOR_syntax_base___PType___get_stype))(variable[4], variable[1] /*v*/) /*PType::get_stype*/;
3336 variable[3] = variable[4] /*t=*/;
3337 } else { /*if*/
3338 variable[4] = variable[0];
3339 variable[5] = NEW_String_string___String___init(); /*new String*/
3340 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Not yet implemented: Attribute definition "), TAG_Int(42)); /*new String*/
3341 variable[7] = variable[6];
3342 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[7]) /*String::append*/;
3343 variable[8] = variable[0];
3344 variable[8] = ATTR_mmbuilder___AAttrPropdef____prop(variable[8]) /*AAttrPropdef::_prop*/;
3345 variable[8] = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL(variable[8],COLOR_abstractmetamodel___MMLocalProperty___local_class))(variable[8]) /*MMLocalProperty::local_class*/;
3346 variable[9] = variable[8];
3347 variable[9] = ((string___String___to_s_t)CALL(variable[9],COLOR_string___Object___to_s))(variable[9]) /*String::to_s*/;
3348 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[9]) /*String::append*/;
3349 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
3350 variable[11] = variable[10];
3351 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[11]) /*String::append*/;
3352 variable[12] = variable[0];
3353 variable[12] = ATTR_mmbuilder___AAttrPropdef____prop(variable[12]) /*AAttrPropdef::_prop*/;
3354 variable[13] = variable[12];
3355 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
3356 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[13]) /*String::append*/;
3357 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" requires an explicit type."), TAG_Int(27)); /*new String*/
3358 variable[15] = variable[14];
3359 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[15]) /*String::append*/;
3360 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[4], variable[5]) /*AbsSyntaxVisitor::error*/;
3361 goto return_label100;
3362 }
3363 variable[5] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
3364 variable[6] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3365 variable[6] = ((genericity___MMLocalClass___get_type_t)CALL(variable[6],COLOR_static_type___MMLocalClass___get_type))(variable[6]) /*MMLocalClass::get_type*/;
3366 variable[7] = NEW_MMSignature_static_type___MMSignature___init(variable[5], variable[3] /*t*/, variable[6]); /*new MMSignature*/
3367 variable[5] = variable[7];
3368 variable[4] = variable[5];
3369 variable[5] = variable[0];
3370 variable[5] = ATTR_mmbuilder___AAttrPropdef____prop(variable[5]) /*AAttrPropdef::_prop*/;
3371 ((static_type___MMLocalProperty___signature__eq_t)CALL(variable[5],COLOR_static_type___MMLocalProperty___signature__eq))(variable[5], variable[4] /*signature*/) /*MMLocalProperty::signature=*/;
3372 variable[6] = variable[0];
3373 variable[6] = ((parser_nodes___AAttrPropdef___n_visibility_t)CALL(variable[6],COLOR_parser_nodes___AAttrPropdef___n_visibility))(variable[6]) /*AAttrPropdef::n_visibility*/;
3374 variable[6] = ((mmbuilder___PVisibility___level_t)CALL(variable[6],COLOR_mmbuilder___PVisibility___level))(variable[6]) /*PVisibility::level*/;
3375 variable[5] = variable[6];
3376 variable[6] = variable[0];
3377 variable[7] = variable[0];
3378 variable[7] = ATTR_mmbuilder___AAttrPropdef____prop(variable[7]) /*AAttrPropdef::_prop*/;
3379 variable[8] = variable[0];
3380 variable[8] = ((parser_nodes___AAttrPropdef___n_kwredef_t)CALL(variable[8],COLOR_parser_nodes___AAttrPropdef___n_kwredef))(variable[8]) /*AAttrPropdef::n_kwredef*/;
3381 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
3382 ((mmbuilder___PPropdef___process_and_check_t)CALL(variable[6],COLOR_mmbuilder___PPropdef___process_and_check))(variable[6], variable[1] /*v*/, variable[7], variable[8], variable[5] /*visibility_level*/) /*PPropdef::process_and_check*/;
3383 variable[6] = variable[0];
3384 variable[6] = ((parser_nodes___AAttrPropdef___n_readable_t)CALL(variable[6],COLOR_parser_nodes___AAttrPropdef___n_readable))(variable[6]) /*AAttrPropdef::n_readable*/;
3385 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] == NIT_NULL /*null*/) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], NIT_NULL /*null*/) /*Object::==*/)))))));
3386 if (UNTAG_Bool(variable[6])) { /*if*/
3387 variable[6] = variable[0];
3388 variable[6] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable[6]) /*AAttrPropdef::_readmethod*/;
3389 ((static_type___MMLocalProperty___signature__eq_t)CALL(variable[6],COLOR_static_type___MMLocalProperty___signature__eq))(variable[6], variable[4] /*signature*/) /*MMLocalProperty::signature=*/;
3390 variable[6] = variable[0];
3391 variable[7] = variable[0];
3392 variable[7] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable[7]) /*AAttrPropdef::_readmethod*/;
3393 variable[8] = variable[0];
3394 variable[8] = ((parser_nodes___AAttrPropdef___n_readable_t)CALL(variable[8],COLOR_parser_nodes___AAttrPropdef___n_readable))(variable[8]) /*AAttrPropdef::n_readable*/;
3395 variable[8] = ((parser_nodes___PAble___n_kwredef_t)CALL(variable[8],COLOR_parser_nodes___PAble___n_kwredef))(variable[8]) /*PAble::n_kwredef*/;
3396 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
3397 ((mmbuilder___PPropdef___process_and_check_t)CALL(variable[6],COLOR_mmbuilder___PPropdef___process_and_check))(variable[6], variable[1] /*v*/, variable[7], variable[8], variable[5] /*visibility_level*/) /*PPropdef::process_and_check*/;
3398 variable[6] = variable[0];
3399 variable[6] = ((parser_nodes___AAttrPropdef___n_type_t)CALL(variable[6],COLOR_parser_nodes___AAttrPropdef___n_type))(variable[6]) /*AAttrPropdef::n_type*/;
3400 variable[7] = variable[0];
3401 variable[7] = ATTR_mmbuilder___AAttrPropdef____readmethod(variable[7]) /*AAttrPropdef::_readmethod*/;
3402 ((mmbuilder___PType___check_visibility_t)CALL(variable[6],COLOR_mmbuilder___PType___check_visibility))(variable[6], variable[1] /*v*/, variable[7]) /*PType::check_visibility*/;
3403 }
3404 variable[6] = variable[0];
3405 variable[6] = ((parser_nodes___AAttrPropdef___n_writable_t)CALL(variable[6],COLOR_parser_nodes___AAttrPropdef___n_writable))(variable[6]) /*AAttrPropdef::n_writable*/;
3406 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] == NIT_NULL /*null*/) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], NIT_NULL /*null*/) /*Object::==*/)))))));
3407 if (UNTAG_Bool(variable[6])) { /*if*/
3408 variable[6] = variable[0];
3409 variable[6] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable[6]) /*AAttrPropdef::_writemethod*/;
3410 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
3411 ((array___AbstractArray___add_t)CALL(variable[7],COLOR_abstract_collection___SimpleCollection___add))(variable[7], variable[3] /*t*/) /*AbstractArray::add*/;
3412 variable[8] = NEW_Array_array___Array___with_items(variable[7]); /*new Array[MMType]*/
3413 variable[7] = variable[8];
3414 variable[8] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3415 variable[8] = ((genericity___MMLocalClass___get_type_t)CALL(variable[8],COLOR_static_type___MMLocalClass___get_type))(variable[8]) /*MMLocalClass::get_type*/;
3416 variable[9] = NEW_MMSignature_static_type___MMSignature___init(variable[7], NIT_NULL /*null*/, variable[8]); /*new MMSignature*/
3417 variable[7] = variable[9];
3418 ((static_type___MMLocalProperty___signature__eq_t)CALL(variable[6],COLOR_static_type___MMLocalProperty___signature__eq))(variable[6], variable[7]) /*MMLocalProperty::signature=*/;
3419 variable[6] = variable[0];
3420 variable[7] = variable[0];
3421 variable[7] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable[7]) /*AAttrPropdef::_writemethod*/;
3422 variable[8] = variable[0];
3423 variable[8] = ((parser_nodes___AAttrPropdef___n_writable_t)CALL(variable[8],COLOR_parser_nodes___AAttrPropdef___n_writable))(variable[8]) /*AAttrPropdef::n_writable*/;
3424 variable[8] = ((parser_nodes___PAble___n_kwredef_t)CALL(variable[8],COLOR_parser_nodes___PAble___n_kwredef))(variable[8]) /*PAble::n_kwredef*/;
3425 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
3426 ((mmbuilder___PPropdef___process_and_check_t)CALL(variable[6],COLOR_mmbuilder___PPropdef___process_and_check))(variable[6], variable[1] /*v*/, variable[7], variable[8], variable[5] /*visibility_level*/) /*PPropdef::process_and_check*/;
3427 variable[6] = variable[0];
3428 variable[6] = ((parser_nodes___AAttrPropdef___n_type_t)CALL(variable[6],COLOR_parser_nodes___AAttrPropdef___n_type))(variable[6]) /*AAttrPropdef::n_type*/;
3429 variable[7] = variable[0];
3430 variable[7] = ATTR_mmbuilder___AAttrPropdef____writemethod(variable[7]) /*AAttrPropdef::_writemethod*/;
3431 ((mmbuilder___PType___check_visibility_t)CALL(variable[6],COLOR_mmbuilder___PType___check_visibility))(variable[6], variable[1] /*v*/, variable[7]) /*PType::check_visibility*/;
3432 }
3433 return_label100: while(false);
3434 tracehead = trace.prev;
3435 return;
3436 }
3437 void mmbuilder___AMethPropdef___accept_abs_syntax_visitor(val_t self, val_t param0) {
3438 struct trace_t trace = {NULL, NULL, 1009, LOCATE_mmbuilder___AMethPropdef___accept_abs_syntax_visitor};
3439 val_t variable[4];
3440 void **closurevariable = NULL;
3441 trace.prev = tracehead; tracehead = &trace;
3442 trace.file = LOCATE_mmbuilder;
3443 variable[0] = self;
3444 variable[1] = param0;
3445 variable[3] = variable[0];
3446 variable[3] = ((mmbuilder___AMethPropdef___method_t)CALL(variable[3],COLOR_syntax_base___AMethPropdef___method))(variable[3]) /*AMethPropdef::method*/;
3447 ((syntax_base___AbsSyntaxVisitor___local_property__eq_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq))( variable[1] /*v*/, variable[3]) /*AbsSyntaxVisitor::local_property=*/;
3448 ((mmbuilder___AMethPropdef___accept_abs_syntax_visitor_t)CALL(variable[0],COLOR_SUPER_mmbuilder___AMethPropdef___accept_abs_syntax_visitor))(variable[0], variable[1]) /*super AMethPropdef::accept_abs_syntax_visitor*/;
3449 ((syntax_base___AbsSyntaxVisitor___local_property__eq_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq))( variable[1] /*v*/, NIT_NULL /*null*/) /*AbsSyntaxVisitor::local_property=*/;
3450 return_label101: while(false);
3451 tracehead = trace.prev;
3452 return;
3453 }
3454 val_t mmbuilder___AMethPropdef___method(val_t self) {
3455 struct trace_t trace = {NULL, NULL, 965, LOCATE_mmbuilder___AMethPropdef___method};
3456 val_t *variable = NULL;
3457 void **closurevariable = NULL;
3458 trace.prev = tracehead; tracehead = &trace;
3459 trace.file = LOCATE_mmbuilder;
3460 tracehead = trace.prev;
3461 return ATTR_mmbuilder___AMethPropdef____method( self) /*AMethPropdef::_method*/;
3462 }
3463 void mmbuilder___AMethPropdef___accept_property_builder(val_t self, val_t param0) {
3464 struct trace_t trace = {NULL, NULL, 967, LOCATE_mmbuilder___AMethPropdef___accept_property_builder};
3465 static val_t once_value_103; static int once_bool_103; /* Once value for variable[4]*/
3466 static val_t once_value_104; static int once_bool_104; /* Once value for variable[4]*/
3467 static val_t once_value_105; static int once_bool_105; /* Once value for variable[4]*/
3468 static val_t once_value_106; static int once_bool_106; /* Once value for variable[5]*/
3469 val_t variable[8];
3470 void **closurevariable = NULL;
3471 trace.prev = tracehead; tracehead = &trace;
3472 trace.file = LOCATE_mmbuilder;
3473 variable[0] = self;
3474 variable[1] = param0;
3475 ((mmbuilder___AMethPropdef___accept_property_builder_t)CALL(variable[0],COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_builder))(variable[0], variable[1]) /*super AMethPropdef::accept_property_builder*/;
3476 variable[3] = variable[0];
3477 variable[3] = ((parser_nodes___AMethPropdef___n_methid_t)CALL(variable[3],COLOR_parser_nodes___AMethPropdef___n_methid))(variable[3]) /*AMethPropdef::n_methid*/;
3478 variable[3] = TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))(variable[3], NIT_NULL /*null*/) /*Object::==*/)))));
3479 if (UNTAG_Bool(variable[3])) { /*if*/
3480 variable[3] = variable[0];
3481 variable[3] = TAG_Bool((variable[3]==NIT_NULL) || VAL_ISA(variable[3], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
3482 if (UNTAG_Bool(variable[3])) { /*if*/
3483 variable[3] = variable[0];
3484 if (once_bool_103) variable[4] = once_value_103;
3485 else {
3486 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
3487 variable[4] = ((symbol___String___to_symbol_t)CALL(variable[4],COLOR_symbol___String___to_symbol))(variable[4]) /*String::to_symbol*/;
3488 once_value_103 = variable[4];
3489 once_bool_103 = true;
3490 }
3491 ATTR_mmbuilder___AMethPropdef____name(variable[3]) /*AMethPropdef::_name*/ = variable[4];
3492 } else { /*if*/
3493 variable[3] = variable[0];
3494 if (once_bool_104) variable[4] = once_value_104;
3495 else {
3496 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("main"), TAG_Int(4)); /*new String*/
3497 variable[4] = ((symbol___String___to_symbol_t)CALL(variable[4],COLOR_symbol___String___to_symbol))(variable[4]) /*String::to_symbol*/;
3498 once_value_104 = variable[4];
3499 once_bool_104 = true;
3500 }
3501 ATTR_mmbuilder___AMethPropdef____name(variable[3]) /*AMethPropdef::_name*/ = variable[4];
3502 }
3503 } else { /*if*/
3504 variable[3] = variable[0];
3505 variable[4] = variable[0];
3506 variable[4] = ((parser_nodes___AMethPropdef___n_methid_t)CALL(variable[4],COLOR_parser_nodes___AMethPropdef___n_methid))(variable[4]) /*AMethPropdef::n_methid*/;
3507 variable[4] = ((mmbuilder___PMethid___name_t)CALL(variable[4],COLOR_mmbuilder___PMethid___name))(variable[4]) /*PMethid::name*/;
3508 ATTR_mmbuilder___AMethPropdef____name(variable[3]) /*AMethPropdef::_name*/ = variable[4];
3509 variable[3] = variable[0];
3510 variable[3] = ((parser_nodes___AMethPropdef___n_methid_t)CALL(variable[3],COLOR_parser_nodes___AMethPropdef___n_methid))(variable[3]) /*AMethPropdef::n_methid*/;
3511 variable[3] = ((mmbuilder___PMethid___name_t)CALL(variable[3],COLOR_mmbuilder___PMethid___name))(variable[3]) /*PMethid::name*/;
3512 if (once_bool_105) variable[4] = once_value_105;
3513 else {
3514 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
3515 variable[4] = ((symbol___String___to_symbol_t)CALL(variable[4],COLOR_symbol___String___to_symbol))(variable[4]) /*String::to_symbol*/;
3516 once_value_105 = variable[4];
3517 once_bool_105 = true;
3518 }
3519 variable[3] = TAG_Bool((variable[3] == variable[4]) || ((variable[3] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3],variable[4])):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))(variable[3], variable[4]) /*Object::==*/)))));
3520 if (UNTAG_Bool(variable[3])) { /*if*/
3521 variable[4] = variable[0];
3522 variable[4] = ((parser_nodes___AMethPropdef___n_signature_t)CALL(variable[4],COLOR_parser_nodes___AMethPropdef___n_signature))(variable[4]) /*AMethPropdef::n_signature*/;
3523 variable[3] = variable[4];
3524 variable[4] = TAG_Bool(( variable[3] /*ns*/==NIT_NULL) || VAL_ISA( variable[3] /*ns*/, COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
3525 variable[5] = variable[4];
3526 if (UNTAG_Bool(variable[5])) { /* and */
3527 variable[5] = ((parser_nodes___ASignature___n_params_t)CALL( variable[3] /*ns*/,COLOR_parser_nodes___ASignature___n_params))( variable[3] /*ns*/) /*ASignature::n_params*/;
3528 variable[5] = ((list___List___length_t)CALL(variable[5],COLOR_abstract_collection___Collection___length))(variable[5]) /*List::length*/;
3529 variable[5] = TAG_Bool((variable[5])==( TAG_Int(0)));
3530 }
3531 variable[4] = variable[5];
3532 if (UNTAG_Bool(variable[4])) { /*if*/
3533 variable[4] = variable[0];
3534 if (once_bool_106) variable[5] = once_value_106;
3535 else {
3536 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
3537 variable[5] = ((symbol___String___to_symbol_t)CALL(variable[5],COLOR_symbol___String___to_symbol))(variable[5]) /*String::to_symbol*/;
3538 once_value_106 = variable[5];
3539 once_bool_106 = true;
3540 }
3541 ATTR_mmbuilder___AMethPropdef____name(variable[4]) /*AMethPropdef::_name*/ = variable[5];
3542 }
3543 }
3544 }
3545 variable[4] = variable[0];
3546 variable[4] = ATTR_mmbuilder___AMethPropdef____name(variable[4]) /*AMethPropdef::_name*/;
3547 variable[5] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3548 variable[6] = variable[0];
3549 variable[7] = NEW_MMMethSrcMethod_syntax_base___MMMethSrcMethod___init(variable[4], variable[5], variable[6]); /*new MMMethSrcMethod*/
3550 variable[4] = variable[7];
3551 variable[3] = variable[4];
3552 variable[4] = variable[0];
3553 ATTR_mmbuilder___AMethPropdef____method(variable[4]) /*AMethPropdef::_method*/ = variable[3] /*prop*/;
3554 variable[4] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3555 ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable[4],COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable[4], variable[1] /*v*/, variable[3] /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
3556 return_label102: while(false);
3557 tracehead = trace.prev;
3558 return;
3559 }
3560 void mmbuilder___AMethPropdef___accept_property_verifier(val_t self, val_t param0) {
3561 struct trace_t trace = {NULL, NULL, 991, LOCATE_mmbuilder___AMethPropdef___accept_property_verifier};
3562 val_t variable[7];
3563 void **closurevariable = NULL;
3564 trace.prev = tracehead; tracehead = &trace;
3565 trace.file = LOCATE_mmbuilder;
3566 variable[0] = self;
3567 variable[1] = param0;
3568 variable[3] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init(); /*new SignatureBuilder*/
3569 ((mmbuilder___PropertyVerifierVisitor___signature_builder__eq_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder__eq))( variable[1] /*v*/, variable[3]) /*PropertyVerifierVisitor::signature_builder=*/;
3570 ((mmbuilder___AMethPropdef___accept_property_verifier_t)CALL(variable[0],COLOR_SUPER_mmbuilder___AMethPropdef___accept_property_verifier))(variable[0], variable[1]) /*super AMethPropdef::accept_property_verifier*/;
3571 variable[3] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3572 variable[3] = ((mmbuilder___SignatureBuilder___signature_t)CALL(variable[3],COLOR_mmbuilder___SignatureBuilder___signature))(variable[3]) /*SignatureBuilder::signature*/;
3573 variable[3] = TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))(variable[3], NIT_NULL /*null*/) /*Object::==*/)))));
3574 if (UNTAG_Bool(variable[3])) { /*if*/
3575 } else { /*if*/
3576 variable[3] = variable[0];
3577 variable[3] = ATTR_mmbuilder___AMethPropdef____method(variable[3]) /*AMethPropdef::_method*/;
3578 variable[4] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3579 variable[4] = ((mmbuilder___SignatureBuilder___signature_t)CALL(variable[4],COLOR_mmbuilder___SignatureBuilder___signature))(variable[4]) /*SignatureBuilder::signature*/;
3580 ((static_type___MMLocalProperty___signature__eq_t)CALL(variable[3],COLOR_static_type___MMLocalProperty___signature__eq))(variable[3], variable[4]) /*MMLocalProperty::signature=*/;
3581 }
3582 variable[3] = TAG_Int(1);
3583 variable[4] = variable[0];
3584 variable[4] = ((parser_nodes___AMethPropdef___n_visibility_t)CALL(variable[4],COLOR_parser_nodes___AMethPropdef___n_visibility))(variable[4]) /*AMethPropdef::n_visibility*/;
3585 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
3586 variable[5] = variable[4];
3587 if (UNTAG_Bool(variable[5])) { /* and */
3588 variable[5] = variable[0];
3589 variable[5] = ((parser_nodes___AMethPropdef___n_visibility_t)CALL(variable[5],COLOR_parser_nodes___AMethPropdef___n_visibility))(variable[5]) /*AMethPropdef::n_visibility*/;
3590 variable[5] = ((mmbuilder___PVisibility___level_t)CALL(variable[5],COLOR_mmbuilder___PVisibility___level))(variable[5]) /*PVisibility::level*/;
3591 variable[5] = TAG_Bool(UNTAG_Int(variable[5])>UNTAG_Int( TAG_Int(1)));
3592 }
3593 variable[4] = variable[5];
3594 if (UNTAG_Bool(variable[4])) { /*if*/
3595 variable[4] = variable[0];
3596 variable[4] = ((parser_nodes___AMethPropdef___n_visibility_t)CALL(variable[4],COLOR_parser_nodes___AMethPropdef___n_visibility))(variable[4]) /*AMethPropdef::n_visibility*/;
3597 variable[4] = ((mmbuilder___PVisibility___level_t)CALL(variable[4],COLOR_mmbuilder___PVisibility___level))(variable[4]) /*PVisibility::level*/;
3598 variable[3] = variable[4] /*visibility_level=*/;
3599 }
3600 variable[4] = variable[0];
3601 variable[5] = variable[0];
3602 variable[5] = ATTR_mmbuilder___AMethPropdef____method(variable[5]) /*AMethPropdef::_method*/;
3603 variable[6] = variable[0];
3604 variable[6] = ((parser_nodes___AMethPropdef___n_kwredef_t)CALL(variable[6],COLOR_parser_nodes___AMethPropdef___n_kwredef))(variable[6]) /*AMethPropdef::n_kwredef*/;
3605 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] == NIT_NULL /*null*/) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], NIT_NULL /*null*/) /*Object::==*/)))))));
3606 ((mmbuilder___PPropdef___process_and_check_t)CALL(variable[4],COLOR_mmbuilder___PPropdef___process_and_check))(variable[4], variable[1] /*v*/, variable[5], variable[6], variable[3] /*visibility_level*/) /*PPropdef::process_and_check*/;
3607 variable[4] = variable[0];
3608 variable[4] = ((parser_nodes___AMethPropdef___n_signature_t)CALL(variable[4],COLOR_parser_nodes___AMethPropdef___n_signature))(variable[4]) /*AMethPropdef::n_signature*/;
3609 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
3610 if (UNTAG_Bool(variable[4])) { /*if*/
3611 variable[4] = variable[0];
3612 variable[4] = ((parser_nodes___AMethPropdef___n_signature_t)CALL(variable[4],COLOR_parser_nodes___AMethPropdef___n_signature))(variable[4]) /*AMethPropdef::n_signature*/;
3613 variable[5] = variable[0];
3614 variable[5] = ATTR_mmbuilder___AMethPropdef____method(variable[5]) /*AMethPropdef::_method*/;
3615 ((mmbuilder___PSignature___check_visibility_t)CALL(variable[4],COLOR_mmbuilder___PSignature___check_visibility))(variable[4], variable[1] /*v*/, variable[5]) /*PSignature::check_visibility*/;
3616 }
3617 return_label107: while(false);
3618 tracehead = trace.prev;
3619 return;
3620 }
3621 val_t mmbuilder___AMethPropdef___name(val_t self) {
3622 struct trace_t trace = {NULL, NULL, 962, LOCATE_mmbuilder___AMethPropdef___name};
3623 val_t *variable = NULL;
3624 void **closurevariable = NULL;
3625 trace.prev = tracehead; tracehead = &trace;
3626 trace.file = LOCATE_mmbuilder;
3627 tracehead = trace.prev;
3628 return ATTR_mmbuilder___AMethPropdef____name( self) /*AMethPropdef::_name*/;
3629 }
3630 void mmbuilder___AMainMethPropdef___process_and_check(val_t self, val_t param0, val_t param1, val_t param2, val_t param3) {
3631 struct trace_t trace = {NULL, NULL, 1018, LOCATE_mmbuilder___AMainMethPropdef___process_and_check};
3632 val_t variable[9];
3633 void **closurevariable = NULL;
3634 trace.prev = tracehead; tracehead = &trace;
3635 trace.file = LOCATE_mmbuilder;
3636 variable[0] = self;
3637 variable[1] = param0;
3638 variable[2] = param1;
3639 variable[3] = param2;
3640 variable[4] = param3;
3641 variable[6] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[2] /*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[2] /*prop*/) /*MMLocalProperty::global*/;
3642 ((abstractmetamodel___MMGlobalProperty___visibility_level__eq_t)CALL(variable[6],COLOR_abstractmetamodel___MMGlobalProperty___visibility_level__eq))(variable[6], variable[4] /*visibility_level*/) /*MMGlobalProperty::visibility_level=*/;
3643 variable[6] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
3644 variable[7] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3645 variable[7] = ((genericity___MMLocalClass___get_type_t)CALL(variable[7],COLOR_static_type___MMLocalClass___get_type))(variable[7]) /*MMLocalClass::get_type*/;
3646 variable[8] = NEW_MMSignature_static_type___MMSignature___init(variable[6], NIT_NULL /*null*/, variable[7]); /*new MMSignature*/
3647 variable[6] = variable[8];
3648 ((static_type___MMLocalProperty___signature__eq_t)CALL( variable[2] /*prop*/,COLOR_static_type___MMLocalProperty___signature__eq))( variable[2] /*prop*/, variable[6]) /*MMLocalProperty::signature=*/;
3649 return_label108: while(false);
3650 tracehead = trace.prev;
3651 return;
3652 }
3653 void mmbuilder___ATypePropdef___accept_abs_syntax_visitor(val_t self, val_t param0) {
3654 struct trace_t trace = {NULL, NULL, 1047, LOCATE_mmbuilder___ATypePropdef___accept_abs_syntax_visitor};
3655 val_t variable[4];
3656 void **closurevariable = NULL;
3657 trace.prev = tracehead; tracehead = &trace;
3658 trace.file = LOCATE_mmbuilder;
3659 variable[0] = self;
3660 variable[1] = param0;
3661 variable[3] = variable[0];
3662 variable[3] = ((mmbuilder___ATypePropdef___prop_t)CALL(variable[3],COLOR_syntax_base___ATypePropdef___prop))(variable[3]) /*ATypePropdef::prop*/;
3663 ((syntax_base___AbsSyntaxVisitor___local_property__eq_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq))( variable[1] /*v*/, variable[3]) /*AbsSyntaxVisitor::local_property=*/;
3664 ((mmbuilder___ATypePropdef___accept_abs_syntax_visitor_t)CALL(variable[0],COLOR_SUPER_mmbuilder___ATypePropdef___accept_abs_syntax_visitor))(variable[0], variable[1]) /*super ATypePropdef::accept_abs_syntax_visitor*/;
3665 ((syntax_base___AbsSyntaxVisitor___local_property__eq_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property__eq))( variable[1] /*v*/, NIT_NULL /*null*/) /*AbsSyntaxVisitor::local_property=*/;
3666 return_label109: while(false);
3667 tracehead = trace.prev;
3668 return;
3669 }
3670 val_t mmbuilder___ATypePropdef___prop(val_t self) {
3671 struct trace_t trace = {NULL, NULL, 1027, LOCATE_mmbuilder___ATypePropdef___prop};
3672 val_t *variable = NULL;
3673 void **closurevariable = NULL;
3674 trace.prev = tracehead; tracehead = &trace;
3675 trace.file = LOCATE_mmbuilder;
3676 tracehead = trace.prev;
3677 return ATTR_mmbuilder___ATypePropdef____prop( self) /*ATypePropdef::_prop*/;
3678 }
3679 void mmbuilder___ATypePropdef___accept_property_builder(val_t self, val_t param0) {
3680 struct trace_t trace = {NULL, NULL, 1029, LOCATE_mmbuilder___ATypePropdef___accept_property_builder};
3681 val_t variable[8];
3682 void **closurevariable = NULL;
3683 trace.prev = tracehead; tracehead = &trace;
3684 trace.file = LOCATE_mmbuilder;
3685 variable[0] = self;
3686 variable[1] = param0;
3687 ((mmbuilder___ATypePropdef___accept_property_builder_t)CALL(variable[0],COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_builder))(variable[0], variable[1]) /*super ATypePropdef::accept_property_builder*/;
3688 variable[4] = variable[0];
3689 variable[4] = ((parser_nodes___ATypePropdef___n_id_t)CALL(variable[4],COLOR_parser_nodes___ATypePropdef___n_id))(variable[4]) /*ATypePropdef::n_id*/;
3690 variable[4] = ((syntax_base___Token___to_symbol_t)CALL(variable[4],COLOR_syntax_base___Token___to_symbol))(variable[4]) /*Token::to_symbol*/;
3691 variable[3] = variable[4];
3692 variable[5] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3693 variable[6] = variable[0];
3694 variable[7] = NEW_MMSrcTypeProperty_syntax_base___MMSrcTypeProperty___init( variable[3] /*name*/, variable[5], variable[6]); /*new MMSrcTypeProperty*/
3695 variable[5] = variable[7];
3696 variable[4] = variable[5];
3697 variable[5] = variable[0];
3698 ATTR_mmbuilder___ATypePropdef____prop(variable[5]) /*ATypePropdef::_prop*/ = variable[4] /*prop*/;
3699 variable[5] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3700 ((mmbuilder___MMSrcLocalClass___add_src_local_property_t)CALL(variable[5],COLOR_mmbuilder___MMSrcLocalClass___add_src_local_property))(variable[5], variable[1] /*v*/, variable[4] /*prop*/) /*MMSrcLocalClass::add_src_local_property*/;
3701 return_label110: while(false);
3702 tracehead = trace.prev;
3703 return;
3704 }
3705 void mmbuilder___ATypePropdef___accept_property_verifier(val_t self, val_t param0) {
3706 struct trace_t trace = {NULL, NULL, 1038, LOCATE_mmbuilder___ATypePropdef___accept_property_verifier};
3707 val_t variable[8];
3708 void **closurevariable = NULL;
3709 trace.prev = tracehead; tracehead = &trace;
3710 trace.file = LOCATE_mmbuilder;
3711 variable[0] = self;
3712 variable[1] = param0;
3713 ((mmbuilder___ATypePropdef___accept_property_verifier_t)CALL(variable[0],COLOR_SUPER_mmbuilder___ATypePropdef___accept_property_verifier))(variable[0], variable[1]) /*super ATypePropdef::accept_property_verifier*/;
3714 variable[4] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
3715 variable[5] = variable[0];
3716 variable[5] = ((parser_nodes___ATypePropdef___n_type_t)CALL(variable[5],COLOR_parser_nodes___ATypePropdef___n_type))(variable[5]) /*ATypePropdef::n_type*/;
3717 variable[5] = ((syntax_base___PType___get_stype_t)CALL(variable[5],COLOR_syntax_base___PType___get_stype))(variable[5], variable[1] /*v*/) /*PType::get_stype*/;
3718 variable[6] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3719 variable[6] = ((genericity___MMLocalClass___get_type_t)CALL(variable[6],COLOR_static_type___MMLocalClass___get_type))(variable[6]) /*MMLocalClass::get_type*/;
3720 variable[7] = NEW_MMSignature_static_type___MMSignature___init(variable[4], variable[5], variable[6]); /*new MMSignature*/
3721 variable[4] = variable[7];
3722 variable[3] = variable[4];
3723 variable[4] = variable[0];
3724 variable[4] = ATTR_mmbuilder___ATypePropdef____prop(variable[4]) /*ATypePropdef::_prop*/;
3725 ((static_type___MMLocalProperty___signature__eq_t)CALL(variable[4],COLOR_static_type___MMLocalProperty___signature__eq))(variable[4], variable[3] /*signature*/) /*MMLocalProperty::signature=*/;
3726 variable[5] = variable[0];
3727 variable[5] = ((parser_nodes___ATypePropdef___n_visibility_t)CALL(variable[5],COLOR_parser_nodes___ATypePropdef___n_visibility))(variable[5]) /*ATypePropdef::n_visibility*/;
3728 variable[5] = ((mmbuilder___PVisibility___level_t)CALL(variable[5],COLOR_mmbuilder___PVisibility___level))(variable[5]) /*PVisibility::level*/;
3729 variable[4] = variable[5];
3730 variable[5] = variable[0];
3731 variable[6] = variable[0];
3732 variable[6] = ATTR_mmbuilder___ATypePropdef____prop(variable[6]) /*ATypePropdef::_prop*/;
3733 variable[7] = variable[0];
3734 variable[7] = ((parser_nodes___ATypePropdef___n_kwredef_t)CALL(variable[7],COLOR_parser_nodes___ATypePropdef___n_kwredef))(variable[7]) /*ATypePropdef::n_kwredef*/;
3735 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] == NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[7],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[7],COLOR_kernel___Object_____eqeq))(variable[7], NIT_NULL /*null*/) /*Object::==*/)))))));
3736 ((mmbuilder___PPropdef___process_and_check_t)CALL(variable[5],COLOR_mmbuilder___PPropdef___process_and_check))(variable[5], variable[1] /*v*/, variable[6], variable[7], variable[4] /*visibility_level*/) /*PPropdef::process_and_check*/;
3737 return_label111: while(false);
3738 tracehead = trace.prev;
3739 return;
3740 }
3741 void mmbuilder___MethidAccumulator___visit(val_t self, val_t param0) {
3742 struct trace_t trace = {NULL, NULL, 1059, LOCATE_mmbuilder___MethidAccumulator___visit};
3743 val_t variable[5];
3744 void **closurevariable = NULL;
3745 trace.prev = tracehead; tracehead = &trace;
3746 trace.file = LOCATE_mmbuilder;
3747 variable[0] = self;
3748 variable[1] = param0;
3749 variable[3] = TAG_Bool(( variable[1] /*n*/==NIT_NULL) || VAL_ISA( variable[1] /*n*/, COLOR_Token, ID_Token)) /*cast Token*/;
3750 if (UNTAG_Bool(variable[3])) { /*if*/
3751 variable[3] = variable[0];
3752 variable[3] = ATTR_mmbuilder___MethidAccumulator____name(variable[3]) /*MethidAccumulator::_name*/;
3753 variable[4] = ((lexer___Token___text_t)CALL( variable[1] /*n*/,COLOR_lexer___Token___text))( variable[1] /*n*/) /*Token::text*/;
3754 ((string___String___append_t)CALL(variable[3],COLOR_abstract_collection___IndexedCollection___append))(variable[3], variable[4]) /*String::append*/;
3755 } else { /*if*/
3756 variable[3] = variable[0];
3757 ((parser_prod___PNode___visit_all_t)CALL( variable[1] /*n*/,COLOR_parser_prod___PNode___visit_all))( variable[1] /*n*/, variable[3]) /*PNode::visit_all*/;
3758 }
3759 return_label112: while(false);
3760 tracehead = trace.prev;
3761 return;
3762 }
3763 val_t mmbuilder___MethidAccumulator___name(val_t self) {
3764 struct trace_t trace = {NULL, NULL, 1058, LOCATE_mmbuilder___MethidAccumulator___name};
3765 val_t *variable = NULL;
3766 void **closurevariable = NULL;
3767 trace.prev = tracehead; tracehead = &trace;
3768 trace.file = LOCATE_mmbuilder;
3769 tracehead = trace.prev;
3770 return ATTR_mmbuilder___MethidAccumulator____name( self) /*MethidAccumulator::_name*/;
3771 }
3772 void mmbuilder___MethidAccumulator___init(val_t self, int* init_table) {
3773 struct trace_t trace = {NULL, NULL, 1068, LOCATE_mmbuilder___MethidAccumulator___init};
3774 val_t variable[4];
3775 void **closurevariable = NULL;
3776 trace.prev = tracehead; tracehead = &trace;
3777 trace.file = LOCATE_mmbuilder;
3778 variable[0] = self;
3779 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MethidAccumulator].i]) return;
3780 variable[2] = variable[0];
3781 variable[3] = NEW_String_string___String___init(); /*new String*/
3782 ATTR_mmbuilder___MethidAccumulator____name(variable[2]) /*MethidAccumulator::_name*/ = variable[3];
3783 return_label113: while(false);
3784 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MethidAccumulator].i] = 1;
3785 tracehead = trace.prev;
3786 return;
3787 }
3788 void mmbuilder___PMethid___accept_property_builder(val_t self, val_t param0) {
3789 struct trace_t trace = {NULL, NULL, 1078, LOCATE_mmbuilder___PMethid___accept_property_builder};
3790 val_t variable[6];
3791 void **closurevariable = NULL;
3792 trace.prev = tracehead; tracehead = &trace;
3793 trace.file = LOCATE_mmbuilder;
3794 variable[0] = self;
3795 variable[1] = param0;
3796 variable[4] = NEW_MethidAccumulator_mmbuilder___MethidAccumulator___init(); /*new MethidAccumulator*/
3797 variable[3] = variable[4];
3798 variable[4] = variable[0];
3799 ((mmbuilder___MethidAccumulator___visit_t)CALL( variable[3] /*accumulator*/,COLOR_parser_prod___Visitor___visit))( variable[3] /*accumulator*/, variable[4]) /*MethidAccumulator::visit*/;
3800 variable[4] = variable[0];
3801 variable[5] = ((mmbuilder___MethidAccumulator___name_t)CALL( variable[3] /*accumulator*/,COLOR_mmbuilder___MethidAccumulator___name))( variable[3] /*accumulator*/) /*MethidAccumulator::name*/;
3802 variable[5] = ((symbol___String___to_symbol_t)CALL(variable[5],COLOR_symbol___String___to_symbol))(variable[5]) /*String::to_symbol*/;
3803 ATTR_mmbuilder___PMethid____name(variable[4]) /*PMethid::_name*/ = variable[5];
3804 ((mmbuilder___PMethid___accept_property_builder_t)CALL(variable[0],COLOR_SUPER_mmbuilder___PMethid___accept_property_builder))(variable[0], variable[1]) /*super PMethid::accept_property_builder*/;
3805 return_label114: while(false);
3806 tracehead = trace.prev;
3807 return;
3808 }
3809 val_t mmbuilder___PMethid___name(val_t self) {
3810 struct trace_t trace = {NULL, NULL, 1075, LOCATE_mmbuilder___PMethid___name};
3811 val_t *variable = NULL;
3812 void **closurevariable = NULL;
3813 trace.prev = tracehead; tracehead = &trace;
3814 trace.file = LOCATE_mmbuilder;
3815 tracehead = trace.prev;
3816 return ATTR_mmbuilder___PMethid____name( self) /*PMethid::_name*/;
3817 }
3818 void mmbuilder___PSignature___check_visibility(val_t self, val_t param0, val_t param1) {
3819 struct trace_t trace = {NULL, NULL, 1088, LOCATE_mmbuilder___PSignature___check_visibility};
3820 val_t *variable = NULL;
3821 void **closurevariable = NULL;
3822 trace.prev = tracehead; tracehead = &trace;
3823 trace.file = LOCATE_mmbuilder;
3824 fprintf(stderr, "Deferred method called");
3825 fprintf(stderr, " (%s:%d)\n", LOCATE_mmbuilder, 1088);
3826 nit_exit(1);
3827 tracehead = trace.prev;
3828 return;
3829 }
3830 void mmbuilder___ASignature___accept_property_verifier(val_t self, val_t param0) {
3831 struct trace_t trace = {NULL, NULL, 1093, LOCATE_mmbuilder___ASignature___accept_property_verifier};
3832 val_t variable[10];
3833 void **closurevariable = NULL;
3834 trace.prev = tracehead; tracehead = &trace;
3835 trace.file = LOCATE_mmbuilder;
3836 variable[0] = self;
3837 variable[1] = param0;
3838 ((mmbuilder___ASignature___accept_property_verifier_t)CALL(variable[0],COLOR_SUPER_mmbuilder___ASignature___accept_property_verifier))(variable[0], variable[1]) /*super ASignature::accept_property_verifier*/;
3839 variable[3] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3840 variable[3] = ((mmbuilder___SignatureBuilder___untyped_params_t)CALL(variable[3],COLOR_mmbuilder___SignatureBuilder___untyped_params))(variable[3]) /*SignatureBuilder::untyped_params*/;
3841 variable[3] = ((array___AbstractArray___is_empty_t)CALL(variable[3],COLOR_abstract_collection___Collection___is_empty))(variable[3]) /*AbstractArray::is_empty*/;
3842 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[3])))) { /*if*/
3843 variable[3] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3844 variable[3] = ((mmbuilder___SignatureBuilder___untyped_params_t)CALL(variable[3],COLOR_mmbuilder___SignatureBuilder___untyped_params))(variable[3]) /*SignatureBuilder::untyped_params*/;
3845 variable[3] = ((abstract_collection___IndexedCollection___first_t)CALL(variable[3],COLOR_abstract_collection___Collection___first))(variable[3]) /*IndexedCollection::first*/;
3846 variable[4] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3847 variable[4] = ((mmbuilder___SignatureBuilder___params_t)CALL(variable[4],COLOR_mmbuilder___SignatureBuilder___params))(variable[4]) /*SignatureBuilder::params*/;
3848 variable[4] = ((abstract_collection___IndexedCollection___first_t)CALL(variable[4],COLOR_abstract_collection___Collection___first))(variable[4]) /*IndexedCollection::first*/;
3849 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == variable[4]) || ((variable[3] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3],variable[4])):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))(variable[3], variable[4]) /*Object::==*/)))))));
3850 variable[4] = variable[3];
3851 if (!UNTAG_Bool(variable[4])) { /* or */
3852 variable[4] = variable[0];
3853 variable[4] = ((parser_nodes___ASignature___n_type_t)CALL(variable[4],COLOR_parser_nodes___ASignature___n_type))(variable[4]) /*ASignature::n_type*/;
3854 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
3855 }
3856 variable[3] = variable[4];
3857 if (UNTAG_Bool(variable[3])) { /*if*/
3858 variable[3] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3859 variable[3] = ((mmbuilder___SignatureBuilder___untyped_params_t)CALL(variable[3],COLOR_mmbuilder___SignatureBuilder___untyped_params))(variable[3]) /*SignatureBuilder::untyped_params*/;
3860 variable[3] = ((abstract_collection___IndexedCollection___first_t)CALL(variable[3],COLOR_abstract_collection___Collection___first))(variable[3]) /*IndexedCollection::first*/;
3861 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Syntax error: untyped parameter."), TAG_Int(32)); /*new String*/
3862 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[3], variable[4]) /*AbsSyntaxVisitor::error*/;
3863 goto return_label115;
3864 }
3865 } else { /*if*/
3866 variable[3] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3867 variable[3] = ((mmbuilder___SignatureBuilder___params_t)CALL(variable[3],COLOR_mmbuilder___SignatureBuilder___params))(variable[3]) /*SignatureBuilder::params*/;
3868 variable[3] = ((array___AbstractArray___is_empty_t)CALL(variable[3],COLOR_abstract_collection___Collection___is_empty))(variable[3]) /*AbstractArray::is_empty*/;
3869 variable[3] = TAG_Bool(!UNTAG_Bool(variable[3]));
3870 if (!UNTAG_Bool(variable[3])) { /* or */
3871 variable[3] = variable[0];
3872 variable[3] = ((parser_nodes___ASignature___n_type_t)CALL(variable[3],COLOR_parser_nodes___ASignature___n_type))(variable[3]) /*ASignature::n_type*/;
3873 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))(variable[3], NIT_NULL /*null*/) /*Object::==*/)))))));
3874 }
3875 if (UNTAG_Bool(variable[3])) { /*if*/
3876 variable[4] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
3877 variable[3] = variable[4];
3878 variable[4] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3879 variable[4] = ((mmbuilder___SignatureBuilder___params_t)CALL(variable[4],COLOR_mmbuilder___SignatureBuilder___params))(variable[4]) /*SignatureBuilder::params*/;
3880 variable[4] = ((array___AbstractArray___iterator_t)CALL(variable[4],COLOR_abstract_collection___Collection___iterator))(variable[4]) /*AbstractArray::iterator*/;
3881 while (true) { /*for*/
3882 variable[5] = ((array___ArrayIterator___is_ok_t)CALL(variable[4],COLOR_abstract_collection___Iterator___is_ok))(variable[4]) /*ArrayIterator::is_ok*/;
3883 if (!UNTAG_Bool(variable[5])) break; /*for*/
3884 variable[5] = ((array___ArrayIterator___item_t)CALL(variable[4],COLOR_abstract_collection___Iterator___item))(variable[4]) /*ArrayIterator::item*/;
3885 variable[6] = variable[5];
3886 variable[7] = ((mmbuilder___PParam___stype_t)CALL( variable[6] /*p*/,COLOR_mmbuilder___PParam___stype))( variable[6] /*p*/) /*PParam::stype*/;
3887 ((array___AbstractArray___add_t)CALL( variable[3] /*pars*/,COLOR_abstract_collection___SimpleCollection___add))( variable[3] /*pars*/, variable[7]) /*AbstractArray::add*/;
3888 continue_116: while(0);
3889 ((array___ArrayIterator___next_t)CALL(variable[4],COLOR_abstract_collection___Iterator___next))(variable[4]) /*ArrayIterator::next*/;
3890 }
3891 break_116: while(0);
3892 variable[4] = NIT_NULL /*null*/;
3893 variable[5] = variable[0];
3894 variable[5] = ((parser_nodes___ASignature___n_type_t)CALL(variable[5],COLOR_parser_nodes___ASignature___n_type))(variable[5]) /*ASignature::n_type*/;
3895 variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] == NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))(variable[5], NIT_NULL /*null*/) /*Object::==*/)))))));
3896 if (UNTAG_Bool(variable[5])) { /*if*/
3897 variable[5] = variable[0];
3898 variable[5] = ((parser_nodes___ASignature___n_type_t)CALL(variable[5],COLOR_parser_nodes___ASignature___n_type))(variable[5]) /*ASignature::n_type*/;
3899 variable[5] = ((syntax_base___PType___get_stype_t)CALL(variable[5],COLOR_syntax_base___PType___get_stype))(variable[5], variable[1] /*v*/) /*PType::get_stype*/;
3900 variable[4] = variable[5] /*ret=*/;
3901 }
3902 variable[5] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3903 variable[6] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
3904 variable[6] = ((genericity___MMLocalClass___get_type_t)CALL(variable[6],COLOR_static_type___MMLocalClass___get_type))(variable[6]) /*MMLocalClass::get_type*/;
3905 variable[7] = NEW_MMSignature_static_type___MMSignature___init( variable[3] /*pars*/, variable[4] /*ret*/, variable[6]); /*new MMSignature*/
3906 variable[6] = variable[7];
3907 ((mmbuilder___SignatureBuilder___signature__eq_t)CALL(variable[5],COLOR_mmbuilder___SignatureBuilder___signature__eq))(variable[5], variable[6]) /*SignatureBuilder::signature=*/;
3908 variable[5] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3909 variable[5] = ((mmbuilder___SignatureBuilder___vararg_rank_t)CALL(variable[5],COLOR_mmbuilder___SignatureBuilder___vararg_rank))(variable[5]) /*SignatureBuilder::vararg_rank*/;
3910 variable[5] = TAG_Bool(UNTAG_Int(variable[5])>=UNTAG_Int( TAG_Int(0)));
3911 if (UNTAG_Bool(variable[5])) { /*if*/
3912 variable[5] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3913 variable[5] = ((mmbuilder___SignatureBuilder___signature_t)CALL(variable[5],COLOR_mmbuilder___SignatureBuilder___signature))(variable[5]) /*SignatureBuilder::signature*/;
3914 variable[6] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3915 variable[6] = ((mmbuilder___SignatureBuilder___vararg_rank_t)CALL(variable[6],COLOR_mmbuilder___SignatureBuilder___vararg_rank))(variable[6]) /*SignatureBuilder::vararg_rank*/;
3916 ((vararg___MMSignature___vararg_rank__eq_t)CALL(variable[5],COLOR_vararg___MMSignature___vararg_rank__eq))(variable[5], variable[6]) /*MMSignature::vararg_rank=*/;
3917 }
3918 variable[5] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3919 variable[5] = ((mmbuilder___SignatureBuilder___closure_decls_t)CALL(variable[5],COLOR_mmbuilder___SignatureBuilder___closure_decls))(variable[5]) /*SignatureBuilder::closure_decls*/;
3920 variable[5] = ((array___AbstractArray___iterator_t)CALL(variable[5],COLOR_abstract_collection___Collection___iterator))(variable[5]) /*AbstractArray::iterator*/;
3921 while (true) { /*for*/
3922 variable[6] = ((array___ArrayIterator___is_ok_t)CALL(variable[5],COLOR_abstract_collection___Iterator___is_ok))(variable[5]) /*ArrayIterator::is_ok*/;
3923 if (!UNTAG_Bool(variable[6])) break; /*for*/
3924 variable[6] = ((array___ArrayIterator___item_t)CALL(variable[5],COLOR_abstract_collection___Iterator___item))(variable[5]) /*ArrayIterator::item*/;
3925 variable[7] = variable[6];
3926 variable[8] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
3927 variable[8] = ((mmbuilder___SignatureBuilder___signature_t)CALL(variable[8],COLOR_mmbuilder___SignatureBuilder___signature))(variable[8]) /*SignatureBuilder::signature*/;
3928 variable[8] = ((static_type___MMSignature___closures_t)CALL(variable[8],COLOR_static_type___MMSignature___closures))(variable[8]) /*MMSignature::closures*/;
3929 variable[9] = ((mmbuilder___AClosureDecl___variable_t)CALL( variable[7] /*clos*/,COLOR_syntax_base___PClosureDecl___variable))( variable[7] /*clos*/) /*AClosureDecl::variable*/;
3930 variable[9] = ((syntax_base___ClosureVariable___closure_t)CALL(variable[9],COLOR_syntax_base___ClosureVariable___closure))(variable[9]) /*ClosureVariable::closure*/;
3931 ((array___AbstractArray___add_t)CALL(variable[8],COLOR_abstract_collection___SimpleCollection___add))(variable[8], variable[9]) /*AbstractArray::add*/;
3932 continue_117: while(0);
3933 ((array___ArrayIterator___next_t)CALL(variable[5],COLOR_abstract_collection___Iterator___next))(variable[5]) /*ArrayIterator::next*/;
3934 }
3935 break_117: while(0);
3936 }
3937 }
3938 return_label115: while(false);
3939 tracehead = trace.prev;
3940 return;
3941 }
3942 void mmbuilder___ASignature___check_visibility(val_t self, val_t param0, val_t param1) {
3943 struct trace_t trace = {NULL, NULL, 1120, LOCATE_mmbuilder___ASignature___check_visibility};
3944 val_t variable[8];
3945 void **closurevariable = NULL;
3946 trace.prev = tracehead; tracehead = &trace;
3947 trace.file = LOCATE_mmbuilder;
3948 variable[0] = self;
3949 variable[1] = param0;
3950 variable[2] = param1;
3951 variable[4] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[2] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[2] /*p*/) /*MMLocalProperty::global*/;
3952 variable[4] = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL(variable[4],COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))(variable[4]) /*MMGlobalProperty::visibility_level*/;
3953 variable[4] = TAG_Bool(UNTAG_Int(variable[4])>=UNTAG_Int( TAG_Int(3)));
3954 if (UNTAG_Bool(variable[4])) { /*if*/
3955 goto return_label118;
3956 }
3957 variable[4] = variable[0];
3958 variable[4] = ((parser_nodes___ASignature___n_params_t)CALL(variable[4],COLOR_parser_nodes___ASignature___n_params))(variable[4]) /*ASignature::n_params*/;
3959 variable[4] = ((list___List___iterator_t)CALL(variable[4],COLOR_abstract_collection___Collection___iterator))(variable[4]) /*List::iterator*/;
3960 while (true) { /*for*/
3961 variable[5] = ((list___ListIterator___is_ok_t)CALL(variable[4],COLOR_abstract_collection___Iterator___is_ok))(variable[4]) /*ListIterator::is_ok*/;
3962 if (!UNTAG_Bool(variable[5])) break; /*for*/
3963 variable[5] = ((list___ListIterator___item_t)CALL(variable[4],COLOR_abstract_collection___Iterator___item))(variable[4]) /*ListIterator::item*/;
3964 variable[6] = variable[5];
3965 variable[7] = ((parser_nodes___PParam___n_type_t)CALL( variable[6] /*n*/,COLOR_parser_nodes___PParam___n_type))( variable[6] /*n*/) /*PParam::n_type*/;
3966 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] == NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[7],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[7],COLOR_kernel___Object_____eqeq))(variable[7], NIT_NULL /*null*/) /*Object::==*/)))))));
3967 if (UNTAG_Bool(variable[7])) { /*if*/
3968 variable[7] = ((parser_nodes___PParam___n_type_t)CALL( variable[6] /*n*/,COLOR_parser_nodes___PParam___n_type))( variable[6] /*n*/) /*PParam::n_type*/;
3969 ((mmbuilder___PType___check_visibility_t)CALL(variable[7],COLOR_mmbuilder___PType___check_visibility))(variable[7], variable[1] /*v*/, variable[2] /*p*/) /*PType::check_visibility*/;
3970 }
3971 continue_119: while(0);
3972 ((list___ListIterator___next_t)CALL(variable[4],COLOR_abstract_collection___Iterator___next))(variable[4]) /*ListIterator::next*/;
3973 }
3974 break_119: while(0);
3975 variable[4] = variable[0];
3976 variable[4] = ((parser_nodes___ASignature___n_type_t)CALL(variable[4],COLOR_parser_nodes___ASignature___n_type))(variable[4]) /*ASignature::n_type*/;
3977 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
3978 if (UNTAG_Bool(variable[4])) { /*if*/
3979 variable[4] = variable[0];
3980 variable[4] = ((parser_nodes___ASignature___n_type_t)CALL(variable[4],COLOR_parser_nodes___ASignature___n_type))(variable[4]) /*ASignature::n_type*/;
3981 ((mmbuilder___PType___check_visibility_t)CALL(variable[4],COLOR_mmbuilder___PType___check_visibility))(variable[4], variable[1] /*v*/, variable[2] /*p*/) /*PType::check_visibility*/;
3982 }
3983 return_label118: while(false);
3984 tracehead = trace.prev;
3985 return;
3986 }
3987 val_t mmbuilder___PParam___position(val_t self) {
3988 struct trace_t trace = {NULL, NULL, 1131, LOCATE_mmbuilder___PParam___position};
3989 val_t *variable = NULL;
3990 void **closurevariable = NULL;
3991 trace.prev = tracehead; tracehead = &trace;
3992 trace.file = LOCATE_mmbuilder;
3993 tracehead = trace.prev;
3994 return ATTR_mmbuilder___PParam____position( self) /*PParam::_position*/;
3995 }
3996 val_t mmbuilder___PParam___variable(val_t self) {
3997 struct trace_t trace = {NULL, NULL, 1133, LOCATE_mmbuilder___PParam___variable};
3998 val_t *variable = NULL;
3999 void **closurevariable = NULL;
4000 trace.prev = tracehead; tracehead = &trace;
4001 trace.file = LOCATE_mmbuilder;
4002 tracehead = trace.prev;
4003 return ATTR_mmbuilder___PParam____variable( self) /*PParam::_variable*/;
4004 }
4005 void mmbuilder___PParam___accept_property_verifier(val_t self, val_t param0) {
4006 struct trace_t trace = {NULL, NULL, 1138, LOCATE_mmbuilder___PParam___accept_property_verifier};
4007 val_t variable[9];
4008 void **closurevariable = NULL;
4009 trace.prev = tracehead; tracehead = &trace;
4010 trace.file = LOCATE_mmbuilder;
4011 variable[0] = self;
4012 variable[1] = param0;
4013 ((mmbuilder___PParam___accept_property_verifier_t)CALL(variable[0],COLOR_SUPER_mmbuilder___PParam___accept_property_verifier))(variable[0], variable[1]) /*super PParam::accept_property_verifier*/;
4014 variable[3] = variable[0];
4015 variable[4] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4016 variable[4] = ((mmbuilder___SignatureBuilder___params_t)CALL(variable[4],COLOR_mmbuilder___SignatureBuilder___params))(variable[4]) /*SignatureBuilder::params*/;
4017 variable[4] = ((array___AbstractArray___length_t)CALL(variable[4],COLOR_abstract_collection___Collection___length))(variable[4]) /*AbstractArray::length*/;
4018 ATTR_mmbuilder___PParam____position(variable[3]) /*PParam::_position*/ = variable[4];
4019 variable[3] = variable[0];
4020 variable[4] = variable[0];
4021 variable[4] = ((parser_nodes___PParam___n_id_t)CALL(variable[4],COLOR_parser_nodes___PParam___n_id))(variable[4]) /*PParam::n_id*/;
4022 variable[4] = ((syntax_base___Token___to_symbol_t)CALL(variable[4],COLOR_syntax_base___Token___to_symbol))(variable[4]) /*Token::to_symbol*/;
4023 variable[5] = variable[0];
4024 variable[6] = NEW_ParamVariable_syntax_base___ParamVariable___init(variable[4], variable[5]); /*new ParamVariable*/
4025 variable[4] = variable[6];
4026 ATTR_mmbuilder___PParam____variable(variable[3]) /*PParam::_variable*/ = variable[4];
4027 variable[3] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4028 variable[3] = ((mmbuilder___SignatureBuilder___params_t)CALL(variable[3],COLOR_mmbuilder___SignatureBuilder___params))(variable[3]) /*SignatureBuilder::params*/;
4029 variable[4] = variable[0];
4030 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[4]) /*AbstractArray::add*/;
4031 variable[3] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4032 variable[3] = ((mmbuilder___SignatureBuilder___untyped_params_t)CALL(variable[3],COLOR_mmbuilder___SignatureBuilder___untyped_params))(variable[3]) /*SignatureBuilder::untyped_params*/;
4033 variable[4] = variable[0];
4034 ((array___AbstractArray___add_t)CALL(variable[3],COLOR_abstract_collection___SimpleCollection___add))(variable[3], variable[4]) /*AbstractArray::add*/;
4035 variable[3] = variable[0];
4036 variable[3] = ((parser_nodes___PParam___n_type_t)CALL(variable[3],COLOR_parser_nodes___PParam___n_type))(variable[3]) /*PParam::n_type*/;
4037 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[3],COLOR_kernel___Object_____eqeq))(variable[3], NIT_NULL /*null*/) /*Object::==*/)))))));
4038 if (UNTAG_Bool(variable[3])) { /*if*/
4039 variable[4] = variable[0];
4040 variable[4] = ((parser_nodes___PParam___n_type_t)CALL(variable[4],COLOR_parser_nodes___PParam___n_type))(variable[4]) /*PParam::n_type*/;
4041 variable[4] = ((syntax_base___PType___get_stype_t)CALL(variable[4],COLOR_syntax_base___PType___get_stype))(variable[4], variable[1] /*v*/) /*PType::get_stype*/;
4042 variable[3] = variable[4];
4043 variable[4] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4044 variable[4] = ((mmbuilder___SignatureBuilder___untyped_params_t)CALL(variable[4],COLOR_mmbuilder___SignatureBuilder___untyped_params))(variable[4]) /*SignatureBuilder::untyped_params*/;
4045 variable[4] = ((array___AbstractArray___iterator_t)CALL(variable[4],COLOR_abstract_collection___Collection___iterator))(variable[4]) /*AbstractArray::iterator*/;
4046 while (true) { /*for*/
4047 variable[5] = ((array___ArrayIterator___is_ok_t)CALL(variable[4],COLOR_abstract_collection___Iterator___is_ok))(variable[4]) /*ArrayIterator::is_ok*/;
4048 if (!UNTAG_Bool(variable[5])) break; /*for*/
4049 variable[5] = ((array___ArrayIterator___item_t)CALL(variable[4],COLOR_abstract_collection___Iterator___item))(variable[4]) /*ArrayIterator::item*/;
4050 variable[6] = variable[5];
4051 ((mmbuilder___PParam___stype__eq_t)CALL( variable[6] /*p*/,COLOR_mmbuilder___PParam___stype__eq))( variable[6] /*p*/, variable[3] /*stype*/) /*PParam::stype=*/;
4052 variable[7] = variable[0];
4053 variable[7] = ((mmbuilder___PParam___is_vararg_t)CALL(variable[7],COLOR_mmbuilder___PParam___is_vararg))(variable[7]) /*PParam::is_vararg*/;
4054 if (UNTAG_Bool(variable[7])) { /*if*/
4055 variable[7] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4056 variable[7] = ((mmbuilder___SignatureBuilder___vararg_rank_t)CALL(variable[7],COLOR_mmbuilder___SignatureBuilder___vararg_rank))(variable[7]) /*SignatureBuilder::vararg_rank*/;
4057 variable[8] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
4058 variable[7] = TAG_Bool((variable[7])==(variable[8]));
4059 if (UNTAG_Bool(variable[7])) { /*if*/
4060 variable[7] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4061 variable[8] = ((mmbuilder___PParam___position_t)CALL( variable[6] /*p*/,COLOR_syntax_base___PParam___position))( variable[6] /*p*/) /*PParam::position*/;
4062 ((mmbuilder___SignatureBuilder___vararg_rank__eq_t)CALL(variable[7],COLOR_mmbuilder___SignatureBuilder___vararg_rank__eq))(variable[7], variable[8]) /*SignatureBuilder::vararg_rank=*/;
4063 } else { /*if*/
4064 variable[7] = variable[0];
4065 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Error: A vararg parameter is already defined."), TAG_Int(45)); /*new String*/
4066 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[7], variable[8]) /*AbsSyntaxVisitor::error*/;
4067 }
4068 variable[7] = ((syntax_base___AbsSyntaxVisitor___type_array_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array))( variable[1] /*v*/, variable[3] /*stype*/) /*AbsSyntaxVisitor::type_array*/;
4069 variable[3] = variable[7] /*stype=*/;
4070 }
4071 variable[7] = ((mmbuilder___PParam___variable_t)CALL( variable[6] /*p*/,COLOR_syntax_base___PParam___variable))( variable[6] /*p*/) /*PParam::variable*/;
4072 ((syntax_base___Variable___stype__eq_t)CALL(variable[7],COLOR_syntax_base___Variable___stype__eq))(variable[7], variable[3] /*stype*/) /*Variable::stype=*/;
4073 continue_121: while(0);
4074 ((array___ArrayIterator___next_t)CALL(variable[4],COLOR_abstract_collection___Iterator___next))(variable[4]) /*ArrayIterator::next*/;
4075 }
4076 break_121: while(0);
4077 variable[4] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4078 variable[4] = ((mmbuilder___SignatureBuilder___untyped_params_t)CALL(variable[4],COLOR_mmbuilder___SignatureBuilder___untyped_params))(variable[4]) /*SignatureBuilder::untyped_params*/;
4079 ((array___AbstractArray___clear_t)CALL(variable[4],COLOR_abstract_collection___RemovableCollection___clear))(variable[4]) /*AbstractArray::clear*/;
4080 }
4081 return_label120: while(false);
4082 tracehead = trace.prev;
4083 return;
4084 }
4085 val_t mmbuilder___PParam___stype(val_t self) {
4086 struct trace_t trace = {NULL, NULL, 1135, LOCATE_mmbuilder___PParam___stype};
4087 val_t *variable = NULL;
4088 void **closurevariable = NULL;
4089 trace.prev = tracehead; tracehead = &trace;
4090 trace.file = LOCATE_mmbuilder;
4091 tracehead = trace.prev;
4092 return ATTR_mmbuilder___PParam____stype( self) /*PParam::_stype*/;
4093 }
4094 void mmbuilder___PParam___stype__eq(val_t self, val_t param0) {
4095 struct trace_t trace = {NULL, NULL, 1135, LOCATE_mmbuilder___PParam___stype__eq};
4096 val_t *variable = NULL;
4097 void **closurevariable = NULL;
4098 trace.prev = tracehead; tracehead = &trace;
4099 trace.file = LOCATE_mmbuilder;
4100 ATTR_mmbuilder___PParam____stype( self) /*PParam::_stype*/ = param0;
4101 tracehead = trace.prev;
4102 return;
4103 }
4104 val_t mmbuilder___PParam___is_vararg(val_t self) {
4105 struct trace_t trace = {NULL, NULL, 1163, LOCATE_mmbuilder___PParam___is_vararg};
4106 val_t *variable = NULL;
4107 void **closurevariable = NULL;
4108 trace.prev = tracehead; tracehead = &trace;
4109 trace.file = LOCATE_mmbuilder;
4110 fprintf(stderr, "Deferred method called");
4111 fprintf(stderr, " (%s:%d)\n", LOCATE_mmbuilder, 1163);
4112 nit_exit(1);
4113 tracehead = trace.prev;
4114 return NIT_NULL;
4115 }
4116 val_t mmbuilder___AParam___is_vararg(val_t self) {
4117 struct trace_t trace = {NULL, NULL, 1167, LOCATE_mmbuilder___AParam___is_vararg};
4118 val_t variable[3];
4119 void **closurevariable = NULL;
4120 trace.prev = tracehead; tracehead = &trace;
4121 trace.file = LOCATE_mmbuilder;
4122 variable[0] = self;
4123 variable[2] = variable[0];
4124 variable[2] = ((parser_nodes___AParam___n_dotdotdot_t)CALL(variable[2],COLOR_parser_nodes___AParam___n_dotdotdot))(variable[2]) /*AParam::n_dotdotdot*/;
4125 variable[2] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[2] == NIT_NULL /*null*/) || ((variable[2] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[2],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[2], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[2],COLOR_kernel___Object_____eqeq))(variable[2], NIT_NULL /*null*/) /*Object::==*/)))))));
4126 variable[1] = variable[2];
4127 goto return_label122;
4128 return_label122: while(false);
4129 tracehead = trace.prev;
4130 return variable[1];
4131 }
4132 val_t mmbuilder___AClosureDecl___variable(val_t self) {
4133 struct trace_t trace = {NULL, NULL, 1171, LOCATE_mmbuilder___AClosureDecl___variable};
4134 val_t *variable = NULL;
4135 void **closurevariable = NULL;
4136 trace.prev = tracehead; tracehead = &trace;
4137 trace.file = LOCATE_mmbuilder;
4138 tracehead = trace.prev;
4139 return ATTR_mmbuilder___AClosureDecl____variable( self) /*AClosureDecl::_variable*/;
4140 }
4141 void mmbuilder___AClosureDecl___accept_property_verifier(val_t self, val_t param0) {
4142 struct trace_t trace = {NULL, NULL, 1173, LOCATE_mmbuilder___AClosureDecl___accept_property_verifier};
4143 val_t variable[12];
4144 void **closurevariable = NULL;
4145 trace.prev = tracehead; tracehead = &trace;
4146 trace.file = LOCATE_mmbuilder;
4147 variable[0] = self;
4148 variable[1] = param0;
4149 variable[4] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4150 variable[3] = variable[4];
4151 variable[4] = NEW_SignatureBuilder_mmbuilder___SignatureBuilder___init(); /*new SignatureBuilder*/
4152 ((mmbuilder___PropertyVerifierVisitor___signature_builder__eq_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder__eq))( variable[1] /*v*/, variable[4]) /*PropertyVerifierVisitor::signature_builder=*/;
4153 ((mmbuilder___AClosureDecl___accept_property_verifier_t)CALL(variable[0],COLOR_SUPER_mmbuilder___AClosureDecl___accept_property_verifier))(variable[0], variable[1]) /*super AClosureDecl::accept_property_verifier*/;
4154 variable[5] = ((mmbuilder___PropertyVerifierVisitor___signature_builder_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder))( variable[1] /*v*/) /*PropertyVerifierVisitor::signature_builder*/;
4155 variable[5] = ((mmbuilder___SignatureBuilder___signature_t)CALL(variable[5],COLOR_mmbuilder___SignatureBuilder___signature))(variable[5]) /*SignatureBuilder::signature*/;
4156 variable[4] = variable[5];
4157 variable[5] = TAG_Bool(( variable[4] /*sig*/ == NIT_NULL /*null*/) || (( variable[4] /*sig*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[4] /*sig*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[4] /*sig*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[4] /*sig*/,COLOR_kernel___Object_____eqeq))( variable[4] /*sig*/, NIT_NULL /*null*/) /*Object::==*/)))));
4158 if (UNTAG_Bool(variable[5])) { /*if*/
4159 variable[5] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
4160 variable[6] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
4161 variable[6] = ((genericity___MMLocalClass___get_type_t)CALL(variable[6],COLOR_static_type___MMLocalClass___get_type))(variable[6]) /*MMLocalClass::get_type*/;
4162 variable[7] = NEW_MMSignature_static_type___MMSignature___init(variable[5], NIT_NULL /*null*/, variable[6]); /*new MMSignature*/
4163 variable[5] = variable[7];
4164 variable[4] = variable[5] /*sig=*/;
4165 }
4166 variable[5] = ((static_type___MMSignature___return_type_t)CALL( variable[4] /*sig*/,COLOR_static_type___MMSignature___return_type))( variable[4] /*sig*/) /*MMSignature::return_type*/;
4167 variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] == NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[5],COLOR_kernel___Object_____eqeq))(variable[5], NIT_NULL /*null*/) /*Object::==*/)))))));
4168 variable[6] = variable[5];
4169 if (UNTAG_Bool(variable[6])) { /* and */
4170 variable[6] = variable[0];
4171 variable[6] = ((parser_nodes___AClosureDecl___n_kwbreak_t)CALL(variable[6],COLOR_parser_nodes___AClosureDecl___n_kwbreak))(variable[6]) /*AClosureDecl::n_kwbreak*/;
4172 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] == NIT_NULL /*null*/) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], NIT_NULL /*null*/) /*Object::==*/)))))));
4173 }
4174 variable[5] = variable[6];
4175 if (UNTAG_Bool(variable[5])) { /*if*/
4176 variable[5] = variable[0];
4177 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*/
4178 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[5], variable[6]) /*AbsSyntaxVisitor::error*/;
4179 }
4180 variable[6] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
4181 variable[7] = NEW_MMSignature_static_type___MMSignature___init(variable[6], NIT_NULL /*null*/, NIT_NULL /*null*/); /*new MMSignature*/
4182 variable[6] = variable[7];
4183 variable[5] = variable[6];
4184 variable[7] = NEW_MMClosure_static_type___MMClosure___init( variable[5] /*finalize_sig*/, TAG_Bool(false), TAG_Bool(true)); /*new MMClosure*/
4185 variable[6] = variable[7];
4186 variable[7] = ((static_type___MMSignature___closures_t)CALL( variable[4] /*sig*/,COLOR_static_type___MMSignature___closures))( variable[4] /*sig*/) /*MMSignature::closures*/;
4187 ((array___AbstractArray___add_t)CALL(variable[7],COLOR_abstract_collection___SimpleCollection___add))(variable[7], variable[6] /*finalizer_clos*/) /*AbstractArray::add*/;
4188 variable[8] = variable[0];
4189 variable[8] = ((parser_nodes___AClosureDecl___n_kwbreak_t)CALL(variable[8],COLOR_parser_nodes___AClosureDecl___n_kwbreak))(variable[8]) /*AClosureDecl::n_kwbreak*/;
4190 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[8],COLOR_kernel___Object_____eqeq))(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
4191 variable[9] = variable[0];
4192 variable[9] = ((parser_nodes___AClosureDecl___n_expr_t)CALL(variable[9],COLOR_parser_nodes___AClosureDecl___n_expr))(variable[9]) /*AClosureDecl::n_expr*/;
4193 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[9] == NIT_NULL /*null*/) || ((variable[9] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[9],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[9], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[9],COLOR_kernel___Object_____eqeq))(variable[9], NIT_NULL /*null*/) /*Object::==*/)))))));
4194 variable[10] = NEW_MMClosure_static_type___MMClosure___init( variable[4] /*sig*/, variable[8], variable[9]); /*new MMClosure*/
4195 variable[8] = variable[10];
4196 variable[7] = variable[8];
4197 ((mmbuilder___PropertyVerifierVisitor___signature_builder__eq_t)CALL( variable[1] /*v*/,COLOR_mmbuilder___PropertyVerifierVisitor___signature_builder__eq))( variable[1] /*v*/, variable[3] /*old_signature_builder*/) /*PropertyVerifierVisitor::signature_builder=*/;
4198 variable[8] = ((mmbuilder___SignatureBuilder___closure_decls_t)CALL( variable[3] /*old_signature_builder*/,COLOR_mmbuilder___SignatureBuilder___closure_decls))( variable[3] /*old_signature_builder*/) /*SignatureBuilder::closure_decls*/;
4199 variable[9] = variable[0];
4200 ((array___AbstractArray___add_t)CALL(variable[8],COLOR_abstract_collection___SimpleCollection___add))(variable[8], variable[9]) /*AbstractArray::add*/;
4201 variable[8] = variable[0];
4202 variable[9] = variable[0];
4203 variable[9] = ((parser_nodes___AClosureDecl___n_id_t)CALL(variable[9],COLOR_parser_nodes___AClosureDecl___n_id))(variable[9]) /*AClosureDecl::n_id*/;
4204 variable[9] = ((syntax_base___Token___to_symbol_t)CALL(variable[9],COLOR_syntax_base___Token___to_symbol))(variable[9]) /*Token::to_symbol*/;
4205 variable[10] = variable[0];
4206 variable[11] = NEW_ClosureVariable_syntax_base___ClosureVariable___init(variable[9], variable[10], variable[7] /*clos*/); /*new ClosureVariable*/
4207 variable[9] = variable[11];
4208 ATTR_mmbuilder___AClosureDecl____variable(variable[8]) /*AClosureDecl::_variable*/ = variable[9];
4209 return_label123: while(false);
4210 tracehead = trace.prev;
4211 return;
4212 }
4213 void mmbuilder___PType___check_visibility(val_t self, val_t param0, val_t param1) {
4214 struct trace_t trace = {NULL, NULL, 1199, LOCATE_mmbuilder___PType___check_visibility};
4215 val_t *variable = NULL;
4216 void **closurevariable = NULL;
4217 trace.prev = tracehead; tracehead = &trace;
4218 trace.file = LOCATE_mmbuilder;
4219 fprintf(stderr, "Deferred method called");
4220 fprintf(stderr, " (%s:%d)\n", LOCATE_mmbuilder, 1199);
4221 nit_exit(1);
4222 tracehead = trace.prev;
4223 return;
4224 }
4225 void mmbuilder___AType___check_visibility(val_t self, val_t param0, val_t param1) {
4226 struct trace_t trace = {NULL, NULL, 1204, LOCATE_mmbuilder___AType___check_visibility};
4227 val_t variable[16];
4228 void **closurevariable = NULL;
4229 trace.prev = tracehead; tracehead = &trace;
4230 trace.file = LOCATE_mmbuilder;
4231 variable[0] = self;
4232 variable[1] = param0;
4233 variable[2] = param1;
4234 variable[4] = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable[2] /*p*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable[2] /*p*/) /*MMLocalProperty::global*/;
4235 variable[4] = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL(variable[4],COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))(variable[4]) /*MMGlobalProperty::visibility_level*/;
4236 variable[4] = TAG_Bool(UNTAG_Int(variable[4])>=UNTAG_Int( TAG_Int(3)));
4237 if (UNTAG_Bool(variable[4])) { /*if*/
4238 goto return_label124;
4239 }
4240 variable[5] = variable[0];
4241 variable[5] = ((syntax_base___AType___get_stype_t)CALL(variable[5],COLOR_syntax_base___PType___get_stype))(variable[5], variable[1] /*v*/) /*AType::get_stype*/;
4242 variable[4] = variable[5];
4243 variable[5] = TAG_Bool(( variable[4] /*t*/ == NIT_NULL /*null*/) || (( variable[4] /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[4] /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[4] /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[4] /*t*/,COLOR_kernel___Object_____eqeq))( variable[4] /*t*/, NIT_NULL /*null*/) /*Object::==*/)))));
4244 if (UNTAG_Bool(variable[5])) { /*if*/
4245 goto return_label124;
4246 }
4247 variable[6] = ((static_type___MMType___local_class_t)CALL( variable[4] /*t*/,COLOR_static_type___MMType___local_class))( variable[4] /*t*/) /*MMType::local_class*/;
4248 variable[5] = variable[6];
4249 variable[6] = TAG_Bool(( variable[5] /*bc*/ == NIT_NULL /*null*/) || (( variable[5] /*bc*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[5] /*bc*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*bc*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[5] /*bc*/,COLOR_kernel___Object_____eqeq))( variable[5] /*bc*/, NIT_NULL /*null*/) /*Object::==*/)))));
4250 if (UNTAG_Bool(variable[6])) { /*if*/
4251 goto return_label124;
4252 }
4253 variable[6] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[5] /*bc*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[5] /*bc*/) /*MMLocalClass::global*/;
4254 variable[6] = ((abstractmetamodel___MMGlobalClass___visibility_level_t)CALL(variable[6],COLOR_abstractmetamodel___MMGlobalClass___visibility_level))(variable[6]) /*MMGlobalClass::visibility_level*/;
4255 variable[6] = TAG_Bool(UNTAG_Int(variable[6])>=UNTAG_Int( TAG_Int(3)));
4256 if (UNTAG_Bool(variable[6])) { /*if*/
4257 variable[6] = variable[0];
4258 variable[7] = NEW_String_string___String___init(); /*new String*/
4259 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Access error: Class "), TAG_Int(20)); /*new String*/
4260 variable[9] = variable[8];
4261 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
4262 variable[10] = variable[5] /*bc*/;
4263 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
4264 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[10]) /*String::append*/;
4265 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*/
4266 variable[12] = variable[11];
4267 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[12]) /*String::append*/;
4268 variable[13] = variable[2] /*p*/;
4269 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
4270 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[13]) /*String::append*/;
4271 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
4272 variable[15] = variable[14];
4273 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[15]) /*String::append*/;
4274 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[6], variable[7]) /*AbsSyntaxVisitor::error*/;
4275 }
4276 variable[6] = variable[0];
4277 variable[6] = ((parser_nodes___AType___n_types_t)CALL(variable[6],COLOR_parser_nodes___AType___n_types))(variable[6]) /*AType::n_types*/;
4278 variable[6] = ((list___List___iterator_t)CALL(variable[6],COLOR_abstract_collection___Collection___iterator))(variable[6]) /*List::iterator*/;
4279 while (true) { /*for*/
4280 variable[7] = ((list___ListIterator___is_ok_t)CALL(variable[6],COLOR_abstract_collection___Iterator___is_ok))(variable[6]) /*ListIterator::is_ok*/;
4281 if (!UNTAG_Bool(variable[7])) break; /*for*/
4282 variable[7] = ((list___ListIterator___item_t)CALL(variable[6],COLOR_abstract_collection___Iterator___item))(variable[6]) /*ListIterator::item*/;
4283 variable[8] = variable[7];
4284 ((mmbuilder___PType___check_visibility_t)CALL( variable[8] /*n*/,COLOR_mmbuilder___PType___check_visibility))( variable[8] /*n*/, variable[1] /*v*/, variable[2] /*p*/) /*PType::check_visibility*/;
4285 continue_125: while(0);
4286 ((list___ListIterator___next_t)CALL(variable[6],COLOR_abstract_collection___Iterator___next))(variable[6]) /*ListIterator::next*/;
4287 }
4288 break_125: while(0);
4289 return_label124: while(false);
4290 tracehead = trace.prev;
4291 return;
4292 }
4293 void mmbuilder___PExpr___accept_class_builder(val_t self, val_t param0) {
4294 struct trace_t trace = {NULL, NULL, 1221, LOCATE_mmbuilder___PExpr___accept_class_builder};
4295 val_t variable[3];
4296 void **closurevariable = NULL;
4297 trace.prev = tracehead; tracehead = &trace;
4298 trace.file = LOCATE_mmbuilder;
4299 variable[0] = self;
4300 variable[1] = param0;
4301 return_label126: while(false);
4302 tracehead = trace.prev;
4303 return;
4304 }
4305 void mmbuilder___PExpr___accept_property_builder(val_t self, val_t param0) {
4306 struct trace_t trace = {NULL, NULL, 1222, LOCATE_mmbuilder___PExpr___accept_property_builder};
4307 val_t variable[3];
4308 void **closurevariable = NULL;
4309 trace.prev = tracehead; tracehead = &trace;
4310 trace.file = LOCATE_mmbuilder;
4311 variable[0] = self;
4312 variable[1] = param0;
4313 return_label127: while(false);
4314 tracehead = trace.prev;
4315 return;
4316 }
4317 void mmbuilder___PExpr___accept_property_verifier(val_t self, val_t param0) {
4318 struct trace_t trace = {NULL, NULL, 1223, LOCATE_mmbuilder___PExpr___accept_property_verifier};
4319 val_t variable[3];
4320 void **closurevariable = NULL;
4321 trace.prev = tracehead; tracehead = &trace;
4322 trace.file = LOCATE_mmbuilder;
4323 variable[0] = self;
4324 variable[1] = param0;
4325 return_label128: while(false);
4326 tracehead = trace.prev;
4327 return;
4328 }