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