New c_src (with reduced string pool and simplified building)
[nit.git] / c_src / syntax_base._sep.c
1 /* This C file is generated by NIT to compile module syntax_base. */
2 #include "syntax_base._sep.h"
3 val_t syntax_base___MMSrcModule___node(val_t self) {
4 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcModule___node, 26};
5 trace.prev = tracehead; tracehead = &trace;
6 tracehead = trace.prev;
7 return ATTR_syntax_base___MMSrcModule____node( self) /*MMSrcModule::_node*/;
8 }
9 val_t syntax_base___MMSrcModule___src_local_classes(val_t self) {
10 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcModule___src_local_classes, 29};
11 trace.prev = tracehead; tracehead = &trace;
12 tracehead = trace.prev;
13 return ATTR_syntax_base___MMSrcModule____src_local_classes( self) /*MMSrcModule::_src_local_classes*/;
14 }
15 void syntax_base___MMSrcModule___init(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
16 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcModule___init, 32};
17 val_t variable0;
18 val_t variable1;
19 val_t variable2;
20 val_t variable3;
21 val_t variable4;
22 trace.prev = tracehead; tracehead = &trace;
23 variable0 = param0;
24 variable1 = param1;
25 variable2 = param2;
26 variable3 = param3;
27 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcModule].i]) return;
28 ((abstractmetamodel___MMModule___init_t)CALL( self,COLOR_abstractmetamodel___MMModule___init))( self, variable3 /*name*/, variable2 /*dir*/, variable0 /*c*/, init_table /*YYY*/) /*MMModule::init*/;
29 ATTR_syntax_base___MMSrcModule____node( self) /*MMSrcModule::_node*/ = variable1 /*source*/;
30 variable4 = NEW_hash___HashMap___init(); /*new HashMap[Symbol, MMSrcLocalClass]*/
31 ATTR_syntax_base___MMSrcModule____src_local_classes( self) /*MMSrcModule::_src_local_classes*/ = variable4;
32 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcModule].i] = 1;
33 tracehead = trace.prev;
34 return;
35 }
36 val_t syntax_base___MMGlobalClass___check_visibility(val_t self, val_t param0, val_t param1, val_t param2) {
37 struct trace_t trace = {NULL, LOCATE_syntax_base___MMGlobalClass___check_visibility, 41};
38 val_t variable0;
39 val_t variable1;
40 val_t variable2;
41 val_t variable3;
42 val_t variable4;
43 val_t variable5;
44 val_t variable6;
45 val_t variable7;
46 val_t variable8;
47 val_t variable9;
48 val_t variable10;
49 val_t variable11;
50 val_t variable12;
51 val_t variable13;
52 trace.prev = tracehead; tracehead = &trace;
53 variable0 = param0;
54 variable1 = param1;
55 variable2 = param2;
56 variable4 = ((abstractmetamodel___MMGlobalClass___intro_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___intro))( self) /*MMGlobalClass::intro*/;
57 variable4 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___module))(variable4) /*MMLocalClass::module*/;
58 variable3 = variable4;
59 variable4 = TAG_Bool(( variable3 /*pm*/==NIT_NULL) || VAL_ISA( variable3 /*pm*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
60 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_syntax_base___MMGlobalClass___check_visibility, 44); nit_exit(1);}
61 variable5 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( variable2 /*cm*/,COLOR_abstractmetamodel___MMModule___visibility_for))( variable2 /*cm*/, variable3 /*pm*/) /*MMSrcModule::visibility_for*/;
62 variable4 = variable5;
63 variable5 = TAG_Bool(( variable4 /*vpm*/)==( TAG_Int(3)));
64 if (UNTAG_Bool(variable5)) { /*if*/
65 variable3 = TAG_Bool(true);
66 goto return_label1;
67 } else { /*if*/
68 variable5 = TAG_Bool(( variable4 /*vpm*/)==( TAG_Int(0)));
69 if (UNTAG_Bool(variable5)) { /*if*/
70 variable5 = NEW_string___String___init(); /*new String*/
71 variable6 = NEW_string___String___with_native(BOX_NativeString("Visibility error: Class "), TAG_Int(24)); /*new String*/
72 variable7 = variable6;
73 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
74 variable8 = self;
75 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
76 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
77 variable9 = NEW_string___String___with_native(BOX_NativeString(" comes from the hidden module "), TAG_Int(30)); /*new String*/
78 variable10 = variable9;
79 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
80 variable11 = variable2 /*cm*/;
81 variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
82 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
83 variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
84 variable13 = variable12;
85 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
86 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable1 /*n*/, variable5) /*AbsSyntaxVisitor::error*/;
87 variable3 = TAG_Bool(false);
88 goto return_label1;
89 } else { /*if*/
90 variable5 = ((abstractmetamodel___MMGlobalClass___visibility_level_t)CALL( self,COLOR_abstractmetamodel___MMGlobalClass___visibility_level))( self) /*MMGlobalClass::visibility_level*/;
91 variable5 = TAG_Bool(UNTAG_Int(variable5)>=UNTAG_Int( TAG_Int(3)));
92 if (UNTAG_Bool(variable5)) { /*if*/
93 variable5 = NEW_string___String___init(); /*new String*/
94 variable6 = NEW_string___String___with_native(BOX_NativeString("Visibility error: Class "), TAG_Int(24)); /*new String*/
95 variable7 = variable6;
96 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
97 variable8 = self;
98 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
99 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
100 variable9 = NEW_string___String___with_native(BOX_NativeString(" is private."), TAG_Int(12)); /*new String*/
101 variable10 = variable9;
102 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
103 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable1 /*n*/, variable5) /*AbsSyntaxVisitor::error*/;
104 variable3 = TAG_Bool(false);
105 goto return_label1;
106 }
107 }
108 }
109 variable3 = TAG_Bool(true);
110 goto return_label1;
111 return_label1: while(false);
112 tracehead = trace.prev;
113 return variable3;
114 }
115 val_t syntax_base___MMSrcLocalClass___nodes(val_t self) {
116 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalClass___nodes, 62};
117 trace.prev = tracehead; tracehead = &trace;
118 tracehead = trace.prev;
119 return ATTR_syntax_base___MMSrcLocalClass____nodes( self) /*MMSrcLocalClass::_nodes*/;
120 }
121 val_t syntax_base___MMSrcLocalClass___formal_dict(val_t self) {
122 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalClass___formal_dict, 65};
123 trace.prev = tracehead; tracehead = &trace;
124 tracehead = trace.prev;
125 return ATTR_syntax_base___MMSrcLocalClass____formal_dict( self) /*MMSrcLocalClass::_formal_dict*/;
126 }
127 void syntax_base___MMSrcLocalClass___formal_dict__eq(val_t self, val_t param0) {
128 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalClass___formal_dict__eq, 65};
129 trace.prev = tracehead; tracehead = &trace;
130 ATTR_syntax_base___MMSrcLocalClass____formal_dict( self) /*MMSrcLocalClass::_formal_dict*/ = param0;
131 tracehead = trace.prev;
132 return;
133 }
134 val_t syntax_base___MMSrcLocalClass___src_local_properties(val_t self) {
135 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalClass___src_local_properties, 68};
136 trace.prev = tracehead; tracehead = &trace;
137 tracehead = trace.prev;
138 return ATTR_syntax_base___MMSrcLocalClass____src_local_properties( self) /*MMSrcLocalClass::_src_local_properties*/;
139 }
140 void syntax_base___MMSrcLocalClass___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
141 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalClass___init, 71};
142 val_t variable0;
143 val_t variable1;
144 val_t variable2;
145 val_t variable3;
146 trace.prev = tracehead; tracehead = &trace;
147 variable0 = param0;
148 variable1 = param1;
149 variable2 = param2;
150 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcLocalClass].i]) return;
151 ((abstractmetamodel___MMLocalClass___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalClass___init))( self, variable0 /*n*/, variable2 /*a*/, init_table /*YYY*/) /*MMLocalClass::init*/;
152 variable3 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[PClassdef]*/
153 ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable1 /*cla*/) /*Array::add*/;
154 ATTR_syntax_base___MMSrcLocalClass____nodes( self) /*MMSrcLocalClass::_nodes*/ = variable3;
155 variable3 = NEW_hash___HashMap___init(); /*new HashMap[Symbol, MMSrcLocalProperty]*/
156 ATTR_syntax_base___MMSrcLocalClass____src_local_properties( self) /*MMSrcLocalClass::_src_local_properties*/ = variable3;
157 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcLocalClass].i] = 1;
158 tracehead = trace.prev;
159 return;
160 }
161 val_t syntax_base___MMGlobalProperty___check_visibility(val_t self, val_t param0, val_t param1, val_t param2, val_t param3) {
162 struct trace_t trace = {NULL, LOCATE_syntax_base___MMGlobalProperty___check_visibility, 80};
163 val_t variable0;
164 val_t variable1;
165 val_t variable2;
166 val_t variable3;
167 val_t variable4;
168 val_t variable5;
169 val_t variable6;
170 val_t variable7;
171 val_t variable8;
172 val_t variable9;
173 val_t variable10;
174 val_t variable11;
175 val_t variable12;
176 val_t variable13;
177 val_t variable14;
178 trace.prev = tracehead; tracehead = &trace;
179 variable0 = param0;
180 variable1 = param1;
181 variable2 = param2;
182 variable3 = param3;
183 variable5 = ((abstractmetamodel___MMGlobalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___local_class))( self) /*MMGlobalProperty::local_class*/;
184 variable5 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable5,COLOR_abstractmetamodel___MMLocalClass___module))(variable5) /*MMLocalClass::module*/;
185 variable4 = variable5;
186 variable5 = TAG_Bool(( variable4 /*pm*/==NIT_NULL) || VAL_ISA( variable4 /*pm*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
187 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_syntax_base___MMGlobalProperty___check_visibility, 83); nit_exit(1);}
188 variable6 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( variable2 /*cm*/,COLOR_abstractmetamodel___MMModule___visibility_for))( variable2 /*cm*/, variable4 /*pm*/) /*MMSrcModule::visibility_for*/;
189 variable5 = variable6;
190 variable6 = TAG_Bool(( variable5 /*vpm*/)==( TAG_Int(3)));
191 if (UNTAG_Bool(variable6)) { /*if*/
192 variable4 = TAG_Bool(true);
193 goto return_label3;
194 } else { /*if*/
195 variable6 = TAG_Bool(( variable5 /*vpm*/)==( TAG_Int(0)));
196 if (UNTAG_Bool(variable6)) { /*if*/
197 variable6 = NEW_string___String___init(); /*new String*/
198 variable7 = NEW_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
199 variable8 = variable7;
200 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
201 variable9 = self;
202 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
203 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
204 variable10 = NEW_string___String___with_native(BOX_NativeString(" comes from the hidden module "), TAG_Int(30)); /*new String*/
205 variable11 = variable10;
206 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
207 variable12 = variable2 /*cm*/;
208 variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
209 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
210 variable13 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
211 variable14 = variable13;
212 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
213 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable1 /*n*/, variable6) /*AbsSyntaxVisitor::error*/;
214 variable4 = TAG_Bool(false);
215 goto return_label3;
216 } else { /*if*/
217 variable6 = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))( self) /*MMGlobalProperty::visibility_level*/;
218 variable6 = TAG_Bool(UNTAG_Int(variable6)>=UNTAG_Int( TAG_Int(3)));
219 if (UNTAG_Bool(variable6)) { /*if*/
220 variable6 = NEW_string___String___init(); /*new String*/
221 variable7 = NEW_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
222 variable8 = variable7;
223 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
224 variable9 = self;
225 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
226 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
227 variable10 = NEW_string___String___with_native(BOX_NativeString(" is private."), TAG_Int(12)); /*new String*/
228 variable11 = variable10;
229 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
230 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable1 /*n*/, variable6) /*AbsSyntaxVisitor::error*/;
231 variable4 = TAG_Bool(false);
232 goto return_label3;
233 } else { /*if*/
234 variable6 = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL( self,COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))( self) /*MMGlobalProperty::visibility_level*/;
235 variable6 = TAG_Bool(UNTAG_Int(variable6)>=UNTAG_Int( TAG_Int(2)));
236 variable7 = variable6;
237 if (UNTAG_Bool(variable7)) { /* and */
238 variable7 = TAG_Bool(!UNTAG_Bool( variable3 /*allows_protected*/));
239 }
240 variable6 = variable7;
241 if (UNTAG_Bool(variable6)) { /*if*/
242 variable6 = NEW_string___String___init(); /*new String*/
243 variable7 = NEW_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
244 variable8 = variable7;
245 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
246 variable9 = self;
247 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
248 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
249 variable10 = NEW_string___String___with_native(BOX_NativeString(" is protected and can only acceded by self."), TAG_Int(43)); /*new String*/
250 variable11 = variable10;
251 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
252 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable1 /*n*/, variable6) /*AbsSyntaxVisitor::error*/;
253 variable4 = TAG_Bool(false);
254 goto return_label3;
255 }
256 }
257 }
258 }
259 variable4 = TAG_Bool(true);
260 goto return_label3;
261 return_label3: while(false);
262 tracehead = trace.prev;
263 return variable4;
264 }
265 val_t syntax_base___MMSrcLocalProperty___node(val_t self) {
266 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcLocalProperty___node, 108};
267 trace.prev = tracehead; tracehead = &trace;
268 tracehead = trace.prev;
269 return ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMSrcLocalProperty::_node*/;
270 }
271 void syntax_base___MMSrcAttribute___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
272 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcAttribute___init, 116};
273 val_t variable0;
274 val_t variable1;
275 val_t variable2;
276 trace.prev = tracehead; tracehead = &trace;
277 variable0 = param0;
278 variable1 = param1;
279 variable2 = param2;
280 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcAttribute].i]) return;
281 ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable0 /*name*/, variable1 /*cla*/, self, init_table /*YYY*/) /*MMLocalProperty::init*/;
282 ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMSrcAttribute::_node*/ = variable2 /*n*/;
283 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcAttribute].i] = 1;
284 tracehead = trace.prev;
285 return;
286 }
287 void syntax_base___MMReadImplementationMethod___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
288 struct trace_t trace = {NULL, LOCATE_syntax_base___MMReadImplementationMethod___init, 139};
289 val_t variable0;
290 val_t variable1;
291 val_t variable2;
292 trace.prev = tracehead; tracehead = &trace;
293 variable0 = param0;
294 variable1 = param1;
295 variable2 = param2;
296 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMReadImplementationMethod].i]) return;
297 ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable0 /*name*/, variable1 /*cla*/, self, init_table /*YYY*/) /*MMLocalProperty::init*/;
298 ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMReadImplementationMethod::_node*/ = variable2 /*n*/;
299 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMReadImplementationMethod].i] = 1;
300 tracehead = trace.prev;
301 return;
302 }
303 void syntax_base___MMWriteImplementationMethod___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
304 struct trace_t trace = {NULL, LOCATE_syntax_base___MMWriteImplementationMethod___init, 150};
305 val_t variable0;
306 val_t variable1;
307 val_t variable2;
308 trace.prev = tracehead; tracehead = &trace;
309 variable0 = param0;
310 variable1 = param1;
311 variable2 = param2;
312 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMWriteImplementationMethod].i]) return;
313 ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable0 /*name*/, variable1 /*cla*/, self, init_table /*YYY*/) /*MMLocalProperty::init*/;
314 ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMWriteImplementationMethod::_node*/ = variable2 /*n*/;
315 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMWriteImplementationMethod].i] = 1;
316 tracehead = trace.prev;
317 return;
318 }
319 void syntax_base___MMMethSrcMethod___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
320 struct trace_t trace = {NULL, LOCATE_syntax_base___MMMethSrcMethod___init, 162};
321 val_t variable0;
322 val_t variable1;
323 val_t variable2;
324 trace.prev = tracehead; tracehead = &trace;
325 variable0 = param0;
326 variable1 = param1;
327 variable2 = param2;
328 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMMethSrcMethod].i]) return;
329 ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable0 /*name*/, variable1 /*cla*/, self, init_table /*YYY*/) /*MMLocalProperty::init*/;
330 ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMMethSrcMethod::_node*/ = variable2 /*n*/;
331 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMMethSrcMethod].i] = 1;
332 tracehead = trace.prev;
333 return;
334 }
335 void syntax_base___MMSrcTypeProperty___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
336 struct trace_t trace = {NULL, LOCATE_syntax_base___MMSrcTypeProperty___init, 173};
337 val_t variable0;
338 val_t variable1;
339 val_t variable2;
340 trace.prev = tracehead; tracehead = &trace;
341 variable0 = param0;
342 variable1 = param1;
343 variable2 = param2;
344 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcTypeProperty].i]) return;
345 ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable0 /*name*/, variable1 /*cla*/, self, init_table /*YYY*/) /*MMLocalProperty::init*/;
346 ATTR_syntax_base___MMSrcLocalProperty____node( self) /*MMSrcTypeProperty::_node*/ = variable2 /*n*/;
347 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcTypeProperty].i] = 1;
348 tracehead = trace.prev;
349 return;
350 }
351 val_t syntax_base___Variable___name(val_t self) {
352 struct trace_t trace = {NULL, LOCATE_syntax_base___Variable___name, 183};
353 trace.prev = tracehead; tracehead = &trace;
354 tracehead = trace.prev;
355 return ATTR_syntax_base___Variable____name( self) /*Variable::_name*/;
356 }
357 val_t syntax_base___Variable___decl(val_t self) {
358 struct trace_t trace = {NULL, LOCATE_syntax_base___Variable___decl, 186};
359 trace.prev = tracehead; tracehead = &trace;
360 tracehead = trace.prev;
361 return ATTR_syntax_base___Variable____decl( self) /*Variable::_decl*/;
362 }
363 val_t syntax_base___Variable___stype(val_t self) {
364 struct trace_t trace = {NULL, LOCATE_syntax_base___Variable___stype, 189};
365 trace.prev = tracehead; tracehead = &trace;
366 tracehead = trace.prev;
367 return ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/;
368 }
369 void syntax_base___Variable___stype__eq(val_t self, val_t param0) {
370 struct trace_t trace = {NULL, LOCATE_syntax_base___Variable___stype__eq, 189};
371 trace.prev = tracehead; tracehead = &trace;
372 ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/ = param0;
373 tracehead = trace.prev;
374 return;
375 }
376 void syntax_base___Variable___init(val_t self, val_t param0, val_t param1, int* init_table) {
377 struct trace_t trace = {NULL, LOCATE_syntax_base___Variable___init, 192};
378 val_t variable0;
379 val_t variable1;
380 val_t variable2;
381 trace.prev = tracehead; tracehead = &trace;
382 variable0 = param0;
383 variable1 = param1;
384 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Variable].i]) return;
385 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*n*/ == NIT_NULL /*null*/) || (( variable0 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*n*/,COLOR_kernel___Object_____eqeq))( variable0 /*n*/, NIT_NULL /*null*/) /*Symbol::==*/)))))));
386 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_syntax_base___Variable___init, 194); nit_exit(1);}
387 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*d*/ == NIT_NULL /*null*/) || (( variable1 /*d*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*d*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*d*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*d*/,COLOR_kernel___Object_____eqeq))( variable1 /*d*/, NIT_NULL /*null*/) /*PNode::==*/)))))));
388 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed (%s: %d)\n", "", LOCATE_syntax_base___Variable___init, 195); nit_exit(1);}
389 ATTR_syntax_base___Variable____name( self) /*Variable::_name*/ = variable0 /*n*/;
390 ATTR_syntax_base___Variable____decl( self) /*Variable::_decl*/ = variable1 /*d*/;
391 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Variable].i] = 1;
392 tracehead = trace.prev;
393 return;
394 }
395 val_t syntax_base___AbsSyntaxVisitor___type_bool(val_t self) {
396 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_bool, 206};
397 val_t variable0;
398 val_t variable1;
399 static val_t once_value_variable1_11; static int once_bool_variable1_11;
400 trace.prev = tracehead; tracehead = &trace;
401 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
402 if (once_bool_variable1_11) variable1 = once_value_variable1_11;
403 else {
404 variable1 = NEW_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
405 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
406 once_value_variable1_11 = variable1;
407 once_bool_variable1_11 = true;
408 }
409 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
410 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
411 goto return_label10;
412 return_label10: while(false);
413 tracehead = trace.prev;
414 return variable0;
415 }
416 val_t syntax_base___AbsSyntaxVisitor___type_int(val_t self) {
417 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_int, 212};
418 val_t variable0;
419 val_t variable1;
420 static val_t once_value_variable1_13; static int once_bool_variable1_13;
421 trace.prev = tracehead; tracehead = &trace;
422 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
423 if (once_bool_variable1_13) variable1 = once_value_variable1_13;
424 else {
425 variable1 = NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
426 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
427 once_value_variable1_13 = variable1;
428 once_bool_variable1_13 = true;
429 }
430 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
431 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
432 goto return_label12;
433 return_label12: while(false);
434 tracehead = trace.prev;
435 return variable0;
436 }
437 val_t syntax_base___AbsSyntaxVisitor___type_float(val_t self) {
438 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_float, 218};
439 val_t variable0;
440 val_t variable1;
441 static val_t once_value_variable1_15; static int once_bool_variable1_15;
442 trace.prev = tracehead; tracehead = &trace;
443 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
444 if (once_bool_variable1_15) variable1 = once_value_variable1_15;
445 else {
446 variable1 = NEW_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
447 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
448 once_value_variable1_15 = variable1;
449 once_bool_variable1_15 = true;
450 }
451 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
452 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
453 goto return_label14;
454 return_label14: while(false);
455 tracehead = trace.prev;
456 return variable0;
457 }
458 val_t syntax_base___AbsSyntaxVisitor___type_char(val_t self) {
459 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_char, 224};
460 val_t variable0;
461 val_t variable1;
462 static val_t once_value_variable1_17; static int once_bool_variable1_17;
463 trace.prev = tracehead; tracehead = &trace;
464 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
465 if (once_bool_variable1_17) variable1 = once_value_variable1_17;
466 else {
467 variable1 = NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
468 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
469 once_value_variable1_17 = variable1;
470 once_bool_variable1_17 = true;
471 }
472 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
473 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
474 goto return_label16;
475 return_label16: while(false);
476 tracehead = trace.prev;
477 return variable0;
478 }
479 val_t syntax_base___AbsSyntaxVisitor___type_string(val_t self) {
480 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_string, 230};
481 val_t variable0;
482 val_t variable1;
483 static val_t once_value_variable1_19; static int once_bool_variable1_19;
484 trace.prev = tracehead; tracehead = &trace;
485 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
486 if (once_bool_variable1_19) variable1 = once_value_variable1_19;
487 else {
488 variable1 = NEW_string___String___with_native(BOX_NativeString("String"), TAG_Int(6)); /*new String*/
489 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
490 once_value_variable1_19 = variable1;
491 once_bool_variable1_19 = true;
492 }
493 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
494 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
495 goto return_label18;
496 return_label18: while(false);
497 tracehead = trace.prev;
498 return variable0;
499 }
500 val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t self) {
501 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_collection, 236};
502 val_t variable0;
503 val_t variable1;
504 static val_t once_value_variable1_21; static int once_bool_variable1_21;
505 trace.prev = tracehead; tracehead = &trace;
506 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
507 if (once_bool_variable1_21) variable1 = once_value_variable1_21;
508 else {
509 variable1 = NEW_string___String___with_native(BOX_NativeString("Collection"), TAG_Int(10)); /*new String*/
510 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
511 once_value_variable1_21 = variable1;
512 once_bool_variable1_21 = true;
513 }
514 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
515 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
516 goto return_label20;
517 return_label20: while(false);
518 tracehead = trace.prev;
519 return variable0;
520 }
521 val_t syntax_base___AbsSyntaxVisitor___type_array(val_t self, val_t param0) {
522 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_array, 242};
523 val_t variable0;
524 val_t variable1;
525 val_t variable2;
526 static val_t once_value_variable2_23; static int once_bool_variable2_23;
527 trace.prev = tracehead; tracehead = &trace;
528 variable0 = param0;
529 variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
530 if (once_bool_variable2_23) variable2 = once_value_variable2_23;
531 else {
532 variable2 = NEW_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)); /*new String*/
533 variable2 = ((symbol___String___to_symbol_t)CALL(variable2,COLOR_symbol___String___to_symbol))(variable2) /*String::to_symbol*/;
534 once_value_variable2_23 = variable2;
535 once_bool_variable2_23 = true;
536 }
537 variable1 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable1,COLOR_abstractmetamodel___MMModule___class_by_name))(variable1, variable2) /*MMSrcModule::class_by_name*/;
538 variable2 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
539 ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable0 /*stype*/) /*Array::add*/;
540 variable1 = ((genericity___MMLocalClass___get_instantiate_type_t)CALL(variable1,COLOR_genericity___MMLocalClass___get_instantiate_type))(variable1, variable2) /*MMLocalClass::get_instantiate_type*/;
541 goto return_label22;
542 return_label22: while(false);
543 tracehead = trace.prev;
544 return variable1;
545 }
546 val_t syntax_base___AbsSyntaxVisitor___type_discrete(val_t self) {
547 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete, 248};
548 val_t variable0;
549 val_t variable1;
550 static val_t once_value_variable1_25; static int once_bool_variable1_25;
551 trace.prev = tracehead; tracehead = &trace;
552 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
553 if (once_bool_variable1_25) variable1 = once_value_variable1_25;
554 else {
555 variable1 = NEW_string___String___with_native(BOX_NativeString("Discrete"), TAG_Int(8)); /*new String*/
556 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
557 once_value_variable1_25 = variable1;
558 once_bool_variable1_25 = true;
559 }
560 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMSrcModule::class_by_name*/;
561 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
562 goto return_label24;
563 return_label24: while(false);
564 tracehead = trace.prev;
565 return variable0;
566 }
567 val_t syntax_base___AbsSyntaxVisitor___type_range(val_t self, val_t param0) {
568 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_range, 254};
569 val_t variable0;
570 val_t variable1;
571 val_t variable2;
572 static val_t once_value_variable2_27; static int once_bool_variable2_27;
573 trace.prev = tracehead; tracehead = &trace;
574 variable0 = param0;
575 variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
576 if (once_bool_variable2_27) variable2 = once_value_variable2_27;
577 else {
578 variable2 = NEW_string___String___with_native(BOX_NativeString("Range"), TAG_Int(5)); /*new String*/
579 variable2 = ((symbol___String___to_symbol_t)CALL(variable2,COLOR_symbol___String___to_symbol))(variable2) /*String::to_symbol*/;
580 once_value_variable2_27 = variable2;
581 once_bool_variable2_27 = true;
582 }
583 variable1 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable1,COLOR_abstractmetamodel___MMModule___class_by_name))(variable1, variable2) /*MMSrcModule::class_by_name*/;
584 variable2 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
585 ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable0 /*stype*/) /*Array::add*/;
586 variable1 = ((genericity___MMLocalClass___get_instantiate_type_t)CALL(variable1,COLOR_genericity___MMLocalClass___get_instantiate_type))(variable1, variable2) /*MMLocalClass::get_instantiate_type*/;
587 goto return_label26;
588 return_label26: while(false);
589 tracehead = trace.prev;
590 return variable1;
591 }
592 val_t syntax_base___AbsSyntaxVisitor___type_none(val_t self) {
593 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___type_none, 260};
594 val_t variable0;
595 trace.prev = tracehead; tracehead = &trace;
596 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
597 variable0 = ((static_type___MMModule___type_none_t)CALL(variable0,COLOR_static_type___MMModule___type_none))(variable0) /*MMSrcModule::type_none*/;
598 goto return_label28;
599 return_label28: while(false);
600 tracehead = trace.prev;
601 return variable0;
602 }
603 val_t syntax_base___AbsSyntaxVisitor___module(val_t self) {
604 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___module, 266};
605 trace.prev = tracehead; tracehead = &trace;
606 tracehead = trace.prev;
607 return ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
608 }
609 void syntax_base___AbsSyntaxVisitor___module__eq(val_t self, val_t param0) {
610 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___module__eq, 266};
611 trace.prev = tracehead; tracehead = &trace;
612 ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/ = param0;
613 tracehead = trace.prev;
614 return;
615 }
616 val_t syntax_base___AbsSyntaxVisitor___local_class(val_t self) {
617 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___local_class, 269};
618 trace.prev = tracehead; tracehead = &trace;
619 tracehead = trace.prev;
620 return ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/;
621 }
622 void syntax_base___AbsSyntaxVisitor___local_class__eq(val_t self, val_t param0) {
623 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq, 269};
624 trace.prev = tracehead; tracehead = &trace;
625 ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/ = param0;
626 tracehead = trace.prev;
627 return;
628 }
629 val_t syntax_base___AbsSyntaxVisitor___local_property(val_t self) {
630 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___local_property, 272};
631 trace.prev = tracehead; tracehead = &trace;
632 tracehead = trace.prev;
633 return ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/;
634 }
635 void syntax_base___AbsSyntaxVisitor___local_property__eq(val_t self, val_t param0) {
636 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq, 272};
637 trace.prev = tracehead; tracehead = &trace;
638 ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/ = param0;
639 tracehead = trace.prev;
640 return;
641 }
642 val_t syntax_base___AbsSyntaxVisitor___tc(val_t self) {
643 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___tc, 275};
644 trace.prev = tracehead; tracehead = &trace;
645 tracehead = trace.prev;
646 return ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
647 }
648 void syntax_base___AbsSyntaxVisitor___error(val_t self, val_t param0, val_t param1) {
649 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___error, 278};
650 val_t variable0;
651 val_t variable1;
652 val_t variable2;
653 val_t variable3;
654 val_t variable4;
655 val_t variable5;
656 val_t variable6;
657 val_t variable7;
658 val_t variable8;
659 val_t variable9;
660 val_t variable10;
661 val_t variable11;
662 val_t variable12;
663 trace.prev = tracehead; tracehead = &trace;
664 variable0 = param0;
665 variable1 = param1;
666 variable2 = ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
667 variable3 = NEW_string___String___init(); /*new String*/
668 variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
669 variable5 = variable4;
670 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
671 variable6 = ((parser_prod___PNode___locate_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___locate))( variable0 /*n*/) /*PNode::locate*/;
672 variable7 = variable6;
673 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
674 variable8 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
675 variable9 = variable8;
676 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
677 variable10 = variable1 /*s*/;
678 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
679 variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
680 variable12 = variable11;
681 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
682 ((mmloader___ToolContext___error_t)CALL(variable2,COLOR_mmloader___ToolContext___error))(variable2, variable3) /*ToolContext::error*/;
683 tracehead = trace.prev;
684 return;
685 }
686 void syntax_base___AbsSyntaxVisitor___warning(val_t self, val_t param0, val_t param1) {
687 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___warning, 284};
688 val_t variable0;
689 val_t variable1;
690 val_t variable2;
691 val_t variable3;
692 val_t variable4;
693 val_t variable5;
694 val_t variable6;
695 val_t variable7;
696 val_t variable8;
697 val_t variable9;
698 val_t variable10;
699 val_t variable11;
700 val_t variable12;
701 trace.prev = tracehead; tracehead = &trace;
702 variable0 = param0;
703 variable1 = param1;
704 variable2 = ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
705 variable3 = NEW_string___String___init(); /*new String*/
706 variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
707 variable5 = variable4;
708 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
709 variable6 = ((parser_prod___PNode___locate_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___locate))( variable0 /*n*/) /*PNode::locate*/;
710 variable7 = variable6;
711 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
712 variable8 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
713 variable9 = variable8;
714 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
715 variable10 = variable1 /*s*/;
716 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
717 variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
718 variable12 = variable11;
719 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
720 ((mmloader___ToolContext___warning_t)CALL(variable2,COLOR_mmloader___ToolContext___warning))(variable2, variable3) /*ToolContext::warning*/;
721 tracehead = trace.prev;
722 return;
723 }
724 val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t self, val_t param0, val_t param1, val_t param2) {
725 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform, 290};
726 val_t variable0;
727 val_t variable1;
728 val_t variable2;
729 val_t variable3;
730 val_t variable4;
731 val_t variable5;
732 val_t variable6;
733 val_t variable7;
734 val_t variable8;
735 val_t variable9;
736 val_t variable10;
737 val_t variable11;
738 trace.prev = tracehead; tracehead = &trace;
739 variable0 = param0;
740 variable1 = param1;
741 variable2 = param2;
742 variable3 = TAG_Bool(( variable2 /*stype*/ == NIT_NULL /*null*/) || (( variable2 /*stype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*stype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*stype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*stype*/,COLOR_kernel___Object_____eqeq))( variable2 /*stype*/, NIT_NULL /*null*/) /*MMType::==*/)))));
743 variable4 = variable3;
744 if (!UNTAG_Bool(variable4)) { /* or */
745 variable4 = TAG_Bool(( variable1 /*subtype*/ == NIT_NULL /*null*/) || (( variable1 /*subtype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*subtype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*subtype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*subtype*/,COLOR_kernel___Object_____eqeq))( variable1 /*subtype*/, NIT_NULL /*null*/) /*MMType::==*/)))));
746 }
747 variable3 = variable4;
748 if (UNTAG_Bool(variable3)) { /*if*/
749 variable3 = TAG_Bool(false);
750 goto return_label31;
751 }
752 variable3 = ((static_type___MMType_____l_t)CALL( variable1 /*subtype*/,COLOR_static_type___MMType_____l))( variable1 /*subtype*/, variable2 /*stype*/) /*MMType::<*/;
753 if (UNTAG_Bool(variable3)) { /*if*/
754 variable3 = TAG_Bool(true);
755 goto return_label31;
756 }
757 variable3 = NEW_string___String___init(); /*new String*/
758 variable4 = NEW_string___String___with_native(BOX_NativeString("Type error: expected "), TAG_Int(21)); /*new String*/
759 variable5 = variable4;
760 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
761 variable6 = variable2 /*stype*/;
762 variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
763 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
764 variable7 = NEW_string___String___with_native(BOX_NativeString(", got "), TAG_Int(6)); /*new String*/
765 variable8 = variable7;
766 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
767 variable9 = variable1 /*subtype*/;
768 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
769 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
770 variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
771 variable11 = variable10;
772 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
773 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( self,COLOR_syntax_base___AbsSyntaxVisitor___error))( self, variable0 /*n*/, variable3) /*AbsSyntaxVisitor::error*/;
774 variable3 = TAG_Bool(false);
775 goto return_label31;
776 return_label31: while(false);
777 tracehead = trace.prev;
778 return variable3;
779 }
780 void syntax_base___AbsSyntaxVisitor___init(val_t self, val_t param0, val_t param1, int* init_table) {
781 struct trace_t trace = {NULL, LOCATE_syntax_base___AbsSyntaxVisitor___init, 304};
782 val_t variable0;
783 val_t variable1;
784 trace.prev = tracehead; tracehead = &trace;
785 variable0 = param0;
786 variable1 = param1;
787 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AbsSyntaxVisitor].i]) return;
788 ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/ = variable0 /*tc*/;
789 ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/ = variable1 /*module*/;
790 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AbsSyntaxVisitor].i] = 1;
791 tracehead = trace.prev;
792 return;
793 }
794 void syntax_base___PNode___accept_abs_syntax_visitor(val_t self, val_t param0) {
795 struct trace_t trace = {NULL, LOCATE_syntax_base___PNode___accept_abs_syntax_visitor, 314};
796 val_t variable0;
797 trace.prev = tracehead; tracehead = &trace;
798 variable0 = param0;
799 ((parser_prod___PNode___visit_all_t)CALL( self,COLOR_parser_prod___PNode___visit_all))( self, variable0 /*v*/) /*PNode::visit_all*/;
800 tracehead = trace.prev;
801 return;
802 }
803 val_t syntax_base___Token___to_symbol(val_t self) {
804 struct trace_t trace = {NULL, LOCATE_syntax_base___Token___to_symbol, 320};
805 val_t variable0;
806 val_t variable1;
807 trace.prev = tracehead; tracehead = &trace;
808 variable1 = ATTR_syntax_base___Token____symbol( self) /*Token::_symbol*/;
809 variable0 = variable1;
810 variable1 = TAG_Bool(( variable0 /*s*/ == NIT_NULL /*null*/) || (( variable0 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))( variable0 /*s*/, NIT_NULL /*null*/) /*Symbol::==*/)))));
811 if (UNTAG_Bool(variable1)) { /*if*/
812 variable1 = ((lexer___Token___text_t)CALL( self,COLOR_lexer___Token___text))( self) /*Token::text*/;
813 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
814 variable0 = variable1 /*s=*/;
815 ATTR_syntax_base___Token____symbol( self) /*Token::_symbol*/ = variable0 /*s*/;
816 }
817 variable0 = variable0 /*s*/;
818 goto return_label34;
819 return_label34: while(false);
820 tracehead = trace.prev;
821 return variable0;
822 }
823 val_t syntax_base___PClassdef___local_class(val_t self) {
824 struct trace_t trace = {NULL, LOCATE_syntax_base___PClassdef___local_class, 334};
825 trace.prev = tracehead; tracehead = &trace;
826 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "local_class", LOCATE_syntax_base___Token___to_symbol, 334);
827 nit_exit(1);
828 tracehead = trace.prev;
829 return NIT_NULL;
830 }
831 val_t syntax_base___AAttrPropdef___prop(val_t self) {
832 struct trace_t trace = {NULL, LOCATE_syntax_base___AAttrPropdef___prop, 339};
833 trace.prev = tracehead; tracehead = &trace;
834 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "prop", LOCATE_syntax_base___Token___to_symbol, 339);
835 nit_exit(1);
836 tracehead = trace.prev;
837 return NIT_NULL;
838 }
839 val_t syntax_base___AAttrPropdef___readmethod(val_t self) {
840 struct trace_t trace = {NULL, LOCATE_syntax_base___AAttrPropdef___readmethod, 342};
841 trace.prev = tracehead; tracehead = &trace;
842 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "readmethod", LOCATE_syntax_base___Token___to_symbol, 342);
843 nit_exit(1);
844 tracehead = trace.prev;
845 return NIT_NULL;
846 }
847 val_t syntax_base___AAttrPropdef___writemethod(val_t self) {
848 struct trace_t trace = {NULL, LOCATE_syntax_base___AAttrPropdef___writemethod, 345};
849 trace.prev = tracehead; tracehead = &trace;
850 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "writemethod", LOCATE_syntax_base___Token___to_symbol, 345);
851 nit_exit(1);
852 tracehead = trace.prev;
853 return NIT_NULL;
854 }
855 val_t syntax_base___AMethPropdef___method(val_t self) {
856 struct trace_t trace = {NULL, LOCATE_syntax_base___AMethPropdef___method, 350};
857 trace.prev = tracehead; tracehead = &trace;
858 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "method", LOCATE_syntax_base___Token___to_symbol, 350);
859 nit_exit(1);
860 tracehead = trace.prev;
861 return NIT_NULL;
862 }
863 val_t syntax_base___ATypePropdef___prop(val_t self) {
864 struct trace_t trace = {NULL, LOCATE_syntax_base___ATypePropdef___prop, 355};
865 trace.prev = tracehead; tracehead = &trace;
866 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "prop", LOCATE_syntax_base___Token___to_symbol, 355);
867 nit_exit(1);
868 tracehead = trace.prev;
869 return NIT_NULL;
870 }
871 val_t syntax_base___PParam___position(val_t self) {
872 struct trace_t trace = {NULL, LOCATE_syntax_base___PParam___position, 360};
873 trace.prev = tracehead; tracehead = &trace;
874 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "position", LOCATE_syntax_base___Token___to_symbol, 360);
875 nit_exit(1);
876 tracehead = trace.prev;
877 return NIT_NULL;
878 }
879 val_t syntax_base___PParam___variable(val_t self) {
880 struct trace_t trace = {NULL, LOCATE_syntax_base___PParam___variable, 363};
881 trace.prev = tracehead; tracehead = &trace;
882 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "variable", LOCATE_syntax_base___Token___to_symbol, 363);
883 nit_exit(1);
884 tracehead = trace.prev;
885 return NIT_NULL;
886 }
887 val_t syntax_base___PType___get_local_class(val_t self, val_t param0) {
888 struct trace_t trace = {NULL, LOCATE_syntax_base___PType___get_local_class, 368};
889 trace.prev = tracehead; tracehead = &trace;
890 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "get_local_class", LOCATE_syntax_base___Token___to_symbol, 368);
891 nit_exit(1);
892 tracehead = trace.prev;
893 return NIT_NULL;
894 }
895 val_t syntax_base___PType___get_stype(val_t self, val_t param0) {
896 struct trace_t trace = {NULL, LOCATE_syntax_base___PType___get_stype, 373};
897 trace.prev = tracehead; tracehead = &trace;
898 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "get_stype", LOCATE_syntax_base___Token___to_symbol, 373);
899 nit_exit(1);
900 tracehead = trace.prev;
901 return NIT_NULL;
902 }
903 val_t syntax_base___PType___get_unchecked_stype(val_t self, val_t param0) {
904 struct trace_t trace = {NULL, LOCATE_syntax_base___PType___get_unchecked_stype, 377};
905 trace.prev = tracehead; tracehead = &trace;
906 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "get_unchecked_stype", LOCATE_syntax_base___Token___to_symbol, 377);
907 nit_exit(1);
908 tracehead = trace.prev;
909 return NIT_NULL;
910 }
911 void syntax_base___PType___check_conform(val_t self, val_t param0) {
912 struct trace_t trace = {NULL, LOCATE_syntax_base___PType___check_conform, 383};
913 trace.prev = tracehead; tracehead = &trace;
914 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "check_conform", LOCATE_syntax_base___Token___to_symbol, 383);
915 nit_exit(1);
916 tracehead = trace.prev;
917 return;
918 }
919 val_t syntax_base___AType___get_local_class(val_t self, val_t param0) {
920 struct trace_t trace = {NULL, LOCATE_syntax_base___AType___get_local_class, 393};
921 val_t variable0;
922 val_t variable1;
923 val_t variable2;
924 val_t variable3;
925 val_t variable4;
926 val_t variable5;
927 val_t variable6;
928 val_t variable7;
929 val_t variable8;
930 val_t variable9;
931 val_t variable10;
932 val_t variable11;
933 val_t variable12;
934 val_t variable13;
935 trace.prev = tracehead; tracehead = &trace;
936 variable0 = param0;
937 variable2 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
938 variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*TClassid::to_symbol*/;
939 variable1 = variable2;
940 variable3 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
941 variable2 = variable3;
942 variable4 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
943 variable3 = variable4;
944 variable4 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
945 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*/) /*Map::==*/)))))));
946 variable5 = variable4;
947 if (UNTAG_Bool(variable5)) { /* and */
948 variable5 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
949 variable5 = ((abstract_collection___Map___has_key_t)CALL(variable5,COLOR_abstract_collection___Map___has_key))(variable5, variable1 /*name*/) /*Map::has_key*/;
950 }
951 variable4 = variable5;
952 variable5 = variable4;
953 if (!UNTAG_Bool(variable5)) { /* or */
954 variable5 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable3 /*cla*/) /*MMSrcLocalClass::global_properties*/;
955 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*/) /*Set::==*/)))))));
956 variable6 = variable5;
957 if (UNTAG_Bool(variable6)) { /* and */
958 variable6 = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( variable3 /*cla*/, variable1 /*name*/) /*MMSrcLocalClass::has_global_property_by_name*/;
959 }
960 variable5 = variable6;
961 }
962 variable4 = variable5;
963 if (UNTAG_Bool(variable4)) { /*if*/
964 variable4 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
965 variable5 = NEW_string___String___init(); /*new String*/
966 variable6 = NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
967 variable7 = variable6;
968 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
969 variable8 = variable1 /*name*/;
970 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
971 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
972 variable9 = NEW_string___String___with_native(BOX_NativeString(" is a formal type"), TAG_Int(17)); /*new String*/
973 variable10 = variable9;
974 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
975 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable4, variable5) /*AbsSyntaxVisitor::error*/;
976 ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/ = TAG_Bool(true);
977 variable1 = NIT_NULL /*null*/;
978 goto return_label35;
979 }
980 variable4 = ((abstractmetamodel___MMModule___has_global_class_named_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___has_global_class_named))( variable2 /*mod*/, variable1 /*name*/) /*MMSrcModule::has_global_class_named*/;
981 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4)))) { /*if*/
982 variable4 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
983 variable5 = NEW_string___String___init(); /*new String*/
984 variable6 = NEW_string___String___with_native(BOX_NativeString("Type error: class "), TAG_Int(18)); /*new String*/
985 variable7 = variable6;
986 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
987 variable8 = variable1 /*name*/;
988 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
989 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
990 variable9 = NEW_string___String___with_native(BOX_NativeString(" not found in module "), TAG_Int(21)); /*new String*/
991 variable10 = variable9;
992 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
993 variable11 = variable2 /*mod*/;
994 variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
995 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
996 variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
997 variable13 = variable12;
998 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
999 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable4, variable5) /*AbsSyntaxVisitor::error*/;
1000 ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/ = TAG_Bool(true);
1001 variable1 = NIT_NULL /*null*/;
1002 goto return_label35;
1003 }
1004 variable5 = ((abstractmetamodel___MMModule___class_by_name_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___class_by_name))( variable2 /*mod*/, variable1 /*name*/) /*MMSrcModule::class_by_name*/;
1005 variable4 = variable5;
1006 variable5 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable4 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable4 /*local_class*/) /*MMLocalClass::global*/;
1007 ((syntax_base___MMGlobalClass___check_visibility_t)CALL(variable5,COLOR_syntax_base___MMGlobalClass___check_visibility))(variable5, variable0 /*v*/, self, variable2 /*mod*/) /*MMGlobalClass::check_visibility*/;
1008 variable1 = variable4 /*local_class*/;
1009 goto return_label35;
1010 return_label35: while(false);
1011 tracehead = trace.prev;
1012 return variable1;
1013 }
1014 val_t syntax_base___AType___get_unchecked_stype(val_t self, val_t param0) {
1015 struct trace_t trace = {NULL, LOCATE_syntax_base___AType___get_unchecked_stype, 416};
1016 val_t variable0;
1017 val_t variable1;
1018 val_t variable2;
1019 val_t variable3;
1020 val_t variable4;
1021 val_t variable5;
1022 val_t variable6;
1023 val_t variable7;
1024 val_t variable8;
1025 val_t variable9;
1026 val_t variable10;
1027 val_t variable11;
1028 val_t variable12;
1029 val_t variable13;
1030 val_t variable14;
1031 val_t variable15;
1032 val_t variable16;
1033 val_t variable17;
1034 val_t variable18;
1035 trace.prev = tracehead; tracehead = &trace;
1036 variable0 = param0;
1037 variable1 = ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/;
1038 if (UNTAG_Bool(variable1)) { /*if*/
1039 variable1 = ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/;
1040 goto return_label36;
1041 }
1042 ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/ = TAG_Bool(true);
1043 variable2 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
1044 variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*TClassid::to_symbol*/;
1045 variable1 = variable2;
1046 variable3 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
1047 variable2 = variable3;
1048 variable4 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
1049 variable3 = variable4;
1050 variable4 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
1051 variable4 = ((abstract_collection___Map___has_key_t)CALL(variable4,COLOR_abstract_collection___Map___has_key))(variable4, variable1 /*name*/) /*Map::has_key*/;
1052 if (UNTAG_Bool(variable4)) { /*if*/
1053 variable4 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1054 variable4 = ((list___List___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*List::length*/;
1055 variable4 = TAG_Bool(UNTAG_Int(variable4)>UNTAG_Int( TAG_Int(0)));
1056 if (UNTAG_Bool(variable4)) { /*if*/
1057 variable4 = NEW_string___String___init(); /*new String*/
1058 variable5 = NEW_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)); /*new String*/
1059 variable6 = variable5;
1060 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
1061 variable7 = variable1 /*name*/;
1062 variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
1063 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
1064 variable8 = NEW_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)); /*new String*/
1065 variable9 = variable8;
1066 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
1067 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, self, variable4) /*AbsSyntaxVisitor::error*/;
1068 variable1 = NIT_NULL /*null*/;
1069 goto return_label36;
1070 }
1071 variable5 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
1072 variable5 = ((abstract_collection___Map_____bra_t)CALL(variable5,COLOR_abstract_collection___Map_____bra))(variable5, variable1 /*name*/) /*Map::[]*/;
1073 variable4 = variable5;
1074 ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ = variable4 /*formal*/;
1075 variable1 = variable4 /*formal*/;
1076 goto return_label36;
1077 }
1078 variable4 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable3 /*cla*/) /*MMSrcLocalClass::global_properties*/;
1079 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*/) /*Set::==*/)))))));
1080 variable5 = variable4;
1081 if (UNTAG_Bool(variable5)) { /* and */
1082 variable5 = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( variable3 /*cla*/, variable1 /*name*/) /*MMSrcLocalClass::has_global_property_by_name*/;
1083 }
1084 variable4 = variable5;
1085 if (UNTAG_Bool(variable4)) { /*if*/
1086 variable4 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1087 variable4 = ((list___List___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*List::length*/;
1088 variable4 = TAG_Bool(UNTAG_Int(variable4)>UNTAG_Int( TAG_Int(0)));
1089 if (UNTAG_Bool(variable4)) { /*if*/
1090 variable4 = NEW_string___String___init(); /*new String*/
1091 variable5 = NEW_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)); /*new String*/
1092 variable6 = variable5;
1093 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
1094 variable7 = variable1 /*name*/;
1095 variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
1096 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
1097 variable8 = NEW_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)); /*new String*/
1098 variable9 = variable8;
1099 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
1100 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, self, variable4) /*AbsSyntaxVisitor::error*/;
1101 variable1 = NIT_NULL /*null*/;
1102 goto return_label36;
1103 }
1104 variable5 = ((genericity___MMLocalClass___get_type_t)CALL( variable3 /*cla*/,COLOR_static_type___MMLocalClass___get_type))( variable3 /*cla*/) /*MMSrcLocalClass::get_type*/;
1105 variable5 = ((virtualtype___MMType___select_virtual_type_t)CALL(variable5,COLOR_virtualtype___MMType___select_virtual_type))(variable5, variable1 /*name*/) /*MMType::select_virtual_type*/;
1106 variable5 = ((virtualtype___MMTypeProperty___stype_t)CALL(variable5,COLOR_virtualtype___MMTypeProperty___stype))(variable5) /*MMTypeProperty::stype*/;
1107 variable4 = variable5;
1108 variable5 = TAG_Bool(( variable4 /*t*/ == NIT_NULL /*null*/) || (( variable4 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*t*/,COLOR_kernel___Object_____eqeq))( variable4 /*t*/, NIT_NULL /*null*/) /*MMVirtualType::==*/)))));
1109 if (UNTAG_Bool(variable5)) { /*if*/
1110 variable5 = NEW_string___String___init(); /*new String*/
1111 variable6 = NEW_string___String___with_native(BOX_NativeString("Type error: circular definition in formal type "), TAG_Int(47)); /*new String*/
1112 variable7 = variable6;
1113 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
1114 variable8 = variable1 /*name*/;
1115 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
1116 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
1117 variable9 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1118 variable10 = variable9;
1119 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
1120 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, self, variable5) /*AbsSyntaxVisitor::error*/;
1121 variable1 = NIT_NULL /*null*/;
1122 goto return_label36;
1123 }
1124 ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ = variable4 /*t*/;
1125 variable1 = variable4 /*t*/;
1126 goto return_label36;
1127 }
1128 variable5 = ((syntax_base___AType___get_local_class_t)CALL( self,COLOR_syntax_base___PType___get_local_class))( self, variable0 /*v*/) /*AType::get_local_class*/;
1129 variable4 = variable5;
1130 variable5 = TAG_Bool(( variable4 /*local_class*/ == NIT_NULL /*null*/) || (( variable4 /*local_class*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*local_class*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*local_class*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*local_class*/,COLOR_kernel___Object_____eqeq))( variable4 /*local_class*/, NIT_NULL /*null*/) /*MMLocalClass::==*/)))));
1131 if (UNTAG_Bool(variable5)) { /*if*/
1132 variable1 = NIT_NULL /*null*/;
1133 goto return_label36;
1134 }
1135 variable6 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1136 variable6 = ((list___List___length_t)CALL(variable6,COLOR_abstract_collection___Collection___length))(variable6) /*List::length*/;
1137 variable5 = variable6;
1138 variable6 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( variable4 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___arity))( variable4 /*local_class*/) /*MMLocalClass::arity*/;
1139 variable6 = TAG_Bool((variable6)!=( variable5 /*arity*/));
1140 if (UNTAG_Bool(variable6)) { /*if*/
1141 variable6 = NEW_string___String___init(); /*new String*/
1142 variable7 = NEW_string___String___with_native(BOX_NativeString("Type error: '"), TAG_Int(13)); /*new String*/
1143 variable8 = variable7;
1144 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
1145 variable9 = variable4 /*local_class*/;
1146 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
1147 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
1148 variable10 = NEW_string___String___with_native(BOX_NativeString("' has "), TAG_Int(6)); /*new String*/
1149 variable11 = variable10;
1150 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
1151 variable12 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( variable4 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___arity))( variable4 /*local_class*/) /*MMLocalClass::arity*/;
1152 variable13 = variable12;
1153 variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
1154 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
1155 variable14 = NEW_string___String___with_native(BOX_NativeString(" parameters which differs from the "), TAG_Int(35)); /*new String*/
1156 variable15 = variable14;
1157 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
1158 variable16 = variable5 /*arity*/;
1159 variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
1160 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
1161 variable17 = NEW_string___String___with_native(BOX_NativeString(" params."), TAG_Int(8)); /*new String*/
1162 variable18 = variable17;
1163 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
1164 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, self, variable6) /*AbsSyntaxVisitor::error*/;
1165 variable1 = NIT_NULL /*null*/;
1166 goto return_label36;
1167 }
1168 variable6 = TAG_Bool(UNTAG_Int( variable5 /*arity*/)>UNTAG_Int( TAG_Int(0)));
1169 if (UNTAG_Bool(variable6)) { /*if*/
1170 variable7 = NEW_array___Array___init(); /*new Array[MMType]*/
1171 variable6 = variable7;
1172 variable7 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1173 variable7 = ((list___List___iterator_t)CALL(variable7,COLOR_abstract_collection___Collection___iterator))(variable7) /*List::iterator*/;
1174 while (true) { /*for*/
1175 variable8 = ((list___ListIterator___is_ok_t)CALL(variable7,COLOR_abstract_collection___Iterator___is_ok))(variable7) /*ListIterator::is_ok*/;
1176 if (!UNTAG_Bool(variable8)) break; /*for*/
1177 variable8 = ((list___ListIterator___item_t)CALL(variable7,COLOR_abstract_collection___Iterator___item))(variable7) /*ListIterator::item*/;
1178 variable9 = ((syntax_base___PType___get_unchecked_stype_t)CALL( variable8 /*p*/,COLOR_syntax_base___PType___get_unchecked_stype))( variable8 /*p*/, variable0 /*v*/) /*PType::get_unchecked_stype*/;
1179 ((array___AbstractArray___add_t)CALL( variable6 /*tab*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*tab*/, variable9) /*Array::add*/;
1180 continue_37: while(0);
1181 ((list___ListIterator___next_t)CALL(variable7,COLOR_abstract_collection___Iterator___next))(variable7) /*ListIterator::next*/;
1182 }
1183 break_37: while(0);
1184 variable8 = ((genericity___MMLocalClass___get_instantiate_type_t)CALL( variable4 /*local_class*/,COLOR_genericity___MMLocalClass___get_instantiate_type))( variable4 /*local_class*/, variable6 /*tab*/) /*MMLocalClass::get_instantiate_type*/;
1185 variable7 = variable8;
1186 ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ = variable7 /*t*/;
1187 variable1 = variable7 /*t*/;
1188 goto return_label36;
1189 } else { /*if*/
1190 variable7 = ((genericity___MMLocalClass___get_type_t)CALL( variable4 /*local_class*/,COLOR_static_type___MMLocalClass___get_type))( variable4 /*local_class*/) /*MMLocalClass::get_type*/;
1191 variable6 = variable7;
1192 ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ = variable6 /*t*/;
1193 variable1 = variable6 /*t*/;
1194 goto return_label36;
1195 }
1196 return_label36: while(false);
1197 tracehead = trace.prev;
1198 return variable1;
1199 }
1200 val_t syntax_base___AType___get_stype(val_t self, val_t param0) {
1201 struct trace_t trace = {NULL, LOCATE_syntax_base___AType___get_stype, 473};
1202 val_t variable0;
1203 val_t variable1;
1204 val_t variable2;
1205 trace.prev = tracehead; tracehead = &trace;
1206 variable0 = param0;
1207 variable2 = ((syntax_base___AType___get_unchecked_stype_t)CALL( self,COLOR_syntax_base___PType___get_unchecked_stype))( self, variable0 /*v*/) /*AType::get_unchecked_stype*/;
1208 variable1 = variable2;
1209 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*t*/ == NIT_NULL /*null*/) || (( variable1 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))( variable1 /*t*/, NIT_NULL /*null*/) /*MMType::==*/)))))));
1210 if (UNTAG_Bool(variable2)) { /*if*/
1211 ((syntax_base___AType___check_conform_t)CALL( self,COLOR_syntax_base___PType___check_conform))( self, variable0 /*v*/) /*AType::check_conform*/;
1212 }
1213 variable1 = variable1 /*t*/;
1214 goto return_label38;
1215 return_label38: while(false);
1216 tracehead = trace.prev;
1217 return variable1;
1218 }
1219 void syntax_base___AType___check_conform(val_t self, val_t param0) {
1220 struct trace_t trace = {NULL, LOCATE_syntax_base___AType___check_conform, 480};
1221 val_t variable0;
1222 val_t variable1;
1223 val_t variable2;
1224 val_t variable3;
1225 val_t variable4;
1226 val_t variable5;
1227 val_t variable6;
1228 val_t variable7;
1229 val_t variable8;
1230 val_t variable9;
1231 trace.prev = tracehead; tracehead = &trace;
1232 variable0 = param0;
1233 variable2 = ((syntax_base___AType___get_unchecked_stype_t)CALL( self,COLOR_syntax_base___PType___get_unchecked_stype))( self, variable0 /*v*/) /*AType::get_unchecked_stype*/;
1234 variable1 = variable2;
1235 variable2 = TAG_Bool(( variable1 /*st*/ == NIT_NULL /*null*/) || (( variable1 /*st*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*st*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*st*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*st*/,COLOR_kernel___Object_____eqeq))( variable1 /*st*/, NIT_NULL /*null*/) /*MMType::==*/)))));
1236 if (UNTAG_Bool(variable2)) { /*if*/
1237 goto return_label39;
1238 }
1239 variable3 = ((static_type___MMType___local_class_t)CALL( variable1 /*st*/,COLOR_static_type___MMType___local_class))( variable1 /*st*/) /*MMType::local_class*/;
1240 variable2 = variable3;
1241 variable4 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1242 variable4 = ((list___List___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*List::length*/;
1243 variable3 = variable4;
1244 variable4 = TAG_Bool(UNTAG_Int( variable3 /*arity*/)>UNTAG_Int( TAG_Int(0)));
1245 if (UNTAG_Bool(variable4)) { /*if*/
1246 variable4 = NEW_range___Range___without_last( TAG_Int(0), variable3 /*arity*/); /*new Range[Int]*/
1247 variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
1248 while (true) { /*for*/
1249 variable5 = ((abstract_collection___Iterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*Iterator::is_ok*/;
1250 if (!UNTAG_Bool(variable5)) break; /*for*/
1251 variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
1252 variable7 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1253 variable7 = ((list___List_____bra_t)CALL(variable7,COLOR_abstract_collection___Map_____bra))(variable7, variable5 /*i*/) /*List::[]*/;
1254 variable6 = variable7;
1255 variable8 = ((syntax_base___PType___get_stype_t)CALL( variable6 /*p*/,COLOR_syntax_base___PType___get_stype))( variable6 /*p*/, variable0 /*v*/) /*PType::get_stype*/;
1256 variable7 = variable8;
1257 variable9 = ((genericity___MMLocalClass___get_formal_t)CALL( variable2 /*local_class*/,COLOR_genericity___MMLocalClass___get_formal))( variable2 /*local_class*/, variable5 /*i*/) /*MMLocalClass::get_formal*/;
1258 variable9 = ((type_formal___MMTypeFormal___bound_t)CALL(variable9,COLOR_type_formal___MMTypeFormal___bound))(variable9) /*MMTypeFormalParameter::bound*/;
1259 variable8 = variable9;
1260 variable9 = TAG_Bool(( variable8 /*bt*/ == NIT_NULL /*null*/) || (( variable8 /*bt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable8 /*bt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable8 /*bt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable8 /*bt*/,COLOR_kernel___Object_____eqeq))( variable8 /*bt*/, NIT_NULL /*null*/) /*MMType::==*/)))));
1261 if (UNTAG_Bool(variable9)) { /*if*/
1262 goto return_label39;
1263 }
1264 variable9 = ((static_type___MMType___adapt_to_t)CALL( variable8 /*bt*/,COLOR_static_type___MMType___adapt_to))( variable8 /*bt*/, variable1 /*st*/) /*MMType::adapt_to*/;
1265 variable8 = variable9 /*bt=*/;
1266 ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable0 /*v*/, variable6 /*p*/, variable7 /*pt*/, variable8 /*bt*/) /*AbsSyntaxVisitor::check_conform*/;
1267 continue_40: while(0);
1268 ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
1269 }
1270 break_40: while(0);
1271 }
1272 return_label39: while(false);
1273 tracehead = trace.prev;
1274 return;
1275 }
1276 val_t syntax_base___PExpr___stype(val_t self) {
1277 struct trace_t trace = {NULL, LOCATE_syntax_base___PExpr___stype, 500};
1278 trace.prev = tracehead; tracehead = &trace;
1279 fprintf(stderr, "Deferred method %s called (%s: %d)\n", "stype", LOCATE_syntax_base___AType___check_conform, 500);
1280 nit_exit(1);
1281 tracehead = trace.prev;
1282 return NIT_NULL;
1283 }