Update c_src to handle default closures.
[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, NULL, 26, LOCATE_syntax_base___MMSrcModule___node};
5 val_t *variable = NULL;
6 void **closurevariable = NULL;
7 trace.prev = tracehead; tracehead = &trace;
8 trace.file = LOCATE_syntax_base;
9 tracehead = trace.prev;
10 return ATTR_syntax_base___MMSrcModule____node( self) /*MMSrcModule::_node*/;
11 }
12 val_t syntax_base___MMSrcModule___src_local_classes(val_t self) {
13 struct trace_t trace = {NULL, NULL, 29, LOCATE_syntax_base___MMSrcModule___src_local_classes};
14 val_t *variable = NULL;
15 void **closurevariable = NULL;
16 trace.prev = tracehead; tracehead = &trace;
17 trace.file = LOCATE_syntax_base;
18 tracehead = trace.prev;
19 return ATTR_syntax_base___MMSrcModule____src_local_classes( self) /*MMSrcModule::_src_local_classes*/;
20 }
21 void syntax_base___MMSrcModule___init(val_t self, val_t param0, val_t param1, val_t param2, val_t param3, int* init_table) {
22 struct trace_t trace = {NULL, NULL, 32, LOCATE_syntax_base___MMSrcModule___init};
23 val_t variable[8];
24 void **closurevariable = NULL;
25 trace.prev = tracehead; tracehead = &trace;
26 trace.file = LOCATE_syntax_base;
27 variable[0] = self;
28 variable[1] = param0;
29 variable[2] = param1;
30 variable[3] = param2;
31 variable[4] = param3;
32 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcModule].i]) return;
33 ((abstractmetamodel___MMModule___init_t)CALL(variable[0],COLOR_abstractmetamodel___MMModule___init))(variable[0], variable[4] /*name*/, variable[3] /*dir*/, variable[1] /*c*/, init_table /*YYY*/) /*MMModule::init*/;
34 variable[6] = variable[0];
35 ATTR_syntax_base___MMSrcModule____node(variable[6]) /*MMSrcModule::_node*/ = variable[2] /*source*/;
36 variable[6] = variable[0];
37 variable[7] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, MMSrcLocalClass]*/
38 ATTR_syntax_base___MMSrcModule____src_local_classes(variable[6]) /*MMSrcModule::_src_local_classes*/ = variable[7];
39 return_label0: while(false);
40 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcModule].i] = 1;
41 tracehead = trace.prev;
42 return;
43 }
44 val_t syntax_base___MMGlobalClass___check_visibility(val_t self, val_t param0, val_t param1, val_t param2) {
45 struct trace_t trace = {NULL, NULL, 41, LOCATE_syntax_base___MMGlobalClass___check_visibility};
46 val_t variable[17];
47 void **closurevariable = NULL;
48 trace.prev = tracehead; tracehead = &trace;
49 trace.file = LOCATE_syntax_base;
50 variable[0] = self;
51 variable[1] = param0;
52 variable[2] = param1;
53 variable[3] = param2;
54 variable[6] = variable[0];
55 variable[6] = ((abstractmetamodel___MMGlobalClass___intro_t)CALL(variable[6],COLOR_abstractmetamodel___MMGlobalClass___intro))(variable[6]) /*MMGlobalClass::intro*/;
56 variable[6] = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable[6],COLOR_abstractmetamodel___MMLocalClass___module))(variable[6]) /*MMLocalClass::module*/;
57 variable[5] = variable[6];
58 variable[6] = TAG_Bool(( variable[5] /*pm*/==NIT_NULL) || VAL_ISA( variable[5] /*pm*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
59 if (!UNTAG_Bool(variable[6])) { 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);}
60 variable[7] = ((abstractmetamodel___MMModule___visibility_for_t)CALL( variable[3] /*cm*/,COLOR_abstractmetamodel___MMModule___visibility_for))( variable[3] /*cm*/, variable[5] /*pm*/) /*MMModule::visibility_for*/;
61 variable[6] = variable[7];
62 variable[7] = TAG_Bool(( variable[6] /*vpm*/)==( TAG_Int(3)));
63 if (UNTAG_Bool(variable[7])) { /*if*/
64 variable[4] = TAG_Bool(true);
65 goto return_label1;
66 } else { /*if*/
67 variable[7] = TAG_Bool(( variable[6] /*vpm*/)==( TAG_Int(0)));
68 if (UNTAG_Bool(variable[7])) { /*if*/
69 variable[7] = NEW_String_string___String___init(); /*new String*/
70 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Class "), TAG_Int(24)); /*new String*/
71 variable[9] = variable[8];
72 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
73 variable[10] = variable[0];
74 variable[11] = variable[10];
75 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
76 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[11]) /*String::append*/;
77 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" comes from the hidden module "), TAG_Int(30)); /*new String*/
78 variable[13] = variable[12];
79 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[13]) /*String::append*/;
80 variable[14] = variable[3] /*cm*/;
81 variable[14] = ((string___String___to_s_t)CALL(variable[14],COLOR_string___Object___to_s))(variable[14]) /*String::to_s*/;
82 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[14]) /*String::append*/;
83 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
84 variable[16] = variable[15];
85 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[16]) /*String::append*/;
86 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[2] /*n*/, variable[7]) /*AbsSyntaxVisitor::error*/;
87 variable[4] = TAG_Bool(false);
88 goto return_label1;
89 } else { /*if*/
90 variable[7] = variable[0];
91 variable[7] = ((abstractmetamodel___MMGlobalClass___visibility_level_t)CALL(variable[7],COLOR_abstractmetamodel___MMGlobalClass___visibility_level))(variable[7]) /*MMGlobalClass::visibility_level*/;
92 variable[7] = TAG_Bool(UNTAG_Int(variable[7])>=UNTAG_Int( TAG_Int(3)));
93 if (UNTAG_Bool(variable[7])) { /*if*/
94 variable[7] = NEW_String_string___String___init(); /*new String*/
95 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Class "), TAG_Int(24)); /*new String*/
96 variable[9] = variable[8];
97 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
98 variable[10] = variable[0];
99 variable[11] = variable[10];
100 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
101 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[11]) /*String::append*/;
102 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" is private."), TAG_Int(12)); /*new String*/
103 variable[13] = variable[12];
104 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[13]) /*String::append*/;
105 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[2] /*n*/, variable[7]) /*AbsSyntaxVisitor::error*/;
106 variable[4] = TAG_Bool(false);
107 goto return_label1;
108 }
109 }
110 }
111 variable[4] = TAG_Bool(true);
112 goto return_label1;
113 return_label1: while(false);
114 tracehead = trace.prev;
115 return variable[4];
116 }
117 val_t syntax_base___MMSrcLocalClass___nodes(val_t self) {
118 struct trace_t trace = {NULL, NULL, 62, LOCATE_syntax_base___MMSrcLocalClass___nodes};
119 val_t *variable = NULL;
120 void **closurevariable = NULL;
121 trace.prev = tracehead; tracehead = &trace;
122 trace.file = LOCATE_syntax_base;
123 tracehead = trace.prev;
124 return ATTR_syntax_base___MMSrcLocalClass____nodes( self) /*MMSrcLocalClass::_nodes*/;
125 }
126 val_t syntax_base___MMSrcLocalClass___formal_dict(val_t self) {
127 struct trace_t trace = {NULL, NULL, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict};
128 val_t *variable = NULL;
129 void **closurevariable = NULL;
130 trace.prev = tracehead; tracehead = &trace;
131 trace.file = LOCATE_syntax_base;
132 tracehead = trace.prev;
133 return ATTR_syntax_base___MMSrcLocalClass____formal_dict( self) /*MMSrcLocalClass::_formal_dict*/;
134 }
135 void syntax_base___MMSrcLocalClass___formal_dict__eq(val_t self, val_t param0) {
136 struct trace_t trace = {NULL, NULL, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict__eq};
137 val_t *variable = NULL;
138 void **closurevariable = NULL;
139 trace.prev = tracehead; tracehead = &trace;
140 trace.file = LOCATE_syntax_base;
141 ATTR_syntax_base___MMSrcLocalClass____formal_dict( self) /*MMSrcLocalClass::_formal_dict*/ = param0;
142 tracehead = trace.prev;
143 return;
144 }
145 val_t syntax_base___MMSrcLocalClass___src_local_properties(val_t self) {
146 struct trace_t trace = {NULL, NULL, 68, LOCATE_syntax_base___MMSrcLocalClass___src_local_properties};
147 val_t *variable = NULL;
148 void **closurevariable = NULL;
149 trace.prev = tracehead; tracehead = &trace;
150 trace.file = LOCATE_syntax_base;
151 tracehead = trace.prev;
152 return ATTR_syntax_base___MMSrcLocalClass____src_local_properties( self) /*MMSrcLocalClass::_src_local_properties*/;
153 }
154 void syntax_base___MMSrcLocalClass___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
155 struct trace_t trace = {NULL, NULL, 71, LOCATE_syntax_base___MMSrcLocalClass___init};
156 val_t variable[7];
157 void **closurevariable = NULL;
158 trace.prev = tracehead; tracehead = &trace;
159 trace.file = LOCATE_syntax_base;
160 variable[0] = self;
161 variable[1] = param0;
162 variable[2] = param1;
163 variable[3] = param2;
164 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcLocalClass].i]) return;
165 ((abstractmetamodel___MMLocalClass___init_t)CALL(variable[0],COLOR_abstractmetamodel___MMLocalClass___init))(variable[0], variable[1] /*n*/, variable[3] /*a*/, init_table /*YYY*/) /*MMLocalClass::init*/;
166 variable[5] = variable[0];
167 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[PClassdef]*/
168 ((array___AbstractArray___add_t)CALL(variable[6],COLOR_abstract_collection___SimpleCollection___add))(variable[6], variable[2] /*cla*/) /*AbstractArray::add*/;
169 ATTR_syntax_base___MMSrcLocalClass____nodes(variable[5]) /*MMSrcLocalClass::_nodes*/ = variable[6];
170 variable[5] = variable[0];
171 variable[6] = NEW_HashMap_hash___HashMap___init(); /*new HashMap[Symbol, MMLocalProperty]*/
172 ATTR_syntax_base___MMSrcLocalClass____src_local_properties(variable[5]) /*MMSrcLocalClass::_src_local_properties*/ = variable[6];
173 return_label2: while(false);
174 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcLocalClass].i] = 1;
175 tracehead = trace.prev;
176 return;
177 }
178 val_t syntax_base___MMGlobalProperty___check_visibility(val_t self, val_t param0, val_t param1, val_t param2, val_t param3) {
179 struct trace_t trace = {NULL, NULL, 80, LOCATE_syntax_base___MMGlobalProperty___check_visibility};
180 val_t variable[18];
181 void **closurevariable = NULL;
182 trace.prev = tracehead; tracehead = &trace;
183 trace.file = LOCATE_syntax_base;
184 variable[0] = self;
185 variable[1] = param0;
186 variable[2] = param1;
187 variable[3] = param2;
188 variable[4] = param3;
189 variable[7] = variable[0];
190 variable[7] = ((abstractmetamodel___MMGlobalProperty___local_class_t)CALL(variable[7],COLOR_abstractmetamodel___MMGlobalProperty___local_class))(variable[7]) /*MMGlobalProperty::local_class*/;
191 variable[7] = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable[7],COLOR_abstractmetamodel___MMLocalClass___module))(variable[7]) /*MMLocalClass::module*/;
192 variable[6] = variable[7];
193 variable[7] = TAG_Bool(( variable[6] /*pm*/==NIT_NULL) || VAL_ISA( variable[6] /*pm*/, COLOR_MMSrcModule, ID_MMSrcModule)) /*cast MMSrcModule*/;
194 if (!UNTAG_Bool(variable[7])) { 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);}
195 variable[8] = ((abstractmetamodel___MMModule___visibility_for_t)CALL( variable[3] /*cm*/,COLOR_abstractmetamodel___MMModule___visibility_for))( variable[3] /*cm*/, variable[6] /*pm*/) /*MMModule::visibility_for*/;
196 variable[7] = variable[8];
197 variable[8] = TAG_Bool(( variable[7] /*vpm*/)==( TAG_Int(3)));
198 if (UNTAG_Bool(variable[8])) { /*if*/
199 variable[5] = TAG_Bool(true);
200 goto return_label3;
201 } else { /*if*/
202 variable[8] = TAG_Bool(( variable[7] /*vpm*/)==( TAG_Int(0)));
203 if (UNTAG_Bool(variable[8])) { /*if*/
204 variable[8] = NEW_String_string___String___init(); /*new String*/
205 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
206 variable[10] = variable[9];
207 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[10]) /*String::append*/;
208 variable[11] = variable[0];
209 variable[12] = variable[11];
210 variable[12] = ((string___String___to_s_t)CALL(variable[12],COLOR_string___Object___to_s))(variable[12]) /*String::to_s*/;
211 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[12]) /*String::append*/;
212 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" comes from the hidden module "), TAG_Int(30)); /*new String*/
213 variable[14] = variable[13];
214 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[14]) /*String::append*/;
215 variable[15] = variable[3] /*cm*/;
216 variable[15] = ((string___String___to_s_t)CALL(variable[15],COLOR_string___Object___to_s))(variable[15]) /*String::to_s*/;
217 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[15]) /*String::append*/;
218 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
219 variable[17] = variable[16];
220 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[17]) /*String::append*/;
221 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[2] /*n*/, variable[8]) /*AbsSyntaxVisitor::error*/;
222 variable[5] = TAG_Bool(false);
223 goto return_label3;
224 } else { /*if*/
225 variable[8] = variable[0];
226 variable[8] = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL(variable[8],COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))(variable[8]) /*MMGlobalProperty::visibility_level*/;
227 variable[8] = TAG_Bool(UNTAG_Int(variable[8])>=UNTAG_Int( TAG_Int(3)));
228 if (UNTAG_Bool(variable[8])) { /*if*/
229 variable[8] = NEW_String_string___String___init(); /*new String*/
230 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
231 variable[10] = variable[9];
232 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[10]) /*String::append*/;
233 variable[11] = variable[0];
234 variable[12] = variable[11];
235 variable[12] = ((string___String___to_s_t)CALL(variable[12],COLOR_string___Object___to_s))(variable[12]) /*String::to_s*/;
236 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[12]) /*String::append*/;
237 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" is private."), TAG_Int(12)); /*new String*/
238 variable[14] = variable[13];
239 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[14]) /*String::append*/;
240 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[2] /*n*/, variable[8]) /*AbsSyntaxVisitor::error*/;
241 variable[5] = TAG_Bool(false);
242 goto return_label3;
243 } else { /*if*/
244 variable[8] = variable[0];
245 variable[8] = ((abstractmetamodel___MMGlobalProperty___visibility_level_t)CALL(variable[8],COLOR_abstractmetamodel___MMGlobalProperty___visibility_level))(variable[8]) /*MMGlobalProperty::visibility_level*/;
246 variable[8] = TAG_Bool(UNTAG_Int(variable[8])>=UNTAG_Int( TAG_Int(2)));
247 variable[9] = variable[8];
248 if (UNTAG_Bool(variable[9])) { /* and */
249 variable[9] = TAG_Bool(!UNTAG_Bool( variable[4] /*allows_protected*/));
250 }
251 variable[8] = variable[9];
252 if (UNTAG_Bool(variable[8])) { /*if*/
253 variable[8] = NEW_String_string___String___init(); /*new String*/
254 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)); /*new String*/
255 variable[10] = variable[9];
256 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[10]) /*String::append*/;
257 variable[11] = variable[0];
258 variable[12] = variable[11];
259 variable[12] = ((string___String___to_s_t)CALL(variable[12],COLOR_string___Object___to_s))(variable[12]) /*String::to_s*/;
260 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[12]) /*String::append*/;
261 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" is protected and can only acceded by self."), TAG_Int(43)); /*new String*/
262 variable[14] = variable[13];
263 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[14]) /*String::append*/;
264 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[2] /*n*/, variable[8]) /*AbsSyntaxVisitor::error*/;
265 variable[5] = TAG_Bool(false);
266 goto return_label3;
267 }
268 }
269 }
270 }
271 variable[5] = TAG_Bool(true);
272 goto return_label3;
273 return_label3: while(false);
274 tracehead = trace.prev;
275 return variable[5];
276 }
277 val_t syntax_base___MMLocalProperty___node(val_t self) {
278 struct trace_t trace = {NULL, NULL, 103, LOCATE_syntax_base___MMLocalProperty___node};
279 val_t variable[2];
280 void **closurevariable = NULL;
281 trace.prev = tracehead; tracehead = &trace;
282 trace.file = LOCATE_syntax_base;
283 variable[0] = self;
284 variable[1] = NIT_NULL /*null*/;
285 goto return_label4;
286 return_label4: while(false);
287 tracehead = trace.prev;
288 return variable[1];
289 }
290 val_t syntax_base___MMLocalProperty___is_init(val_t self) {
291 struct trace_t trace = {NULL, NULL, 106, LOCATE_syntax_base___MMLocalProperty___is_init};
292 val_t variable[2];
293 void **closurevariable = NULL;
294 trace.prev = tracehead; tracehead = &trace;
295 trace.file = LOCATE_syntax_base;
296 variable[0] = self;
297 variable[1] = TAG_Bool(false);
298 goto return_label5;
299 return_label5: while(false);
300 tracehead = trace.prev;
301 return variable[1];
302 }
303 val_t syntax_base___MMSrcAttribute___node(val_t self) {
304 struct trace_t trace = {NULL, NULL, 113, LOCATE_syntax_base___MMSrcAttribute___node};
305 val_t *variable = NULL;
306 void **closurevariable = NULL;
307 trace.prev = tracehead; tracehead = &trace;
308 trace.file = LOCATE_syntax_base;
309 tracehead = trace.prev;
310 return ATTR_syntax_base___MMSrcAttribute____node( self) /*MMSrcAttribute::_node*/;
311 }
312 void syntax_base___MMSrcAttribute___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
313 struct trace_t trace = {NULL, NULL, 114, LOCATE_syntax_base___MMSrcAttribute___init};
314 val_t variable[6];
315 void **closurevariable = NULL;
316 trace.prev = tracehead; tracehead = &trace;
317 trace.file = LOCATE_syntax_base;
318 variable[0] = self;
319 variable[1] = param0;
320 variable[2] = param1;
321 variable[3] = param2;
322 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcAttribute].i]) return;
323 ((abstractmetamodel___MMLocalProperty___init_t)CALL(variable[0],COLOR_abstractmetamodel___MMLocalProperty___init))(variable[0], variable[1] /*name*/, variable[2] /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
324 variable[5] = variable[0];
325 ATTR_syntax_base___MMSrcAttribute____node(variable[5]) /*MMSrcAttribute::_node*/ = variable[3] /*n*/;
326 return_label6: while(false);
327 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcAttribute].i] = 1;
328 tracehead = trace.prev;
329 return;
330 }
331 val_t syntax_base___MMAttrImplementationMethod___node(val_t self) {
332 struct trace_t trace = {NULL, NULL, 129, LOCATE_syntax_base___MMAttrImplementationMethod___node};
333 val_t *variable = NULL;
334 void **closurevariable = NULL;
335 trace.prev = tracehead; tracehead = &trace;
336 trace.file = LOCATE_syntax_base;
337 tracehead = trace.prev;
338 return ATTR_syntax_base___MMAttrImplementationMethod____node( self) /*MMAttrImplementationMethod::_node*/;
339 }
340 void syntax_base___MMAttrImplementationMethod___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
341 struct trace_t trace = {NULL, NULL, 130, LOCATE_syntax_base___MMAttrImplementationMethod___init};
342 val_t variable[6];
343 void **closurevariable = NULL;
344 trace.prev = tracehead; tracehead = &trace;
345 trace.file = LOCATE_syntax_base;
346 variable[0] = self;
347 variable[1] = param0;
348 variable[2] = param1;
349 variable[3] = param2;
350 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMAttrImplementationMethod].i]) return;
351 ((abstractmetamodel___MMLocalProperty___init_t)CALL(variable[0],COLOR_abstractmetamodel___MMLocalProperty___init))(variable[0], variable[1] /*name*/, variable[2] /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
352 variable[5] = variable[0];
353 ATTR_syntax_base___MMAttrImplementationMethod____node(variable[5]) /*MMAttrImplementationMethod::_node*/ = variable[3] /*n*/;
354 return_label7: while(false);
355 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMAttrImplementationMethod].i] = 1;
356 tracehead = trace.prev;
357 return;
358 }
359 void syntax_base___MMReadImplementationMethod___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
360 struct trace_t trace = {NULL, NULL, 140, LOCATE_syntax_base___MMReadImplementationMethod___init};
361 val_t variable[5];
362 void **closurevariable = NULL;
363 trace.prev = tracehead; tracehead = &trace;
364 trace.file = LOCATE_syntax_base;
365 variable[0] = self;
366 variable[1] = param0;
367 variable[2] = param1;
368 variable[3] = param2;
369 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMReadImplementationMethod].i]) return;
370 ((syntax_base___MMAttrImplementationMethod___init_t)CALL(variable[0],COLOR_syntax_base___MMAttrImplementationMethod___init))(variable[0], variable[1] /*name*/, variable[2] /*cla*/, variable[3] /*n*/, init_table /*YYY*/) /*MMAttrImplementationMethod::init*/;
371 return_label8: while(false);
372 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMReadImplementationMethod].i] = 1;
373 tracehead = trace.prev;
374 return;
375 }
376 void syntax_base___MMWriteImplementationMethod___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
377 struct trace_t trace = {NULL, NULL, 149, LOCATE_syntax_base___MMWriteImplementationMethod___init};
378 val_t variable[5];
379 void **closurevariable = NULL;
380 trace.prev = tracehead; tracehead = &trace;
381 trace.file = LOCATE_syntax_base;
382 variable[0] = self;
383 variable[1] = param0;
384 variable[2] = param1;
385 variable[3] = param2;
386 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMWriteImplementationMethod].i]) return;
387 ((syntax_base___MMAttrImplementationMethod___init_t)CALL(variable[0],COLOR_syntax_base___MMAttrImplementationMethod___init))(variable[0], variable[1] /*name*/, variable[2] /*cla*/, variable[3] /*n*/, init_table /*YYY*/) /*MMAttrImplementationMethod::init*/;
388 return_label9: while(false);
389 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMWriteImplementationMethod].i] = 1;
390 tracehead = trace.prev;
391 return;
392 }
393 val_t syntax_base___MMMethSrcMethod___node(val_t self) {
394 struct trace_t trace = {NULL, NULL, 159, LOCATE_syntax_base___MMMethSrcMethod___node};
395 val_t *variable = NULL;
396 void **closurevariable = NULL;
397 trace.prev = tracehead; tracehead = &trace;
398 trace.file = LOCATE_syntax_base;
399 tracehead = trace.prev;
400 return ATTR_syntax_base___MMMethSrcMethod____node( self) /*MMMethSrcMethod::_node*/;
401 }
402 val_t syntax_base___MMMethSrcMethod___is_init(val_t self) {
403 struct trace_t trace = {NULL, NULL, 158, LOCATE_syntax_base___MMMethSrcMethod___is_init};
404 val_t variable[3];
405 void **closurevariable = NULL;
406 trace.prev = tracehead; tracehead = &trace;
407 trace.file = LOCATE_syntax_base;
408 variable[0] = self;
409 variable[2] = variable[0];
410 variable[2] = ATTR_syntax_base___MMMethSrcMethod____node(variable[2]) /*MMMethSrcMethod::_node*/;
411 variable[2] = TAG_Bool((variable[2]==NIT_NULL) || VAL_ISA(variable[2], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
412 variable[1] = variable[2];
413 goto return_label10;
414 return_label10: while(false);
415 tracehead = trace.prev;
416 return variable[1];
417 }
418 void syntax_base___MMMethSrcMethod___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
419 struct trace_t trace = {NULL, NULL, 160, LOCATE_syntax_base___MMMethSrcMethod___init};
420 val_t variable[6];
421 void **closurevariable = NULL;
422 trace.prev = tracehead; tracehead = &trace;
423 trace.file = LOCATE_syntax_base;
424 variable[0] = self;
425 variable[1] = param0;
426 variable[2] = param1;
427 variable[3] = param2;
428 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMMethSrcMethod].i]) return;
429 ((abstractmetamodel___MMLocalProperty___init_t)CALL(variable[0],COLOR_abstractmetamodel___MMLocalProperty___init))(variable[0], variable[1] /*name*/, variable[2] /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
430 variable[5] = variable[0];
431 ATTR_syntax_base___MMMethSrcMethod____node(variable[5]) /*MMMethSrcMethod::_node*/ = variable[3] /*n*/;
432 return_label11: while(false);
433 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMMethSrcMethod].i] = 1;
434 tracehead = trace.prev;
435 return;
436 }
437 val_t syntax_base___MMSrcTypeProperty___node(val_t self) {
438 struct trace_t trace = {NULL, NULL, 171, LOCATE_syntax_base___MMSrcTypeProperty___node};
439 val_t *variable = NULL;
440 void **closurevariable = NULL;
441 trace.prev = tracehead; tracehead = &trace;
442 trace.file = LOCATE_syntax_base;
443 tracehead = trace.prev;
444 return ATTR_syntax_base___MMSrcTypeProperty____node( self) /*MMSrcTypeProperty::_node*/;
445 }
446 void syntax_base___MMSrcTypeProperty___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
447 struct trace_t trace = {NULL, NULL, 172, LOCATE_syntax_base___MMSrcTypeProperty___init};
448 val_t variable[6];
449 void **closurevariable = NULL;
450 trace.prev = tracehead; tracehead = &trace;
451 trace.file = LOCATE_syntax_base;
452 variable[0] = self;
453 variable[1] = param0;
454 variable[2] = param1;
455 variable[3] = param2;
456 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcTypeProperty].i]) return;
457 ((abstractmetamodel___MMLocalProperty___init_t)CALL(variable[0],COLOR_abstractmetamodel___MMLocalProperty___init))(variable[0], variable[1] /*name*/, variable[2] /*cla*/, init_table /*YYY*/) /*MMLocalProperty::init*/;
458 variable[5] = variable[0];
459 ATTR_syntax_base___MMSrcTypeProperty____node(variable[5]) /*MMSrcTypeProperty::_node*/ = variable[3] /*n*/;
460 return_label12: while(false);
461 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMSrcTypeProperty].i] = 1;
462 tracehead = trace.prev;
463 return;
464 }
465 val_t syntax_base___MMImplicitInit___is_init(val_t self) {
466 struct trace_t trace = {NULL, NULL, 182, LOCATE_syntax_base___MMImplicitInit___is_init};
467 val_t variable[2];
468 void **closurevariable = NULL;
469 trace.prev = tracehead; tracehead = &trace;
470 trace.file = LOCATE_syntax_base;
471 variable[0] = self;
472 variable[1] = TAG_Bool(true);
473 goto return_label13;
474 return_label13: while(false);
475 tracehead = trace.prev;
476 return variable[1];
477 }
478 val_t syntax_base___MMImplicitInit___unassigned_attributes(val_t self) {
479 struct trace_t trace = {NULL, NULL, 183, LOCATE_syntax_base___MMImplicitInit___unassigned_attributes};
480 val_t *variable = NULL;
481 void **closurevariable = NULL;
482 trace.prev = tracehead; tracehead = &trace;
483 trace.file = LOCATE_syntax_base;
484 tracehead = trace.prev;
485 return ATTR_syntax_base___MMImplicitInit____unassigned_attributes( self) /*MMImplicitInit::_unassigned_attributes*/;
486 }
487 val_t syntax_base___MMImplicitInit___super_inits(val_t self) {
488 struct trace_t trace = {NULL, NULL, 184, LOCATE_syntax_base___MMImplicitInit___super_inits};
489 val_t *variable = NULL;
490 void **closurevariable = NULL;
491 trace.prev = tracehead; tracehead = &trace;
492 trace.file = LOCATE_syntax_base;
493 tracehead = trace.prev;
494 return ATTR_syntax_base___MMImplicitInit____super_inits( self) /*MMImplicitInit::_super_inits*/;
495 }
496 void syntax_base___MMImplicitInit___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
497 struct trace_t trace = {NULL, NULL, 185, LOCATE_syntax_base___MMImplicitInit___init};
498 static val_t once_value_15; static int once_bool_15; /* Once value for variable[5]*/
499 val_t variable[6];
500 void **closurevariable = NULL;
501 trace.prev = tracehead; tracehead = &trace;
502 trace.file = LOCATE_syntax_base;
503 variable[0] = self;
504 variable[1] = param0;
505 variable[2] = param1;
506 variable[3] = param2;
507 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMImplicitInit].i]) return;
508 if (once_bool_15) variable[5] = once_value_15;
509 else {
510 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
511 variable[5] = ((symbol___String___to_symbol_t)CALL(variable[5],COLOR_symbol___String___to_symbol))(variable[5]) /*String::to_symbol*/;
512 once_value_15 = variable[5];
513 once_bool_15 = true;
514 }
515 ((syntax_base___MMMethSrcMethod___init_t)CALL(variable[0],COLOR_syntax_base___MMMethSrcMethod___init))(variable[0], variable[5], variable[1] /*cla*/, NIT_NULL /*null*/, init_table /*YYY*/) /*MMMethSrcMethod::init*/;
516 variable[5] = variable[0];
517 ATTR_syntax_base___MMImplicitInit____unassigned_attributes(variable[5]) /*MMImplicitInit::_unassigned_attributes*/ = variable[2] /*unassigned_attributes*/;
518 variable[5] = variable[0];
519 ATTR_syntax_base___MMImplicitInit____super_inits(variable[5]) /*MMImplicitInit::_super_inits*/ = variable[3] /*super_inits*/;
520 return_label14: while(false);
521 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_MMImplicitInit].i] = 1;
522 tracehead = trace.prev;
523 return;
524 }
525 val_t syntax_base___Variable___to_s(val_t self) {
526 struct trace_t trace = {NULL, NULL, 204, LOCATE_syntax_base___Variable___to_s};
527 val_t variable[3];
528 void **closurevariable = NULL;
529 trace.prev = tracehead; tracehead = &trace;
530 trace.file = LOCATE_syntax_base;
531 variable[0] = self;
532 variable[2] = variable[0];
533 variable[2] = ATTR_syntax_base___Variable____name(variable[2]) /*Variable::_name*/;
534 variable[2] = ((symbol___Symbol___to_s_t)CALL(variable[2],COLOR_string___Object___to_s))(variable[2]) /*Symbol::to_s*/;
535 variable[1] = variable[2];
536 goto return_label16;
537 return_label16: while(false);
538 tracehead = trace.prev;
539 return variable[1];
540 }
541 val_t syntax_base___Variable___name(val_t self) {
542 struct trace_t trace = {NULL, NULL, 195, LOCATE_syntax_base___Variable___name};
543 val_t *variable = NULL;
544 void **closurevariable = NULL;
545 trace.prev = tracehead; tracehead = &trace;
546 trace.file = LOCATE_syntax_base;
547 tracehead = trace.prev;
548 return ATTR_syntax_base___Variable____name( self) /*Variable::_name*/;
549 }
550 val_t syntax_base___Variable___decl(val_t self) {
551 struct trace_t trace = {NULL, NULL, 198, LOCATE_syntax_base___Variable___decl};
552 val_t *variable = NULL;
553 void **closurevariable = NULL;
554 trace.prev = tracehead; tracehead = &trace;
555 trace.file = LOCATE_syntax_base;
556 tracehead = trace.prev;
557 return ATTR_syntax_base___Variable____decl( self) /*Variable::_decl*/;
558 }
559 val_t syntax_base___Variable___stype(val_t self) {
560 struct trace_t trace = {NULL, NULL, 201, LOCATE_syntax_base___Variable___stype};
561 val_t *variable = NULL;
562 void **closurevariable = NULL;
563 trace.prev = tracehead; tracehead = &trace;
564 trace.file = LOCATE_syntax_base;
565 tracehead = trace.prev;
566 return ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/;
567 }
568 void syntax_base___Variable___stype__eq(val_t self, val_t param0) {
569 struct trace_t trace = {NULL, NULL, 201, LOCATE_syntax_base___Variable___stype__eq};
570 val_t *variable = NULL;
571 void **closurevariable = NULL;
572 trace.prev = tracehead; tracehead = &trace;
573 trace.file = LOCATE_syntax_base;
574 ATTR_syntax_base___Variable____stype( self) /*Variable::_stype*/ = param0;
575 tracehead = trace.prev;
576 return;
577 }
578 val_t syntax_base___Variable___kind(val_t self) {
579 struct trace_t trace = {NULL, NULL, 206, LOCATE_syntax_base___Variable___kind};
580 val_t *variable = NULL;
581 void **closurevariable = NULL;
582 trace.prev = tracehead; tracehead = &trace;
583 trace.file = LOCATE_syntax_base;
584 fprintf(stderr, "Deferred method called");
585 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 206);
586 nit_exit(1);
587 tracehead = trace.prev;
588 return NIT_NULL;
589 }
590 void syntax_base___Variable___init(val_t self, val_t param0, val_t param1, int* init_table) {
591 struct trace_t trace = {NULL, NULL, 208, LOCATE_syntax_base___Variable___init};
592 val_t variable[5];
593 void **closurevariable = NULL;
594 trace.prev = tracehead; tracehead = &trace;
595 trace.file = LOCATE_syntax_base;
596 variable[0] = self;
597 variable[1] = param0;
598 variable[2] = param1;
599 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_Variable].i]) return;
600 variable[4] = variable[0];
601 ATTR_syntax_base___Variable____name(variable[4]) /*Variable::_name*/ = variable[1] /*n*/;
602 variable[4] = variable[0];
603 ATTR_syntax_base___Variable____decl(variable[4]) /*Variable::_decl*/ = variable[2] /*d*/;
604 return_label17: while(false);
605 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_Variable].i] = 1;
606 tracehead = trace.prev;
607 return;
608 }
609 val_t syntax_base___VarVariable___kind(val_t self) {
610 struct trace_t trace = {NULL, NULL, 220, LOCATE_syntax_base___VarVariable___kind};
611 static val_t once_value_19; static int once_bool_19; /* Once value for variable[2]*/
612 val_t variable[3];
613 void **closurevariable = NULL;
614 trace.prev = tracehead; tracehead = &trace;
615 trace.file = LOCATE_syntax_base;
616 variable[0] = self;
617 if (once_bool_19) variable[2] = once_value_19;
618 else {
619 variable[2] = NEW_String_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
620 once_value_19 = variable[2];
621 once_bool_19 = true;
622 }
623 variable[1] = variable[2];
624 goto return_label18;
625 return_label18: while(false);
626 tracehead = trace.prev;
627 return variable[1];
628 }
629 void syntax_base___VarVariable___init(val_t self, val_t param0, val_t param1, int* init_table) {
630 struct trace_t trace = {NULL, NULL, 221, LOCATE_syntax_base___VarVariable___init};
631 val_t variable[4];
632 void **closurevariable = NULL;
633 trace.prev = tracehead; tracehead = &trace;
634 trace.file = LOCATE_syntax_base;
635 variable[0] = self;
636 variable[1] = param0;
637 variable[2] = param1;
638 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_VarVariable].i]) return;
639 ((syntax_base___Variable___init_t)CALL(variable[0],COLOR_syntax_base___Variable___init))(variable[0], variable[1], variable[2], init_table /*YYY*/) /*Variable::init*/;
640 return_label20: while(false);
641 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_VarVariable].i] = 1;
642 tracehead = trace.prev;
643 return;
644 }
645 val_t syntax_base___ParamVariable___kind(val_t self) {
646 struct trace_t trace = {NULL, NULL, 227, LOCATE_syntax_base___ParamVariable___kind};
647 static val_t once_value_22; static int once_bool_22; /* Once value for variable[2]*/
648 val_t variable[3];
649 void **closurevariable = NULL;
650 trace.prev = tracehead; tracehead = &trace;
651 trace.file = LOCATE_syntax_base;
652 variable[0] = self;
653 if (once_bool_22) variable[2] = once_value_22;
654 else {
655 variable[2] = NEW_String_string___String___with_native(BOX_NativeString("parameter"), TAG_Int(9)); /*new String*/
656 once_value_22 = variable[2];
657 once_bool_22 = true;
658 }
659 variable[1] = variable[2];
660 goto return_label21;
661 return_label21: while(false);
662 tracehead = trace.prev;
663 return variable[1];
664 }
665 void syntax_base___ParamVariable___init(val_t self, val_t param0, val_t param1, int* init_table) {
666 struct trace_t trace = {NULL, NULL, 228, LOCATE_syntax_base___ParamVariable___init};
667 val_t variable[4];
668 void **closurevariable = NULL;
669 trace.prev = tracehead; tracehead = &trace;
670 trace.file = LOCATE_syntax_base;
671 variable[0] = self;
672 variable[1] = param0;
673 variable[2] = param1;
674 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ParamVariable].i]) return;
675 ((syntax_base___Variable___init_t)CALL(variable[0],COLOR_syntax_base___Variable___init))(variable[0], variable[1], variable[2], init_table /*YYY*/) /*Variable::init*/;
676 return_label23: while(false);
677 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ParamVariable].i] = 1;
678 tracehead = trace.prev;
679 return;
680 }
681 val_t syntax_base___AutoVariable___kind(val_t self) {
682 struct trace_t trace = {NULL, NULL, 234, LOCATE_syntax_base___AutoVariable___kind};
683 static val_t once_value_25; static int once_bool_25; /* Once value for variable[2]*/
684 val_t variable[3];
685 void **closurevariable = NULL;
686 trace.prev = tracehead; tracehead = &trace;
687 trace.file = LOCATE_syntax_base;
688 variable[0] = self;
689 if (once_bool_25) variable[2] = once_value_25;
690 else {
691 variable[2] = NEW_String_string___String___with_native(BOX_NativeString("automatic variable"), TAG_Int(18)); /*new String*/
692 once_value_25 = variable[2];
693 once_bool_25 = true;
694 }
695 variable[1] = variable[2];
696 goto return_label24;
697 return_label24: while(false);
698 tracehead = trace.prev;
699 return variable[1];
700 }
701 void syntax_base___AutoVariable___init(val_t self, val_t param0, val_t param1, int* init_table) {
702 struct trace_t trace = {NULL, NULL, 235, LOCATE_syntax_base___AutoVariable___init};
703 val_t variable[4];
704 void **closurevariable = NULL;
705 trace.prev = tracehead; tracehead = &trace;
706 trace.file = LOCATE_syntax_base;
707 variable[0] = self;
708 variable[1] = param0;
709 variable[2] = param1;
710 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_AutoVariable].i]) return;
711 ((syntax_base___Variable___init_t)CALL(variable[0],COLOR_syntax_base___Variable___init))(variable[0], variable[1], variable[2], init_table /*YYY*/) /*Variable::init*/;
712 return_label26: while(false);
713 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_AutoVariable].i] = 1;
714 tracehead = trace.prev;
715 return;
716 }
717 val_t syntax_base___ClosureVariable___kind(val_t self) {
718 struct trace_t trace = {NULL, NULL, 242, LOCATE_syntax_base___ClosureVariable___kind};
719 static val_t once_value_28; static int once_bool_28; /* Once value for variable[2]*/
720 val_t variable[3];
721 void **closurevariable = NULL;
722 trace.prev = tracehead; tracehead = &trace;
723 trace.file = LOCATE_syntax_base;
724 variable[0] = self;
725 if (once_bool_28) variable[2] = once_value_28;
726 else {
727 variable[2] = NEW_String_string___String___with_native(BOX_NativeString("closure"), TAG_Int(7)); /*new String*/
728 once_value_28 = variable[2];
729 once_bool_28 = true;
730 }
731 variable[1] = variable[2];
732 goto return_label27;
733 return_label27: while(false);
734 tracehead = trace.prev;
735 return variable[1];
736 }
737 val_t syntax_base___ClosureVariable___closure(val_t self) {
738 struct trace_t trace = {NULL, NULL, 244, LOCATE_syntax_base___ClosureVariable___closure};
739 val_t *variable = NULL;
740 void **closurevariable = NULL;
741 trace.prev = tracehead; tracehead = &trace;
742 trace.file = LOCATE_syntax_base;
743 tracehead = trace.prev;
744 return ATTR_syntax_base___ClosureVariable____closure( self) /*ClosureVariable::_closure*/;
745 }
746 void syntax_base___ClosureVariable___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
747 struct trace_t trace = {NULL, NULL, 247, LOCATE_syntax_base___ClosureVariable___init};
748 val_t variable[6];
749 void **closurevariable = NULL;
750 trace.prev = tracehead; tracehead = &trace;
751 trace.file = LOCATE_syntax_base;
752 variable[0] = self;
753 variable[1] = param0;
754 variable[2] = param1;
755 variable[3] = param2;
756 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ClosureVariable].i]) return;
757 ((syntax_base___Variable___init_t)CALL(variable[0],COLOR_syntax_base___Variable___init))(variable[0], variable[1] /*n*/, variable[2] /*d*/, init_table /*YYY*/) /*Variable::init*/;
758 variable[5] = variable[0];
759 ATTR_syntax_base___ClosureVariable____closure(variable[5]) /*ClosureVariable::_closure*/ = variable[3] /*c*/;
760 return_label29: while(false);
761 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_ClosureVariable].i] = 1;
762 tracehead = trace.prev;
763 return;
764 }
765 val_t syntax_base___AbsSyntaxVisitor___type_bool(val_t self) {
766 struct trace_t trace = {NULL, NULL, 259, LOCATE_syntax_base___AbsSyntaxVisitor___type_bool};
767 static val_t once_value_31; static int once_bool_31; /* Once value for variable[3]*/
768 val_t variable[4];
769 void **closurevariable = NULL;
770 trace.prev = tracehead; tracehead = &trace;
771 trace.file = LOCATE_syntax_base;
772 variable[0] = self;
773 variable[2] = variable[0];
774 variable[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[2]) /*AbsSyntaxVisitor::_module*/;
775 if (once_bool_31) variable[3] = once_value_31;
776 else {
777 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
778 variable[3] = ((symbol___String___to_symbol_t)CALL(variable[3],COLOR_symbol___String___to_symbol))(variable[3]) /*String::to_symbol*/;
779 once_value_31 = variable[3];
780 once_bool_31 = true;
781 }
782 variable[2] = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable[2],COLOR_abstractmetamodel___MMModule___class_by_name))(variable[2], variable[3]) /*MMModule::class_by_name*/;
783 variable[2] = ((genericity___MMLocalClass___get_type_t)CALL(variable[2],COLOR_static_type___MMLocalClass___get_type))(variable[2]) /*MMLocalClass::get_type*/;
784 variable[1] = variable[2];
785 goto return_label30;
786 return_label30: while(false);
787 tracehead = trace.prev;
788 return variable[1];
789 }
790 val_t syntax_base___AbsSyntaxVisitor___type_int(val_t self) {
791 struct trace_t trace = {NULL, NULL, 265, LOCATE_syntax_base___AbsSyntaxVisitor___type_int};
792 static val_t once_value_33; static int once_bool_33; /* Once value for variable[3]*/
793 val_t variable[4];
794 void **closurevariable = NULL;
795 trace.prev = tracehead; tracehead = &trace;
796 trace.file = LOCATE_syntax_base;
797 variable[0] = self;
798 variable[2] = variable[0];
799 variable[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[2]) /*AbsSyntaxVisitor::_module*/;
800 if (once_bool_33) variable[3] = once_value_33;
801 else {
802 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
803 variable[3] = ((symbol___String___to_symbol_t)CALL(variable[3],COLOR_symbol___String___to_symbol))(variable[3]) /*String::to_symbol*/;
804 once_value_33 = variable[3];
805 once_bool_33 = true;
806 }
807 variable[2] = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable[2],COLOR_abstractmetamodel___MMModule___class_by_name))(variable[2], variable[3]) /*MMModule::class_by_name*/;
808 variable[2] = ((genericity___MMLocalClass___get_type_t)CALL(variable[2],COLOR_static_type___MMLocalClass___get_type))(variable[2]) /*MMLocalClass::get_type*/;
809 variable[1] = variable[2];
810 goto return_label32;
811 return_label32: while(false);
812 tracehead = trace.prev;
813 return variable[1];
814 }
815 val_t syntax_base___AbsSyntaxVisitor___type_float(val_t self) {
816 struct trace_t trace = {NULL, NULL, 271, LOCATE_syntax_base___AbsSyntaxVisitor___type_float};
817 static val_t once_value_35; static int once_bool_35; /* Once value for variable[3]*/
818 val_t variable[4];
819 void **closurevariable = NULL;
820 trace.prev = tracehead; tracehead = &trace;
821 trace.file = LOCATE_syntax_base;
822 variable[0] = self;
823 variable[2] = variable[0];
824 variable[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[2]) /*AbsSyntaxVisitor::_module*/;
825 if (once_bool_35) variable[3] = once_value_35;
826 else {
827 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
828 variable[3] = ((symbol___String___to_symbol_t)CALL(variable[3],COLOR_symbol___String___to_symbol))(variable[3]) /*String::to_symbol*/;
829 once_value_35 = variable[3];
830 once_bool_35 = true;
831 }
832 variable[2] = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable[2],COLOR_abstractmetamodel___MMModule___class_by_name))(variable[2], variable[3]) /*MMModule::class_by_name*/;
833 variable[2] = ((genericity___MMLocalClass___get_type_t)CALL(variable[2],COLOR_static_type___MMLocalClass___get_type))(variable[2]) /*MMLocalClass::get_type*/;
834 variable[1] = variable[2];
835 goto return_label34;
836 return_label34: while(false);
837 tracehead = trace.prev;
838 return variable[1];
839 }
840 val_t syntax_base___AbsSyntaxVisitor___type_char(val_t self) {
841 struct trace_t trace = {NULL, NULL, 277, LOCATE_syntax_base___AbsSyntaxVisitor___type_char};
842 static val_t once_value_37; static int once_bool_37; /* Once value for variable[3]*/
843 val_t variable[4];
844 void **closurevariable = NULL;
845 trace.prev = tracehead; tracehead = &trace;
846 trace.file = LOCATE_syntax_base;
847 variable[0] = self;
848 variable[2] = variable[0];
849 variable[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[2]) /*AbsSyntaxVisitor::_module*/;
850 if (once_bool_37) variable[3] = once_value_37;
851 else {
852 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
853 variable[3] = ((symbol___String___to_symbol_t)CALL(variable[3],COLOR_symbol___String___to_symbol))(variable[3]) /*String::to_symbol*/;
854 once_value_37 = variable[3];
855 once_bool_37 = true;
856 }
857 variable[2] = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable[2],COLOR_abstractmetamodel___MMModule___class_by_name))(variable[2], variable[3]) /*MMModule::class_by_name*/;
858 variable[2] = ((genericity___MMLocalClass___get_type_t)CALL(variable[2],COLOR_static_type___MMLocalClass___get_type))(variable[2]) /*MMLocalClass::get_type*/;
859 variable[1] = variable[2];
860 goto return_label36;
861 return_label36: while(false);
862 tracehead = trace.prev;
863 return variable[1];
864 }
865 val_t syntax_base___AbsSyntaxVisitor___type_string(val_t self) {
866 struct trace_t trace = {NULL, NULL, 283, LOCATE_syntax_base___AbsSyntaxVisitor___type_string};
867 static val_t once_value_39; static int once_bool_39; /* Once value for variable[3]*/
868 val_t variable[4];
869 void **closurevariable = NULL;
870 trace.prev = tracehead; tracehead = &trace;
871 trace.file = LOCATE_syntax_base;
872 variable[0] = self;
873 variable[2] = variable[0];
874 variable[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[2]) /*AbsSyntaxVisitor::_module*/;
875 if (once_bool_39) variable[3] = once_value_39;
876 else {
877 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("String"), TAG_Int(6)); /*new String*/
878 variable[3] = ((symbol___String___to_symbol_t)CALL(variable[3],COLOR_symbol___String___to_symbol))(variable[3]) /*String::to_symbol*/;
879 once_value_39 = variable[3];
880 once_bool_39 = true;
881 }
882 variable[2] = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable[2],COLOR_abstractmetamodel___MMModule___class_by_name))(variable[2], variable[3]) /*MMModule::class_by_name*/;
883 variable[2] = ((genericity___MMLocalClass___get_type_t)CALL(variable[2],COLOR_static_type___MMLocalClass___get_type))(variable[2]) /*MMLocalClass::get_type*/;
884 variable[1] = variable[2];
885 goto return_label38;
886 return_label38: while(false);
887 tracehead = trace.prev;
888 return variable[1];
889 }
890 val_t syntax_base___AbsSyntaxVisitor___type_collection(val_t self) {
891 struct trace_t trace = {NULL, NULL, 289, LOCATE_syntax_base___AbsSyntaxVisitor___type_collection};
892 static val_t once_value_41; static int once_bool_41; /* Once value for variable[3]*/
893 val_t variable[4];
894 void **closurevariable = NULL;
895 trace.prev = tracehead; tracehead = &trace;
896 trace.file = LOCATE_syntax_base;
897 variable[0] = self;
898 variable[2] = variable[0];
899 variable[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[2]) /*AbsSyntaxVisitor::_module*/;
900 if (once_bool_41) variable[3] = once_value_41;
901 else {
902 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("Collection"), TAG_Int(10)); /*new String*/
903 variable[3] = ((symbol___String___to_symbol_t)CALL(variable[3],COLOR_symbol___String___to_symbol))(variable[3]) /*String::to_symbol*/;
904 once_value_41 = variable[3];
905 once_bool_41 = true;
906 }
907 variable[2] = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable[2],COLOR_abstractmetamodel___MMModule___class_by_name))(variable[2], variable[3]) /*MMModule::class_by_name*/;
908 variable[2] = ((genericity___MMLocalClass___get_type_t)CALL(variable[2],COLOR_static_type___MMLocalClass___get_type))(variable[2]) /*MMLocalClass::get_type*/;
909 variable[1] = variable[2];
910 goto return_label40;
911 return_label40: while(false);
912 tracehead = trace.prev;
913 return variable[1];
914 }
915 val_t syntax_base___AbsSyntaxVisitor___type_array(val_t self, val_t param0) {
916 struct trace_t trace = {NULL, NULL, 295, LOCATE_syntax_base___AbsSyntaxVisitor___type_array};
917 static val_t once_value_43; static int once_bool_43; /* Once value for variable[4]*/
918 val_t variable[5];
919 void **closurevariable = NULL;
920 trace.prev = tracehead; tracehead = &trace;
921 trace.file = LOCATE_syntax_base;
922 variable[0] = self;
923 variable[1] = param0;
924 variable[3] = variable[0];
925 variable[3] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[3]) /*AbsSyntaxVisitor::_module*/;
926 if (once_bool_43) variable[4] = once_value_43;
927 else {
928 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)); /*new String*/
929 variable[4] = ((symbol___String___to_symbol_t)CALL(variable[4],COLOR_symbol___String___to_symbol))(variable[4]) /*String::to_symbol*/;
930 once_value_43 = variable[4];
931 once_bool_43 = true;
932 }
933 variable[3] = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable[3],COLOR_abstractmetamodel___MMModule___class_by_name))(variable[3], variable[4]) /*MMModule::class_by_name*/;
934 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
935 ((array___AbstractArray___add_t)CALL(variable[4],COLOR_abstract_collection___SimpleCollection___add))(variable[4], variable[1] /*stype*/) /*AbstractArray::add*/;
936 variable[3] = ((genericity___MMLocalClass___get_instantiate_type_t)CALL(variable[3],COLOR_genericity___MMLocalClass___get_instantiate_type))(variable[3], variable[4]) /*MMLocalClass::get_instantiate_type*/;
937 variable[2] = variable[3];
938 goto return_label42;
939 return_label42: while(false);
940 tracehead = trace.prev;
941 return variable[2];
942 }
943 val_t syntax_base___AbsSyntaxVisitor___type_discrete(val_t self) {
944 struct trace_t trace = {NULL, NULL, 301, LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete};
945 static val_t once_value_45; static int once_bool_45; /* Once value for variable[3]*/
946 val_t variable[4];
947 void **closurevariable = NULL;
948 trace.prev = tracehead; tracehead = &trace;
949 trace.file = LOCATE_syntax_base;
950 variable[0] = self;
951 variable[2] = variable[0];
952 variable[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[2]) /*AbsSyntaxVisitor::_module*/;
953 if (once_bool_45) variable[3] = once_value_45;
954 else {
955 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("Discrete"), TAG_Int(8)); /*new String*/
956 variable[3] = ((symbol___String___to_symbol_t)CALL(variable[3],COLOR_symbol___String___to_symbol))(variable[3]) /*String::to_symbol*/;
957 once_value_45 = variable[3];
958 once_bool_45 = true;
959 }
960 variable[2] = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable[2],COLOR_abstractmetamodel___MMModule___class_by_name))(variable[2], variable[3]) /*MMModule::class_by_name*/;
961 variable[2] = ((genericity___MMLocalClass___get_type_t)CALL(variable[2],COLOR_static_type___MMLocalClass___get_type))(variable[2]) /*MMLocalClass::get_type*/;
962 variable[1] = variable[2];
963 goto return_label44;
964 return_label44: while(false);
965 tracehead = trace.prev;
966 return variable[1];
967 }
968 val_t syntax_base___AbsSyntaxVisitor___type_range(val_t self, val_t param0) {
969 struct trace_t trace = {NULL, NULL, 307, LOCATE_syntax_base___AbsSyntaxVisitor___type_range};
970 static val_t once_value_47; static int once_bool_47; /* Once value for variable[4]*/
971 val_t variable[5];
972 void **closurevariable = NULL;
973 trace.prev = tracehead; tracehead = &trace;
974 trace.file = LOCATE_syntax_base;
975 variable[0] = self;
976 variable[1] = param0;
977 variable[3] = variable[0];
978 variable[3] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[3]) /*AbsSyntaxVisitor::_module*/;
979 if (once_bool_47) variable[4] = once_value_47;
980 else {
981 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Range"), TAG_Int(5)); /*new String*/
982 variable[4] = ((symbol___String___to_symbol_t)CALL(variable[4],COLOR_symbol___String___to_symbol))(variable[4]) /*String::to_symbol*/;
983 once_value_47 = variable[4];
984 once_bool_47 = true;
985 }
986 variable[3] = ((abstractmetamodel___MMModule___class_by_name_t)CALL(variable[3],COLOR_abstractmetamodel___MMModule___class_by_name))(variable[3], variable[4]) /*MMModule::class_by_name*/;
987 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[MMType]*/
988 ((array___AbstractArray___add_t)CALL(variable[4],COLOR_abstract_collection___SimpleCollection___add))(variable[4], variable[1] /*stype*/) /*AbstractArray::add*/;
989 variable[3] = ((genericity___MMLocalClass___get_instantiate_type_t)CALL(variable[3],COLOR_genericity___MMLocalClass___get_instantiate_type))(variable[3], variable[4]) /*MMLocalClass::get_instantiate_type*/;
990 variable[2] = variable[3];
991 goto return_label46;
992 return_label46: while(false);
993 tracehead = trace.prev;
994 return variable[2];
995 }
996 val_t syntax_base___AbsSyntaxVisitor___type_none(val_t self) {
997 struct trace_t trace = {NULL, NULL, 313, LOCATE_syntax_base___AbsSyntaxVisitor___type_none};
998 val_t variable[3];
999 void **closurevariable = NULL;
1000 trace.prev = tracehead; tracehead = &trace;
1001 trace.file = LOCATE_syntax_base;
1002 variable[0] = self;
1003 variable[2] = variable[0];
1004 variable[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[2]) /*AbsSyntaxVisitor::_module*/;
1005 variable[2] = ((static_type___MMModule___type_none_t)CALL(variable[2],COLOR_static_type___MMModule___type_none))(variable[2]) /*MMModule::type_none*/;
1006 variable[1] = variable[2];
1007 goto return_label48;
1008 return_label48: while(false);
1009 tracehead = trace.prev;
1010 return variable[1];
1011 }
1012 val_t syntax_base___AbsSyntaxVisitor___module(val_t self) {
1013 struct trace_t trace = {NULL, NULL, 319, LOCATE_syntax_base___AbsSyntaxVisitor___module};
1014 val_t *variable = NULL;
1015 void **closurevariable = NULL;
1016 trace.prev = tracehead; tracehead = &trace;
1017 trace.file = LOCATE_syntax_base;
1018 tracehead = trace.prev;
1019 return ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/;
1020 }
1021 void syntax_base___AbsSyntaxVisitor___module__eq(val_t self, val_t param0) {
1022 struct trace_t trace = {NULL, NULL, 319, LOCATE_syntax_base___AbsSyntaxVisitor___module__eq};
1023 val_t *variable = NULL;
1024 void **closurevariable = NULL;
1025 trace.prev = tracehead; tracehead = &trace;
1026 trace.file = LOCATE_syntax_base;
1027 ATTR_syntax_base___AbsSyntaxVisitor____module( self) /*AbsSyntaxVisitor::_module*/ = param0;
1028 tracehead = trace.prev;
1029 return;
1030 }
1031 val_t syntax_base___AbsSyntaxVisitor___local_class(val_t self) {
1032 struct trace_t trace = {NULL, NULL, 322, LOCATE_syntax_base___AbsSyntaxVisitor___local_class};
1033 val_t *variable = NULL;
1034 void **closurevariable = NULL;
1035 trace.prev = tracehead; tracehead = &trace;
1036 trace.file = LOCATE_syntax_base;
1037 tracehead = trace.prev;
1038 return ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/;
1039 }
1040 void syntax_base___AbsSyntaxVisitor___local_class__eq(val_t self, val_t param0) {
1041 struct trace_t trace = {NULL, NULL, 322, LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq};
1042 val_t *variable = NULL;
1043 void **closurevariable = NULL;
1044 trace.prev = tracehead; tracehead = &trace;
1045 trace.file = LOCATE_syntax_base;
1046 ATTR_syntax_base___AbsSyntaxVisitor____local_class( self) /*AbsSyntaxVisitor::_local_class*/ = param0;
1047 tracehead = trace.prev;
1048 return;
1049 }
1050 val_t syntax_base___AbsSyntaxVisitor___local_property(val_t self) {
1051 struct trace_t trace = {NULL, NULL, 325, LOCATE_syntax_base___AbsSyntaxVisitor___local_property};
1052 val_t *variable = NULL;
1053 void **closurevariable = NULL;
1054 trace.prev = tracehead; tracehead = &trace;
1055 trace.file = LOCATE_syntax_base;
1056 tracehead = trace.prev;
1057 return ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/;
1058 }
1059 void syntax_base___AbsSyntaxVisitor___local_property__eq(val_t self, val_t param0) {
1060 struct trace_t trace = {NULL, NULL, 325, LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq};
1061 val_t *variable = NULL;
1062 void **closurevariable = NULL;
1063 trace.prev = tracehead; tracehead = &trace;
1064 trace.file = LOCATE_syntax_base;
1065 ATTR_syntax_base___AbsSyntaxVisitor____local_property( self) /*AbsSyntaxVisitor::_local_property*/ = param0;
1066 tracehead = trace.prev;
1067 return;
1068 }
1069 val_t syntax_base___AbsSyntaxVisitor___tc(val_t self) {
1070 struct trace_t trace = {NULL, NULL, 328, LOCATE_syntax_base___AbsSyntaxVisitor___tc};
1071 val_t *variable = NULL;
1072 void **closurevariable = NULL;
1073 trace.prev = tracehead; tracehead = &trace;
1074 trace.file = LOCATE_syntax_base;
1075 tracehead = trace.prev;
1076 return ATTR_syntax_base___AbsSyntaxVisitor____tc( self) /*AbsSyntaxVisitor::_tc*/;
1077 }
1078 void syntax_base___AbsSyntaxVisitor___error(val_t self, val_t param0, val_t param1) {
1079 struct trace_t trace = {NULL, NULL, 331, LOCATE_syntax_base___AbsSyntaxVisitor___error};
1080 val_t variable[15];
1081 void **closurevariable = NULL;
1082 trace.prev = tracehead; tracehead = &trace;
1083 trace.file = LOCATE_syntax_base;
1084 variable[0] = self;
1085 variable[1] = param0;
1086 variable[2] = param1;
1087 variable[4] = variable[0];
1088 variable[4] = ATTR_syntax_base___AbsSyntaxVisitor____tc(variable[4]) /*AbsSyntaxVisitor::_tc*/;
1089 variable[5] = NEW_String_string___String___init(); /*new String*/
1090 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1091 variable[7] = variable[6];
1092 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[7]) /*String::append*/;
1093 variable[8] = variable[0];
1094 variable[8] = ((syntax_base___AbsSyntaxVisitor___locate_t)CALL(variable[8],COLOR_syntax_base___AbsSyntaxVisitor___locate))(variable[8], variable[1] /*n*/) /*AbsSyntaxVisitor::locate*/;
1095 variable[9] = variable[8];
1096 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[9]) /*String::append*/;
1097 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
1098 variable[11] = variable[10];
1099 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[11]) /*String::append*/;
1100 variable[12] = variable[2] /*s*/;
1101 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[12]) /*String::append*/;
1102 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1103 variable[14] = variable[13];
1104 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[14]) /*String::append*/;
1105 ((mmloader___ToolContext___error_t)CALL(variable[4],COLOR_mmloader___ToolContext___error))(variable[4], variable[5]) /*ToolContext::error*/;
1106 return_label49: while(false);
1107 tracehead = trace.prev;
1108 return;
1109 }
1110 void syntax_base___AbsSyntaxVisitor___warning(val_t self, val_t param0, val_t param1) {
1111 struct trace_t trace = {NULL, NULL, 337, LOCATE_syntax_base___AbsSyntaxVisitor___warning};
1112 val_t variable[15];
1113 void **closurevariable = NULL;
1114 trace.prev = tracehead; tracehead = &trace;
1115 trace.file = LOCATE_syntax_base;
1116 variable[0] = self;
1117 variable[1] = param0;
1118 variable[2] = param1;
1119 variable[4] = variable[0];
1120 variable[4] = ATTR_syntax_base___AbsSyntaxVisitor____tc(variable[4]) /*AbsSyntaxVisitor::_tc*/;
1121 variable[5] = NEW_String_string___String___init(); /*new String*/
1122 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1123 variable[7] = variable[6];
1124 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[7]) /*String::append*/;
1125 variable[8] = variable[0];
1126 variable[8] = ((syntax_base___AbsSyntaxVisitor___locate_t)CALL(variable[8],COLOR_syntax_base___AbsSyntaxVisitor___locate))(variable[8], variable[1] /*n*/) /*AbsSyntaxVisitor::locate*/;
1127 variable[9] = variable[8];
1128 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[9]) /*String::append*/;
1129 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
1130 variable[11] = variable[10];
1131 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[11]) /*String::append*/;
1132 variable[12] = variable[2] /*s*/;
1133 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[12]) /*String::append*/;
1134 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1135 variable[14] = variable[13];
1136 ((string___String___append_t)CALL(variable[5],COLOR_abstract_collection___IndexedCollection___append))(variable[5], variable[14]) /*String::append*/;
1137 ((mmloader___ToolContext___warning_t)CALL(variable[4],COLOR_mmloader___ToolContext___warning))(variable[4], variable[5]) /*ToolContext::warning*/;
1138 return_label50: while(false);
1139 tracehead = trace.prev;
1140 return;
1141 }
1142 val_t syntax_base___AbsSyntaxVisitor___locate(val_t self, val_t param0) {
1143 struct trace_t trace = {NULL, NULL, 343, LOCATE_syntax_base___AbsSyntaxVisitor___locate};
1144 val_t variable[4];
1145 void **closurevariable = NULL;
1146 trace.prev = tracehead; tracehead = &trace;
1147 trace.file = LOCATE_syntax_base;
1148 variable[0] = self;
1149 variable[1] = param0;
1150 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[1] /*n*/ == NIT_NULL /*null*/) || (( variable[1] /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[1] /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[1] /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[1] /*n*/,COLOR_kernel___Object_____eqeq))( variable[1] /*n*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1151 if (UNTAG_Bool(variable[3])) { /*if*/
1152 variable[3] = ((parser_prod___PNode___locate_t)CALL( variable[1] /*n*/,COLOR_parser_prod___PNode___locate))( variable[1] /*n*/) /*PNode::locate*/;
1153 variable[2] = variable[3];
1154 goto return_label51;
1155 }
1156 variable[3] = variable[0];
1157 variable[3] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable[3]) /*AbsSyntaxVisitor::_module*/;
1158 variable[3] = ((mmloader___MMModule___filename_t)CALL(variable[3],COLOR_mmloader___MMModule___filename))(variable[3]) /*MMModule::filename*/;
1159 variable[2] = variable[3];
1160 goto return_label51;
1161 return_label51: while(false);
1162 tracehead = trace.prev;
1163 return variable[2];
1164 }
1165 val_t syntax_base___AbsSyntaxVisitor___check_conform(val_t self, val_t param0, val_t param1, val_t param2) {
1166 struct trace_t trace = {NULL, NULL, 350, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform};
1167 val_t variable[15];
1168 void **closurevariable = NULL;
1169 trace.prev = tracehead; tracehead = &trace;
1170 trace.file = LOCATE_syntax_base;
1171 variable[0] = self;
1172 variable[1] = param0;
1173 variable[2] = param1;
1174 variable[3] = param2;
1175 variable[5] = TAG_Bool(( variable[3] /*stype*/ == NIT_NULL /*null*/) || (( variable[3] /*stype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[3] /*stype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*stype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[3] /*stype*/,COLOR_kernel___Object_____eqeq))( variable[3] /*stype*/, NIT_NULL /*null*/) /*Object::==*/)))));
1176 variable[6] = variable[5];
1177 if (!UNTAG_Bool(variable[6])) { /* or */
1178 variable[6] = TAG_Bool(( variable[2] /*subtype*/ == NIT_NULL /*null*/) || (( variable[2] /*subtype*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[2] /*subtype*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[2] /*subtype*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[2] /*subtype*/,COLOR_kernel___Object_____eqeq))( variable[2] /*subtype*/, NIT_NULL /*null*/) /*Object::==*/)))));
1179 }
1180 variable[5] = variable[6];
1181 if (UNTAG_Bool(variable[5])) { /*if*/
1182 variable[4] = TAG_Bool(false);
1183 goto return_label52;
1184 }
1185 variable[5] = ((static_type___MMType_____l_t)CALL( variable[2] /*subtype*/,COLOR_static_type___MMType_____l))( variable[2] /*subtype*/, variable[3] /*stype*/) /*MMType::<*/;
1186 if (UNTAG_Bool(variable[5])) { /*if*/
1187 variable[4] = TAG_Bool(true);
1188 goto return_label52;
1189 }
1190 variable[5] = variable[0];
1191 variable[6] = NEW_String_string___String___init(); /*new String*/
1192 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("Type error: expected "), TAG_Int(21)); /*new String*/
1193 variable[8] = variable[7];
1194 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[8]) /*String::append*/;
1195 variable[9] = variable[3] /*stype*/;
1196 variable[9] = ((string___String___to_s_t)CALL(variable[9],COLOR_string___Object___to_s))(variable[9]) /*String::to_s*/;
1197 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[9]) /*String::append*/;
1198 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(", got "), TAG_Int(6)); /*new String*/
1199 variable[11] = variable[10];
1200 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[11]) /*String::append*/;
1201 variable[12] = variable[2] /*subtype*/;
1202 variable[12] = ((string___String___to_s_t)CALL(variable[12],COLOR_string___Object___to_s))(variable[12]) /*String::to_s*/;
1203 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[12]) /*String::append*/;
1204 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1205 variable[14] = variable[13];
1206 ((string___String___append_t)CALL(variable[6],COLOR_abstract_collection___IndexedCollection___append))(variable[6], variable[14]) /*String::append*/;
1207 ((syntax_base___AbsSyntaxVisitor___error_t)CALL(variable[5],COLOR_syntax_base___AbsSyntaxVisitor___error))(variable[5], variable[1] /*n*/, variable[6]) /*AbsSyntaxVisitor::error*/;
1208 variable[4] = TAG_Bool(false);
1209 goto return_label52;
1210 return_label52: while(false);
1211 tracehead = trace.prev;
1212 return variable[4];
1213 }
1214 val_t syntax_base___AbsSyntaxVisitor___check_expr(val_t self, val_t param0) {
1215 struct trace_t trace = {NULL, NULL, 365, LOCATE_syntax_base___AbsSyntaxVisitor___check_expr};
1216 val_t variable[5];
1217 void **closurevariable = NULL;
1218 trace.prev = tracehead; tracehead = &trace;
1219 trace.file = LOCATE_syntax_base;
1220 variable[0] = self;
1221 variable[1] = param0;
1222 variable[3] = variable[0];
1223 variable[3] = ((syntax_base___AbsSyntaxVisitor___tc_t)CALL(variable[3],COLOR_syntax_base___AbsSyntaxVisitor___tc))(variable[3]) /*AbsSyntaxVisitor::tc*/;
1224 variable[3] = ((mmloader___ToolContext___error_count_t)CALL(variable[3],COLOR_mmloader___ToolContext___error_count))(variable[3]) /*ToolContext::error_count*/;
1225 variable[3] = TAG_Bool((variable[3])==( TAG_Int(0)));
1226 variable[4] = variable[3];
1227 if (UNTAG_Bool(variable[4])) { /* and */
1228 variable[4] = ((syntax_base___PExpr___stype_t)CALL( variable[1] /*n*/,COLOR_syntax_base___PExpr___stype))( variable[1] /*n*/) /*PExpr::stype*/;
1229 variable[4] = TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[4],COLOR_kernel___Object_____eqeq))(variable[4], NIT_NULL /*null*/) /*Object::==*/)))));
1230 }
1231 variable[3] = variable[4];
1232 if (UNTAG_Bool(variable[3])) { /*if*/
1233 variable[3] = variable[0];
1234 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Type error: expected expression."), TAG_Int(32)); /*new String*/
1235 ((syntax_base___AbsSyntaxVisitor___error_t)CALL(variable[3],COLOR_syntax_base___AbsSyntaxVisitor___error))(variable[3], variable[1] /*n*/, variable[4]) /*AbsSyntaxVisitor::error*/;
1236 variable[2] = TAG_Bool(false);
1237 goto return_label53;
1238 }
1239 variable[2] = TAG_Bool(true);
1240 goto return_label53;
1241 return_label53: while(false);
1242 tracehead = trace.prev;
1243 return variable[2];
1244 }
1245 val_t syntax_base___AbsSyntaxVisitor___check_conform_expr(val_t self, val_t param0, val_t param1) {
1246 struct trace_t trace = {NULL, NULL, 379, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform_expr};
1247 val_t variable[6];
1248 void **closurevariable = NULL;
1249 trace.prev = tracehead; tracehead = &trace;
1250 trace.file = LOCATE_syntax_base;
1251 variable[0] = self;
1252 variable[1] = param0;
1253 variable[2] = param1;
1254 variable[4] = variable[0];
1255 variable[4] = ((syntax_base___AbsSyntaxVisitor___check_expr_t)CALL(variable[4],COLOR_syntax_base___AbsSyntaxVisitor___check_expr))(variable[4], variable[1] /*n*/) /*AbsSyntaxVisitor::check_expr*/;
1256 if (UNTAG_Bool(variable[4])) { /*if*/
1257 variable[4] = variable[0];
1258 variable[5] = ((syntax_base___PExpr___stype_t)CALL( variable[1] /*n*/,COLOR_syntax_base___PExpr___stype))( variable[1] /*n*/) /*PExpr::stype*/;
1259 variable[4] = ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL(variable[4],COLOR_syntax_base___AbsSyntaxVisitor___check_conform))(variable[4], variable[1] /*n*/, variable[5], variable[2] /*stype*/) /*AbsSyntaxVisitor::check_conform*/;
1260 variable[3] = variable[4];
1261 goto return_label54;
1262 } else { /*if*/
1263 variable[3] = TAG_Bool(false);
1264 goto return_label54;
1265 }
1266 return_label54: while(false);
1267 tracehead = trace.prev;
1268 return variable[3];
1269 }
1270 void syntax_base___AbsSyntaxVisitor___init(val_t self, val_t param0, val_t param1, int* init_table) {
1271 struct trace_t trace = {NULL, NULL, 386, LOCATE_syntax_base___AbsSyntaxVisitor___init};
1272 val_t variable[5];
1273 void **closurevariable = NULL;
1274 trace.prev = tracehead; tracehead = &trace;
1275 trace.file = LOCATE_syntax_base;
1276 variable[0] = self;
1277 variable[1] = param0;
1278 variable[2] = param1;
1279 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_AbsSyntaxVisitor].i]) return;
1280 variable[4] = variable[0];
1281 ATTR_syntax_base___AbsSyntaxVisitor____tc(variable[4]) /*AbsSyntaxVisitor::_tc*/ = variable[1] /*tc*/;
1282 variable[4] = variable[0];
1283 ATTR_syntax_base___AbsSyntaxVisitor____module(variable[4]) /*AbsSyntaxVisitor::_module*/ = variable[2] /*module*/;
1284 return_label55: while(false);
1285 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_AbsSyntaxVisitor].i] = 1;
1286 tracehead = trace.prev;
1287 return;
1288 }
1289 void syntax_base___PNode___accept_abs_syntax_visitor(val_t self, val_t param0) {
1290 struct trace_t trace = {NULL, NULL, 396, LOCATE_syntax_base___PNode___accept_abs_syntax_visitor};
1291 val_t variable[4];
1292 void **closurevariable = NULL;
1293 trace.prev = tracehead; tracehead = &trace;
1294 trace.file = LOCATE_syntax_base;
1295 variable[0] = self;
1296 variable[1] = param0;
1297 variable[3] = variable[0];
1298 ((parser_prod___PNode___visit_all_t)CALL(variable[3],COLOR_parser_prod___PNode___visit_all))(variable[3], variable[1] /*v*/) /*PNode::visit_all*/;
1299 return_label56: while(false);
1300 tracehead = trace.prev;
1301 return;
1302 }
1303 val_t syntax_base___Token___to_symbol(val_t self) {
1304 struct trace_t trace = {NULL, NULL, 402, LOCATE_syntax_base___Token___to_symbol};
1305 val_t variable[4];
1306 void **closurevariable = NULL;
1307 trace.prev = tracehead; tracehead = &trace;
1308 trace.file = LOCATE_syntax_base;
1309 variable[0] = self;
1310 variable[3] = variable[0];
1311 variable[3] = ATTR_syntax_base___Token____symbol(variable[3]) /*Token::_symbol*/;
1312 variable[2] = variable[3];
1313 variable[3] = TAG_Bool(( variable[2] /*s*/ == NIT_NULL /*null*/) || (( variable[2] /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[2] /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[2] /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[2] /*s*/,COLOR_kernel___Object_____eqeq))( variable[2] /*s*/, NIT_NULL /*null*/) /*Object::==*/)))));
1314 if (UNTAG_Bool(variable[3])) { /*if*/
1315 variable[3] = variable[0];
1316 variable[3] = ((lexer___Token___text_t)CALL(variable[3],COLOR_lexer___Token___text))(variable[3]) /*Token::text*/;
1317 variable[3] = ((symbol___String___to_symbol_t)CALL(variable[3],COLOR_symbol___String___to_symbol))(variable[3]) /*String::to_symbol*/;
1318 variable[2] = variable[3] /*s=*/;
1319 variable[3] = variable[0];
1320 ATTR_syntax_base___Token____symbol(variable[3]) /*Token::_symbol*/ = variable[2] /*s*/;
1321 }
1322 variable[1] = variable[2] /*s*/;
1323 goto return_label57;
1324 return_label57: while(false);
1325 tracehead = trace.prev;
1326 return variable[1];
1327 }
1328 val_t syntax_base___PClassdef___local_class(val_t self) {
1329 struct trace_t trace = {NULL, NULL, 416, LOCATE_syntax_base___PClassdef___local_class};
1330 val_t *variable = NULL;
1331 void **closurevariable = NULL;
1332 trace.prev = tracehead; tracehead = &trace;
1333 trace.file = LOCATE_syntax_base;
1334 fprintf(stderr, "Deferred method called");
1335 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 416);
1336 nit_exit(1);
1337 tracehead = trace.prev;
1338 return NIT_NULL;
1339 }
1340 val_t syntax_base___AAttrPropdef___prop(val_t self) {
1341 struct trace_t trace = {NULL, NULL, 421, LOCATE_syntax_base___AAttrPropdef___prop};
1342 val_t *variable = NULL;
1343 void **closurevariable = NULL;
1344 trace.prev = tracehead; tracehead = &trace;
1345 trace.file = LOCATE_syntax_base;
1346 fprintf(stderr, "Deferred method called");
1347 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 421);
1348 nit_exit(1);
1349 tracehead = trace.prev;
1350 return NIT_NULL;
1351 }
1352 val_t syntax_base___AAttrPropdef___readmethod(val_t self) {
1353 struct trace_t trace = {NULL, NULL, 424, LOCATE_syntax_base___AAttrPropdef___readmethod};
1354 val_t *variable = NULL;
1355 void **closurevariable = NULL;
1356 trace.prev = tracehead; tracehead = &trace;
1357 trace.file = LOCATE_syntax_base;
1358 fprintf(stderr, "Deferred method called");
1359 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 424);
1360 nit_exit(1);
1361 tracehead = trace.prev;
1362 return NIT_NULL;
1363 }
1364 val_t syntax_base___AAttrPropdef___writemethod(val_t self) {
1365 struct trace_t trace = {NULL, NULL, 427, LOCATE_syntax_base___AAttrPropdef___writemethod};
1366 val_t *variable = NULL;
1367 void **closurevariable = NULL;
1368 trace.prev = tracehead; tracehead = &trace;
1369 trace.file = LOCATE_syntax_base;
1370 fprintf(stderr, "Deferred method called");
1371 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 427);
1372 nit_exit(1);
1373 tracehead = trace.prev;
1374 return NIT_NULL;
1375 }
1376 val_t syntax_base___AMethPropdef___method(val_t self) {
1377 struct trace_t trace = {NULL, NULL, 432, LOCATE_syntax_base___AMethPropdef___method};
1378 val_t *variable = NULL;
1379 void **closurevariable = NULL;
1380 trace.prev = tracehead; tracehead = &trace;
1381 trace.file = LOCATE_syntax_base;
1382 fprintf(stderr, "Deferred method called");
1383 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 432);
1384 nit_exit(1);
1385 tracehead = trace.prev;
1386 return NIT_NULL;
1387 }
1388 val_t syntax_base___AMethPropdef___self_var(val_t self) {
1389 struct trace_t trace = {NULL, NULL, 435, LOCATE_syntax_base___AMethPropdef___self_var};
1390 val_t *variable = NULL;
1391 void **closurevariable = NULL;
1392 trace.prev = tracehead; tracehead = &trace;
1393 trace.file = LOCATE_syntax_base;
1394 fprintf(stderr, "Deferred method called");
1395 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 435);
1396 nit_exit(1);
1397 tracehead = trace.prev;
1398 return NIT_NULL;
1399 }
1400 val_t syntax_base___ATypePropdef___prop(val_t self) {
1401 struct trace_t trace = {NULL, NULL, 440, LOCATE_syntax_base___ATypePropdef___prop};
1402 val_t *variable = NULL;
1403 void **closurevariable = NULL;
1404 trace.prev = tracehead; tracehead = &trace;
1405 trace.file = LOCATE_syntax_base;
1406 fprintf(stderr, "Deferred method called");
1407 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 440);
1408 nit_exit(1);
1409 tracehead = trace.prev;
1410 return NIT_NULL;
1411 }
1412 val_t syntax_base___PParam___position(val_t self) {
1413 struct trace_t trace = {NULL, NULL, 445, LOCATE_syntax_base___PParam___position};
1414 val_t *variable = NULL;
1415 void **closurevariable = NULL;
1416 trace.prev = tracehead; tracehead = &trace;
1417 trace.file = LOCATE_syntax_base;
1418 fprintf(stderr, "Deferred method called");
1419 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 445);
1420 nit_exit(1);
1421 tracehead = trace.prev;
1422 return NIT_NULL;
1423 }
1424 val_t syntax_base___PParam___variable(val_t self) {
1425 struct trace_t trace = {NULL, NULL, 448, LOCATE_syntax_base___PParam___variable};
1426 val_t *variable = NULL;
1427 void **closurevariable = NULL;
1428 trace.prev = tracehead; tracehead = &trace;
1429 trace.file = LOCATE_syntax_base;
1430 fprintf(stderr, "Deferred method called");
1431 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 448);
1432 nit_exit(1);
1433 tracehead = trace.prev;
1434 return NIT_NULL;
1435 }
1436 val_t syntax_base___PClosureDecl___variable(val_t self) {
1437 struct trace_t trace = {NULL, NULL, 453, LOCATE_syntax_base___PClosureDecl___variable};
1438 val_t *variable = NULL;
1439 void **closurevariable = NULL;
1440 trace.prev = tracehead; tracehead = &trace;
1441 trace.file = LOCATE_syntax_base;
1442 fprintf(stderr, "Deferred method called");
1443 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 453);
1444 nit_exit(1);
1445 tracehead = trace.prev;
1446 return NIT_NULL;
1447 }
1448 val_t syntax_base___PType___get_local_class(val_t self, val_t param0) {
1449 struct trace_t trace = {NULL, NULL, 458, LOCATE_syntax_base___PType___get_local_class};
1450 val_t *variable = NULL;
1451 void **closurevariable = NULL;
1452 trace.prev = tracehead; tracehead = &trace;
1453 trace.file = LOCATE_syntax_base;
1454 fprintf(stderr, "Deferred method called");
1455 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 458);
1456 nit_exit(1);
1457 tracehead = trace.prev;
1458 return NIT_NULL;
1459 }
1460 val_t syntax_base___PType___get_stype(val_t self, val_t param0) {
1461 struct trace_t trace = {NULL, NULL, 463, LOCATE_syntax_base___PType___get_stype};
1462 val_t *variable = NULL;
1463 void **closurevariable = NULL;
1464 trace.prev = tracehead; tracehead = &trace;
1465 trace.file = LOCATE_syntax_base;
1466 fprintf(stderr, "Deferred method called");
1467 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 463);
1468 nit_exit(1);
1469 tracehead = trace.prev;
1470 return NIT_NULL;
1471 }
1472 val_t syntax_base___PType___get_unchecked_stype(val_t self, val_t param0) {
1473 struct trace_t trace = {NULL, NULL, 467, LOCATE_syntax_base___PType___get_unchecked_stype};
1474 val_t *variable = NULL;
1475 void **closurevariable = NULL;
1476 trace.prev = tracehead; tracehead = &trace;
1477 trace.file = LOCATE_syntax_base;
1478 fprintf(stderr, "Deferred method called");
1479 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 467);
1480 nit_exit(1);
1481 tracehead = trace.prev;
1482 return NIT_NULL;
1483 }
1484 void syntax_base___PType___check_conform(val_t self, val_t param0) {
1485 struct trace_t trace = {NULL, NULL, 473, LOCATE_syntax_base___PType___check_conform};
1486 val_t *variable = NULL;
1487 void **closurevariable = NULL;
1488 trace.prev = tracehead; tracehead = &trace;
1489 trace.file = LOCATE_syntax_base;
1490 fprintf(stderr, "Deferred method called");
1491 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 473);
1492 nit_exit(1);
1493 tracehead = trace.prev;
1494 return;
1495 }
1496 val_t syntax_base___AType___get_local_class(val_t self, val_t param0) {
1497 struct trace_t trace = {NULL, NULL, 483, LOCATE_syntax_base___AType___get_local_class};
1498 val_t variable[16];
1499 void **closurevariable = NULL;
1500 trace.prev = tracehead; tracehead = &trace;
1501 trace.file = LOCATE_syntax_base;
1502 variable[0] = self;
1503 variable[1] = param0;
1504 variable[4] = variable[0];
1505 variable[4] = ((parser_nodes___AType___n_id_t)CALL(variable[4],COLOR_parser_nodes___AType___n_id))(variable[4]) /*AType::n_id*/;
1506 variable[4] = ((syntax_base___Token___to_symbol_t)CALL(variable[4],COLOR_syntax_base___Token___to_symbol))(variable[4]) /*Token::to_symbol*/;
1507 variable[3] = variable[4];
1508 variable[5] = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1509 variable[4] = variable[5];
1510 variable[6] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
1511 variable[5] = variable[6];
1512 variable[6] = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable[5] /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable[5] /*cla*/) /*MMSrcLocalClass::formal_dict*/;
1513 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] == NIT_NULL /*null*/) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], NIT_NULL /*null*/) /*Object::==*/)))))));
1514 variable[7] = variable[6];
1515 if (UNTAG_Bool(variable[7])) { /* and */
1516 variable[7] = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable[5] /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable[5] /*cla*/) /*MMSrcLocalClass::formal_dict*/;
1517 variable[7] = ((abstract_collection___Map___has_key_t)CALL(variable[7],COLOR_abstract_collection___Map___has_key))(variable[7], variable[3] /*name*/) /*Map::has_key*/;
1518 }
1519 variable[6] = variable[7];
1520 variable[7] = variable[6];
1521 if (!UNTAG_Bool(variable[7])) { /* or */
1522 variable[7] = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable[5] /*cla*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable[5] /*cla*/) /*MMLocalClass::global_properties*/;
1523 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] == NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[7],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[7],COLOR_kernel___Object_____eqeq))(variable[7], NIT_NULL /*null*/) /*Object::==*/)))))));
1524 variable[8] = variable[7];
1525 if (UNTAG_Bool(variable[8])) { /* and */
1526 variable[8] = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( variable[5] /*cla*/,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( variable[5] /*cla*/, variable[3] /*name*/) /*MMLocalClass::has_global_property_by_name*/;
1527 }
1528 variable[7] = variable[8];
1529 }
1530 variable[6] = variable[7];
1531 if (UNTAG_Bool(variable[6])) { /*if*/
1532 variable[6] = variable[0];
1533 variable[6] = ((parser_nodes___AType___n_id_t)CALL(variable[6],COLOR_parser_nodes___AType___n_id))(variable[6]) /*AType::n_id*/;
1534 variable[7] = NEW_String_string___String___init(); /*new String*/
1535 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
1536 variable[9] = variable[8];
1537 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
1538 variable[10] = variable[3] /*name*/;
1539 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
1540 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[10]) /*String::append*/;
1541 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" is a formal type"), TAG_Int(17)); /*new String*/
1542 variable[12] = variable[11];
1543 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[12]) /*String::append*/;
1544 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[6], variable[7]) /*AbsSyntaxVisitor::error*/;
1545 variable[6] = variable[0];
1546 ATTR_syntax_base___AType____stype_cached(variable[6]) /*AType::_stype_cached*/ = TAG_Bool(true);
1547 variable[2] = NIT_NULL /*null*/;
1548 goto return_label58;
1549 }
1550 variable[6] = ((abstractmetamodel___MMModule___has_global_class_named_t)CALL( variable[4] /*mod*/,COLOR_abstractmetamodel___MMModule___has_global_class_named))( variable[4] /*mod*/, variable[3] /*name*/) /*MMModule::has_global_class_named*/;
1551 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[6])))) { /*if*/
1552 variable[6] = variable[0];
1553 variable[6] = ((parser_nodes___AType___n_id_t)CALL(variable[6],COLOR_parser_nodes___AType___n_id))(variable[6]) /*AType::n_id*/;
1554 variable[7] = NEW_String_string___String___init(); /*new String*/
1555 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Type error: class "), TAG_Int(18)); /*new String*/
1556 variable[9] = variable[8];
1557 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
1558 variable[10] = variable[3] /*name*/;
1559 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
1560 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[10]) /*String::append*/;
1561 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" not found in module "), TAG_Int(21)); /*new String*/
1562 variable[12] = variable[11];
1563 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[12]) /*String::append*/;
1564 variable[13] = variable[4] /*mod*/;
1565 variable[13] = ((string___String___to_s_t)CALL(variable[13],COLOR_string___Object___to_s))(variable[13]) /*String::to_s*/;
1566 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[13]) /*String::append*/;
1567 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1568 variable[15] = variable[14];
1569 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[15]) /*String::append*/;
1570 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[6], variable[7]) /*AbsSyntaxVisitor::error*/;
1571 variable[6] = variable[0];
1572 ATTR_syntax_base___AType____stype_cached(variable[6]) /*AType::_stype_cached*/ = TAG_Bool(true);
1573 variable[2] = NIT_NULL /*null*/;
1574 goto return_label58;
1575 }
1576 variable[7] = ((abstractmetamodel___MMModule___class_by_name_t)CALL( variable[4] /*mod*/,COLOR_abstractmetamodel___MMModule___class_by_name))( variable[4] /*mod*/, variable[3] /*name*/) /*MMModule::class_by_name*/;
1577 variable[6] = variable[7];
1578 variable[7] = ((abstractmetamodel___MMLocalClass___global_t)CALL( variable[6] /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___global))( variable[6] /*local_class*/) /*MMLocalClass::global*/;
1579 variable[8] = variable[0];
1580 ((syntax_base___MMGlobalClass___check_visibility_t)CALL(variable[7],COLOR_syntax_base___MMGlobalClass___check_visibility))(variable[7], variable[1] /*v*/, variable[8], variable[4] /*mod*/) /*MMGlobalClass::check_visibility*/;
1581 variable[2] = variable[6] /*local_class*/;
1582 goto return_label58;
1583 return_label58: while(false);
1584 tracehead = trace.prev;
1585 return variable[2];
1586 }
1587 val_t syntax_base___AType___get_stype(val_t self, val_t param0) {
1588 struct trace_t trace = {NULL, NULL, 563, LOCATE_syntax_base___AType___get_stype};
1589 val_t variable[5];
1590 void **closurevariable = NULL;
1591 trace.prev = tracehead; tracehead = &trace;
1592 trace.file = LOCATE_syntax_base;
1593 variable[0] = self;
1594 variable[1] = param0;
1595 variable[4] = variable[0];
1596 variable[4] = ((syntax_base___AType___get_unchecked_stype_t)CALL(variable[4],COLOR_syntax_base___PType___get_unchecked_stype))(variable[4], variable[1] /*v*/) /*AType::get_unchecked_stype*/;
1597 variable[3] = variable[4];
1598 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*t*/ == NIT_NULL /*null*/) || (( variable[3] /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[3] /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[3] /*t*/,COLOR_kernel___Object_____eqeq))( variable[3] /*t*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1599 if (UNTAG_Bool(variable[4])) { /*if*/
1600 variable[4] = variable[0];
1601 ((syntax_base___AType___check_conform_t)CALL(variable[4],COLOR_syntax_base___PType___check_conform))(variable[4], variable[1] /*v*/) /*AType::check_conform*/;
1602 }
1603 variable[2] = variable[3] /*t*/;
1604 goto return_label59;
1605 return_label59: while(false);
1606 tracehead = trace.prev;
1607 return variable[2];
1608 }
1609 val_t syntax_base___AType___get_unchecked_stype(val_t self, val_t param0) {
1610 struct trace_t trace = {NULL, NULL, 506, LOCATE_syntax_base___AType___get_unchecked_stype};
1611 val_t variable[22];
1612 void **closurevariable = NULL;
1613 trace.prev = tracehead; tracehead = &trace;
1614 trace.file = LOCATE_syntax_base;
1615 variable[0] = self;
1616 variable[1] = param0;
1617 variable[3] = variable[0];
1618 variable[3] = ATTR_syntax_base___AType____stype_cached(variable[3]) /*AType::_stype_cached*/;
1619 if (UNTAG_Bool(variable[3])) { /*if*/
1620 variable[3] = variable[0];
1621 variable[3] = ATTR_syntax_base___AType____stype_cache(variable[3]) /*AType::_stype_cache*/;
1622 variable[2] = variable[3];
1623 goto return_label60;
1624 }
1625 variable[3] = variable[0];
1626 ATTR_syntax_base___AType____stype_cached(variable[3]) /*AType::_stype_cached*/ = TAG_Bool(true);
1627 variable[4] = variable[0];
1628 variable[4] = ((parser_nodes___AType___n_id_t)CALL(variable[4],COLOR_parser_nodes___AType___n_id))(variable[4]) /*AType::n_id*/;
1629 variable[4] = ((syntax_base___Token___to_symbol_t)CALL(variable[4],COLOR_syntax_base___Token___to_symbol))(variable[4]) /*Token::to_symbol*/;
1630 variable[3] = variable[4];
1631 variable[5] = ((syntax_base___AbsSyntaxVisitor___module_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module))( variable[1] /*v*/) /*AbsSyntaxVisitor::module*/;
1632 variable[4] = variable[5];
1633 variable[6] = ((syntax_base___AbsSyntaxVisitor___local_class_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class))( variable[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
1634 variable[5] = variable[6];
1635 variable[6] = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable[5] /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable[5] /*cla*/) /*MMSrcLocalClass::formal_dict*/;
1636 variable[6] = ((abstract_collection___Map___has_key_t)CALL(variable[6],COLOR_abstract_collection___Map___has_key))(variable[6], variable[3] /*name*/) /*Map::has_key*/;
1637 if (UNTAG_Bool(variable[6])) { /*if*/
1638 variable[6] = variable[0];
1639 variable[6] = ((parser_nodes___AType___n_types_t)CALL(variable[6],COLOR_parser_nodes___AType___n_types))(variable[6]) /*AType::n_types*/;
1640 variable[6] = ((list___List___length_t)CALL(variable[6],COLOR_abstract_collection___Collection___length))(variable[6]) /*List::length*/;
1641 variable[6] = TAG_Bool(UNTAG_Int(variable[6])>UNTAG_Int( TAG_Int(0)));
1642 if (UNTAG_Bool(variable[6])) { /*if*/
1643 variable[6] = variable[0];
1644 variable[7] = NEW_String_string___String___init(); /*new String*/
1645 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)); /*new String*/
1646 variable[9] = variable[8];
1647 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
1648 variable[10] = variable[3] /*name*/;
1649 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
1650 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[10]) /*String::append*/;
1651 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)); /*new String*/
1652 variable[12] = variable[11];
1653 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[12]) /*String::append*/;
1654 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[6], variable[7]) /*AbsSyntaxVisitor::error*/;
1655 variable[2] = NIT_NULL /*null*/;
1656 goto return_label60;
1657 }
1658 variable[7] = ((syntax_base___MMSrcLocalClass___formal_dict_t)CALL( variable[5] /*cla*/,COLOR_syntax_base___MMSrcLocalClass___formal_dict))( variable[5] /*cla*/) /*MMSrcLocalClass::formal_dict*/;
1659 variable[7] = ((abstract_collection___Map_____bra_t)CALL(variable[7],COLOR_abstract_collection___Map_____bra))(variable[7], variable[3] /*name*/) /*Map::[]*/;
1660 variable[6] = variable[7];
1661 variable[7] = variable[0];
1662 ATTR_syntax_base___AType____stype_cache(variable[7]) /*AType::_stype_cache*/ = variable[6] /*formal*/;
1663 variable[2] = variable[6] /*formal*/;
1664 goto return_label60;
1665 }
1666 variable[6] = ((abstractmetamodel___MMLocalClass___global_properties_t)CALL( variable[5] /*cla*/,COLOR_abstractmetamodel___MMLocalClass___global_properties))( variable[5] /*cla*/) /*MMLocalClass::global_properties*/;
1667 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] == NIT_NULL /*null*/) || ((variable[6] != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable[6],COLOR_kernel___Object_____eqeq))(variable[6], NIT_NULL /*null*/) /*Object::==*/)))))));
1668 variable[7] = variable[6];
1669 if (UNTAG_Bool(variable[7])) { /* and */
1670 variable[7] = ((abstractmetamodel___MMLocalClass___has_global_property_by_name_t)CALL( variable[5] /*cla*/,COLOR_abstractmetamodel___MMLocalClass___has_global_property_by_name))( variable[5] /*cla*/, variable[3] /*name*/) /*MMLocalClass::has_global_property_by_name*/;
1671 }
1672 variable[6] = variable[7];
1673 if (UNTAG_Bool(variable[6])) { /*if*/
1674 variable[6] = variable[0];
1675 variable[6] = ((parser_nodes___AType___n_types_t)CALL(variable[6],COLOR_parser_nodes___AType___n_types))(variable[6]) /*AType::n_types*/;
1676 variable[6] = ((list___List___length_t)CALL(variable[6],COLOR_abstract_collection___Collection___length))(variable[6]) /*List::length*/;
1677 variable[6] = TAG_Bool(UNTAG_Int(variable[6])>UNTAG_Int( TAG_Int(0)));
1678 if (UNTAG_Bool(variable[6])) { /*if*/
1679 variable[6] = variable[0];
1680 variable[7] = NEW_String_string___String___init(); /*new String*/
1681 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)); /*new String*/
1682 variable[9] = variable[8];
1683 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[9]) /*String::append*/;
1684 variable[10] = variable[3] /*name*/;
1685 variable[10] = ((string___String___to_s_t)CALL(variable[10],COLOR_string___Object___to_s))(variable[10]) /*String::to_s*/;
1686 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[10]) /*String::append*/;
1687 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)); /*new String*/
1688 variable[12] = variable[11];
1689 ((string___String___append_t)CALL(variable[7],COLOR_abstract_collection___IndexedCollection___append))(variable[7], variable[12]) /*String::append*/;
1690 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[6], variable[7]) /*AbsSyntaxVisitor::error*/;
1691 variable[2] = NIT_NULL /*null*/;
1692 goto return_label60;
1693 }
1694 variable[7] = ((genericity___MMLocalClass___get_type_t)CALL( variable[5] /*cla*/,COLOR_static_type___MMLocalClass___get_type))( variable[5] /*cla*/) /*MMLocalClass::get_type*/;
1695 variable[7] = ((static_type___MMType___local_class_t)CALL(variable[7],COLOR_static_type___MMType___local_class))(variable[7]) /*MMType::local_class*/;
1696 variable[7] = ((virtualtype___MMLocalClass___select_virtual_type_t)CALL(variable[7],COLOR_virtualtype___MMLocalClass___select_virtual_type))(variable[7], variable[3] /*name*/) /*MMLocalClass::select_virtual_type*/;
1697 variable[8] = ((genericity___MMLocalClass___get_type_t)CALL( variable[5] /*cla*/,COLOR_static_type___MMLocalClass___get_type))( variable[5] /*cla*/) /*MMLocalClass::get_type*/;
1698 variable[7] = ((virtualtype___MMTypeProperty___stype_for_t)CALL(variable[7],COLOR_virtualtype___MMTypeProperty___stype_for))(variable[7], variable[8]) /*MMTypeProperty::stype_for*/;
1699 variable[6] = variable[7];
1700 variable[7] = TAG_Bool(( variable[6] /*t*/ == NIT_NULL /*null*/) || (( variable[6] /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*t*/,COLOR_kernel___Object_____eqeq))( variable[6] /*t*/, NIT_NULL /*null*/) /*Object::==*/)))));
1701 if (UNTAG_Bool(variable[7])) { /*if*/
1702 variable[7] = variable[0];
1703 variable[8] = NEW_String_string___String___init(); /*new String*/
1704 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Type error: circular definition in formal type "), TAG_Int(47)); /*new String*/
1705 variable[10] = variable[9];
1706 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[10]) /*String::append*/;
1707 variable[11] = variable[3] /*name*/;
1708 variable[11] = ((string___String___to_s_t)CALL(variable[11],COLOR_string___Object___to_s))(variable[11]) /*String::to_s*/;
1709 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[11]) /*String::append*/;
1710 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1711 variable[13] = variable[12];
1712 ((string___String___append_t)CALL(variable[8],COLOR_abstract_collection___IndexedCollection___append))(variable[8], variable[13]) /*String::append*/;
1713 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[7], variable[8]) /*AbsSyntaxVisitor::error*/;
1714 variable[2] = NIT_NULL /*null*/;
1715 goto return_label60;
1716 }
1717 variable[7] = variable[0];
1718 ATTR_syntax_base___AType____stype_cache(variable[7]) /*AType::_stype_cache*/ = variable[6] /*t*/;
1719 variable[2] = variable[6] /*t*/;
1720 goto return_label60;
1721 }
1722 variable[7] = variable[0];
1723 variable[7] = ((syntax_base___AType___get_local_class_t)CALL(variable[7],COLOR_syntax_base___PType___get_local_class))(variable[7], variable[1] /*v*/) /*AType::get_local_class*/;
1724 variable[6] = variable[7];
1725 variable[7] = TAG_Bool(( variable[6] /*local_class*/ == NIT_NULL /*null*/) || (( variable[6] /*local_class*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[6] /*local_class*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*local_class*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[6] /*local_class*/,COLOR_kernel___Object_____eqeq))( variable[6] /*local_class*/, NIT_NULL /*null*/) /*Object::==*/)))));
1726 if (UNTAG_Bool(variable[7])) { /*if*/
1727 variable[2] = NIT_NULL /*null*/;
1728 goto return_label60;
1729 }
1730 variable[8] = variable[0];
1731 variable[8] = ((parser_nodes___AType___n_types_t)CALL(variable[8],COLOR_parser_nodes___AType___n_types))(variable[8]) /*AType::n_types*/;
1732 variable[8] = ((list___List___length_t)CALL(variable[8],COLOR_abstract_collection___Collection___length))(variable[8]) /*List::length*/;
1733 variable[7] = variable[8];
1734 variable[8] = ((abstractmetamodel___MMLocalClass___arity_t)CALL( variable[6] /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___arity))( variable[6] /*local_class*/) /*MMLocalClass::arity*/;
1735 variable[8] = TAG_Bool((variable[8])!=( variable[7] /*arity*/));
1736 if (UNTAG_Bool(variable[8])) { /*if*/
1737 variable[8] = variable[0];
1738 variable[9] = NEW_String_string___String___init(); /*new String*/
1739 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Type error: '"), TAG_Int(13)); /*new String*/
1740 variable[11] = variable[10];
1741 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[11]) /*String::append*/;
1742 variable[12] = variable[6] /*local_class*/;
1743 variable[12] = ((string___String___to_s_t)CALL(variable[12],COLOR_string___Object___to_s))(variable[12]) /*String::to_s*/;
1744 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[12]) /*String::append*/;
1745 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("' has "), TAG_Int(6)); /*new String*/
1746 variable[14] = variable[13];
1747 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[14]) /*String::append*/;
1748 variable[15] = ((abstractmetamodel___MMLocalClass___arity_t)CALL( variable[6] /*local_class*/,COLOR_abstractmetamodel___MMLocalClass___arity))( variable[6] /*local_class*/) /*MMLocalClass::arity*/;
1749 variable[16] = variable[15];
1750 variable[16] = ((string___String___to_s_t)CALL(variable[16],COLOR_string___Object___to_s))(variable[16]) /*String::to_s*/;
1751 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[16]) /*String::append*/;
1752 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(" parameters which differs from the "), TAG_Int(35)); /*new String*/
1753 variable[18] = variable[17];
1754 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[18]) /*String::append*/;
1755 variable[19] = variable[7] /*arity*/;
1756 variable[19] = ((string___String___to_s_t)CALL(variable[19],COLOR_string___Object___to_s))(variable[19]) /*String::to_s*/;
1757 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[19]) /*String::append*/;
1758 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(" params."), TAG_Int(8)); /*new String*/
1759 variable[21] = variable[20];
1760 ((string___String___append_t)CALL(variable[9],COLOR_abstract_collection___IndexedCollection___append))(variable[9], variable[21]) /*String::append*/;
1761 ((syntax_base___AbsSyntaxVisitor___error_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error))( variable[1] /*v*/, variable[8], variable[9]) /*AbsSyntaxVisitor::error*/;
1762 variable[2] = NIT_NULL /*null*/;
1763 goto return_label60;
1764 }
1765 variable[8] = TAG_Bool(UNTAG_Int( variable[7] /*arity*/)>UNTAG_Int( TAG_Int(0)));
1766 if (UNTAG_Bool(variable[8])) { /*if*/
1767 variable[9] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
1768 variable[8] = variable[9];
1769 variable[9] = variable[0];
1770 variable[9] = ((parser_nodes___AType___n_types_t)CALL(variable[9],COLOR_parser_nodes___AType___n_types))(variable[9]) /*AType::n_types*/;
1771 variable[9] = ((list___List___iterator_t)CALL(variable[9],COLOR_abstract_collection___Collection___iterator))(variable[9]) /*List::iterator*/;
1772 while (true) { /*for*/
1773 variable[10] = ((list___ListIterator___is_ok_t)CALL(variable[9],COLOR_abstract_collection___Iterator___is_ok))(variable[9]) /*ListIterator::is_ok*/;
1774 if (!UNTAG_Bool(variable[10])) break; /*for*/
1775 variable[10] = ((list___ListIterator___item_t)CALL(variable[9],COLOR_abstract_collection___Iterator___item))(variable[9]) /*ListIterator::item*/;
1776 variable[11] = variable[10];
1777 variable[12] = ((syntax_base___PType___get_unchecked_stype_t)CALL( variable[11] /*p*/,COLOR_syntax_base___PType___get_unchecked_stype))( variable[11] /*p*/, variable[1] /*v*/) /*PType::get_unchecked_stype*/;
1778 ((array___AbstractArray___add_t)CALL( variable[8] /*tab*/,COLOR_abstract_collection___SimpleCollection___add))( variable[8] /*tab*/, variable[12]) /*AbstractArray::add*/;
1779 continue_61: while(0);
1780 ((list___ListIterator___next_t)CALL(variable[9],COLOR_abstract_collection___Iterator___next))(variable[9]) /*ListIterator::next*/;
1781 }
1782 break_61: while(0);
1783 variable[10] = ((genericity___MMLocalClass___get_instantiate_type_t)CALL( variable[6] /*local_class*/,COLOR_genericity___MMLocalClass___get_instantiate_type))( variable[6] /*local_class*/, variable[8] /*tab*/) /*MMLocalClass::get_instantiate_type*/;
1784 variable[9] = variable[10];
1785 variable[10] = variable[0];
1786 ATTR_syntax_base___AType____stype_cache(variable[10]) /*AType::_stype_cache*/ = variable[9] /*t*/;
1787 variable[2] = variable[9] /*t*/;
1788 goto return_label60;
1789 } else { /*if*/
1790 variable[9] = ((genericity___MMLocalClass___get_type_t)CALL( variable[6] /*local_class*/,COLOR_static_type___MMLocalClass___get_type))( variable[6] /*local_class*/) /*MMLocalClass::get_type*/;
1791 variable[8] = variable[9];
1792 variable[9] = variable[0];
1793 ATTR_syntax_base___AType____stype_cache(variable[9]) /*AType::_stype_cache*/ = variable[8] /*t*/;
1794 variable[2] = variable[8] /*t*/;
1795 goto return_label60;
1796 }
1797 return_label60: while(false);
1798 tracehead = trace.prev;
1799 return variable[2];
1800 }
1801 void syntax_base___AType___check_conform(val_t self, val_t param0) {
1802 struct trace_t trace = {NULL, NULL, 570, LOCATE_syntax_base___AType___check_conform};
1803 val_t variable[13];
1804 void **closurevariable = NULL;
1805 trace.prev = tracehead; tracehead = &trace;
1806 trace.file = LOCATE_syntax_base;
1807 variable[0] = self;
1808 variable[1] = param0;
1809 variable[4] = variable[0];
1810 variable[4] = ((syntax_base___AType___get_unchecked_stype_t)CALL(variable[4],COLOR_syntax_base___PType___get_unchecked_stype))(variable[4], variable[1] /*v*/) /*AType::get_unchecked_stype*/;
1811 variable[3] = variable[4];
1812 variable[4] = TAG_Bool(( variable[3] /*st*/ == NIT_NULL /*null*/) || (( variable[3] /*st*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[3] /*st*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*st*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[3] /*st*/,COLOR_kernel___Object_____eqeq))( variable[3] /*st*/, NIT_NULL /*null*/) /*Object::==*/)))));
1813 if (UNTAG_Bool(variable[4])) { /*if*/
1814 goto return_label62;
1815 }
1816 variable[5] = ((static_type___MMType___local_class_t)CALL( variable[3] /*st*/,COLOR_static_type___MMType___local_class))( variable[3] /*st*/) /*MMType::local_class*/;
1817 variable[4] = variable[5];
1818 variable[6] = variable[0];
1819 variable[6] = ((parser_nodes___AType___n_types_t)CALL(variable[6],COLOR_parser_nodes___AType___n_types))(variable[6]) /*AType::n_types*/;
1820 variable[6] = ((list___List___length_t)CALL(variable[6],COLOR_abstract_collection___Collection___length))(variable[6]) /*List::length*/;
1821 variable[5] = variable[6];
1822 variable[6] = TAG_Bool(UNTAG_Int( variable[5] /*arity*/)>UNTAG_Int( TAG_Int(0)));
1823 if (UNTAG_Bool(variable[6])) { /*if*/
1824 variable[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[5] /*arity*/); /*new Range[Int]*/
1825 variable[6] = ((range___Range___iterator_t)CALL(variable[6],COLOR_abstract_collection___Collection___iterator))(variable[6]) /*Range::iterator*/;
1826 while (true) { /*for*/
1827 variable[7] = ((abstract_collection___Iterator___is_ok_t)CALL(variable[6],COLOR_abstract_collection___Iterator___is_ok))(variable[6]) /*Iterator::is_ok*/;
1828 if (!UNTAG_Bool(variable[7])) break; /*for*/
1829 variable[7] = ((abstract_collection___Iterator___item_t)CALL(variable[6],COLOR_abstract_collection___Iterator___item))(variable[6]) /*Iterator::item*/;
1830 variable[8] = variable[7];
1831 variable[10] = variable[0];
1832 variable[10] = ((parser_nodes___AType___n_types_t)CALL(variable[10],COLOR_parser_nodes___AType___n_types))(variable[10]) /*AType::n_types*/;
1833 variable[10] = ((list___List_____bra_t)CALL(variable[10],COLOR_abstract_collection___Map_____bra))(variable[10], variable[8] /*i*/) /*List::[]*/;
1834 variable[9] = variable[10];
1835 variable[11] = ((syntax_base___PType___get_stype_t)CALL( variable[9] /*p*/,COLOR_syntax_base___PType___get_stype))( variable[9] /*p*/, variable[1] /*v*/) /*PType::get_stype*/;
1836 variable[10] = variable[11];
1837 variable[12] = ((genericity___MMLocalClass___get_formal_t)CALL( variable[4] /*local_class*/,COLOR_genericity___MMLocalClass___get_formal))( variable[4] /*local_class*/, variable[8] /*i*/) /*MMLocalClass::get_formal*/;
1838 variable[12] = ((type_formal___MMTypeFormal___bound_t)CALL(variable[12],COLOR_type_formal___MMTypeFormal___bound))(variable[12]) /*MMTypeFormal::bound*/;
1839 variable[11] = variable[12];
1840 variable[12] = TAG_Bool(( variable[11] /*bt*/ == NIT_NULL /*null*/) || (( variable[11] /*bt*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable[11] /*bt*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[11] /*bt*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable[11] /*bt*/,COLOR_kernel___Object_____eqeq))( variable[11] /*bt*/, NIT_NULL /*null*/) /*Object::==*/)))));
1841 if (UNTAG_Bool(variable[12])) { /*if*/
1842 goto return_label62;
1843 }
1844 variable[12] = ((static_type___MMType___adapt_to_t)CALL( variable[11] /*bt*/,COLOR_static_type___MMType___adapt_to))( variable[11] /*bt*/, variable[3] /*st*/) /*MMType::adapt_to*/;
1845 variable[11] = variable[12] /*bt=*/;
1846 ((syntax_base___AbsSyntaxVisitor___check_conform_t)CALL( variable[1] /*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform))( variable[1] /*v*/, variable[9] /*p*/, variable[10] /*pt*/, variable[11] /*bt*/) /*AbsSyntaxVisitor::check_conform*/;
1847 continue_63: while(0);
1848 ((abstract_collection___Iterator___next_t)CALL(variable[6],COLOR_abstract_collection___Iterator___next))(variable[6]) /*Iterator::next*/;
1849 }
1850 break_63: while(0);
1851 }
1852 return_label62: while(false);
1853 tracehead = trace.prev;
1854 return;
1855 }
1856 val_t syntax_base___PExpr___stype(val_t self) {
1857 struct trace_t trace = {NULL, NULL, 590, LOCATE_syntax_base___PExpr___stype};
1858 val_t *variable = NULL;
1859 void **closurevariable = NULL;
1860 trace.prev = tracehead; tracehead = &trace;
1861 trace.file = LOCATE_syntax_base;
1862 fprintf(stderr, "Deferred method called");
1863 fprintf(stderr, " (%s:%d)\n", LOCATE_syntax_base, 590);
1864 nit_exit(1);
1865 tracehead = trace.prev;
1866 return NIT_NULL;
1867 }
1868 val_t syntax_base___AVardeclExpr___variable(val_t self) {
1869 struct trace_t trace = {NULL, NULL, 596, LOCATE_syntax_base___AVardeclExpr___variable};
1870 val_t *variable = NULL;
1871 void **closurevariable = NULL;
1872 trace.prev = tracehead; tracehead = &trace;
1873 trace.file = LOCATE_syntax_base;
1874 tracehead = trace.prev;
1875 return ATTR_syntax_base___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/;
1876 }
1877 void syntax_base___AVardeclExpr___variable__eq(val_t self, val_t param0) {
1878 struct trace_t trace = {NULL, NULL, 596, LOCATE_syntax_base___AVardeclExpr___variable__eq};
1879 val_t *variable = NULL;
1880 void **closurevariable = NULL;
1881 trace.prev = tracehead; tracehead = &trace;
1882 trace.file = LOCATE_syntax_base;
1883 ATTR_syntax_base___AVardeclExpr____variable( self) /*AVardeclExpr::_variable*/ = param0;
1884 tracehead = trace.prev;
1885 return;
1886 }
1887 val_t syntax_base___AForVardeclExpr___variable(val_t self) {
1888 struct trace_t trace = {NULL, NULL, 601, LOCATE_syntax_base___AForVardeclExpr___variable};
1889 val_t *variable = NULL;
1890 void **closurevariable = NULL;
1891 trace.prev = tracehead; tracehead = &trace;
1892 trace.file = LOCATE_syntax_base;
1893 tracehead = trace.prev;
1894 return ATTR_syntax_base___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/;
1895 }
1896 void syntax_base___AForVardeclExpr___variable__eq(val_t self, val_t param0) {
1897 struct trace_t trace = {NULL, NULL, 601, LOCATE_syntax_base___AForVardeclExpr___variable__eq};
1898 val_t *variable = NULL;
1899 void **closurevariable = NULL;
1900 trace.prev = tracehead; tracehead = &trace;
1901 trace.file = LOCATE_syntax_base;
1902 ATTR_syntax_base___AForVardeclExpr____variable( self) /*AForVardeclExpr::_variable*/ = param0;
1903 tracehead = trace.prev;
1904 return;
1905 }
1906 val_t syntax_base___ASelfExpr___variable(val_t self) {
1907 struct trace_t trace = {NULL, NULL, 606, LOCATE_syntax_base___ASelfExpr___variable};
1908 val_t *variable = NULL;
1909 void **closurevariable = NULL;
1910 trace.prev = tracehead; tracehead = &trace;
1911 trace.file = LOCATE_syntax_base;
1912 tracehead = trace.prev;
1913 return ATTR_syntax_base___ASelfExpr____variable( self) /*ASelfExpr::_variable*/;
1914 }
1915 void syntax_base___ASelfExpr___variable__eq(val_t self, val_t param0) {
1916 struct trace_t trace = {NULL, NULL, 606, LOCATE_syntax_base___ASelfExpr___variable__eq};
1917 val_t *variable = NULL;
1918 void **closurevariable = NULL;
1919 trace.prev = tracehead; tracehead = &trace;
1920 trace.file = LOCATE_syntax_base;
1921 ATTR_syntax_base___ASelfExpr____variable( self) /*ASelfExpr::_variable*/ = param0;
1922 tracehead = trace.prev;
1923 return;
1924 }
1925 val_t syntax_base___AVarFormExpr___variable(val_t self) {
1926 struct trace_t trace = {NULL, NULL, 611, LOCATE_syntax_base___AVarFormExpr___variable};
1927 val_t *variable = NULL;
1928 void **closurevariable = NULL;
1929 trace.prev = tracehead; tracehead = &trace;
1930 trace.file = LOCATE_syntax_base;
1931 tracehead = trace.prev;
1932 return ATTR_syntax_base___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/;
1933 }
1934 void syntax_base___AVarFormExpr___variable__eq(val_t self, val_t param0) {
1935 struct trace_t trace = {NULL, NULL, 611, LOCATE_syntax_base___AVarFormExpr___variable__eq};
1936 val_t *variable = NULL;
1937 void **closurevariable = NULL;
1938 trace.prev = tracehead; tracehead = &trace;
1939 trace.file = LOCATE_syntax_base;
1940 ATTR_syntax_base___AVarFormExpr____variable( self) /*AVarFormExpr::_variable*/ = param0;
1941 tracehead = trace.prev;
1942 return;
1943 }
1944 val_t syntax_base___AClosureCallExpr___variable(val_t self) {
1945 struct trace_t trace = {NULL, NULL, 616, LOCATE_syntax_base___AClosureCallExpr___variable};
1946 val_t *variable = NULL;
1947 void **closurevariable = NULL;
1948 trace.prev = tracehead; tracehead = &trace;
1949 trace.file = LOCATE_syntax_base;
1950 tracehead = trace.prev;
1951 return ATTR_syntax_base___AClosureCallExpr____variable( self) /*AClosureCallExpr::_variable*/;
1952 }
1953 void syntax_base___AClosureCallExpr___variable__eq(val_t self, val_t param0) {
1954 struct trace_t trace = {NULL, NULL, 616, LOCATE_syntax_base___AClosureCallExpr___variable__eq};
1955 val_t *variable = NULL;
1956 void **closurevariable = NULL;
1957 trace.prev = tracehead; tracehead = &trace;
1958 trace.file = LOCATE_syntax_base;
1959 ATTR_syntax_base___AClosureCallExpr____variable( self) /*AClosureCallExpr::_variable*/ = param0;
1960 tracehead = trace.prev;
1961 return;
1962 }
1963 val_t syntax_base___PClosureDef___closure(val_t self) {
1964 struct trace_t trace = {NULL, NULL, 621, LOCATE_syntax_base___PClosureDef___closure};
1965 val_t *variable = NULL;
1966 void **closurevariable = NULL;
1967 trace.prev = tracehead; tracehead = &trace;
1968 trace.file = LOCATE_syntax_base;
1969 tracehead = trace.prev;
1970 return ATTR_syntax_base___PClosureDef____closure( self) /*PClosureDef::_closure*/;
1971 }
1972 void syntax_base___PClosureDef___closure__eq(val_t self, val_t param0) {
1973 struct trace_t trace = {NULL, NULL, 621, LOCATE_syntax_base___PClosureDef___closure__eq};
1974 val_t *variable = NULL;
1975 void **closurevariable = NULL;
1976 trace.prev = tracehead; tracehead = &trace;
1977 trace.file = LOCATE_syntax_base;
1978 ATTR_syntax_base___PClosureDef____closure( self) /*PClosureDef::_closure*/ = param0;
1979 tracehead = trace.prev;
1980 return;
1981 }
1982 val_t syntax_base___PClosureDef___variables(val_t self) {
1983 struct trace_t trace = {NULL, NULL, 624, LOCATE_syntax_base___PClosureDef___variables};
1984 val_t *variable = NULL;
1985 void **closurevariable = NULL;
1986 trace.prev = tracehead; tracehead = &trace;
1987 trace.file = LOCATE_syntax_base;
1988 tracehead = trace.prev;
1989 return ATTR_syntax_base___PClosureDef____variables( self) /*PClosureDef::_variables*/;
1990 }
1991 void syntax_base___PClosureDef___variables__eq(val_t self, val_t param0) {
1992 struct trace_t trace = {NULL, NULL, 624, LOCATE_syntax_base___PClosureDef___variables__eq};
1993 val_t *variable = NULL;
1994 void **closurevariable = NULL;
1995 trace.prev = tracehead; tracehead = &trace;
1996 trace.file = LOCATE_syntax_base;
1997 ATTR_syntax_base___PClosureDef____variables( self) /*PClosureDef::_variables*/ = param0;
1998 tracehead = trace.prev;
1999 return;
2000 }