Update c_src
[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, 26, LOCATE_syntax_base___MMSrcModule___node};
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, 29, LOCATE_syntax_base___MMSrcModule___src_local_classes};
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, 32, LOCATE_syntax_base___MMSrcModule___init};
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[K, V]*/
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, 41, LOCATE_syntax_base___MMGlobalClass___check_visibility};
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", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___MMGlobalClass___check_visibility, LOCATE_syntax_base, 44); nit_exit(1);}
61 variable5 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( variable2 /*cm*/,COLOR_abstractmetamodel___MMModule___visibility_for))( variable2 /*cm*/, variable3 /*pm*/) /*MMModule::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, 62, LOCATE_syntax_base___MMSrcLocalClass___nodes};
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, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict};
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, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict__eq};
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, 68, LOCATE_syntax_base___MMSrcLocalClass___src_local_properties};
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, 71, LOCATE_syntax_base___MMSrcLocalClass___init};
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[E]*/
153 ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable1 /*cla*/) /*AbstractArray::add*/;
154 ATTR_syntax_base___MMSrcLocalClass____nodes( self) /*MMSrcLocalClass::_nodes*/ = variable3;
155 variable3 = NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
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, 80, LOCATE_syntax_base___MMGlobalProperty___check_visibility};
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", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___MMGlobalProperty___check_visibility, LOCATE_syntax_base, 83); nit_exit(1);}
188 variable6 = ((abstractmetamodel___MMModule___visibility_for_t)CALL( variable2 /*cm*/,COLOR_abstractmetamodel___MMModule___visibility_for))( variable2 /*cm*/, variable4 /*pm*/) /*MMModule::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___MMLocalProperty___node(val_t self) {
266 struct trace_t trace = {NULL, LOCATE_syntax_base, 103, LOCATE_syntax_base___MMLocalProperty___node};
267 val_t variable0;
268 trace.prev = tracehead; tracehead = &trace;
269 variable0 = NIT_NULL /*null*/;
270 goto return_label4;
271 return_label4: while(false);
272 tracehead = trace.prev;
273 return variable0;
274 }
275 val_t syntax_base___MMSrcAttribute___node(val_t self) {
276 struct trace_t trace = {NULL, LOCATE_syntax_base, 111, LOCATE_syntax_base___MMSrcAttribute___node};
277 trace.prev = tracehead; tracehead = &trace;
278 tracehead = trace.prev;
279 return ATTR_syntax_base___MMSrcAttribute____node( self) /*MMSrcAttribute::_node*/;
280 }
281 void syntax_base___MMSrcAttribute___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
282 struct trace_t trace = {NULL, LOCATE_syntax_base, 112, LOCATE_syntax_base___MMSrcAttribute___init};
283 val_t variable0;
284 val_t variable1;
285 val_t variable2;
286 trace.prev = tracehead; tracehead = &trace;
287 variable0 = param0;
288 variable1 = param1;
289 variable2 = param2;
290 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcAttribute].i]) return;
291 ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable0 /*name*/, variable1 /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
292 ATTR_syntax_base___MMSrcAttribute____node( self) /*MMSrcAttribute::_node*/ = variable2 /*n*/;
293 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcAttribute].i] = 1;
294 tracehead = trace.prev;
295 return;
296 }
297 val_t syntax_base___MMAttrImplementationMethod___node(val_t self) {
298 struct trace_t trace = {NULL, LOCATE_syntax_base, 128, LOCATE_syntax_base___MMAttrImplementationMethod___node};
299 trace.prev = tracehead; tracehead = &trace;
300 tracehead = trace.prev;
301 return ATTR_syntax_base___MMAttrImplementationMethod____node( self) /*MMAttrImplementationMethod::_node*/;
302 }
303 void syntax_base___MMReadImplementationMethod___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, 135, LOCATE_syntax_base___MMReadImplementationMethod___init};
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_MMReadImplementationMethod].i]) return;
313 ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable0 /*name*/, variable1 /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
314 ATTR_syntax_base___MMAttrImplementationMethod____node( self) /*MMAttrImplementationMethod::_node*/ = variable2 /*n*/;
315 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMReadImplementationMethod].i] = 1;
316 tracehead = trace.prev;
317 return;
318 }
319 void syntax_base___MMWriteImplementationMethod___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, 146, LOCATE_syntax_base___MMWriteImplementationMethod___init};
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_MMWriteImplementationMethod].i]) return;
329 ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable0 /*name*/, variable1 /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
330 ATTR_syntax_base___MMAttrImplementationMethod____node( self) /*MMAttrImplementationMethod::_node*/ = variable2 /*n*/;
331 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMWriteImplementationMethod].i] = 1;
332 tracehead = trace.prev;
333 return;
334 }
335 val_t syntax_base___MMMethSrcMethod___node(val_t self) {
336 struct trace_t trace = {NULL, LOCATE_syntax_base, 156, LOCATE_syntax_base___MMMethSrcMethod___node};
337 trace.prev = tracehead; tracehead = &trace;
338 tracehead = trace.prev;
339 return ATTR_syntax_base___MMMethSrcMethod____node( self) /*MMMethSrcMethod::_node*/;
340 }
341 void syntax_base___MMMethSrcMethod___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
342 struct trace_t trace = {NULL, LOCATE_syntax_base, 157, LOCATE_syntax_base___MMMethSrcMethod___init};
343 val_t variable0;
344 val_t variable1;
345 val_t variable2;
346 trace.prev = tracehead; tracehead = &trace;
347 variable0 = param0;
348 variable1 = param1;
349 variable2 = param2;
350 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMMethSrcMethod].i]) return;
351 ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable0 /*name*/, variable1 /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
352 ATTR_syntax_base___MMMethSrcMethod____node( self) /*MMMethSrcMethod::_node*/ = variable2 /*n*/;
353 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMMethSrcMethod].i] = 1;
354 tracehead = trace.prev;
355 return;
356 }
357 val_t syntax_base___MMSrcTypeProperty___node(val_t self) {
358 struct trace_t trace = {NULL, LOCATE_syntax_base, 168, LOCATE_syntax_base___MMSrcTypeProperty___node};
359 trace.prev = tracehead; tracehead = &trace;
360 tracehead = trace.prev;
361 return ATTR_syntax_base___MMSrcTypeProperty____node( self) /*MMSrcTypeProperty::_node*/;
362 }
363 void syntax_base___MMSrcTypeProperty___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
364 struct trace_t trace = {NULL, LOCATE_syntax_base, 169, LOCATE_syntax_base___MMSrcTypeProperty___init};
365 val_t variable0;
366 val_t variable1;
367 val_t variable2;
368 trace.prev = tracehead; tracehead = &trace;
369 variable0 = param0;
370 variable1 = param1;
371 variable2 = param2;
372 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcTypeProperty].i]) return;
373 ((abstractmetamodel___MMLocalProperty___init_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___init))( self, variable0 /*name*/, variable1 /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
374 ATTR_syntax_base___MMSrcTypeProperty____node( self) /*MMSrcTypeProperty::_node*/ = variable2 /*n*/;
375 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSrcTypeProperty].i] = 1;
376 tracehead = trace.prev;
377 return;
378 }
379 val_t syntax_base___Variable___name(val_t self) {
380 struct trace_t trace = {NULL, LOCATE_syntax_base, 179, LOCATE_syntax_base___Variable___name};
381 trace.prev = tracehead; tracehead = &trace;
382 tracehead = trace.prev;
383 return ATTR_syntax_base___Variable____name( self) /*Variable::_name*/;
384 }
385 val_t syntax_base___Variable___decl(val_t self) {
386 struct trace_t trace = {NULL, LOCATE_syntax_base, 182, LOCATE_syntax_base___Variable___decl};
387 trace.prev = tracehead; tracehead = &trace;
388 tracehead = trace.prev;
389 return ATTR_syntax_base___Variable____decl( self) /*Variable::_decl*/;
390 }
391 val_t syntax_base___Variable___stype(val_t self) {
392 struct trace_t trace = {NULL, LOCATE_syntax_base, 185, LOCATE_syntax_base___Variable___stype};
393 trace.prev = tracehead; tracehead = &trace;
394 tracehead = trace.prev;
395 return ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/;
396 }
397 void syntax_base___Variable___stype__eq(val_t self, val_t param0) {
398 struct trace_t trace = {NULL, LOCATE_syntax_base, 185, LOCATE_syntax_base___Variable___stype__eq};
399 trace.prev = tracehead; tracehead = &trace;
400 ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/ = param0;
401 tracehead = trace.prev;
402 return;
403 }
404 val_t syntax_base___Variable___to_s(val_t self) {
405 struct trace_t trace = {NULL, LOCATE_syntax_base, 188, LOCATE_syntax_base___Variable___to_s};
406 val_t variable0;
407 trace.prev = tracehead; tracehead = &trace;
408 variable0 = ATTR_syntax_base___Variable____name( self) /*Variable::_name*/;
409 variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
410 goto return_label10;
411 return_label10: while(false);
412 tracehead = trace.prev;
413 return variable0;
414 }
415 void syntax_base___Variable___init(val_t self, val_t param0, val_t param1, int* init_table) {
416 struct trace_t trace = {NULL, LOCATE_syntax_base, 190, LOCATE_syntax_base___Variable___init};
417 val_t variable0;
418 val_t variable1;
419 val_t variable2;
420 trace.prev = tracehead; tracehead = &trace;
421 variable0 = param0;
422 variable1 = param1;
423 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Variable].i]) return;
424 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*/) /*Object::==*/)))))));
425 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Variable___init, LOCATE_syntax_base, 192); nit_exit(1);}
426 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*/) /*Object::==*/)))))));
427 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Variable___init, LOCATE_syntax_base, 193); nit_exit(1);}
428 ATTR_syntax_base___Variable____name( self) /*Variable::_name*/ = variable0 /*n*/;
429 ATTR_syntax_base___Variable____decl( self) /*Variable::_decl*/ = variable1 /*d*/;
430 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Variable].i] = 1;
431 tracehead = trace.prev;
432 return;
433 }
434 val_t syntax_base___AbsSyntaxVisitor___type_bool(val_t self) {
435 struct trace_t trace = {NULL, LOCATE_syntax_base, 204, LOCATE_syntax_base___AbsSyntaxVisitor___type_bool};
436 val_t variable0;
437 val_t variable1;
438 static val_t once_value_variable1_13; static int once_bool_variable1_13;
439 trace.prev = tracehead; tracehead = &trace;
440 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
441 if (once_bool_variable1_13) variable1 = once_value_variable1_13;
442 else {
443 variable1 = NEW_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
444 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
445 once_value_variable1_13 = variable1;
446 once_bool_variable1_13 = true;
447 }
448 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
449 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
450 goto return_label12;
451 return_label12: while(false);
452 tracehead = trace.prev;
453 return variable0;
454 }
455 val_t syntax_base___AbsSyntaxVisitor___type_int(val_t self) {
456 struct trace_t trace = {NULL, LOCATE_syntax_base, 210, LOCATE_syntax_base___AbsSyntaxVisitor___type_int};
457 val_t variable0;
458 val_t variable1;
459 static val_t once_value_variable1_15; static int once_bool_variable1_15;
460 trace.prev = tracehead; tracehead = &trace;
461 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
462 if (once_bool_variable1_15) variable1 = once_value_variable1_15;
463 else {
464 variable1 = NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
465 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
466 once_value_variable1_15 = variable1;
467 once_bool_variable1_15 = true;
468 }
469 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
470 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
471 goto return_label14;
472 return_label14: while(false);
473 tracehead = trace.prev;
474 return variable0;
475 }
476 val_t syntax_base___AbsSyntaxVisitor___type_float(val_t self) {
477 struct trace_t trace = {NULL, LOCATE_syntax_base, 216, LOCATE_syntax_base___AbsSyntaxVisitor___type_float};
478 val_t variable0;
479 val_t variable1;
480 static val_t once_value_variable1_17; static int once_bool_variable1_17;
481 trace.prev = tracehead; tracehead = &trace;
482 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
483 if (once_bool_variable1_17) variable1 = once_value_variable1_17;
484 else {
485 variable1 = NEW_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
486 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
487 once_value_variable1_17 = variable1;
488 once_bool_variable1_17 = true;
489 }
490 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
491 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
492 goto return_label16;
493 return_label16: while(false);
494 tracehead = trace.prev;
495 return variable0;
496 }
497 val_t syntax_base___AbsSyntaxVisitor___type_char(val_t self) {
498 struct trace_t trace = {NULL, LOCATE_syntax_base, 222, LOCATE_syntax_base___AbsSyntaxVisitor___type_char};
499 val_t variable0;
500 val_t variable1;
501 static val_t once_value_variable1_19; static int once_bool_variable1_19;
502 trace.prev = tracehead; tracehead = &trace;
503 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
504 if (once_bool_variable1_19) variable1 = once_value_variable1_19;
505 else {
506 variable1 = NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
507 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
508 once_value_variable1_19 = variable1;
509 once_bool_variable1_19 = true;
510 }
511 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
512 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
513 goto return_label18;
514 return_label18: while(false);
515 tracehead = trace.prev;
516 return variable0;
517 }
518 val_t syntax_base___AbsSyntaxVisitor___type_string(val_t self) {
519 struct trace_t trace = {NULL, LOCATE_syntax_base, 228, LOCATE_syntax_base___AbsSyntaxVisitor___type_string};
520 val_t variable0;
521 val_t variable1;
522 static val_t once_value_variable1_21; static int once_bool_variable1_21;
523 trace.prev = tracehead; tracehead = &trace;
524 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
525 if (once_bool_variable1_21) variable1 = once_value_variable1_21;
526 else {
527 variable1 = NEW_string___String___with_native(BOX_NativeString("String"), TAG_Int(6)); /*new String*/
528 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
529 once_value_variable1_21 = variable1;
530 once_bool_variable1_21 = true;
531 }
532 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
533 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
534 goto return_label20;
535 return_label20: while(false);
536 tracehead = trace.prev;
537 return variable0;
538 }
539 val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t self) {
540 struct trace_t trace = {NULL, LOCATE_syntax_base, 234, LOCATE_syntax_base___AbsSyntaxVisitor___type_collection};
541 val_t variable0;
542 val_t variable1;
543 static val_t once_value_variable1_23; static int once_bool_variable1_23;
544 trace.prev = tracehead; tracehead = &trace;
545 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
546 if (once_bool_variable1_23) variable1 = once_value_variable1_23;
547 else {
548 variable1 = NEW_string___String___with_native(BOX_NativeString("Collection"), TAG_Int(10)); /*new String*/
549 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
550 once_value_variable1_23 = variable1;
551 once_bool_variable1_23 = true;
552 }
553 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
554 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
555 goto return_label22;
556 return_label22: while(false);
557 tracehead = trace.prev;
558 return variable0;
559 }
560 val_t syntax_base___AbsSyntaxVisitor___type_array(val_t self, val_t param0) {
561 struct trace_t trace = {NULL, LOCATE_syntax_base, 240, LOCATE_syntax_base___AbsSyntaxVisitor___type_array};
562 val_t variable0;
563 val_t variable1;
564 val_t variable2;
565 static val_t once_value_variable2_25; static int once_bool_variable2_25;
566 trace.prev = tracehead; tracehead = &trace;
567 variable0 = param0;
568 variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
569 if (once_bool_variable2_25) variable2 = once_value_variable2_25;
570 else {
571 variable2 = NEW_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)); /*new String*/
572 variable2 = ((symbol___String___to_symbol_t)CALL(variable2,COLOR_symbol___String___to_symbol))(variable2) /*String::to_symbol*/;
573 once_value_variable2_25 = variable2;
574 once_bool_variable2_25 = true;
575 }
576 variable1 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable1,COLOR_abstractmetamodel___MMModule___class_by_name))(variable1, variable2) /*MMModule::class_by_name*/;
577 variable2 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
578 ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable0 /*stype*/) /*AbstractArray::add*/;
579 variable1 = ((genericity___MMLocalClass___get_instantiate_type_t)CALL(variable1,COLOR_genericity___MMLocalClass___get_instantiate_type))(variable1, variable2) /*MMLocalClass::get_instantiate_type*/;
580 goto return_label24;
581 return_label24: while(false);
582 tracehead = trace.prev;
583 return variable1;
584 }
585 val_t syntax_base___AbsSyntaxVisitor___type_discrete(val_t self) {
586 struct trace_t trace = {NULL, LOCATE_syntax_base, 246, LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete};
587 val_t variable0;
588 val_t variable1;
589 static val_t once_value_variable1_27; static int once_bool_variable1_27;
590 trace.prev = tracehead; tracehead = &trace;
591 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
592 if (once_bool_variable1_27) variable1 = once_value_variable1_27;
593 else {
594 variable1 = NEW_string___String___with_native(BOX_NativeString("Discrete"), TAG_Int(8)); /*new String*/
595 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
596 once_value_variable1_27 = variable1;
597 once_bool_variable1_27 = true;
598 }
599 variable0 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable0,COLOR_abstractmetamodel___MMModule___class_by_name))(variable0, variable1) /*MMModule::class_by_name*/;
600 variable0 = ((genericity___MMLocalClass___get_type_t)CALL(variable0,COLOR_static_type___MMLocalClass___get_type))(variable0) /*MMLocalClass::get_type*/;
601 goto return_label26;
602 return_label26: while(false);
603 tracehead = trace.prev;
604 return variable0;
605 }
606 val_t syntax_base___AbsSyntaxVisitor___type_range(val_t self, val_t param0) {
607 struct trace_t trace = {NULL, LOCATE_syntax_base, 252, LOCATE_syntax_base___AbsSyntaxVisitor___type_range};
608 val_t variable0;
609 val_t variable1;
610 val_t variable2;
611 static val_t once_value_variable2_29; static int once_bool_variable2_29;
612 trace.prev = tracehead; tracehead = &trace;
613 variable0 = param0;
614 variable1 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
615 if (once_bool_variable2_29) variable2 = once_value_variable2_29;
616 else {
617 variable2 = NEW_string___String___with_native(BOX_NativeString("Range"), TAG_Int(5)); /*new String*/
618 variable2 = ((symbol___String___to_symbol_t)CALL(variable2,COLOR_symbol___String___to_symbol))(variable2) /*String::to_symbol*/;
619 once_value_variable2_29 = variable2;
620 once_bool_variable2_29 = true;
621 }
622 variable1 = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable1,COLOR_abstractmetamodel___MMModule___class_by_name))(variable1, variable2) /*MMModule::class_by_name*/;
623 variable2 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
624 ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable0 /*stype*/) /*AbstractArray::add*/;
625 variable1 = ((genericity___MMLocalClass___get_instantiate_type_t)CALL(variable1,COLOR_genericity___MMLocalClass___get_instantiate_type))(variable1, variable2) /*MMLocalClass::get_instantiate_type*/;
626 goto return_label28;
627 return_label28: while(false);
628 tracehead = trace.prev;
629 return variable1;
630 }
631 val_t syntax_base___AbsSyntaxVisitor___type_none(val_t self) {
632 struct trace_t trace = {NULL, LOCATE_syntax_base, 258, LOCATE_syntax_base___AbsSyntaxVisitor___type_none};
633 val_t variable0;
634 trace.prev = tracehead; tracehead = &trace;
635 variable0 = ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
636 variable0 = ((static_type___MMModule___type_none_t)CALL(variable0,COLOR_static_type___MMModule___type_none))(variable0) /*MMModule::type_none*/;
637 goto return_label30;
638 return_label30: while(false);
639 tracehead = trace.prev;
640 return variable0;
641 }
642 val_t syntax_base___AbsSyntaxVisitor___module(val_t self) {
643 struct trace_t trace = {NULL, LOCATE_syntax_base, 264, LOCATE_syntax_base___AbsSyntaxVisitor___module};
644 trace.prev = tracehead; tracehead = &trace;
645 tracehead = trace.prev;
646 return ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
647 }
648 void syntax_base___AbsSyntaxVisitor___module__eq(val_t self, val_t param0) {
649 struct trace_t trace = {NULL, LOCATE_syntax_base, 264, LOCATE_syntax_base___AbsSyntaxVisitor___module__eq};
650 trace.prev = tracehead; tracehead = &trace;
651 ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/ = param0;
652 tracehead = trace.prev;
653 return;
654 }
655 val_t syntax_base___AbsSyntaxVisitor___local_class(val_t self) {
656 struct trace_t trace = {NULL, LOCATE_syntax_base, 267, LOCATE_syntax_base___AbsSyntaxVisitor___local_class};
657 trace.prev = tracehead; tracehead = &trace;
658 tracehead = trace.prev;
659 return ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/;
660 }
661 void syntax_base___AbsSyntaxVisitor___local_class__eq(val_t self, val_t param0) {
662 struct trace_t trace = {NULL, LOCATE_syntax_base, 267, LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq};
663 trace.prev = tracehead; tracehead = &trace;
664 ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/ = param0;
665 tracehead = trace.prev;
666 return;
667 }
668 val_t syntax_base___AbsSyntaxVisitor___local_property(val_t self) {
669 struct trace_t trace = {NULL, LOCATE_syntax_base, 270, LOCATE_syntax_base___AbsSyntaxVisitor___local_property};
670 trace.prev = tracehead; tracehead = &trace;
671 tracehead = trace.prev;
672 return ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/;
673 }
674 void syntax_base___AbsSyntaxVisitor___local_property__eq(val_t self, val_t param0) {
675 struct trace_t trace = {NULL, LOCATE_syntax_base, 270, LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq};
676 trace.prev = tracehead; tracehead = &trace;
677 ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/ = param0;
678 tracehead = trace.prev;
679 return;
680 }
681 val_t syntax_base___AbsSyntaxVisitor___tc(val_t self) {
682 struct trace_t trace = {NULL, LOCATE_syntax_base, 273, LOCATE_syntax_base___AbsSyntaxVisitor___tc};
683 trace.prev = tracehead; tracehead = &trace;
684 tracehead = trace.prev;
685 return ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
686 }
687 void syntax_base___AbsSyntaxVisitor___error(val_t self, val_t param0, val_t param1) {
688 struct trace_t trace = {NULL, LOCATE_syntax_base, 276, LOCATE_syntax_base___AbsSyntaxVisitor___error};
689 val_t variable0;
690 val_t variable1;
691 val_t variable2;
692 val_t variable3;
693 val_t variable4;
694 val_t variable5;
695 val_t variable6;
696 val_t variable7;
697 val_t variable8;
698 val_t variable9;
699 val_t variable10;
700 val_t variable11;
701 val_t variable12;
702 trace.prev = tracehead; tracehead = &trace;
703 variable0 = param0;
704 variable1 = param1;
705 variable2 = ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
706 variable3 = NEW_string___String___init(); /*new String*/
707 variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
708 variable5 = variable4;
709 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
710 variable6 = ((parser_prod___PNode___locate_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___locate))( variable0 /*n*/) /*PNode::locate*/;
711 variable7 = variable6;
712 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
713 variable8 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
714 variable9 = variable8;
715 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
716 variable10 = variable1 /*s*/;
717 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
718 variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
719 variable12 = variable11;
720 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
721 ((mmloader___ToolContext___error_t)CALL(variable2,COLOR_mmloader___ToolContext___error))(variable2, variable3) /*ToolContext::error*/;
722 tracehead = trace.prev;
723 return;
724 }
725 void syntax_base___AbsSyntaxVisitor___warning(val_t self, val_t param0, val_t param1) {
726 struct trace_t trace = {NULL, LOCATE_syntax_base, 282, LOCATE_syntax_base___AbsSyntaxVisitor___warning};
727 val_t variable0;
728 val_t variable1;
729 val_t variable2;
730 val_t variable3;
731 val_t variable4;
732 val_t variable5;
733 val_t variable6;
734 val_t variable7;
735 val_t variable8;
736 val_t variable9;
737 val_t variable10;
738 val_t variable11;
739 val_t variable12;
740 trace.prev = tracehead; tracehead = &trace;
741 variable0 = param0;
742 variable1 = param1;
743 variable2 = ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
744 variable3 = NEW_string___String___init(); /*new String*/
745 variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
746 variable5 = variable4;
747 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
748 variable6 = ((parser_prod___PNode___locate_t)CALL( variable0 /*n*/,COLOR_parser_prod___PNode___locate))( variable0 /*n*/) /*PNode::locate*/;
749 variable7 = variable6;
750 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
751 variable8 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
752 variable9 = variable8;
753 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
754 variable10 = variable1 /*s*/;
755 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
756 variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
757 variable12 = variable11;
758 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
759 ((mmloader___ToolContext___warning_t)CALL(variable2,COLOR_mmloader___ToolContext___warning))(variable2, variable3) /*ToolContext::warning*/;
760 tracehead = trace.prev;
761 return;
762 }
763 val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t self, val_t param0, val_t param1, val_t param2) {
764 struct trace_t trace = {NULL, LOCATE_syntax_base, 288, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform};
765 val_t variable0;
766 val_t variable1;
767 val_t variable2;
768 val_t variable3;
769 val_t variable4;
770 val_t variable5;
771 val_t variable6;
772 val_t variable7;
773 val_t variable8;
774 val_t variable9;
775 val_t variable10;
776 val_t variable11;
777 trace.prev = tracehead; tracehead = &trace;
778 variable0 = param0;
779 variable1 = param1;
780 variable2 = param2;
781 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*/) /*Object::==*/)))));
782 variable4 = variable3;
783 if (!UNTAG_Bool(variable4)) { /* or */
784 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*/) /*Object::==*/)))));
785 }
786 variable3 = variable4;
787 if (UNTAG_Bool(variable3)) { /*if*/
788 variable3 = TAG_Bool(false);
789 goto return_label33;
790 }
791 variable3 = ((static_type___MMType_____l_t)CALL( variable1 /*subtype*/,COLOR_static_type___MMType_____l))( variable1 /*subtype*/, variable2 /*stype*/) /*MMType::<*/;
792 if (UNTAG_Bool(variable3)) { /*if*/
793 variable3 = TAG_Bool(true);
794 goto return_label33;
795 }
796 variable3 = NEW_string___String___init(); /*new String*/
797 variable4 = NEW_string___String___with_native(BOX_NativeString("Type error: expected "), TAG_Int(21)); /*new String*/
798 variable5 = variable4;
799 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
800 variable6 = variable2 /*stype*/;
801 variable6 = ((string___String___to_s_t)CALL(variable6,COLOR_string___Object___to_s))(variable6) /*String::to_s*/;
802 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
803 variable7 = NEW_string___String___with_native(BOX_NativeString(", got "), TAG_Int(6)); /*new String*/
804 variable8 = variable7;
805 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
806 variable9 = variable1 /*subtype*/;
807 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
808 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
809 variable10 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
810 variable11 = variable10;
811 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
812 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( self,COLOR_syntax_base___AbsSyntaxVisitor___error))( self, variable0 /*n*/, variable3) /*AbsSyntaxVisitor::error*/;
813 variable3 = TAG_Bool(false);
814 goto return_label33;
815 return_label33: while(false);
816 tracehead = trace.prev;
817 return variable3;
818 }
819 void syntax_base___AbsSyntaxVisitor___init(val_t self, val_t param0, val_t param1, int* init_table) {
820 struct trace_t trace = {NULL, LOCATE_syntax_base, 304, LOCATE_syntax_base___AbsSyntaxVisitor___init};
821 val_t variable0;
822 val_t variable1;
823 trace.prev = tracehead; tracehead = &trace;
824 variable0 = param0;
825 variable1 = param1;
826 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AbsSyntaxVisitor].i]) return;
827 ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/ = variable0 /*tc*/;
828 ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/ = variable1 /*module*/;
829 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_AbsSyntaxVisitor].i] = 1;
830 tracehead = trace.prev;
831 return;
832 }
833 void syntax_base___PNode___accept_abs_syntax_visitor(val_t self, val_t param0) {
834 struct trace_t trace = {NULL, LOCATE_syntax_base, 314, LOCATE_syntax_base___PNode___accept_abs_syntax_visitor};
835 val_t variable0;
836 trace.prev = tracehead; tracehead = &trace;
837 variable0 = param0;
838 ((parser_prod___PNode___visit_all_t)CALL( self,COLOR_parser_prod___PNode___visit_all))( self, variable0 /*v*/) /*PNode::visit_all*/;
839 tracehead = trace.prev;
840 return;
841 }
842 val_t syntax_base___Token___to_symbol(val_t self) {
843 struct trace_t trace = {NULL, LOCATE_syntax_base, 320, LOCATE_syntax_base___Token___to_symbol};
844 val_t variable0;
845 val_t variable1;
846 trace.prev = tracehead; tracehead = &trace;
847 variable1 = ATTR_syntax_base___Token____symbol( self) /*Token::_symbol*/;
848 variable0 = variable1;
849 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*/) /*Object::==*/)))));
850 if (UNTAG_Bool(variable1)) { /*if*/
851 variable1 = ((lexer___Token___text_t)CALL( self,COLOR_lexer___Token___text))( self) /*Token::text*/;
852 variable1 = ((symbol___String___to_symbol_t)CALL(variable1,COLOR_symbol___String___to_symbol))(variable1) /*String::to_symbol*/;
853 variable0 = variable1 /*s=*/;
854 ATTR_syntax_base___Token____symbol( self) /*Token::_symbol*/ = variable0 /*s*/;
855 }
856 variable0 = variable0 /*s*/;
857 goto return_label36;
858 return_label36: while(false);
859 tracehead = trace.prev;
860 return variable0;
861 }
862 val_t syntax_base___PClassdef___local_class(val_t self) {
863 struct trace_t trace = {NULL, LOCATE_syntax_base, 334, LOCATE_syntax_base___PClassdef___local_class};
864 trace.prev = tracehead; tracehead = &trace;
865 fprintf(stderr, "Deferred method %s called");
866 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 334);
867 nit_exit(1);
868 tracehead = trace.prev;
869 return NIT_NULL;
870 }
871 val_t syntax_base___AAttrPropdef___prop(val_t self) {
872 struct trace_t trace = {NULL, LOCATE_syntax_base, 339, LOCATE_syntax_base___AAttrPropdef___prop};
873 trace.prev = tracehead; tracehead = &trace;
874 fprintf(stderr, "Deferred method %s called");
875 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 339);
876 nit_exit(1);
877 tracehead = trace.prev;
878 return NIT_NULL;
879 }
880 val_t syntax_base___AAttrPropdef___readmethod(val_t self) {
881 struct trace_t trace = {NULL, LOCATE_syntax_base, 342, LOCATE_syntax_base___AAttrPropdef___readmethod};
882 trace.prev = tracehead; tracehead = &trace;
883 fprintf(stderr, "Deferred method %s called");
884 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 342);
885 nit_exit(1);
886 tracehead = trace.prev;
887 return NIT_NULL;
888 }
889 val_t syntax_base___AAttrPropdef___writemethod(val_t self) {
890 struct trace_t trace = {NULL, LOCATE_syntax_base, 345, LOCATE_syntax_base___AAttrPropdef___writemethod};
891 trace.prev = tracehead; tracehead = &trace;
892 fprintf(stderr, "Deferred method %s called");
893 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 345);
894 nit_exit(1);
895 tracehead = trace.prev;
896 return NIT_NULL;
897 }
898 val_t syntax_base___AMethPropdef___method(val_t self) {
899 struct trace_t trace = {NULL, LOCATE_syntax_base, 350, LOCATE_syntax_base___AMethPropdef___method};
900 trace.prev = tracehead; tracehead = &trace;
901 fprintf(stderr, "Deferred method %s called");
902 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 350);
903 nit_exit(1);
904 tracehead = trace.prev;
905 return NIT_NULL;
906 }
907 val_t syntax_base___ATypePropdef___prop(val_t self) {
908 struct trace_t trace = {NULL, LOCATE_syntax_base, 355, LOCATE_syntax_base___ATypePropdef___prop};
909 trace.prev = tracehead; tracehead = &trace;
910 fprintf(stderr, "Deferred method %s called");
911 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 355);
912 nit_exit(1);
913 tracehead = trace.prev;
914 return NIT_NULL;
915 }
916 val_t syntax_base___PParam___position(val_t self) {
917 struct trace_t trace = {NULL, LOCATE_syntax_base, 360, LOCATE_syntax_base___PParam___position};
918 trace.prev = tracehead; tracehead = &trace;
919 fprintf(stderr, "Deferred method %s called");
920 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 360);
921 nit_exit(1);
922 tracehead = trace.prev;
923 return NIT_NULL;
924 }
925 val_t syntax_base___PParam___variable(val_t self) {
926 struct trace_t trace = {NULL, LOCATE_syntax_base, 363, LOCATE_syntax_base___PParam___variable};
927 trace.prev = tracehead; tracehead = &trace;
928 fprintf(stderr, "Deferred method %s called");
929 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 363);
930 nit_exit(1);
931 tracehead = trace.prev;
932 return NIT_NULL;
933 }
934 val_t syntax_base___PType___get_local_class(val_t self, val_t param0) {
935 struct trace_t trace = {NULL, LOCATE_syntax_base, 368, LOCATE_syntax_base___PType___get_local_class};
936 trace.prev = tracehead; tracehead = &trace;
937 fprintf(stderr, "Deferred method %s called");
938 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 368);
939 nit_exit(1);
940 tracehead = trace.prev;
941 return NIT_NULL;
942 }
943 val_t syntax_base___PType___get_stype(val_t self, val_t param0) {
944 struct trace_t trace = {NULL, LOCATE_syntax_base, 373, LOCATE_syntax_base___PType___get_stype};
945 trace.prev = tracehead; tracehead = &trace;
946 fprintf(stderr, "Deferred method %s called");
947 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 373);
948 nit_exit(1);
949 tracehead = trace.prev;
950 return NIT_NULL;
951 }
952 val_t syntax_base___PType___get_unchecked_stype(val_t self, val_t param0) {
953 struct trace_t trace = {NULL, LOCATE_syntax_base, 377, LOCATE_syntax_base___PType___get_unchecked_stype};
954 trace.prev = tracehead; tracehead = &trace;
955 fprintf(stderr, "Deferred method %s called");
956 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 377);
957 nit_exit(1);
958 tracehead = trace.prev;
959 return NIT_NULL;
960 }
961 void syntax_base___PType___check_conform(val_t self, val_t param0) {
962 struct trace_t trace = {NULL, LOCATE_syntax_base, 383, LOCATE_syntax_base___PType___check_conform};
963 trace.prev = tracehead; tracehead = &trace;
964 fprintf(stderr, "Deferred method %s called");
965 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___Token___to_symbol, LOCATE_syntax_base, 383);
966 nit_exit(1);
967 tracehead = trace.prev;
968 return;
969 }
970 val_t syntax_base___AType___get_local_class(val_t self, val_t param0) {
971 struct trace_t trace = {NULL, LOCATE_syntax_base, 393, LOCATE_syntax_base___AType___get_local_class};
972 val_t variable0;
973 val_t variable1;
974 val_t variable2;
975 val_t variable3;
976 val_t variable4;
977 val_t variable5;
978 val_t variable6;
979 val_t variable7;
980 val_t variable8;
981 val_t variable9;
982 val_t variable10;
983 val_t variable11;
984 val_t variable12;
985 val_t variable13;
986 trace.prev = tracehead; tracehead = &trace;
987 variable0 = param0;
988 variable2 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
989 variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
990 variable1 = variable2;
991 variable3 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
992 variable2 = variable3;
993 variable4 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
994 variable3 = variable4;
995 variable4 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
996 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 == NIT_NULL /*null*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, NIT_NULL /*null*/) /*Object::==*/)))))));
997 variable5 = variable4;
998 if (UNTAG_Bool(variable5)) { /* and */
999 variable5 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
1000 variable5 = ((abstract_collection___Map___has_key_t)CALL(variable5,COLOR_abstract_collection___Map___has_key))(variable5, variable1 /*name*/) /*Map::has_key*/;
1001 }
1002 variable4 = variable5;
1003 variable5 = variable4;
1004 if (!UNTAG_Bool(variable5)) { /* or */
1005 variable5 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable3 /*cla*/) /*MMLocalClass::global_properties*/;
1006 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable5 == NIT_NULL /*null*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5, NIT_NULL /*null*/) /*Object::==*/)))))));
1007 variable6 = variable5;
1008 if (UNTAG_Bool(variable6)) { /* and */
1009 variable6 = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( variable3 /*cla*/, variable1 /*name*/) /*MMLocalClass::has_global_property_by_name*/;
1010 }
1011 variable5 = variable6;
1012 }
1013 variable4 = variable5;
1014 if (UNTAG_Bool(variable4)) { /*if*/
1015 variable4 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
1016 variable5 = NEW_string___String___init(); /*new String*/
1017 variable6 = NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
1018 variable7 = variable6;
1019 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
1020 variable8 = variable1 /*name*/;
1021 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
1022 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
1023 variable9 = NEW_string___String___with_native(BOX_NativeString(" is a formal type"), TAG_Int(17)); /*new String*/
1024 variable10 = variable9;
1025 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
1026 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable4, variable5) /*AbsSyntaxVisitor::error*/;
1027 ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/ = TAG_Bool(true);
1028 variable1 = NIT_NULL /*null*/;
1029 goto return_label37;
1030 }
1031 variable4 = ((abstractmetamodel___MMModule___has_global_class_named_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___has_global_class_named))( variable2 /*mod*/, variable1 /*name*/) /*MMModule::has_global_class_named*/;
1032 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4)))) { /*if*/
1033 variable4 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
1034 variable5 = NEW_string___String___init(); /*new String*/
1035 variable6 = NEW_string___String___with_native(BOX_NativeString("Type error: class "), TAG_Int(18)); /*new String*/
1036 variable7 = variable6;
1037 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
1038 variable8 = variable1 /*name*/;
1039 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
1040 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
1041 variable9 = NEW_string___String___with_native(BOX_NativeString(" not found in module "), TAG_Int(21)); /*new String*/
1042 variable10 = variable9;
1043 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
1044 variable11 = variable2 /*mod*/;
1045 variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
1046 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
1047 variable12 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1048 variable13 = variable12;
1049 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
1050 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, variable4, variable5) /*AbsSyntaxVisitor::error*/;
1051 ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/ = TAG_Bool(true);
1052 variable1 = NIT_NULL /*null*/;
1053 goto return_label37;
1054 }
1055 variable5 = ((abstractmetamodel___MMModule___class_by_name_t)CALL( variable2 /*mod*/,COLOR_abstractmetamodel___MMModule___class_by_name))( variable2 /*mod*/, variable1 /*name*/) /*MMModule::class_by_name*/;
1056 variable4 = variable5;
1057 variable5 = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable4 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable4 /*local_class*/) /*MMLocalClass::global*/;
1058 ((syntax_base___MMGlobalClass___check_visibility_t)CALL(variable5,COLOR_syntax_base___MMGlobalClass___check_visibility))(variable5, variable0 /*v*/, self, variable2 /*mod*/) /*MMGlobalClass::check_visibility*/;
1059 variable1 = variable4 /*local_class*/;
1060 goto return_label37;
1061 return_label37: while(false);
1062 tracehead = trace.prev;
1063 return variable1;
1064 }
1065 val_t syntax_base___AType___get_unchecked_stype(val_t self, val_t param0) {
1066 struct trace_t trace = {NULL, LOCATE_syntax_base, 416, LOCATE_syntax_base___AType___get_unchecked_stype};
1067 val_t variable0;
1068 val_t variable1;
1069 val_t variable2;
1070 val_t variable3;
1071 val_t variable4;
1072 val_t variable5;
1073 val_t variable6;
1074 val_t variable7;
1075 val_t variable8;
1076 val_t variable9;
1077 val_t variable10;
1078 val_t variable11;
1079 val_t variable12;
1080 val_t variable13;
1081 val_t variable14;
1082 val_t variable15;
1083 val_t variable16;
1084 val_t variable17;
1085 val_t variable18;
1086 trace.prev = tracehead; tracehead = &trace;
1087 variable0 = param0;
1088 variable1 = ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/;
1089 if (UNTAG_Bool(variable1)) { /*if*/
1090 variable1 = ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/;
1091 goto return_label38;
1092 }
1093 ATTR_syntax_base___AType____stype_cached( self) /*AType::_stype_cached*/ = TAG_Bool(true);
1094 variable2 = ((parser_nodes___AType___n_id_t)CALL( self,COLOR_parser_nodes___AType___n_id))( self) /*AType::n_id*/;
1095 variable2 = ((syntax_base___Token___to_symbol_t)CALL(variable2,COLOR_syntax_base___Token___to_symbol))(variable2) /*Token::to_symbol*/;
1096 variable1 = variable2;
1097 variable3 = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable0 /*v*/) /*AbsSyntaxVisitor::module*/;
1098 variable2 = variable3;
1099 variable4 = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable0 /*v*/) /*AbsSyntaxVisitor::local_class*/;
1100 variable3 = variable4;
1101 variable4 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
1102 variable4 = ((abstract_collection___Map___has_key_t)CALL(variable4,COLOR_abstract_collection___Map___has_key))(variable4, variable1 /*name*/) /*Map::has_key*/;
1103 if (UNTAG_Bool(variable4)) { /*if*/
1104 variable4 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1105 variable4 = ((list___List___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*List::length*/;
1106 variable4 = TAG_Bool(UNTAG_Int(variable4)>UNTAG_Int( TAG_Int(0)));
1107 if (UNTAG_Bool(variable4)) { /*if*/
1108 variable4 = NEW_string___String___init(); /*new String*/
1109 variable5 = NEW_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)); /*new String*/
1110 variable6 = variable5;
1111 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
1112 variable7 = variable1 /*name*/;
1113 variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
1114 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
1115 variable8 = NEW_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)); /*new String*/
1116 variable9 = variable8;
1117 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
1118 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, self, variable4) /*AbsSyntaxVisitor::error*/;
1119 variable1 = NIT_NULL /*null*/;
1120 goto return_label38;
1121 }
1122 variable5 = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable3 /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable3 /*cla*/) /*MMSrcLocalClass::formal_dict*/;
1123 variable5 = ((abstract_collection___Map_____bra_t)CALL(variable5,COLOR_abstract_collection___Map_____bra))(variable5, variable1 /*name*/) /*Map::[]*/;
1124 variable4 = variable5;
1125 ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ = variable4 /*formal*/;
1126 variable1 = variable4 /*formal*/;
1127 goto return_label38;
1128 }
1129 variable4 = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable3 /*cla*/) /*MMLocalClass::global_properties*/;
1130 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 == NIT_NULL /*null*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, NIT_NULL /*null*/) /*Object::==*/)))))));
1131 variable5 = variable4;
1132 if (UNTAG_Bool(variable5)) { /* and */
1133 variable5 = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( variable3 /*cla*/,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( variable3 /*cla*/, variable1 /*name*/) /*MMLocalClass::has_global_property_by_name*/;
1134 }
1135 variable4 = variable5;
1136 if (UNTAG_Bool(variable4)) { /*if*/
1137 variable4 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1138 variable4 = ((list___List___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*List::length*/;
1139 variable4 = TAG_Bool(UNTAG_Int(variable4)>UNTAG_Int( TAG_Int(0)));
1140 if (UNTAG_Bool(variable4)) { /*if*/
1141 variable4 = NEW_string___String___init(); /*new String*/
1142 variable5 = NEW_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)); /*new String*/
1143 variable6 = variable5;
1144 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
1145 variable7 = variable1 /*name*/;
1146 variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
1147 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
1148 variable8 = NEW_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)); /*new String*/
1149 variable9 = variable8;
1150 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
1151 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, self, variable4) /*AbsSyntaxVisitor::error*/;
1152 variable1 = NIT_NULL /*null*/;
1153 goto return_label38;
1154 }
1155 variable5 = ((genericity___MMLocalClass___get_type_t)CALL( variable3 /*cla*/,COLOR_static_type___MMLocalClass___get_type))( variable3 /*cla*/) /*MMLocalClass::get_type*/;
1156 variable5 = ((static_type___MMType___local_class_t)CALL(variable5,COLOR_static_type___MMType___local_class))(variable5) /*MMType::local_class*/;
1157 variable5 = ((virtualtype___MMLocalClass___select_virtual_type_t)CALL(variable5,COLOR_virtualtype___MMLocalClass___select_virtual_type))(variable5, variable1 /*name*/) /*MMLocalClass::select_virtual_type*/;
1158 variable6 = ((genericity___MMLocalClass___get_type_t)CALL( variable3 /*cla*/,COLOR_static_type___MMLocalClass___get_type))( variable3 /*cla*/) /*MMLocalClass::get_type*/;
1159 variable5 = ((virtualtype___MMTypeProperty___stype_for_t)CALL(variable5,COLOR_virtualtype___MMTypeProperty___stype_for))(variable5, variable6) /*MMTypeProperty::stype_for*/;
1160 variable4 = variable5;
1161 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*/) /*Object::==*/)))));
1162 if (UNTAG_Bool(variable5)) { /*if*/
1163 variable5 = NEW_string___String___init(); /*new String*/
1164 variable6 = NEW_string___String___with_native(BOX_NativeString("Type error: circular definition in formal type "), TAG_Int(47)); /*new String*/
1165 variable7 = variable6;
1166 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
1167 variable8 = variable1 /*name*/;
1168 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
1169 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
1170 variable9 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1171 variable10 = variable9;
1172 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
1173 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, self, variable5) /*AbsSyntaxVisitor::error*/;
1174 variable1 = NIT_NULL /*null*/;
1175 goto return_label38;
1176 }
1177 ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ = variable4 /*t*/;
1178 variable1 = variable4 /*t*/;
1179 goto return_label38;
1180 }
1181 variable5 = ((syntax_base___AType___get_local_class_t)CALL( self,COLOR_syntax_base___PType___get_local_class))( self, variable0 /*v*/) /*AType::get_local_class*/;
1182 variable4 = variable5;
1183 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*/) /*Object::==*/)))));
1184 if (UNTAG_Bool(variable5)) { /*if*/
1185 variable1 = NIT_NULL /*null*/;
1186 goto return_label38;
1187 }
1188 variable6 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1189 variable6 = ((list___List___length_t)CALL(variable6,COLOR_abstract_collection___Collection___length))(variable6) /*List::length*/;
1190 variable5 = variable6;
1191 variable6 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( variable4 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___arity))( variable4 /*local_class*/) /*MMLocalClass::arity*/;
1192 variable6 = TAG_Bool((variable6)!=( variable5 /*arity*/));
1193 if (UNTAG_Bool(variable6)) { /*if*/
1194 variable6 = NEW_string___String___init(); /*new String*/
1195 variable7 = NEW_string___String___with_native(BOX_NativeString("Type error: '"), TAG_Int(13)); /*new String*/
1196 variable8 = variable7;
1197 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
1198 variable9 = variable4 /*local_class*/;
1199 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
1200 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
1201 variable10 = NEW_string___String___with_native(BOX_NativeString("' has "), TAG_Int(6)); /*new String*/
1202 variable11 = variable10;
1203 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
1204 variable12 = ((abstractmetamodel___MMLocalClass___arity_t)CALL( variable4 /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___arity))( variable4 /*local_class*/) /*MMLocalClass::arity*/;
1205 variable13 = variable12;
1206 variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
1207 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable13) /*String::append*/;
1208 variable14 = NEW_string___String___with_native(BOX_NativeString(" parameters which differs from the "), TAG_Int(35)); /*new String*/
1209 variable15 = variable14;
1210 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable15) /*String::append*/;
1211 variable16 = variable5 /*arity*/;
1212 variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
1213 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
1214 variable17 = NEW_string___String___with_native(BOX_NativeString(" params."), TAG_Int(8)); /*new String*/
1215 variable18 = variable17;
1216 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
1217 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable0 /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable0 /*v*/, self, variable6) /*AbsSyntaxVisitor::error*/;
1218 variable1 = NIT_NULL /*null*/;
1219 goto return_label38;
1220 }
1221 variable6 = TAG_Bool(UNTAG_Int( variable5 /*arity*/)>UNTAG_Int( TAG_Int(0)));
1222 if (UNTAG_Bool(variable6)) { /*if*/
1223 variable7 = NEW_array___Array___init(); /*new Array[E]*/
1224 variable6 = variable7;
1225 variable7 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1226 variable7 = ((list___List___iterator_t)CALL(variable7,COLOR_abstract_collection___Collection___iterator))(variable7) /*List::iterator*/;
1227 while (true) { /*for*/
1228 variable8 = ((list___ListIterator___is_ok_t)CALL(variable7,COLOR_abstract_collection___Iterator___is_ok))(variable7) /*ListIterator::is_ok*/;
1229 if (!UNTAG_Bool(variable8)) break; /*for*/
1230 variable8 = ((list___ListIterator___item_t)CALL(variable7,COLOR_abstract_collection___Iterator___item))(variable7) /*ListIterator::item*/;
1231 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*/;
1232 ((array___AbstractArray___add_t)CALL( variable6 /*tab*/,COLOR_abstract_collection___SimpleCollection___add))( variable6 /*tab*/, variable9) /*AbstractArray::add*/;
1233 continue_39: while(0);
1234 ((list___ListIterator___next_t)CALL(variable7,COLOR_abstract_collection___Iterator___next))(variable7) /*ListIterator::next*/;
1235 }
1236 break_39: while(0);
1237 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*/;
1238 variable7 = variable8;
1239 ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ = variable7 /*t*/;
1240 variable1 = variable7 /*t*/;
1241 goto return_label38;
1242 } else { /*if*/
1243 variable7 = ((genericity___MMLocalClass___get_type_t)CALL( variable4 /*local_class*/,COLOR_static_type___MMLocalClass___get_type))( variable4 /*local_class*/) /*MMLocalClass::get_type*/;
1244 variable6 = variable7;
1245 ATTR_syntax_base___AType____stype_cache( self) /*AType::_stype_cache*/ = variable6 /*t*/;
1246 variable1 = variable6 /*t*/;
1247 goto return_label38;
1248 }
1249 return_label38: while(false);
1250 tracehead = trace.prev;
1251 return variable1;
1252 }
1253 val_t syntax_base___AType___get_stype(val_t self, val_t param0) {
1254 struct trace_t trace = {NULL, LOCATE_syntax_base, 473, LOCATE_syntax_base___AType___get_stype};
1255 val_t variable0;
1256 val_t variable1;
1257 val_t variable2;
1258 trace.prev = tracehead; tracehead = &trace;
1259 variable0 = param0;
1260 variable2 = ((syntax_base___AType___get_unchecked_stype_t)CALL( self,COLOR_syntax_base___PType___get_unchecked_stype))( self, variable0 /*v*/) /*AType::get_unchecked_stype*/;
1261 variable1 = variable2;
1262 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*/) /*Object::==*/)))))));
1263 if (UNTAG_Bool(variable2)) { /*if*/
1264 ((syntax_base___AType___check_conform_t)CALL( self,COLOR_syntax_base___PType___check_conform))( self, variable0 /*v*/) /*AType::check_conform*/;
1265 }
1266 variable1 = variable1 /*t*/;
1267 goto return_label40;
1268 return_label40: while(false);
1269 tracehead = trace.prev;
1270 return variable1;
1271 }
1272 void syntax_base___AType___check_conform(val_t self, val_t param0) {
1273 struct trace_t trace = {NULL, LOCATE_syntax_base, 480, LOCATE_syntax_base___AType___check_conform};
1274 val_t variable0;
1275 val_t variable1;
1276 val_t variable2;
1277 val_t variable3;
1278 val_t variable4;
1279 val_t variable5;
1280 val_t variable6;
1281 val_t variable7;
1282 val_t variable8;
1283 val_t variable9;
1284 trace.prev = tracehead; tracehead = &trace;
1285 variable0 = param0;
1286 variable2 = ((syntax_base___AType___get_unchecked_stype_t)CALL( self,COLOR_syntax_base___PType___get_unchecked_stype))( self, variable0 /*v*/) /*AType::get_unchecked_stype*/;
1287 variable1 = variable2;
1288 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*/) /*Object::==*/)))));
1289 if (UNTAG_Bool(variable2)) { /*if*/
1290 goto return_label41;
1291 }
1292 variable3 = ((static_type___MMType___local_class_t)CALL( variable1 /*st*/,COLOR_static_type___MMType___local_class))( variable1 /*st*/) /*MMType::local_class*/;
1293 variable2 = variable3;
1294 variable4 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1295 variable4 = ((list___List___length_t)CALL(variable4,COLOR_abstract_collection___Collection___length))(variable4) /*List::length*/;
1296 variable3 = variable4;
1297 variable4 = TAG_Bool(UNTAG_Int( variable3 /*arity*/)>UNTAG_Int( TAG_Int(0)));
1298 if (UNTAG_Bool(variable4)) { /*if*/
1299 variable4 = NEW_range___Range___without_last( TAG_Int(0), variable3 /*arity*/); /*new Range[E]*/
1300 variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
1301 while (true) { /*for*/
1302 variable5 = ((abstract_collection___Iterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*Iterator::is_ok*/;
1303 if (!UNTAG_Bool(variable5)) break; /*for*/
1304 variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
1305 variable7 = ((parser_nodes___AType___n_types_t)CALL( self,COLOR_parser_nodes___AType___n_types))( self) /*AType::n_types*/;
1306 variable7 = ((list___List_____bra_t)CALL(variable7,COLOR_abstract_collection___Map_____bra))(variable7, variable5 /*i*/) /*List::[]*/;
1307 variable6 = variable7;
1308 variable8 = ((syntax_base___PType___get_stype_t)CALL( variable6 /*p*/,COLOR_syntax_base___PType___get_stype))( variable6 /*p*/, variable0 /*v*/) /*PType::get_stype*/;
1309 variable7 = variable8;
1310 variable9 = ((genericity___MMLocalClass___get_formal_t)CALL( variable2 /*local_class*/,COLOR_genericity___MMLocalClass___get_formal))( variable2 /*local_class*/, variable5 /*i*/) /*MMLocalClass::get_formal*/;
1311 variable9 = ((type_formal___MMTypeFormal___bound_t)CALL(variable9,COLOR_type_formal___MMTypeFormal___bound))(variable9) /*MMTypeFormal::bound*/;
1312 variable8 = variable9;
1313 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*/) /*Object::==*/)))));
1314 if (UNTAG_Bool(variable9)) { /*if*/
1315 goto return_label41;
1316 }
1317 variable9 = ((static_type___MMType___adapt_to_t)CALL( variable8 /*bt*/,COLOR_static_type___MMType___adapt_to))( variable8 /*bt*/, variable1 /*st*/) /*MMType::adapt_to*/;
1318 variable8 = variable9 /*bt=*/;
1319 ((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*/;
1320 continue_42: while(0);
1321 ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
1322 }
1323 break_42: while(0);
1324 }
1325 return_label41: while(false);
1326 tracehead = trace.prev;
1327 return;
1328 }
1329 val_t syntax_base___PExpr___stype(val_t self) {
1330 struct trace_t trace = {NULL, LOCATE_syntax_base, 500, LOCATE_syntax_base___PExpr___stype};
1331 trace.prev = tracehead; tracehead = &trace;
1332 fprintf(stderr, "Deferred method %s called");
1333 fprintf(stderr, " in %s (%s:%d)\n", LOCATE_syntax_base___AType___check_conform, LOCATE_syntax_base, 500);
1334 nit_exit(1);
1335 tracehead = trace.prev;
1336 return NIT_NULL;
1337 }
1338 val_t syntax_base___AVardeclExpr___variable(val_t self) {
1339 struct trace_t trace = {NULL, LOCATE_syntax_base, 506, LOCATE_syntax_base___AVardeclExpr___variable};
1340 trace.prev = tracehead; tracehead = &trace;
1341 tracehead = trace.prev;
1342 return ATTR_syntax_base___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/;
1343 }
1344 void syntax_base___AVardeclExpr___variable__eq(val_t self, val_t param0) {
1345 struct trace_t trace = {NULL, LOCATE_syntax_base, 506, LOCATE_syntax_base___AVardeclExpr___variable__eq};
1346 trace.prev = tracehead; tracehead = &trace;
1347 ATTR_syntax_base___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/ = param0;
1348 tracehead = trace.prev;
1349 return;
1350 }
1351 val_t syntax_base___AForVardeclExpr___variable(val_t self) {
1352 struct trace_t trace = {NULL, LOCATE_syntax_base, 511, LOCATE_syntax_base___AForVardeclExpr___variable};
1353 trace.prev = tracehead; tracehead = &trace;
1354 tracehead = trace.prev;
1355 return ATTR_syntax_base___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/;
1356 }
1357 void syntax_base___AForVardeclExpr___variable__eq(val_t self, val_t param0) {
1358 struct trace_t trace = {NULL, LOCATE_syntax_base, 511, LOCATE_syntax_base___AForVardeclExpr___variable__eq};
1359 trace.prev = tracehead; tracehead = &trace;
1360 ATTR_syntax_base___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/ = param0;
1361 tracehead = trace.prev;
1362 return;
1363 }
1364 val_t syntax_base___AVarFormExpr___variable(val_t self) {
1365 struct trace_t trace = {NULL, LOCATE_syntax_base, 516, LOCATE_syntax_base___AVarFormExpr___variable};
1366 trace.prev = tracehead; tracehead = &trace;
1367 tracehead = trace.prev;
1368 return ATTR_syntax_base___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/;
1369 }
1370 void syntax_base___AVarFormExpr___variable__eq(val_t self, val_t param0) {
1371 struct trace_t trace = {NULL, LOCATE_syntax_base, 516, LOCATE_syntax_base___AVarFormExpr___variable__eq};
1372 trace.prev = tracehead; tracehead = &trace;
1373 ATTR_syntax_base___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/ = param0;
1374 tracehead = trace.prev;
1375 return;
1376 }