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