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