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