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