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 struct WBT_
**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*/;
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 struct WBT_
**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*/;
21 void syntax_base___MMSrcModule___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
, val_t param4
, int* init_table
) {
22 struct trace_t trace
= {NULL
, NULL
, 32, LOCATE_syntax_base___MMSrcModule___init
};
24 struct WBT_
**closurevariable
= NULL
;
25 trace
.prev
= tracehead
; tracehead
= &trace
;
26 trace
.file
= LOCATE_syntax_base
;
27 /* Register variable[0]: Local variable */
29 /* Register variable[1]: Local variable */
31 /* Register variable[2]: Local variable */
33 /* Register variable[3]: Local variable */
35 /* Register variable[4]: Local variable */
37 /* Register variable[5]: Local variable */
39 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcModule
].i
]) return;
40 /* Register variable[6]: Method return value and escape marker */
41 CALL_abstractmetamodel___MMModule___init(variable
[0])(variable
[0], variable
[4] /*name*/, variable
[3] /*dir*/, variable
[1] /*c*/, variable
[5] /*filename*/, init_table
/*YYY*/) /*MMModule::init*/;
42 ATTR_syntax_base___MMSrcModule____node(variable
[0]) /*MMSrcModule::_node*/ = variable
[2] /*source*/;
43 /* Register variable[7]: Result */
44 variable
[7] = NEW_HashMap_hash___HashMap___init() /*new HashMap[Symbol, MMSrcLocalClass]*/;
45 ATTR_syntax_base___MMSrcModule____src_local_classes(variable
[0]) /*MMSrcModule::_src_local_classes*/ = variable
[7];
46 return_label0
: while(false);
47 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcModule
].i
] = 1;
48 tracehead
= trace
.prev
;
51 val_t
syntax_base___MMGlobalClass___check_visibility(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
52 struct trace_t trace
= {NULL
, NULL
, 41, LOCATE_syntax_base___MMGlobalClass___check_visibility
};
53 static val_t once_value_2
= NIT_NULL
; /* Once value for string variable[8]*/
54 static val_t once_value_3
= NIT_NULL
; /* Once value for string variable[8]*/
55 static val_t once_value_4
= NIT_NULL
; /* Once value for string variable[8]*/
56 static val_t once_value_5
= NIT_NULL
; /* Once value for string variable[8]*/
57 static val_t once_value_6
= NIT_NULL
; /* Once value for string variable[8]*/
59 struct WBT_
**closurevariable
= NULL
;
60 trace
.prev
= tracehead
; tracehead
= &trace
;
61 trace
.file
= LOCATE_syntax_base
;
62 /* Register variable[0]: Local variable */
64 /* Register variable[1]: Local variable */
66 /* Register variable[2]: Local variable */
68 /* Register variable[3]: Local variable */
70 /* Register variable[4]: Method return value and escape marker */
71 /* Register variable[5]: Local variable */
72 /* Register variable[6]: Result */
73 variable
[6] = CALL_abstractmetamodel___MMGlobalClass___intro(variable
[0])(variable
[0]) /*MMGlobalClass::intro*/;
74 /* Register variable[6]: Result */
75 variable
[6] = CALL_abstractmetamodel___MMLocalClass___module(variable
[6])(variable
[6]) /*MMLocalClass::module*/;
76 variable
[5] = variable
[6];
77 /* Register variable[6]: Result */
78 variable
[6] = TAG_Bool(( variable
[5] /*pm*/==NIT_NULL
) || VAL_ISA( variable
[5] /*pm*/, COLOR_MMSrcModule
, ID_MMSrcModule
)) /*cast MMSrcModule*/;
79 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);}
80 /* Register variable[6]: Local variable */
81 /* Register variable[7]: Result */
82 variable
[7] = CALL_abstractmetamodel___MMModule___visibility_for( variable
[3] /*cm*/)( variable
[3] /*cm*/, variable
[5] /*pm*/) /*MMModule::visibility_for*/;
83 variable
[6] = variable
[7];
84 /* Register variable[7]: Result */
85 variable
[7] = TAG_Bool(( variable
[6] /*vpm*/)==( TAG_Int(3)));
86 if (UNTAG_Bool(variable
[7])) { /*if*/
87 variable
[4] = TAG_Bool(true);
90 /* Register variable[7]: Result */
91 variable
[7] = TAG_Bool(( variable
[6] /*vpm*/)==( TAG_Int(0)));
92 if (UNTAG_Bool(variable
[7])) { /*if*/
93 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
94 /* Register variable[8]: Once String constant */
95 if (once_value_2
!= NIT_NULL
) variable
[8] = once_value_2
;
97 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Class "), TAG_Int(24)) /*new String*/;
98 once_value_2
= variable
[8];
100 /* Register variable[8]: Result */
101 /* Ensure var variable[8]: super-string element*/
102 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
103 /* Ensure var variable[0]: super-string element*/
104 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[0])(variable
[0]) /*Object::to_s*/) /*AbstractArray::add*/;
105 /* Register variable[8]: Once String constant */
106 if (once_value_3
!= NIT_NULL
) variable
[8] = once_value_3
;
108 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" comes from the hidden module "), TAG_Int(30)) /*new String*/;
109 once_value_3
= variable
[8];
111 /* Register variable[8]: Result */
112 /* Ensure var variable[8]: super-string element*/
113 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
114 variable
[8] = variable
[3] /*cm*/ /* Ensure var: super-string element*/;
115 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
116 /* Register variable[8]: Once String constant */
117 if (once_value_4
!= NIT_NULL
) variable
[8] = once_value_4
;
119 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
120 once_value_4
= variable
[8];
122 /* Register variable[8]: Result */
123 /* Ensure var variable[8]: super-string element*/
124 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
125 /* Register variable[7]: Result */
126 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
127 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[2] /*n*/, variable
[7]) /*AbsSyntaxVisitor::error*/;
128 variable
[4] = TAG_Bool(false);
131 /* Register variable[7]: Result */
132 variable
[7] = CALL_abstractmetamodel___MMGlobalClass___visibility_level(variable
[0])(variable
[0]) /*MMGlobalClass::visibility_level*/;
133 /* Register variable[7]: Result */
134 variable
[7] = TAG_Bool(UNTAG_Int(variable
[7])>=UNTAG_Int( TAG_Int(3)));
135 if (UNTAG_Bool(variable
[7])) { /*if*/
136 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
137 /* Register variable[8]: Once String constant */
138 if (once_value_5
!= NIT_NULL
) variable
[8] = once_value_5
;
140 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Class "), TAG_Int(24)) /*new String*/;
141 once_value_5
= variable
[8];
143 /* Register variable[8]: Result */
144 /* Ensure var variable[8]: super-string element*/
145 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
146 /* Ensure var variable[0]: super-string element*/
147 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[0])(variable
[0]) /*Object::to_s*/) /*AbstractArray::add*/;
148 /* Register variable[8]: Once String constant */
149 if (once_value_6
!= NIT_NULL
) variable
[8] = once_value_6
;
151 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" is private."), TAG_Int(12)) /*new String*/;
152 once_value_6
= variable
[8];
154 /* Register variable[8]: Result */
155 /* Ensure var variable[8]: super-string element*/
156 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
157 /* Register variable[7]: Result */
158 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
159 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[2] /*n*/, variable
[7]) /*AbsSyntaxVisitor::error*/;
160 variable
[4] = TAG_Bool(false);
165 variable
[4] = TAG_Bool(true);
167 return_label1
: while(false);
168 tracehead
= trace
.prev
;
171 val_t
syntax_base___MMSrcLocalClass___nodes(val_t self
) {
172 struct trace_t trace
= {NULL
, NULL
, 62, LOCATE_syntax_base___MMSrcLocalClass___nodes
};
173 val_t
*variable
= NULL
;
174 struct WBT_
**closurevariable
= NULL
;
175 trace
.prev
= tracehead
; tracehead
= &trace
;
176 trace
.file
= LOCATE_syntax_base
;
177 tracehead
= trace
.prev
;
178 return ATTR_syntax_base___MMSrcLocalClass____nodes( self
) /*MMSrcLocalClass::_nodes*/;
180 val_t
syntax_base___MMSrcLocalClass___formal_dict(val_t self
) {
181 struct trace_t trace
= {NULL
, NULL
, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict
};
182 val_t
*variable
= NULL
;
183 struct WBT_
**closurevariable
= NULL
;
184 trace
.prev
= tracehead
; tracehead
= &trace
;
185 trace
.file
= LOCATE_syntax_base
;
186 tracehead
= trace
.prev
;
187 return ATTR_syntax_base___MMSrcLocalClass____formal_dict( self
) /*MMSrcLocalClass::_formal_dict*/;
189 void syntax_base___MMSrcLocalClass___formal_dict__eq(val_t self
, val_t param0
) {
190 struct trace_t trace
= {NULL
, NULL
, 65, LOCATE_syntax_base___MMSrcLocalClass___formal_dict__eq
};
191 val_t
*variable
= NULL
;
192 struct WBT_
**closurevariable
= NULL
;
193 trace
.prev
= tracehead
; tracehead
= &trace
;
194 trace
.file
= LOCATE_syntax_base
;
195 ATTR_syntax_base___MMSrcLocalClass____formal_dict( self
) /*MMSrcLocalClass::_formal_dict*/ = param0
;
196 tracehead
= trace
.prev
;
199 val_t
syntax_base___MMSrcLocalClass___src_local_properties(val_t self
) {
200 struct trace_t trace
= {NULL
, NULL
, 68, LOCATE_syntax_base___MMSrcLocalClass___src_local_properties
};
201 val_t
*variable
= NULL
;
202 struct WBT_
**closurevariable
= NULL
;
203 trace
.prev
= tracehead
; tracehead
= &trace
;
204 trace
.file
= LOCATE_syntax_base
;
205 tracehead
= trace
.prev
;
206 return ATTR_syntax_base___MMSrcLocalClass____src_local_properties( self
) /*MMSrcLocalClass::_src_local_properties*/;
208 void syntax_base___MMSrcLocalClass___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
, int* init_table
) {
209 struct trace_t trace
= {NULL
, NULL
, 71, LOCATE_syntax_base___MMSrcLocalClass___init
};
211 struct WBT_
**closurevariable
= NULL
;
212 trace
.prev
= tracehead
; tracehead
= &trace
;
213 trace
.file
= LOCATE_syntax_base
;
214 /* Register variable[0]: Local variable */
216 /* Register variable[1]: Local variable */
217 variable
[1] = param0
;
218 /* Register variable[2]: Local variable */
219 variable
[2] = param1
;
220 /* Register variable[3]: Local variable */
221 variable
[3] = param2
;
222 /* Register variable[4]: Local variable */
223 variable
[4] = param3
;
224 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcLocalClass
].i
]) return;
225 /* Register variable[5]: Method return value and escape marker */
226 CALL_abstractmetamodel___MMLocalClass___init(variable
[0])(variable
[0], variable
[1] /*mod*/, variable
[2] /*n*/, variable
[4] /*a*/, init_table
/*YYY*/) /*MMLocalClass::init*/;
227 variable
[6] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[PClassdef]*/ /* Ensure var: Literal array*/;
228 CALL_abstract_collection___SimpleCollection___add(variable
[6])(variable
[6], variable
[3] /*cla*/) /*AbstractArray::add*/;
229 /* Register variable[6]: Result */
230 ATTR_syntax_base___MMSrcLocalClass____nodes(variable
[0]) /*MMSrcLocalClass::_nodes*/ = variable
[6];
231 /* Register variable[6]: Result */
232 variable
[6] = NEW_HashMap_hash___HashMap___init() /*new HashMap[Symbol, MMLocalProperty]*/;
233 ATTR_syntax_base___MMSrcLocalClass____src_local_properties(variable
[0]) /*MMSrcLocalClass::_src_local_properties*/ = variable
[6];
234 return_label7
: while(false);
235 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcLocalClass
].i
] = 1;
236 tracehead
= trace
.prev
;
239 val_t
syntax_base___MMGlobalProperty___check_visibility(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
240 struct trace_t trace
= {NULL
, NULL
, 80, LOCATE_syntax_base___MMGlobalProperty___check_visibility
};
241 static val_t once_value_9
= NIT_NULL
; /* Once value for string variable[9]*/
242 static val_t once_value_10
= NIT_NULL
; /* Once value for string variable[9]*/
243 static val_t once_value_11
= NIT_NULL
; /* Once value for string variable[9]*/
244 static val_t once_value_12
= NIT_NULL
; /* Once value for string variable[9]*/
245 static val_t once_value_13
= NIT_NULL
; /* Once value for string variable[9]*/
246 static val_t once_value_14
= NIT_NULL
; /* Once value for string variable[9]*/
247 static val_t once_value_15
= NIT_NULL
; /* Once value for string variable[9]*/
249 struct WBT_
**closurevariable
= NULL
;
250 trace
.prev
= tracehead
; tracehead
= &trace
;
251 trace
.file
= LOCATE_syntax_base
;
252 /* Register variable[0]: Local variable */
254 /* Register variable[1]: Local variable */
255 variable
[1] = param0
;
256 /* Register variable[2]: Local variable */
257 variable
[2] = param1
;
258 /* Register variable[3]: Local variable */
259 variable
[3] = param2
;
260 /* Register variable[4]: Local variable */
261 variable
[4] = param3
;
262 /* Register variable[5]: Method return value and escape marker */
263 /* Register variable[6]: Local variable */
264 /* Register variable[7]: Result */
265 variable
[7] = CALL_abstractmetamodel___MMGlobalProperty___local_class(variable
[0])(variable
[0]) /*MMGlobalProperty::local_class*/;
266 /* Register variable[7]: Result */
267 variable
[7] = CALL_abstractmetamodel___MMLocalClass___module(variable
[7])(variable
[7]) /*MMLocalClass::module*/;
268 variable
[6] = variable
[7];
269 /* Register variable[7]: Result */
270 variable
[7] = TAG_Bool(( variable
[6] /*pm*/==NIT_NULL
) || VAL_ISA( variable
[6] /*pm*/, COLOR_MMSrcModule
, ID_MMSrcModule
)) /*cast MMSrcModule*/;
271 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);}
272 /* Register variable[7]: Local variable */
273 /* Register variable[8]: Result */
274 variable
[8] = CALL_abstractmetamodel___MMModule___visibility_for( variable
[3] /*cm*/)( variable
[3] /*cm*/, variable
[6] /*pm*/) /*MMModule::visibility_for*/;
275 variable
[7] = variable
[8];
276 /* Register variable[8]: Result */
277 variable
[8] = TAG_Bool(( variable
[7] /*vpm*/)==( TAG_Int(3)));
278 if (UNTAG_Bool(variable
[8])) { /*if*/
279 variable
[5] = TAG_Bool(true);
282 /* Register variable[8]: Result */
283 variable
[8] = TAG_Bool(( variable
[7] /*vpm*/)==( TAG_Int(0)));
284 if (UNTAG_Bool(variable
[8])) { /*if*/
285 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
286 /* Register variable[9]: Once String constant */
287 if (once_value_9
!= NIT_NULL
) variable
[9] = once_value_9
;
289 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)) /*new String*/;
290 once_value_9
= variable
[9];
292 /* Register variable[9]: Result */
293 /* Ensure var variable[9]: super-string element*/
294 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
295 /* Ensure var variable[0]: super-string element*/
296 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[0])(variable
[0]) /*Object::to_s*/) /*AbstractArray::add*/;
297 /* Register variable[9]: Once String constant */
298 if (once_value_10
!= NIT_NULL
) variable
[9] = once_value_10
;
300 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" comes from the hidden module "), TAG_Int(30)) /*new String*/;
301 once_value_10
= variable
[9];
303 /* Register variable[9]: Result */
304 /* Ensure var variable[9]: super-string element*/
305 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
306 variable
[9] = variable
[3] /*cm*/ /* Ensure var: super-string element*/;
307 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
308 /* Register variable[9]: Once String constant */
309 if (once_value_11
!= NIT_NULL
) variable
[9] = once_value_11
;
311 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
312 once_value_11
= variable
[9];
314 /* Register variable[9]: Result */
315 /* Ensure var variable[9]: super-string element*/
316 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
317 /* Register variable[8]: Result */
318 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
319 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[2] /*n*/, variable
[8]) /*AbsSyntaxVisitor::error*/;
320 variable
[5] = TAG_Bool(false);
323 /* Register variable[8]: Result */
324 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___visibility_level(variable
[0])(variable
[0]) /*MMGlobalProperty::visibility_level*/;
325 /* Register variable[8]: Result */
326 variable
[8] = TAG_Bool(UNTAG_Int(variable
[8])>=UNTAG_Int( TAG_Int(3)));
327 if (UNTAG_Bool(variable
[8])) { /*if*/
328 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
329 /* Register variable[9]: Once String constant */
330 if (once_value_12
!= NIT_NULL
) variable
[9] = once_value_12
;
332 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)) /*new String*/;
333 once_value_12
= variable
[9];
335 /* Register variable[9]: Result */
336 /* Ensure var variable[9]: super-string element*/
337 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
338 /* Ensure var variable[0]: super-string element*/
339 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[0])(variable
[0]) /*Object::to_s*/) /*AbstractArray::add*/;
340 /* Register variable[9]: Once String constant */
341 if (once_value_13
!= NIT_NULL
) variable
[9] = once_value_13
;
343 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" is private."), TAG_Int(12)) /*new String*/;
344 once_value_13
= variable
[9];
346 /* Register variable[9]: Result */
347 /* Ensure var variable[9]: super-string element*/
348 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
349 /* Register variable[8]: Result */
350 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
351 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[2] /*n*/, variable
[8]) /*AbsSyntaxVisitor::error*/;
352 variable
[5] = TAG_Bool(false);
355 /* Register variable[8]: Result */
356 variable
[8] = CALL_abstractmetamodel___MMGlobalProperty___visibility_level(variable
[0])(variable
[0]) /*MMGlobalProperty::visibility_level*/;
357 /* Register variable[8]: Result */
358 variable
[8] = TAG_Bool(UNTAG_Int(variable
[8])>=UNTAG_Int( TAG_Int(2)));
359 /* Ensure var variable[8]: Left 'and' operand*/
360 if (UNTAG_Bool(variable
[8])) { /* and */
361 variable
[8] = TAG_Bool(!UNTAG_Bool( variable
[4] /*allows_protected*/));
363 /* Register variable[8]: Result */
364 if (UNTAG_Bool(variable
[8])) { /*if*/
365 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
366 /* Register variable[9]: Once String constant */
367 if (once_value_14
!= NIT_NULL
) variable
[9] = once_value_14
;
369 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Visibility error: Property "), TAG_Int(27)) /*new String*/;
370 once_value_14
= variable
[9];
372 /* Register variable[9]: Result */
373 /* Ensure var variable[9]: super-string element*/
374 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
375 /* Ensure var variable[0]: super-string element*/
376 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[0])(variable
[0]) /*Object::to_s*/) /*AbstractArray::add*/;
377 /* Register variable[9]: Once String constant */
378 if (once_value_15
!= NIT_NULL
) variable
[9] = once_value_15
;
380 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" is protected and can only acceded by self."), TAG_Int(43)) /*new String*/;
381 once_value_15
= variable
[9];
383 /* Register variable[9]: Result */
384 /* Ensure var variable[9]: super-string element*/
385 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
386 /* Register variable[8]: Result */
387 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
388 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[2] /*n*/, variable
[8]) /*AbsSyntaxVisitor::error*/;
389 variable
[5] = TAG_Bool(false);
395 variable
[5] = TAG_Bool(true);
397 return_label8
: while(false);
398 tracehead
= trace
.prev
;
401 val_t
syntax_base___MMLocalProperty___node(val_t self
) {
402 struct trace_t trace
= {NULL
, NULL
, 103, LOCATE_syntax_base___MMLocalProperty___node
};
404 struct WBT_
**closurevariable
= NULL
;
405 trace
.prev
= tracehead
; tracehead
= &trace
;
406 trace
.file
= LOCATE_syntax_base
;
407 /* Register variable[0]: Local variable */
409 /* Register variable[1]: Method return value and escape marker */
410 variable
[1] = NIT_NULL
/*null*/;
412 return_label16
: while(false);
413 tracehead
= trace
.prev
;
416 val_t
syntax_base___MMLocalProperty___is_init(val_t self
) {
417 struct trace_t trace
= {NULL
, NULL
, 106, LOCATE_syntax_base___MMLocalProperty___is_init
};
419 struct WBT_
**closurevariable
= NULL
;
420 trace
.prev
= tracehead
; tracehead
= &trace
;
421 trace
.file
= LOCATE_syntax_base
;
422 /* Register variable[0]: Local variable */
424 /* Register variable[1]: Method return value and escape marker */
425 variable
[1] = TAG_Bool(false);
427 return_label17
: while(false);
428 tracehead
= trace
.prev
;
431 val_t
syntax_base___MMSrcAttribute___node(val_t self
) {
432 struct trace_t trace
= {NULL
, NULL
, 113, LOCATE_syntax_base___MMSrcAttribute___node
};
433 val_t
*variable
= NULL
;
434 struct WBT_
**closurevariable
= NULL
;
435 trace
.prev
= tracehead
; tracehead
= &trace
;
436 trace
.file
= LOCATE_syntax_base
;
437 tracehead
= trace
.prev
;
438 return ATTR_syntax_base___MMSrcAttribute____node( self
) /*MMSrcAttribute::_node*/;
440 void syntax_base___MMSrcAttribute___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
441 struct trace_t trace
= {NULL
, NULL
, 114, LOCATE_syntax_base___MMSrcAttribute___init
};
443 struct WBT_
**closurevariable
= NULL
;
444 trace
.prev
= tracehead
; tracehead
= &trace
;
445 trace
.file
= LOCATE_syntax_base
;
446 /* Register variable[0]: Local variable */
448 /* Register variable[1]: Local variable */
449 variable
[1] = param0
;
450 /* Register variable[2]: Local variable */
451 variable
[2] = param1
;
452 /* Register variable[3]: Local variable */
453 variable
[3] = param2
;
454 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcAttribute
].i
]) return;
455 /* Register variable[4]: Method return value and escape marker */
456 CALL_abstractmetamodel___MMLocalProperty___init(variable
[0])(variable
[0], variable
[1] /*name*/, variable
[2] /*cla*/, init_table
/*YYY*/) /*MMLocalProperty::init*/;
457 ATTR_syntax_base___MMSrcAttribute____node(variable
[0]) /*MMSrcAttribute::_node*/ = variable
[3] /*n*/;
458 return_label18
: while(false);
459 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcAttribute
].i
] = 1;
460 tracehead
= trace
.prev
;
463 val_t
syntax_base___MMAttrImplementationMethod___node(val_t self
) {
464 struct trace_t trace
= {NULL
, NULL
, 129, LOCATE_syntax_base___MMAttrImplementationMethod___node
};
465 val_t
*variable
= NULL
;
466 struct WBT_
**closurevariable
= NULL
;
467 trace
.prev
= tracehead
; tracehead
= &trace
;
468 trace
.file
= LOCATE_syntax_base
;
469 tracehead
= trace
.prev
;
470 return ATTR_syntax_base___MMAttrImplementationMethod____node( self
) /*MMAttrImplementationMethod::_node*/;
472 void syntax_base___MMAttrImplementationMethod___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
473 struct trace_t trace
= {NULL
, NULL
, 130, LOCATE_syntax_base___MMAttrImplementationMethod___init
};
475 struct WBT_
**closurevariable
= NULL
;
476 trace
.prev
= tracehead
; tracehead
= &trace
;
477 trace
.file
= LOCATE_syntax_base
;
478 /* Register variable[0]: Local variable */
480 /* Register variable[1]: Local variable */
481 variable
[1] = param0
;
482 /* Register variable[2]: Local variable */
483 variable
[2] = param1
;
484 /* Register variable[3]: Local variable */
485 variable
[3] = param2
;
486 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMAttrImplementationMethod
].i
]) return;
487 /* Register variable[4]: Method return value and escape marker */
488 CALL_abstractmetamodel___MMLocalProperty___init(variable
[0])(variable
[0], variable
[1] /*name*/, variable
[2] /*cla*/, init_table
/*YYY*/) /*MMLocalProperty::init*/;
489 ATTR_syntax_base___MMAttrImplementationMethod____node(variable
[0]) /*MMAttrImplementationMethod::_node*/ = variable
[3] /*n*/;
490 return_label19
: while(false);
491 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMAttrImplementationMethod
].i
] = 1;
492 tracehead
= trace
.prev
;
495 void syntax_base___MMReadImplementationMethod___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
496 struct trace_t trace
= {NULL
, NULL
, 140, LOCATE_syntax_base___MMReadImplementationMethod___init
};
498 struct WBT_
**closurevariable
= NULL
;
499 trace
.prev
= tracehead
; tracehead
= &trace
;
500 trace
.file
= LOCATE_syntax_base
;
501 /* Register variable[0]: Local variable */
503 /* Register variable[1]: Local variable */
504 variable
[1] = param0
;
505 /* Register variable[2]: Local variable */
506 variable
[2] = param1
;
507 /* Register variable[3]: Local variable */
508 variable
[3] = param2
;
509 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMReadImplementationMethod
].i
]) return;
510 /* Register variable[4]: Method return value and escape marker */
511 CALL_syntax_base___MMAttrImplementationMethod___init(variable
[0])(variable
[0], variable
[1] /*name*/, variable
[2] /*cla*/, variable
[3] /*n*/, init_table
/*YYY*/) /*MMAttrImplementationMethod::init*/;
512 return_label20
: while(false);
513 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMReadImplementationMethod
].i
] = 1;
514 tracehead
= trace
.prev
;
517 void syntax_base___MMWriteImplementationMethod___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
518 struct trace_t trace
= {NULL
, NULL
, 149, LOCATE_syntax_base___MMWriteImplementationMethod___init
};
520 struct WBT_
**closurevariable
= NULL
;
521 trace
.prev
= tracehead
; tracehead
= &trace
;
522 trace
.file
= LOCATE_syntax_base
;
523 /* Register variable[0]: Local variable */
525 /* Register variable[1]: Local variable */
526 variable
[1] = param0
;
527 /* Register variable[2]: Local variable */
528 variable
[2] = param1
;
529 /* Register variable[3]: Local variable */
530 variable
[3] = param2
;
531 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMWriteImplementationMethod
].i
]) return;
532 /* Register variable[4]: Method return value and escape marker */
533 CALL_syntax_base___MMAttrImplementationMethod___init(variable
[0])(variable
[0], variable
[1] /*name*/, variable
[2] /*cla*/, variable
[3] /*n*/, init_table
/*YYY*/) /*MMAttrImplementationMethod::init*/;
534 return_label21
: while(false);
535 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMWriteImplementationMethod
].i
] = 1;
536 tracehead
= trace
.prev
;
539 val_t
syntax_base___MMMethSrcMethod___node(val_t self
) {
540 struct trace_t trace
= {NULL
, NULL
, 159, LOCATE_syntax_base___MMMethSrcMethod___node
};
541 val_t
*variable
= NULL
;
542 struct WBT_
**closurevariable
= NULL
;
543 trace
.prev
= tracehead
; tracehead
= &trace
;
544 trace
.file
= LOCATE_syntax_base
;
545 tracehead
= trace
.prev
;
546 return ATTR_syntax_base___MMMethSrcMethod____node( self
) /*MMMethSrcMethod::_node*/;
548 val_t
syntax_base___MMMethSrcMethod___is_init(val_t self
) {
549 struct trace_t trace
= {NULL
, NULL
, 158, LOCATE_syntax_base___MMMethSrcMethod___is_init
};
551 struct WBT_
**closurevariable
= NULL
;
552 trace
.prev
= tracehead
; tracehead
= &trace
;
553 trace
.file
= LOCATE_syntax_base
;
554 /* Register variable[0]: Local variable */
556 /* Register variable[1]: Method return value and escape marker */
557 /* Register variable[2]: Result */
558 variable
[2] = ATTR_syntax_base___MMMethSrcMethod____node(variable
[0]) /*MMMethSrcMethod::_node*/;
559 /* Register variable[2]: Result */
560 variable
[2] = TAG_Bool((variable
[2]==NIT_NULL
) || VAL_ISA(variable
[2], COLOR_AConcreteInitPropdef
, ID_AConcreteInitPropdef
)) /*cast AConcreteInitPropdef*/;
561 variable
[1] = variable
[2];
563 return_label22
: while(false);
564 tracehead
= trace
.prev
;
567 void syntax_base___MMMethSrcMethod___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
568 struct trace_t trace
= {NULL
, NULL
, 160, LOCATE_syntax_base___MMMethSrcMethod___init
};
570 struct WBT_
**closurevariable
= NULL
;
571 trace
.prev
= tracehead
; tracehead
= &trace
;
572 trace
.file
= LOCATE_syntax_base
;
573 /* Register variable[0]: Local variable */
575 /* Register variable[1]: Local variable */
576 variable
[1] = param0
;
577 /* Register variable[2]: Local variable */
578 variable
[2] = param1
;
579 /* Register variable[3]: Local variable */
580 variable
[3] = param2
;
581 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMMethSrcMethod
].i
]) return;
582 /* Register variable[4]: Method return value and escape marker */
583 CALL_abstractmetamodel___MMLocalProperty___init(variable
[0])(variable
[0], variable
[1] /*name*/, variable
[2] /*cla*/, init_table
/*YYY*/) /*MMLocalProperty::init*/;
584 ATTR_syntax_base___MMMethSrcMethod____node(variable
[0]) /*MMMethSrcMethod::_node*/ = variable
[3] /*n*/;
585 return_label23
: while(false);
586 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMMethSrcMethod
].i
] = 1;
587 tracehead
= trace
.prev
;
590 val_t
syntax_base___MMSrcTypeProperty___node(val_t self
) {
591 struct trace_t trace
= {NULL
, NULL
, 171, LOCATE_syntax_base___MMSrcTypeProperty___node
};
592 val_t
*variable
= NULL
;
593 struct WBT_
**closurevariable
= NULL
;
594 trace
.prev
= tracehead
; tracehead
= &trace
;
595 trace
.file
= LOCATE_syntax_base
;
596 tracehead
= trace
.prev
;
597 return ATTR_syntax_base___MMSrcTypeProperty____node( self
) /*MMSrcTypeProperty::_node*/;
599 void syntax_base___MMSrcTypeProperty___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
600 struct trace_t trace
= {NULL
, NULL
, 172, LOCATE_syntax_base___MMSrcTypeProperty___init
};
602 struct WBT_
**closurevariable
= NULL
;
603 trace
.prev
= tracehead
; tracehead
= &trace
;
604 trace
.file
= LOCATE_syntax_base
;
605 /* Register variable[0]: Local variable */
607 /* Register variable[1]: Local variable */
608 variable
[1] = param0
;
609 /* Register variable[2]: Local variable */
610 variable
[2] = param1
;
611 /* Register variable[3]: Local variable */
612 variable
[3] = param2
;
613 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcTypeProperty
].i
]) return;
614 /* Register variable[4]: Method return value and escape marker */
615 CALL_abstractmetamodel___MMLocalProperty___init(variable
[0])(variable
[0], variable
[1] /*name*/, variable
[2] /*cla*/, init_table
/*YYY*/) /*MMLocalProperty::init*/;
616 ATTR_syntax_base___MMSrcTypeProperty____node(variable
[0]) /*MMSrcTypeProperty::_node*/ = variable
[3] /*n*/;
617 return_label24
: while(false);
618 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSrcTypeProperty
].i
] = 1;
619 tracehead
= trace
.prev
;
622 val_t
syntax_base___MMImplicitInit___is_init(val_t self
) {
623 struct trace_t trace
= {NULL
, NULL
, 182, LOCATE_syntax_base___MMImplicitInit___is_init
};
625 struct WBT_
**closurevariable
= NULL
;
626 trace
.prev
= tracehead
; tracehead
= &trace
;
627 trace
.file
= LOCATE_syntax_base
;
628 /* Register variable[0]: Local variable */
630 /* Register variable[1]: Method return value and escape marker */
631 variable
[1] = TAG_Bool(true);
633 return_label25
: while(false);
634 tracehead
= trace
.prev
;
637 val_t
syntax_base___MMImplicitInit___unassigned_attributes(val_t self
) {
638 struct trace_t trace
= {NULL
, NULL
, 183, LOCATE_syntax_base___MMImplicitInit___unassigned_attributes
};
639 val_t
*variable
= NULL
;
640 struct WBT_
**closurevariable
= NULL
;
641 trace
.prev
= tracehead
; tracehead
= &trace
;
642 trace
.file
= LOCATE_syntax_base
;
643 tracehead
= trace
.prev
;
644 return ATTR_syntax_base___MMImplicitInit____unassigned_attributes( self
) /*MMImplicitInit::_unassigned_attributes*/;
646 val_t
syntax_base___MMImplicitInit___super_inits(val_t self
) {
647 struct trace_t trace
= {NULL
, NULL
, 184, LOCATE_syntax_base___MMImplicitInit___super_inits
};
648 val_t
*variable
= NULL
;
649 struct WBT_
**closurevariable
= NULL
;
650 trace
.prev
= tracehead
; tracehead
= &trace
;
651 trace
.file
= LOCATE_syntax_base
;
652 tracehead
= trace
.prev
;
653 return ATTR_syntax_base___MMImplicitInit____super_inits( self
) /*MMImplicitInit::_super_inits*/;
655 void syntax_base___MMImplicitInit___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
656 struct trace_t trace
= {NULL
, NULL
, 185, LOCATE_syntax_base___MMImplicitInit___init
};
657 static val_t once_value_27
; static int once_bool_27
; /* Once value for variable[5]*/
658 static val_t once_value_28
= NIT_NULL
; /* Once value for string variable[5]*/
660 struct WBT_
**closurevariable
= NULL
;
661 trace
.prev
= tracehead
; tracehead
= &trace
;
662 trace
.file
= LOCATE_syntax_base
;
663 /* Register variable[0]: Local variable */
665 /* Register variable[1]: Local variable */
666 variable
[1] = param0
;
667 /* Register variable[2]: Local variable */
668 variable
[2] = param1
;
669 /* Register variable[3]: Local variable */
670 variable
[3] = param2
;
671 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMImplicitInit
].i
]) return;
672 /* Register variable[4]: Method return value and escape marker */
673 /* Register variable[5]: Once expression result */
674 if (once_bool_27
) variable
[5] = once_value_27
;
676 /* Register variable[5]: Once String constant */
677 if (once_value_28
!= NIT_NULL
) variable
[5] = once_value_28
;
679 variable
[5] = NEW_String_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)) /*new String*/;
680 once_value_28
= variable
[5];
682 /* Register variable[5]: Result */
683 /* Register variable[5]: Result */
684 variable
[5] = CALL_symbol___String___to_symbol(variable
[5])(variable
[5]) /*String::to_symbol*/;
685 once_value_27
= variable
[5];
688 /* Register variable[5]: Result */
689 CALL_syntax_base___MMMethSrcMethod___init(variable
[0])(variable
[0], variable
[5], variable
[1] /*cla*/, NIT_NULL
/*null*/, init_table
/*YYY*/) /*MMMethSrcMethod::init*/;
690 ATTR_syntax_base___MMImplicitInit____unassigned_attributes(variable
[0]) /*MMImplicitInit::_unassigned_attributes*/ = variable
[2] /*unassigned_attributes*/;
691 ATTR_syntax_base___MMImplicitInit____super_inits(variable
[0]) /*MMImplicitInit::_super_inits*/ = variable
[3] /*super_inits*/;
692 return_label26
: while(false);
693 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMImplicitInit
].i
] = 1;
694 tracehead
= trace
.prev
;
697 val_t
syntax_base___Variable___to_s(val_t self
) {
698 struct trace_t trace
= {NULL
, NULL
, 204, LOCATE_syntax_base___Variable___to_s
};
700 struct WBT_
**closurevariable
= NULL
;
701 trace
.prev
= tracehead
; tracehead
= &trace
;
702 trace
.file
= LOCATE_syntax_base
;
703 /* Register variable[0]: Local variable */
705 /* Register variable[1]: Method return value and escape marker */
706 /* Register variable[2]: Result */
707 variable
[2] = ATTR_syntax_base___Variable____name(variable
[0]) /*Variable::_name*/;
708 /* Register variable[2]: Result */
709 variable
[2] = CALL_string___Object___to_s(variable
[2])(variable
[2]) /*Symbol::to_s*/;
710 variable
[1] = variable
[2];
712 return_label29
: while(false);
713 tracehead
= trace
.prev
;
716 val_t
syntax_base___Variable___name(val_t self
) {
717 struct trace_t trace
= {NULL
, NULL
, 195, LOCATE_syntax_base___Variable___name
};
718 val_t
*variable
= NULL
;
719 struct WBT_
**closurevariable
= NULL
;
720 trace
.prev
= tracehead
; tracehead
= &trace
;
721 trace
.file
= LOCATE_syntax_base
;
722 tracehead
= trace
.prev
;
723 return ATTR_syntax_base___Variable____name( self
) /*Variable::_name*/;
725 val_t
syntax_base___Variable___decl(val_t self
) {
726 struct trace_t trace
= {NULL
, NULL
, 198, LOCATE_syntax_base___Variable___decl
};
727 val_t
*variable
= NULL
;
728 struct WBT_
**closurevariable
= NULL
;
729 trace
.prev
= tracehead
; tracehead
= &trace
;
730 trace
.file
= LOCATE_syntax_base
;
731 tracehead
= trace
.prev
;
732 return ATTR_syntax_base___Variable____decl( self
) /*Variable::_decl*/;
734 val_t
syntax_base___Variable___stype(val_t self
) {
735 struct trace_t trace
= {NULL
, NULL
, 201, LOCATE_syntax_base___Variable___stype
};
736 val_t
*variable
= NULL
;
737 struct WBT_
**closurevariable
= NULL
;
738 trace
.prev
= tracehead
; tracehead
= &trace
;
739 trace
.file
= LOCATE_syntax_base
;
740 tracehead
= trace
.prev
;
741 return ATTR_syntax_base___Variable____stype( self
) /*Variable::_stype*/;
743 void syntax_base___Variable___stype__eq(val_t self
, val_t param0
) {
744 struct trace_t trace
= {NULL
, NULL
, 201, LOCATE_syntax_base___Variable___stype__eq
};
745 val_t
*variable
= NULL
;
746 struct WBT_
**closurevariable
= NULL
;
747 trace
.prev
= tracehead
; tracehead
= &trace
;
748 trace
.file
= LOCATE_syntax_base
;
749 ATTR_syntax_base___Variable____stype( self
) /*Variable::_stype*/ = param0
;
750 tracehead
= trace
.prev
;
753 val_t
syntax_base___Variable___kind(val_t self
) {
754 struct trace_t trace
= {NULL
, NULL
, 206, LOCATE_syntax_base___Variable___kind
};
755 val_t
*variable
= NULL
;
756 struct WBT_
**closurevariable
= NULL
;
757 trace
.prev
= tracehead
; tracehead
= &trace
;
758 trace
.file
= LOCATE_syntax_base
;
759 fprintf(stderr
, "Deferred method called");
760 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 206);
762 tracehead
= trace
.prev
;
765 void syntax_base___Variable___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
766 struct trace_t trace
= {NULL
, NULL
, 208, LOCATE_syntax_base___Variable___init
};
768 struct WBT_
**closurevariable
= NULL
;
769 trace
.prev
= tracehead
; tracehead
= &trace
;
770 trace
.file
= LOCATE_syntax_base
;
771 /* Register variable[0]: Local variable */
773 /* Register variable[1]: Local variable */
774 variable
[1] = param0
;
775 /* Register variable[2]: Local variable */
776 variable
[2] = param1
;
777 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_Variable
].i
]) return;
778 /* Register variable[3]: Method return value and escape marker */
779 ATTR_syntax_base___Variable____name(variable
[0]) /*Variable::_name*/ = variable
[1] /*n*/;
780 ATTR_syntax_base___Variable____decl(variable
[0]) /*Variable::_decl*/ = variable
[2] /*d*/;
781 return_label30
: while(false);
782 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_Variable
].i
] = 1;
783 tracehead
= trace
.prev
;
786 val_t
syntax_base___VarVariable___kind(val_t self
) {
787 struct trace_t trace
= {NULL
, NULL
, 220, LOCATE_syntax_base___VarVariable___kind
};
788 static val_t once_value_32
; static int once_bool_32
; /* Once value for variable[2]*/
789 static val_t once_value_33
= NIT_NULL
; /* Once value for string variable[2]*/
791 struct WBT_
**closurevariable
= NULL
;
792 trace
.prev
= tracehead
; tracehead
= &trace
;
793 trace
.file
= LOCATE_syntax_base
;
794 /* Register variable[0]: Local variable */
796 /* Register variable[1]: Method return value and escape marker */
797 /* Register variable[2]: Once expression result */
798 if (once_bool_32
) variable
[2] = once_value_32
;
800 /* Register variable[2]: Once String constant */
801 if (once_value_33
!= NIT_NULL
) variable
[2] = once_value_33
;
803 variable
[2] = NEW_String_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)) /*new String*/;
804 once_value_33
= variable
[2];
806 /* Register variable[2]: Result */
807 once_value_32
= variable
[2];
810 /* Register variable[2]: Result */
811 variable
[1] = variable
[2];
813 return_label31
: while(false);
814 tracehead
= trace
.prev
;
817 void syntax_base___VarVariable___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
818 struct trace_t trace
= {NULL
, NULL
, 221, LOCATE_syntax_base___VarVariable___init
};
820 struct WBT_
**closurevariable
= NULL
;
821 trace
.prev
= tracehead
; tracehead
= &trace
;
822 trace
.file
= LOCATE_syntax_base
;
823 /* Register variable[0]: Local variable */
825 /* Register variable[1]: Local variable */
826 variable
[1] = param0
;
827 /* Register variable[2]: Local variable */
828 variable
[2] = param1
;
829 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_VarVariable
].i
]) return;
830 /* Register variable[3]: Method return value and escape marker */
831 CALL_syntax_base___Variable___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*Variable::init*/;
832 return_label34
: while(false);
833 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_VarVariable
].i
] = 1;
834 tracehead
= trace
.prev
;
837 val_t
syntax_base___ParamVariable___kind(val_t self
) {
838 struct trace_t trace
= {NULL
, NULL
, 227, LOCATE_syntax_base___ParamVariable___kind
};
839 static val_t once_value_36
; static int once_bool_36
; /* Once value for variable[2]*/
840 static val_t once_value_37
= NIT_NULL
; /* Once value for string variable[2]*/
842 struct WBT_
**closurevariable
= NULL
;
843 trace
.prev
= tracehead
; tracehead
= &trace
;
844 trace
.file
= LOCATE_syntax_base
;
845 /* Register variable[0]: Local variable */
847 /* Register variable[1]: Method return value and escape marker */
848 /* Register variable[2]: Once expression result */
849 if (once_bool_36
) variable
[2] = once_value_36
;
851 /* Register variable[2]: Once String constant */
852 if (once_value_37
!= NIT_NULL
) variable
[2] = once_value_37
;
854 variable
[2] = NEW_String_string___String___with_native(BOX_NativeString("parameter"), TAG_Int(9)) /*new String*/;
855 once_value_37
= variable
[2];
857 /* Register variable[2]: Result */
858 once_value_36
= variable
[2];
861 /* Register variable[2]: Result */
862 variable
[1] = variable
[2];
864 return_label35
: while(false);
865 tracehead
= trace
.prev
;
868 void syntax_base___ParamVariable___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
869 struct trace_t trace
= {NULL
, NULL
, 228, LOCATE_syntax_base___ParamVariable___init
};
871 struct WBT_
**closurevariable
= NULL
;
872 trace
.prev
= tracehead
; tracehead
= &trace
;
873 trace
.file
= LOCATE_syntax_base
;
874 /* Register variable[0]: Local variable */
876 /* Register variable[1]: Local variable */
877 variable
[1] = param0
;
878 /* Register variable[2]: Local variable */
879 variable
[2] = param1
;
880 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ParamVariable
].i
]) return;
881 /* Register variable[3]: Method return value and escape marker */
882 CALL_syntax_base___Variable___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*Variable::init*/;
883 return_label38
: while(false);
884 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ParamVariable
].i
] = 1;
885 tracehead
= trace
.prev
;
888 val_t
syntax_base___AutoVariable___kind(val_t self
) {
889 struct trace_t trace
= {NULL
, NULL
, 234, LOCATE_syntax_base___AutoVariable___kind
};
890 static val_t once_value_40
; static int once_bool_40
; /* Once value for variable[2]*/
891 static val_t once_value_41
= NIT_NULL
; /* Once value for string variable[2]*/
893 struct WBT_
**closurevariable
= NULL
;
894 trace
.prev
= tracehead
; tracehead
= &trace
;
895 trace
.file
= LOCATE_syntax_base
;
896 /* Register variable[0]: Local variable */
898 /* Register variable[1]: Method return value and escape marker */
899 /* Register variable[2]: Once expression result */
900 if (once_bool_40
) variable
[2] = once_value_40
;
902 /* Register variable[2]: Once String constant */
903 if (once_value_41
!= NIT_NULL
) variable
[2] = once_value_41
;
905 variable
[2] = NEW_String_string___String___with_native(BOX_NativeString("automatic variable"), TAG_Int(18)) /*new String*/;
906 once_value_41
= variable
[2];
908 /* Register variable[2]: Result */
909 once_value_40
= variable
[2];
912 /* Register variable[2]: Result */
913 variable
[1] = variable
[2];
915 return_label39
: while(false);
916 tracehead
= trace
.prev
;
919 void syntax_base___AutoVariable___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
920 struct trace_t trace
= {NULL
, NULL
, 235, LOCATE_syntax_base___AutoVariable___init
};
922 struct WBT_
**closurevariable
= NULL
;
923 trace
.prev
= tracehead
; tracehead
= &trace
;
924 trace
.file
= LOCATE_syntax_base
;
925 /* Register variable[0]: Local variable */
927 /* Register variable[1]: Local variable */
928 variable
[1] = param0
;
929 /* Register variable[2]: Local variable */
930 variable
[2] = param1
;
931 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_AutoVariable
].i
]) return;
932 /* Register variable[3]: Method return value and escape marker */
933 CALL_syntax_base___Variable___init(variable
[0])(variable
[0], variable
[1], variable
[2], init_table
/*YYY*/) /*Variable::init*/;
934 return_label42
: while(false);
935 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_AutoVariable
].i
] = 1;
936 tracehead
= trace
.prev
;
939 val_t
syntax_base___ClosureVariable___kind(val_t self
) {
940 struct trace_t trace
= {NULL
, NULL
, 242, LOCATE_syntax_base___ClosureVariable___kind
};
941 static val_t once_value_44
; static int once_bool_44
; /* Once value for variable[2]*/
942 static val_t once_value_45
= NIT_NULL
; /* Once value for string variable[2]*/
944 struct WBT_
**closurevariable
= NULL
;
945 trace
.prev
= tracehead
; tracehead
= &trace
;
946 trace
.file
= LOCATE_syntax_base
;
947 /* Register variable[0]: Local variable */
949 /* Register variable[1]: Method return value and escape marker */
950 /* Register variable[2]: Once expression result */
951 if (once_bool_44
) variable
[2] = once_value_44
;
953 /* Register variable[2]: Once String constant */
954 if (once_value_45
!= NIT_NULL
) variable
[2] = once_value_45
;
956 variable
[2] = NEW_String_string___String___with_native(BOX_NativeString("closure"), TAG_Int(7)) /*new String*/;
957 once_value_45
= variable
[2];
959 /* Register variable[2]: Result */
960 once_value_44
= variable
[2];
963 /* Register variable[2]: Result */
964 variable
[1] = variable
[2];
966 return_label43
: while(false);
967 tracehead
= trace
.prev
;
970 val_t
syntax_base___ClosureVariable___closure(val_t self
) {
971 struct trace_t trace
= {NULL
, NULL
, 244, LOCATE_syntax_base___ClosureVariable___closure
};
972 val_t
*variable
= NULL
;
973 struct WBT_
**closurevariable
= NULL
;
974 trace
.prev
= tracehead
; tracehead
= &trace
;
975 trace
.file
= LOCATE_syntax_base
;
976 tracehead
= trace
.prev
;
977 return ATTR_syntax_base___ClosureVariable____closure( self
) /*ClosureVariable::_closure*/;
979 void syntax_base___ClosureVariable___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
980 struct trace_t trace
= {NULL
, NULL
, 247, LOCATE_syntax_base___ClosureVariable___init
};
982 struct WBT_
**closurevariable
= NULL
;
983 trace
.prev
= tracehead
; tracehead
= &trace
;
984 trace
.file
= LOCATE_syntax_base
;
985 /* Register variable[0]: Local variable */
987 /* Register variable[1]: Local variable */
988 variable
[1] = param0
;
989 /* Register variable[2]: Local variable */
990 variable
[2] = param1
;
991 /* Register variable[3]: Local variable */
992 variable
[3] = param2
;
993 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClosureVariable
].i
]) return;
994 /* Register variable[4]: Method return value and escape marker */
995 CALL_syntax_base___Variable___init(variable
[0])(variable
[0], variable
[1] /*n*/, variable
[2] /*d*/, init_table
/*YYY*/) /*Variable::init*/;
996 ATTR_syntax_base___ClosureVariable____closure(variable
[0]) /*ClosureVariable::_closure*/ = variable
[3] /*c*/;
997 return_label46
: while(false);
998 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_ClosureVariable
].i
] = 1;
999 tracehead
= trace
.prev
;
1002 val_t
syntax_base___AbsSyntaxVisitor___type_object(val_t self
) {
1003 struct trace_t trace
= {NULL
, NULL
, 259, LOCATE_syntax_base___AbsSyntaxVisitor___type_object
};
1004 static val_t once_value_48
; static int once_bool_48
; /* Once value for variable[3]*/
1005 static val_t once_value_49
= NIT_NULL
; /* Once value for string variable[3]*/
1007 struct WBT_
**closurevariable
= NULL
;
1008 trace
.prev
= tracehead
; tracehead
= &trace
;
1009 trace
.file
= LOCATE_syntax_base
;
1010 /* Register variable[0]: Local variable */
1012 /* Register variable[1]: Method return value and escape marker */
1013 /* Register variable[2]: Result */
1014 variable
[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1015 /* Register variable[3]: Once expression result */
1016 if (once_bool_48
) variable
[3] = once_value_48
;
1018 /* Register variable[3]: Once String constant */
1019 if (once_value_49
!= NIT_NULL
) variable
[3] = once_value_49
;
1021 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)) /*new String*/;
1022 once_value_49
= variable
[3];
1024 /* Register variable[3]: Result */
1025 /* Register variable[3]: Result */
1026 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
1027 once_value_48
= variable
[3];
1028 once_bool_48
= true;
1030 /* Register variable[3]: Result */
1031 /* Register variable[2]: Result */
1032 variable
[2] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[2])(variable
[2], variable
[3]) /*MMModule::class_by_name*/;
1033 /* Register variable[2]: Result */
1034 variable
[2] = CALL_static_type___MMLocalClass___get_type(variable
[2])(variable
[2]) /*MMLocalClass::get_type*/;
1035 variable
[1] = variable
[2];
1036 goto return_label47
;
1037 return_label47
: while(false);
1038 tracehead
= trace
.prev
;
1041 val_t
syntax_base___AbsSyntaxVisitor___type_bool(val_t self
) {
1042 struct trace_t trace
= {NULL
, NULL
, 265, LOCATE_syntax_base___AbsSyntaxVisitor___type_bool
};
1043 static val_t once_value_51
; static int once_bool_51
; /* Once value for variable[3]*/
1044 static val_t once_value_52
= NIT_NULL
; /* Once value for string variable[3]*/
1046 struct WBT_
**closurevariable
= NULL
;
1047 trace
.prev
= tracehead
; tracehead
= &trace
;
1048 trace
.file
= LOCATE_syntax_base
;
1049 /* Register variable[0]: Local variable */
1051 /* Register variable[1]: Method return value and escape marker */
1052 /* Register variable[2]: Result */
1053 variable
[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1054 /* Register variable[3]: Once expression result */
1055 if (once_bool_51
) variable
[3] = once_value_51
;
1057 /* Register variable[3]: Once String constant */
1058 if (once_value_52
!= NIT_NULL
) variable
[3] = once_value_52
;
1060 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)) /*new String*/;
1061 once_value_52
= variable
[3];
1063 /* Register variable[3]: Result */
1064 /* Register variable[3]: Result */
1065 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
1066 once_value_51
= variable
[3];
1067 once_bool_51
= true;
1069 /* Register variable[3]: Result */
1070 /* Register variable[2]: Result */
1071 variable
[2] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[2])(variable
[2], variable
[3]) /*MMModule::class_by_name*/;
1072 /* Register variable[2]: Result */
1073 variable
[2] = CALL_static_type___MMLocalClass___get_type(variable
[2])(variable
[2]) /*MMLocalClass::get_type*/;
1074 variable
[1] = variable
[2];
1075 goto return_label50
;
1076 return_label50
: while(false);
1077 tracehead
= trace
.prev
;
1080 val_t
syntax_base___AbsSyntaxVisitor___type_int(val_t self
) {
1081 struct trace_t trace
= {NULL
, NULL
, 271, LOCATE_syntax_base___AbsSyntaxVisitor___type_int
};
1082 static val_t once_value_54
; static int once_bool_54
; /* Once value for variable[3]*/
1083 static val_t once_value_55
= NIT_NULL
; /* Once value for string variable[3]*/
1085 struct WBT_
**closurevariable
= NULL
;
1086 trace
.prev
= tracehead
; tracehead
= &trace
;
1087 trace
.file
= LOCATE_syntax_base
;
1088 /* Register variable[0]: Local variable */
1090 /* Register variable[1]: Method return value and escape marker */
1091 /* Register variable[2]: Result */
1092 variable
[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1093 /* Register variable[3]: Once expression result */
1094 if (once_bool_54
) variable
[3] = once_value_54
;
1096 /* Register variable[3]: Once String constant */
1097 if (once_value_55
!= NIT_NULL
) variable
[3] = once_value_55
;
1099 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)) /*new String*/;
1100 once_value_55
= variable
[3];
1102 /* Register variable[3]: Result */
1103 /* Register variable[3]: Result */
1104 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
1105 once_value_54
= variable
[3];
1106 once_bool_54
= true;
1108 /* Register variable[3]: Result */
1109 /* Register variable[2]: Result */
1110 variable
[2] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[2])(variable
[2], variable
[3]) /*MMModule::class_by_name*/;
1111 /* Register variable[2]: Result */
1112 variable
[2] = CALL_static_type___MMLocalClass___get_type(variable
[2])(variable
[2]) /*MMLocalClass::get_type*/;
1113 variable
[1] = variable
[2];
1114 goto return_label53
;
1115 return_label53
: while(false);
1116 tracehead
= trace
.prev
;
1119 val_t
syntax_base___AbsSyntaxVisitor___type_float(val_t self
) {
1120 struct trace_t trace
= {NULL
, NULL
, 277, LOCATE_syntax_base___AbsSyntaxVisitor___type_float
};
1121 static val_t once_value_57
; static int once_bool_57
; /* Once value for variable[3]*/
1122 static val_t once_value_58
= NIT_NULL
; /* Once value for string variable[3]*/
1124 struct WBT_
**closurevariable
= NULL
;
1125 trace
.prev
= tracehead
; tracehead
= &trace
;
1126 trace
.file
= LOCATE_syntax_base
;
1127 /* Register variable[0]: Local variable */
1129 /* Register variable[1]: Method return value and escape marker */
1130 /* Register variable[2]: Result */
1131 variable
[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1132 /* Register variable[3]: Once expression result */
1133 if (once_bool_57
) variable
[3] = once_value_57
;
1135 /* Register variable[3]: Once String constant */
1136 if (once_value_58
!= NIT_NULL
) variable
[3] = once_value_58
;
1138 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)) /*new String*/;
1139 once_value_58
= variable
[3];
1141 /* Register variable[3]: Result */
1142 /* Register variable[3]: Result */
1143 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
1144 once_value_57
= variable
[3];
1145 once_bool_57
= true;
1147 /* Register variable[3]: Result */
1148 /* Register variable[2]: Result */
1149 variable
[2] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[2])(variable
[2], variable
[3]) /*MMModule::class_by_name*/;
1150 /* Register variable[2]: Result */
1151 variable
[2] = CALL_static_type___MMLocalClass___get_type(variable
[2])(variable
[2]) /*MMLocalClass::get_type*/;
1152 variable
[1] = variable
[2];
1153 goto return_label56
;
1154 return_label56
: while(false);
1155 tracehead
= trace
.prev
;
1158 val_t
syntax_base___AbsSyntaxVisitor___type_char(val_t self
) {
1159 struct trace_t trace
= {NULL
, NULL
, 283, LOCATE_syntax_base___AbsSyntaxVisitor___type_char
};
1160 static val_t once_value_60
; static int once_bool_60
; /* Once value for variable[3]*/
1161 static val_t once_value_61
= NIT_NULL
; /* Once value for string variable[3]*/
1163 struct WBT_
**closurevariable
= NULL
;
1164 trace
.prev
= tracehead
; tracehead
= &trace
;
1165 trace
.file
= LOCATE_syntax_base
;
1166 /* Register variable[0]: Local variable */
1168 /* Register variable[1]: Method return value and escape marker */
1169 /* Register variable[2]: Result */
1170 variable
[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1171 /* Register variable[3]: Once expression result */
1172 if (once_bool_60
) variable
[3] = once_value_60
;
1174 /* Register variable[3]: Once String constant */
1175 if (once_value_61
!= NIT_NULL
) variable
[3] = once_value_61
;
1177 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)) /*new String*/;
1178 once_value_61
= variable
[3];
1180 /* Register variable[3]: Result */
1181 /* Register variable[3]: Result */
1182 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
1183 once_value_60
= variable
[3];
1184 once_bool_60
= true;
1186 /* Register variable[3]: Result */
1187 /* Register variable[2]: Result */
1188 variable
[2] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[2])(variable
[2], variable
[3]) /*MMModule::class_by_name*/;
1189 /* Register variable[2]: Result */
1190 variable
[2] = CALL_static_type___MMLocalClass___get_type(variable
[2])(variable
[2]) /*MMLocalClass::get_type*/;
1191 variable
[1] = variable
[2];
1192 goto return_label59
;
1193 return_label59
: while(false);
1194 tracehead
= trace
.prev
;
1197 val_t
syntax_base___AbsSyntaxVisitor___type_string(val_t self
) {
1198 struct trace_t trace
= {NULL
, NULL
, 289, LOCATE_syntax_base___AbsSyntaxVisitor___type_string
};
1199 static val_t once_value_63
; static int once_bool_63
; /* Once value for variable[3]*/
1200 static val_t once_value_64
= NIT_NULL
; /* Once value for string variable[3]*/
1202 struct WBT_
**closurevariable
= NULL
;
1203 trace
.prev
= tracehead
; tracehead
= &trace
;
1204 trace
.file
= LOCATE_syntax_base
;
1205 /* Register variable[0]: Local variable */
1207 /* Register variable[1]: Method return value and escape marker */
1208 /* Register variable[2]: Result */
1209 variable
[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1210 /* Register variable[3]: Once expression result */
1211 if (once_bool_63
) variable
[3] = once_value_63
;
1213 /* Register variable[3]: Once String constant */
1214 if (once_value_64
!= NIT_NULL
) variable
[3] = once_value_64
;
1216 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("String"), TAG_Int(6)) /*new String*/;
1217 once_value_64
= variable
[3];
1219 /* Register variable[3]: Result */
1220 /* Register variable[3]: Result */
1221 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
1222 once_value_63
= variable
[3];
1223 once_bool_63
= true;
1225 /* Register variable[3]: Result */
1226 /* Register variable[2]: Result */
1227 variable
[2] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[2])(variable
[2], variable
[3]) /*MMModule::class_by_name*/;
1228 /* Register variable[2]: Result */
1229 variable
[2] = CALL_static_type___MMLocalClass___get_type(variable
[2])(variable
[2]) /*MMLocalClass::get_type*/;
1230 variable
[1] = variable
[2];
1231 goto return_label62
;
1232 return_label62
: while(false);
1233 tracehead
= trace
.prev
;
1236 val_t
syntax_base___AbsSyntaxVisitor___type_collection(val_t self
) {
1237 struct trace_t trace
= {NULL
, NULL
, 295, LOCATE_syntax_base___AbsSyntaxVisitor___type_collection
};
1238 static val_t once_value_66
; static int once_bool_66
; /* Once value for variable[3]*/
1239 static val_t once_value_67
= NIT_NULL
; /* Once value for string variable[3]*/
1241 struct WBT_
**closurevariable
= NULL
;
1242 trace
.prev
= tracehead
; tracehead
= &trace
;
1243 trace
.file
= LOCATE_syntax_base
;
1244 /* Register variable[0]: Local variable */
1246 /* Register variable[1]: Method return value and escape marker */
1247 /* Register variable[2]: Result */
1248 variable
[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1249 /* Register variable[3]: Once expression result */
1250 if (once_bool_66
) variable
[3] = once_value_66
;
1252 /* Register variable[3]: Once String constant */
1253 if (once_value_67
!= NIT_NULL
) variable
[3] = once_value_67
;
1255 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("Collection"), TAG_Int(10)) /*new String*/;
1256 once_value_67
= variable
[3];
1258 /* Register variable[3]: Result */
1259 /* Register variable[3]: Result */
1260 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
1261 once_value_66
= variable
[3];
1262 once_bool_66
= true;
1264 /* Register variable[3]: Result */
1265 /* Register variable[2]: Result */
1266 variable
[2] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[2])(variable
[2], variable
[3]) /*MMModule::class_by_name*/;
1267 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[MMType]*/ /* Ensure var: Literal array*/;
1268 /* Register variable[4]: Result */
1269 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___type_object(variable
[0])(variable
[0]) /*AbsSyntaxVisitor::type_object*/;
1270 /* Register variable[4]: Result */
1271 variable
[4] = CALL_static_type___MMType___as_nullable(variable
[4])(variable
[4]) /*MMType::as_nullable*/;
1272 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
1273 /* Register variable[3]: Result */
1274 /* Register variable[2]: Result */
1275 variable
[2] = CALL_genericity___MMLocalClass___get_instantiate_type(variable
[2])(variable
[2], variable
[3]) /*MMLocalClass::get_instantiate_type*/;
1276 variable
[1] = variable
[2];
1277 goto return_label65
;
1278 return_label65
: while(false);
1279 tracehead
= trace
.prev
;
1282 val_t
syntax_base___AbsSyntaxVisitor___type_array(val_t self
, val_t param0
) {
1283 struct trace_t trace
= {NULL
, NULL
, 301, LOCATE_syntax_base___AbsSyntaxVisitor___type_array
};
1284 static val_t once_value_69
; static int once_bool_69
; /* Once value for variable[4]*/
1285 static val_t once_value_70
= NIT_NULL
; /* Once value for string variable[4]*/
1287 struct WBT_
**closurevariable
= NULL
;
1288 trace
.prev
= tracehead
; tracehead
= &trace
;
1289 trace
.file
= LOCATE_syntax_base
;
1290 /* Register variable[0]: Local variable */
1292 /* Register variable[1]: Local variable */
1293 variable
[1] = param0
;
1294 /* Register variable[2]: Method return value and escape marker */
1295 /* Register variable[3]: Result */
1296 variable
[3] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1297 /* Register variable[4]: Once expression result */
1298 if (once_bool_69
) variable
[4] = once_value_69
;
1300 /* Register variable[4]: Once String constant */
1301 if (once_value_70
!= NIT_NULL
) variable
[4] = once_value_70
;
1303 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)) /*new String*/;
1304 once_value_70
= variable
[4];
1306 /* Register variable[4]: Result */
1307 /* Register variable[4]: Result */
1308 variable
[4] = CALL_symbol___String___to_symbol(variable
[4])(variable
[4]) /*String::to_symbol*/;
1309 once_value_69
= variable
[4];
1310 once_bool_69
= true;
1312 /* Register variable[4]: Result */
1313 /* Register variable[3]: Result */
1314 variable
[3] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[3])(variable
[3], variable
[4]) /*MMModule::class_by_name*/;
1315 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[MMType]*/ /* Ensure var: Literal array*/;
1316 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[1] /*stype*/) /*AbstractArray::add*/;
1317 /* Register variable[4]: Result */
1318 /* Register variable[3]: Result */
1319 variable
[3] = CALL_genericity___MMLocalClass___get_instantiate_type(variable
[3])(variable
[3], variable
[4]) /*MMLocalClass::get_instantiate_type*/;
1320 variable
[2] = variable
[3];
1321 goto return_label68
;
1322 return_label68
: while(false);
1323 tracehead
= trace
.prev
;
1326 val_t
syntax_base___AbsSyntaxVisitor___type_discrete(val_t self
) {
1327 struct trace_t trace
= {NULL
, NULL
, 307, LOCATE_syntax_base___AbsSyntaxVisitor___type_discrete
};
1328 static val_t once_value_72
; static int once_bool_72
; /* Once value for variable[3]*/
1329 static val_t once_value_73
= NIT_NULL
; /* Once value for string variable[3]*/
1331 struct WBT_
**closurevariable
= NULL
;
1332 trace
.prev
= tracehead
; tracehead
= &trace
;
1333 trace
.file
= LOCATE_syntax_base
;
1334 /* Register variable[0]: Local variable */
1336 /* Register variable[1]: Method return value and escape marker */
1337 /* Register variable[2]: Result */
1338 variable
[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1339 /* Register variable[3]: Once expression result */
1340 if (once_bool_72
) variable
[3] = once_value_72
;
1342 /* Register variable[3]: Once String constant */
1343 if (once_value_73
!= NIT_NULL
) variable
[3] = once_value_73
;
1345 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("Discrete"), TAG_Int(8)) /*new String*/;
1346 once_value_73
= variable
[3];
1348 /* Register variable[3]: Result */
1349 /* Register variable[3]: Result */
1350 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
1351 once_value_72
= variable
[3];
1352 once_bool_72
= true;
1354 /* Register variable[3]: Result */
1355 /* Register variable[2]: Result */
1356 variable
[2] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[2])(variable
[2], variable
[3]) /*MMModule::class_by_name*/;
1357 /* Register variable[2]: Result */
1358 variable
[2] = CALL_static_type___MMLocalClass___get_type(variable
[2])(variable
[2]) /*MMLocalClass::get_type*/;
1359 variable
[1] = variable
[2];
1360 goto return_label71
;
1361 return_label71
: while(false);
1362 tracehead
= trace
.prev
;
1365 val_t
syntax_base___AbsSyntaxVisitor___type_range(val_t self
, val_t param0
) {
1366 struct trace_t trace
= {NULL
, NULL
, 313, LOCATE_syntax_base___AbsSyntaxVisitor___type_range
};
1367 static val_t once_value_75
; static int once_bool_75
; /* Once value for variable[4]*/
1368 static val_t once_value_76
= NIT_NULL
; /* Once value for string variable[4]*/
1370 struct WBT_
**closurevariable
= NULL
;
1371 trace
.prev
= tracehead
; tracehead
= &trace
;
1372 trace
.file
= LOCATE_syntax_base
;
1373 /* Register variable[0]: Local variable */
1375 /* Register variable[1]: Local variable */
1376 variable
[1] = param0
;
1377 /* Register variable[2]: Method return value and escape marker */
1378 /* Register variable[3]: Result */
1379 variable
[3] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1380 /* Register variable[4]: Once expression result */
1381 if (once_bool_75
) variable
[4] = once_value_75
;
1383 /* Register variable[4]: Once String constant */
1384 if (once_value_76
!= NIT_NULL
) variable
[4] = once_value_76
;
1386 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString("Range"), TAG_Int(5)) /*new String*/;
1387 once_value_76
= variable
[4];
1389 /* Register variable[4]: Result */
1390 /* Register variable[4]: Result */
1391 variable
[4] = CALL_symbol___String___to_symbol(variable
[4])(variable
[4]) /*String::to_symbol*/;
1392 once_value_75
= variable
[4];
1393 once_bool_75
= true;
1395 /* Register variable[4]: Result */
1396 /* Register variable[3]: Result */
1397 variable
[3] = CALL_abstractmetamodel___MMModule___class_by_name(variable
[3])(variable
[3], variable
[4]) /*MMModule::class_by_name*/;
1398 variable
[4] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[MMType]*/ /* Ensure var: Literal array*/;
1399 CALL_abstract_collection___SimpleCollection___add(variable
[4])(variable
[4], variable
[1] /*stype*/) /*AbstractArray::add*/;
1400 /* Register variable[4]: Result */
1401 /* Register variable[3]: Result */
1402 variable
[3] = CALL_genericity___MMLocalClass___get_instantiate_type(variable
[3])(variable
[3], variable
[4]) /*MMLocalClass::get_instantiate_type*/;
1403 variable
[2] = variable
[3];
1404 goto return_label74
;
1405 return_label74
: while(false);
1406 tracehead
= trace
.prev
;
1409 val_t
syntax_base___AbsSyntaxVisitor___type_none(val_t self
) {
1410 struct trace_t trace
= {NULL
, NULL
, 319, LOCATE_syntax_base___AbsSyntaxVisitor___type_none
};
1412 struct WBT_
**closurevariable
= NULL
;
1413 trace
.prev
= tracehead
; tracehead
= &trace
;
1414 trace
.file
= LOCATE_syntax_base
;
1415 /* Register variable[0]: Local variable */
1417 /* Register variable[1]: Method return value and escape marker */
1418 /* Register variable[2]: Result */
1419 variable
[2] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1420 /* Register variable[2]: Result */
1421 variable
[2] = CALL_static_type___MMModule___type_none(variable
[2])(variable
[2]) /*MMModule::type_none*/;
1422 variable
[1] = variable
[2];
1423 goto return_label77
;
1424 return_label77
: while(false);
1425 tracehead
= trace
.prev
;
1428 val_t
syntax_base___AbsSyntaxVisitor___module(val_t self
) {
1429 struct trace_t trace
= {NULL
, NULL
, 325, LOCATE_syntax_base___AbsSyntaxVisitor___module
};
1430 val_t
*variable
= NULL
;
1431 struct WBT_
**closurevariable
= NULL
;
1432 trace
.prev
= tracehead
; tracehead
= &trace
;
1433 trace
.file
= LOCATE_syntax_base
;
1434 tracehead
= trace
.prev
;
1435 return ATTR_syntax_base___AbsSyntaxVisitor____module( self
) /*AbsSyntaxVisitor::_module*/;
1437 void syntax_base___AbsSyntaxVisitor___module__eq(val_t self
, val_t param0
) {
1438 struct trace_t trace
= {NULL
, NULL
, 325, LOCATE_syntax_base___AbsSyntaxVisitor___module__eq
};
1439 val_t
*variable
= NULL
;
1440 struct WBT_
**closurevariable
= NULL
;
1441 trace
.prev
= tracehead
; tracehead
= &trace
;
1442 trace
.file
= LOCATE_syntax_base
;
1443 ATTR_syntax_base___AbsSyntaxVisitor____module( self
) /*AbsSyntaxVisitor::_module*/ = param0
;
1444 tracehead
= trace
.prev
;
1447 val_t
syntax_base___AbsSyntaxVisitor___local_class(val_t self
) {
1448 struct trace_t trace
= {NULL
, NULL
, 328, LOCATE_syntax_base___AbsSyntaxVisitor___local_class
};
1449 val_t
*variable
= NULL
;
1450 struct WBT_
**closurevariable
= NULL
;
1451 trace
.prev
= tracehead
; tracehead
= &trace
;
1452 trace
.file
= LOCATE_syntax_base
;
1453 tracehead
= trace
.prev
;
1454 return ATTR_syntax_base___AbsSyntaxVisitor____local_class( self
) /*AbsSyntaxVisitor::_local_class*/;
1456 void syntax_base___AbsSyntaxVisitor___local_class__eq(val_t self
, val_t param0
) {
1457 struct trace_t trace
= {NULL
, NULL
, 328, LOCATE_syntax_base___AbsSyntaxVisitor___local_class__eq
};
1458 val_t
*variable
= NULL
;
1459 struct WBT_
**closurevariable
= NULL
;
1460 trace
.prev
= tracehead
; tracehead
= &trace
;
1461 trace
.file
= LOCATE_syntax_base
;
1462 ATTR_syntax_base___AbsSyntaxVisitor____local_class( self
) /*AbsSyntaxVisitor::_local_class*/ = param0
;
1463 tracehead
= trace
.prev
;
1466 val_t
syntax_base___AbsSyntaxVisitor___local_property(val_t self
) {
1467 struct trace_t trace
= {NULL
, NULL
, 331, LOCATE_syntax_base___AbsSyntaxVisitor___local_property
};
1468 val_t
*variable
= NULL
;
1469 struct WBT_
**closurevariable
= NULL
;
1470 trace
.prev
= tracehead
; tracehead
= &trace
;
1471 trace
.file
= LOCATE_syntax_base
;
1472 tracehead
= trace
.prev
;
1473 return ATTR_syntax_base___AbsSyntaxVisitor____local_property( self
) /*AbsSyntaxVisitor::_local_property*/;
1475 void syntax_base___AbsSyntaxVisitor___local_property__eq(val_t self
, val_t param0
) {
1476 struct trace_t trace
= {NULL
, NULL
, 331, LOCATE_syntax_base___AbsSyntaxVisitor___local_property__eq
};
1477 val_t
*variable
= NULL
;
1478 struct WBT_
**closurevariable
= NULL
;
1479 trace
.prev
= tracehead
; tracehead
= &trace
;
1480 trace
.file
= LOCATE_syntax_base
;
1481 ATTR_syntax_base___AbsSyntaxVisitor____local_property( self
) /*AbsSyntaxVisitor::_local_property*/ = param0
;
1482 tracehead
= trace
.prev
;
1485 val_t
syntax_base___AbsSyntaxVisitor___tc(val_t self
) {
1486 struct trace_t trace
= {NULL
, NULL
, 334, LOCATE_syntax_base___AbsSyntaxVisitor___tc
};
1487 val_t
*variable
= NULL
;
1488 struct WBT_
**closurevariable
= NULL
;
1489 trace
.prev
= tracehead
; tracehead
= &trace
;
1490 trace
.file
= LOCATE_syntax_base
;
1491 tracehead
= trace
.prev
;
1492 return ATTR_syntax_base___AbsSyntaxVisitor____tc( self
) /*AbsSyntaxVisitor::_tc*/;
1494 void syntax_base___AbsSyntaxVisitor___error(val_t self
, val_t param0
, val_t param1
) {
1495 struct trace_t trace
= {NULL
, NULL
, 337, LOCATE_syntax_base___AbsSyntaxVisitor___error
};
1496 static val_t once_value_79
= NIT_NULL
; /* Once value for string variable[6]*/
1497 static val_t once_value_80
= NIT_NULL
; /* Once value for string variable[6]*/
1498 static val_t once_value_81
= NIT_NULL
; /* Once value for string variable[6]*/
1500 struct WBT_
**closurevariable
= NULL
;
1501 trace
.prev
= tracehead
; tracehead
= &trace
;
1502 trace
.file
= LOCATE_syntax_base
;
1503 /* Register variable[0]: Local variable */
1505 /* Register variable[1]: Local variable */
1506 variable
[1] = param0
;
1507 /* Register variable[2]: Local variable */
1508 variable
[2] = param1
;
1509 /* Register variable[3]: Method return value and escape marker */
1510 /* Register variable[4]: Result */
1511 variable
[4] = ATTR_syntax_base___AbsSyntaxVisitor____tc(variable
[0]) /*AbsSyntaxVisitor::_tc*/;
1512 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1513 /* Register variable[6]: Once String constant */
1514 if (once_value_79
!= NIT_NULL
) variable
[6] = once_value_79
;
1516 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1517 once_value_79
= variable
[6];
1519 /* Register variable[6]: Result */
1520 /* Ensure var variable[6]: super-string element*/
1521 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1522 /* Register variable[6]: Result */
1523 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___locate(variable
[0])(variable
[0], variable
[1] /*n*/) /*AbsSyntaxVisitor::locate*/;
1524 /* Ensure var variable[6]: super-string element*/
1525 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1526 /* Register variable[6]: Once String constant */
1527 if (once_value_80
!= NIT_NULL
) variable
[6] = once_value_80
;
1529 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)) /*new String*/;
1530 once_value_80
= variable
[6];
1532 /* Register variable[6]: Result */
1533 /* Ensure var variable[6]: super-string element*/
1534 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1535 variable
[6] = variable
[2] /*s*/ /* Ensure var: super-string element*/;
1536 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1537 /* Register variable[6]: Once String constant */
1538 if (once_value_81
!= NIT_NULL
) variable
[6] = once_value_81
;
1540 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1541 once_value_81
= variable
[6];
1543 /* Register variable[6]: Result */
1544 /* Ensure var variable[6]: super-string element*/
1545 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1546 /* Register variable[5]: Result */
1547 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
1548 CALL_mmloader___ToolContext___error(variable
[4])(variable
[4], variable
[5]) /*ToolContext::error*/;
1549 return_label78
: while(false);
1550 tracehead
= trace
.prev
;
1553 void syntax_base___AbsSyntaxVisitor___warning(val_t self
, val_t param0
, val_t param1
) {
1554 struct trace_t trace
= {NULL
, NULL
, 343, LOCATE_syntax_base___AbsSyntaxVisitor___warning
};
1555 static val_t once_value_83
= NIT_NULL
; /* Once value for string variable[6]*/
1556 static val_t once_value_84
= NIT_NULL
; /* Once value for string variable[6]*/
1557 static val_t once_value_85
= NIT_NULL
; /* Once value for string variable[6]*/
1559 struct WBT_
**closurevariable
= NULL
;
1560 trace
.prev
= tracehead
; tracehead
= &trace
;
1561 trace
.file
= LOCATE_syntax_base
;
1562 /* Register variable[0]: Local variable */
1564 /* Register variable[1]: Local variable */
1565 variable
[1] = param0
;
1566 /* Register variable[2]: Local variable */
1567 variable
[2] = param1
;
1568 /* Register variable[3]: Method return value and escape marker */
1569 /* Register variable[4]: Result */
1570 variable
[4] = ATTR_syntax_base___AbsSyntaxVisitor____tc(variable
[0]) /*AbsSyntaxVisitor::_tc*/;
1571 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1572 /* Register variable[6]: Once String constant */
1573 if (once_value_83
!= NIT_NULL
) variable
[6] = once_value_83
;
1575 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1576 once_value_83
= variable
[6];
1578 /* Register variable[6]: Result */
1579 /* Ensure var variable[6]: super-string element*/
1580 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1581 /* Register variable[6]: Result */
1582 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___locate(variable
[0])(variable
[0], variable
[1] /*n*/) /*AbsSyntaxVisitor::locate*/;
1583 /* Ensure var variable[6]: super-string element*/
1584 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1585 /* Register variable[6]: Once String constant */
1586 if (once_value_84
!= NIT_NULL
) variable
[6] = once_value_84
;
1588 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)) /*new String*/;
1589 once_value_84
= variable
[6];
1591 /* Register variable[6]: Result */
1592 /* Ensure var variable[6]: super-string element*/
1593 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1594 variable
[6] = variable
[2] /*s*/ /* Ensure var: super-string element*/;
1595 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1596 /* Register variable[6]: Once String constant */
1597 if (once_value_85
!= NIT_NULL
) variable
[6] = once_value_85
;
1599 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1600 once_value_85
= variable
[6];
1602 /* Register variable[6]: Result */
1603 /* Ensure var variable[6]: super-string element*/
1604 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1605 /* Register variable[5]: Result */
1606 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
1607 CALL_mmloader___ToolContext___warning(variable
[4])(variable
[4], variable
[5]) /*ToolContext::warning*/;
1608 return_label82
: while(false);
1609 tracehead
= trace
.prev
;
1612 val_t
syntax_base___AbsSyntaxVisitor___locate(val_t self
, val_t param0
) {
1613 struct trace_t trace
= {NULL
, NULL
, 349, LOCATE_syntax_base___AbsSyntaxVisitor___locate
};
1615 struct WBT_
**closurevariable
= NULL
;
1616 trace
.prev
= tracehead
; tracehead
= &trace
;
1617 trace
.file
= LOCATE_syntax_base
;
1618 /* Register variable[0]: Local variable */
1620 /* Register variable[1]: Local variable */
1621 variable
[1] = param0
;
1622 /* Register variable[2]: Method return value and escape marker */
1623 /* Register variable[3]: Result */
1624 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*n*/ == NIT_NULL
/*null*/) || (( variable
[1] /*n*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*n*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*n*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*n*/)( variable
[1] /*n*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1625 if (UNTAG_Bool(variable
[3])) { /*if*/
1626 /* Register variable[3]: Result */
1627 variable
[3] = CALL_parser_prod___PNode___locate( variable
[1] /*n*/)( variable
[1] /*n*/) /*PNode::locate*/;
1628 variable
[2] = variable
[3];
1629 goto return_label86
;
1631 /* Register variable[3]: Result */
1632 variable
[3] = ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/;
1633 /* Register variable[3]: Result */
1634 variable
[3] = CALL_abstractmetamodel___MMModule___filename(variable
[3])(variable
[3]) /*MMModule::filename*/;
1635 variable
[2] = variable
[3];
1636 goto return_label86
;
1637 return_label86
: while(false);
1638 tracehead
= trace
.prev
;
1641 val_t
syntax_base___AbsSyntaxVisitor___check_conform(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
1642 struct trace_t trace
= {NULL
, NULL
, 356, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform
};
1643 static val_t once_value_88
= NIT_NULL
; /* Once value for string variable[6]*/
1644 static val_t once_value_89
= NIT_NULL
; /* Once value for string variable[6]*/
1645 static val_t once_value_90
= NIT_NULL
; /* Once value for string variable[6]*/
1646 static val_t once_value_91
= NIT_NULL
; /* Once value for string variable[6]*/
1647 static val_t once_value_92
= NIT_NULL
; /* Once value for string variable[6]*/
1648 static val_t once_value_93
= NIT_NULL
; /* Once value for string variable[6]*/
1650 struct WBT_
**closurevariable
= NULL
;
1651 trace
.prev
= tracehead
; tracehead
= &trace
;
1652 trace
.file
= LOCATE_syntax_base
;
1653 /* Register variable[0]: Local variable */
1655 /* Register variable[1]: Local variable */
1656 variable
[1] = param0
;
1657 /* Register variable[2]: Local variable */
1658 variable
[2] = param1
;
1659 /* Register variable[3]: Local variable */
1660 variable
[3] = param2
;
1661 /* Register variable[4]: Method return value and escape marker */
1662 /* Register variable[5]: Result */
1663 variable
[5] = TAG_Bool(( variable
[3] /*stype*/ == NIT_NULL
/*null*/) || (( variable
[3] /*stype*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*stype*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*stype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*stype*/)( variable
[3] /*stype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1664 /* Ensure var variable[5]: Left 'or' operand*/
1665 if (!UNTAG_Bool(variable
[5])) { /* or */
1666 /* Register variable[5]: Result */
1667 variable
[5] = TAG_Bool(( variable
[2] /*subtype*/ == NIT_NULL
/*null*/) || (( variable
[2] /*subtype*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[2] /*subtype*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[2] /*subtype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[2] /*subtype*/)( variable
[2] /*subtype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1669 /* Register variable[5]: Result */
1670 if (UNTAG_Bool(variable
[5])) { /*if*/
1671 variable
[4] = TAG_Bool(false);
1672 goto return_label87
;
1674 /* Register variable[5]: Result */
1675 variable
[5] = CALL_static_type___MMType_____l( variable
[2] /*subtype*/)( variable
[2] /*subtype*/, variable
[3] /*stype*/) /*MMType::<*/;
1676 if (UNTAG_Bool(variable
[5])) { /*if*/
1677 variable
[4] = TAG_Bool(true);
1678 goto return_label87
;
1680 /* Register variable[5]: Result */
1681 variable
[5] = TAG_Bool(( variable
[2] /*subtype*/==NIT_NULL
) || VAL_ISA( variable
[2] /*subtype*/, COLOR_MMTypeNone
, ID_MMTypeNone
)) /*cast MMTypeNone*/;
1682 /* Ensure var variable[5]: Left 'or' operand*/
1683 if (!UNTAG_Bool(variable
[5])) { /* or */
1684 /* Register variable[5]: Result */
1685 variable
[5] = CALL_static_type___MMType___as_notnull( variable
[2] /*subtype*/)( variable
[2] /*subtype*/) /*MMType::as_notnull*/;
1686 /* Register variable[6]: Result */
1687 variable
[6] = CALL_static_type___MMType___as_notnull( variable
[3] /*stype*/)( variable
[3] /*stype*/) /*MMType::as_notnull*/;
1688 /* Register variable[5]: Result */
1689 variable
[5] = CALL_static_type___MMType_____l(variable
[5])(variable
[5], variable
[6]) /*MMType::<*/;
1691 /* Register variable[5]: Result */
1692 if (UNTAG_Bool(variable
[5])) { /*if*/
1693 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1694 /* Register variable[6]: Once String constant */
1695 if (once_value_88
!= NIT_NULL
) variable
[6] = once_value_88
;
1697 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("Nullable type warning: expected "), TAG_Int(32)) /*new String*/;
1698 once_value_88
= variable
[6];
1700 /* Register variable[6]: Result */
1701 /* Ensure var variable[6]: super-string element*/
1702 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1703 variable
[6] = variable
[3] /*stype*/ /* Ensure var: super-string element*/;
1704 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/) /*AbstractArray::add*/;
1705 /* Register variable[6]: Once String constant */
1706 if (once_value_89
!= NIT_NULL
) variable
[6] = once_value_89
;
1708 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(", got "), TAG_Int(6)) /*new String*/;
1709 once_value_89
= variable
[6];
1711 /* Register variable[6]: Result */
1712 /* Ensure var variable[6]: super-string element*/
1713 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1714 variable
[6] = variable
[2] /*subtype*/ /* Ensure var: super-string element*/;
1715 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/) /*AbstractArray::add*/;
1716 /* Register variable[6]: Once String constant */
1717 if (once_value_90
!= NIT_NULL
) variable
[6] = once_value_90
;
1719 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1720 once_value_90
= variable
[6];
1722 /* Register variable[6]: Result */
1723 /* Ensure var variable[6]: super-string element*/
1724 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1725 /* Register variable[5]: Result */
1726 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
1727 CALL_syntax_base___AbsSyntaxVisitor___warning(variable
[0])(variable
[0], variable
[1] /*n*/, variable
[5]) /*AbsSyntaxVisitor::warning*/;
1728 variable
[4] = TAG_Bool(true);
1729 goto return_label87
;
1731 variable
[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1732 /* Register variable[6]: Once String constant */
1733 if (once_value_91
!= NIT_NULL
) variable
[6] = once_value_91
;
1735 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("Type error: expected "), TAG_Int(21)) /*new String*/;
1736 once_value_91
= variable
[6];
1738 /* Register variable[6]: Result */
1739 /* Ensure var variable[6]: super-string element*/
1740 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1741 variable
[6] = variable
[3] /*stype*/ /* Ensure var: super-string element*/;
1742 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/) /*AbstractArray::add*/;
1743 /* Register variable[6]: Once String constant */
1744 if (once_value_92
!= NIT_NULL
) variable
[6] = once_value_92
;
1746 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(", got "), TAG_Int(6)) /*new String*/;
1747 once_value_92
= variable
[6];
1749 /* Register variable[6]: Result */
1750 /* Ensure var variable[6]: super-string element*/
1751 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1752 variable
[6] = variable
[2] /*subtype*/ /* Ensure var: super-string element*/;
1753 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], CALL_string___Object___to_s(variable
[6])(variable
[6]) /*Object::to_s*/) /*AbstractArray::add*/;
1754 /* Register variable[6]: Once String constant */
1755 if (once_value_93
!= NIT_NULL
) variable
[6] = once_value_93
;
1757 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1758 once_value_93
= variable
[6];
1760 /* Register variable[6]: Result */
1761 /* Ensure var variable[6]: super-string element*/
1762 CALL_abstract_collection___SimpleCollection___add(variable
[5])(variable
[5], variable
[6]) /*AbstractArray::add*/;
1763 /* Register variable[5]: Result */
1764 variable
[5] = CALL_string___Object___to_s(variable
[5])(variable
[5]) /*Object::to_s*/;
1765 CALL_syntax_base___AbsSyntaxVisitor___error(variable
[0])(variable
[0], variable
[1] /*n*/, variable
[5]) /*AbsSyntaxVisitor::error*/;
1766 variable
[4] = TAG_Bool(false);
1767 goto return_label87
;
1768 return_label87
: while(false);
1769 tracehead
= trace
.prev
;
1772 val_t
syntax_base___AbsSyntaxVisitor___check_expr(val_t self
, val_t param0
) {
1773 struct trace_t trace
= {NULL
, NULL
, 374, LOCATE_syntax_base___AbsSyntaxVisitor___check_expr
};
1774 static val_t once_value_95
= NIT_NULL
; /* Once value for string variable[4]*/
1775 static val_t once_value_96
= NIT_NULL
; /* Once value for string variable[4]*/
1776 static val_t once_value_97
= NIT_NULL
; /* Once value for string variable[3]*/
1778 struct WBT_
**closurevariable
= NULL
;
1779 trace
.prev
= tracehead
; tracehead
= &trace
;
1780 trace
.file
= LOCATE_syntax_base
;
1781 /* Register variable[0]: Local variable */
1783 /* Register variable[1]: Local variable */
1784 variable
[1] = param0
;
1785 /* Register variable[2]: Method return value and escape marker */
1786 /* Register variable[3]: Result */
1787 variable
[3] = CALL_syntax_base___PExpr___is_typed( variable
[1] /*n*/)( variable
[1] /*n*/) /*PExpr::is_typed*/;
1788 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[3])))) { /*if*/
1789 /* Register variable[3]: Result */
1790 variable
[3] = CALL_syntax_base___AbsSyntaxVisitor___tc(variable
[0])(variable
[0]) /*AbsSyntaxVisitor::tc*/;
1791 /* Register variable[3]: Result */
1792 variable
[3] = CALL_mmloader___ToolContext___error_count(variable
[3])(variable
[3]) /*ToolContext::error_count*/;
1793 /* Register variable[3]: Result */
1794 variable
[3] = TAG_Bool((variable
[3])==( TAG_Int(0)));
1795 if (UNTAG_Bool(variable
[3])) { /*if*/
1796 variable
[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1797 /* Register variable[4]: Once String constant */
1798 if (once_value_95
!= NIT_NULL
) variable
[4] = once_value_95
;
1800 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1801 once_value_95
= variable
[4];
1803 /* Register variable[4]: Result */
1804 /* Ensure var variable[4]: super-string element*/
1805 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
1806 /* Register variable[4]: Result */
1807 variable
[4] = CALL_parser_prod___PNode___locate( variable
[1] /*n*/)( variable
[1] /*n*/) /*Prod::locate*/;
1808 /* Ensure var variable[4]: super-string element*/
1809 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
1810 /* Register variable[4]: Once String constant */
1811 if (once_value_96
!= NIT_NULL
) variable
[4] = once_value_96
;
1813 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(" not typed but not error"), TAG_Int(24)) /*new String*/;
1814 once_value_96
= variable
[4];
1816 /* Register variable[4]: Result */
1817 /* Ensure var variable[4]: super-string element*/
1818 CALL_abstract_collection___SimpleCollection___add(variable
[3])(variable
[3], variable
[4]) /*AbstractArray::add*/;
1819 /* Register variable[3]: Result */
1820 variable
[3] = CALL_string___Object___to_s(variable
[3])(variable
[3]) /*Object::to_s*/;
1821 CALL_file___Object___print(variable
[0])(variable
[0], variable
[3]) /*Object::print*/;
1822 fprintf(stderr
, "Aborted"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_syntax_base___AbsSyntaxVisitor___check_expr
, LOCATE_syntax_base
, 382); nit_exit(1);
1824 variable
[2] = TAG_Bool(false);
1825 goto return_label94
;
1827 /* Register variable[3]: Result */
1828 variable
[3] = CALL_syntax_base___PExpr___is_statement( variable
[1] /*n*/)( variable
[1] /*n*/) /*PExpr::is_statement*/;
1829 if (UNTAG_Bool(variable
[3])) { /*if*/
1830 /* Register variable[3]: Once String constant */
1831 if (once_value_97
!= NIT_NULL
) variable
[3] = once_value_97
;
1833 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("Type error: expected expression."), TAG_Int(32)) /*new String*/;
1834 once_value_97
= variable
[3];
1836 /* Register variable[3]: Result */
1837 CALL_syntax_base___AbsSyntaxVisitor___error(variable
[0])(variable
[0], variable
[1] /*n*/, variable
[3]) /*AbsSyntaxVisitor::error*/;
1838 variable
[2] = TAG_Bool(false);
1839 goto return_label94
;
1842 variable
[2] = TAG_Bool(true);
1843 goto return_label94
;
1844 return_label94
: while(false);
1845 tracehead
= trace
.prev
;
1848 val_t
syntax_base___AbsSyntaxVisitor___check_conform_expr(val_t self
, val_t param0
, val_t param1
) {
1849 struct trace_t trace
= {NULL
, NULL
, 394, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform_expr
};
1851 struct WBT_
**closurevariable
= NULL
;
1852 trace
.prev
= tracehead
; tracehead
= &trace
;
1853 trace
.file
= LOCATE_syntax_base
;
1854 /* Register variable[0]: Local variable */
1856 /* Register variable[1]: Local variable */
1857 variable
[1] = param0
;
1858 /* Register variable[2]: Local variable */
1859 variable
[2] = param1
;
1860 /* Register variable[3]: Method return value and escape marker */
1861 /* Register variable[4]: Result */
1862 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___check_expr(variable
[0])(variable
[0], variable
[1] /*n*/) /*AbsSyntaxVisitor::check_expr*/;
1863 if (UNTAG_Bool(variable
[4])) { /*if*/
1864 /* Register variable[4]: Result */
1865 variable
[4] = CALL_syntax_base___PExpr___stype( variable
[1] /*n*/)( variable
[1] /*n*/) /*PExpr::stype*/;
1866 /* Register variable[4]: Result */
1867 variable
[4] = CALL_syntax_base___AbsSyntaxVisitor___check_conform(variable
[0])(variable
[0], variable
[1] /*n*/, variable
[4], variable
[2] /*stype*/) /*AbsSyntaxVisitor::check_conform*/;
1868 variable
[3] = variable
[4];
1869 goto return_label98
;
1871 variable
[3] = TAG_Bool(false);
1872 goto return_label98
;
1874 return_label98
: while(false);
1875 tracehead
= trace
.prev
;
1878 val_t
syntax_base___AbsSyntaxVisitor___check_conform_multiexpr(val_t self
, val_t param0
, val_t param1
) {
1879 struct trace_t trace
= {NULL
, NULL
, 400, LOCATE_syntax_base___AbsSyntaxVisitor___check_conform_multiexpr
};
1880 static val_t once_value_102
= NIT_NULL
; /* Once value for string variable[9]*/
1881 static val_t once_value_103
= NIT_NULL
; /* Once value for string variable[9]*/
1882 static val_t once_value_104
= NIT_NULL
; /* Once value for string variable[9]*/
1883 static val_t once_value_105
= NIT_NULL
; /* Once value for string variable[9]*/
1884 static val_t once_value_106
= NIT_NULL
; /* Once value for string variable[9]*/
1885 static val_t once_value_107
= NIT_NULL
; /* Once value for string variable[9]*/
1886 static val_t once_value_108
= NIT_NULL
; /* Once value for string variable[9]*/
1888 struct WBT_
**closurevariable
= NULL
;
1889 trace
.prev
= tracehead
; tracehead
= &trace
;
1890 trace
.file
= LOCATE_syntax_base
;
1891 /* Register variable[0]: Local variable */
1893 /* Register variable[1]: Local variable */
1894 variable
[1] = param0
;
1895 /* Register variable[2]: Local variable */
1896 variable
[2] = param1
;
1897 /* Register variable[3]: Method return value and escape marker */
1898 /* Register variable[4]: Local variable */
1899 variable
[4] = NIT_NULL
/*null*/;
1900 /* Register variable[5]: For iterator */
1901 variable
[5] = CALL_abstract_collection___Collection___iterator( variable
[2] /*nodes*/)( variable
[2] /*nodes*/) /*Collection::iterator*/;
1902 while (true) { /*for*/
1903 /* Register variable[6]: For 'is_ok' result */
1904 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*Iterator::is_ok*/;
1905 if (!UNTAG_Bool(variable
[6])) break; /*for*/
1906 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*Iterator::item*/ /* Ensure var: For item*/;
1907 /* Register variable[7]: Local variable */
1908 variable
[7] = variable
[6];
1909 /* Register variable[8]: Result */
1910 variable
[8] = CALL_syntax_base___AbsSyntaxVisitor___check_expr(variable
[0])(variable
[0], variable
[7] /*n*/) /*AbsSyntaxVisitor::check_expr*/;
1911 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[8])))) { /*if*/
1912 variable
[3] = NIT_NULL
/*null*/;
1913 goto return_label99
;
1915 /* Register variable[8]: Local variable */
1916 /* Register variable[9]: Result */
1917 variable
[9] = CALL_syntax_base___PExpr___stype( variable
[7] /*n*/)( variable
[7] /*n*/) /*PExpr::stype*/;
1918 variable
[8] = variable
[9];
1919 /* Register variable[9]: Result */
1920 variable
[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*stype*/ == NIT_NULL
/*null*/) || (( variable
[1] /*stype*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*stype*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*stype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*stype*/)( variable
[1] /*stype*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1921 /* Ensure var variable[9]: Left 'and' operand*/
1922 if (UNTAG_Bool(variable
[9])) { /* and */
1923 /* Register variable[9]: Result */
1924 variable
[9] = CALL_static_type___MMType___is_nullable( variable
[1] /*stype*/)( variable
[1] /*stype*/) /*MMType::is_nullable*/;
1925 /* Register variable[10]: Result */
1926 variable
[10] = CALL_static_type___MMType___is_nullable( variable
[8] /*ntype*/)( variable
[8] /*ntype*/) /*MMType::is_nullable*/;
1927 /* Register variable[9]: Result */
1928 variable
[9] = TAG_Bool((variable
[9])!=(variable
[10]));
1930 /* Register variable[9]: Result */
1931 if (UNTAG_Bool(variable
[9])) { /*if*/
1932 /* Register variable[9]: Result */
1933 variable
[9] = CALL_static_type___MMType___as_nullable( variable
[1] /*stype*/)( variable
[1] /*stype*/) /*MMType::as_nullable*/;
1934 variable
[1] = variable
[9] /*stype=*/;
1935 /* Register variable[9]: Result */
1936 variable
[9] = CALL_static_type___MMType___as_nullable( variable
[8] /*ntype*/)( variable
[8] /*ntype*/) /*MMType::as_nullable*/;
1937 variable
[8] = variable
[9] /*ntype=*/;
1939 /* Register variable[9]: Result */
1940 variable
[9] = TAG_Bool(( variable
[1] /*stype*/ == NIT_NULL
/*null*/) || (( variable
[1] /*stype*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[1] /*stype*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*stype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[1] /*stype*/)( variable
[1] /*stype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1941 /* Ensure var variable[9]: Left 'or' operand*/
1942 if (!UNTAG_Bool(variable
[9])) { /* or */
1943 /* Register variable[9]: Result */
1944 variable
[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[8] /*ntype*/ == NIT_NULL
/*null*/) || (( variable
[8] /*ntype*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[8] /*ntype*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[8] /*ntype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[8] /*ntype*/)( variable
[8] /*ntype*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1945 /* Ensure var variable[9]: Left 'and' operand*/
1946 if (UNTAG_Bool(variable
[9])) { /* and */
1947 /* Register variable[9]: Result */
1948 variable
[9] = CALL_static_type___MMType_____l( variable
[1] /*stype*/)( variable
[1] /*stype*/, variable
[8] /*ntype*/) /*MMType::<*/;
1950 /* Register variable[9]: Result */
1952 /* Register variable[9]: Result */
1953 if (UNTAG_Bool(variable
[9])) { /*if*/
1954 variable
[1] = variable
[8] /*ntype*/ /*stype=*/;
1955 variable
[4] = variable
[7] /*n*/ /*node=*/;
1957 continue_100
: while(0);
1958 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*Iterator::next*/;
1960 break_100
: while(0);
1961 /* Register variable[5]: For iterator */
1962 variable
[5] = CALL_abstract_collection___Collection___iterator( variable
[2] /*nodes*/)( variable
[2] /*nodes*/) /*Collection::iterator*/;
1963 while (true) { /*for*/
1964 /* Register variable[6]: For 'is_ok' result */
1965 variable
[6] = CALL_abstract_collection___Iterator___is_ok(variable
[5])(variable
[5]) /*Iterator::is_ok*/;
1966 if (!UNTAG_Bool(variable
[6])) break; /*for*/
1967 variable
[6] = CALL_abstract_collection___Iterator___item(variable
[5])(variable
[5]) /*Iterator::item*/ /* Ensure var: For item*/;
1968 /* Register variable[7]: Local variable */
1969 variable
[7] = variable
[6];
1970 /* Register variable[8]: Result */
1971 variable
[8] = CALL_syntax_base___PExpr___stype( variable
[7] /*n*/)( variable
[7] /*n*/) /*PExpr::stype*/;
1972 /* Register variable[8]: Result */
1973 variable
[8] = CALL_static_type___MMType_____l(variable
[8])(variable
[8], variable
[1] /*stype*/) /*MMType::<*/;
1974 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[8])))) { /*if*/
1975 /* Register variable[8]: Result */
1976 variable
[8] = TAG_Bool(( variable
[4] /*node*/ == NIT_NULL
/*null*/) || (( variable
[4] /*node*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[4] /*node*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[4] /*node*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[4] /*node*/)( variable
[4] /*node*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1977 if (UNTAG_Bool(variable
[8])) { /*if*/
1978 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1979 /* Register variable[9]: Once String constant */
1980 if (once_value_102
!= NIT_NULL
) variable
[9] = once_value_102
;
1982 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Type error: no most general type. Got "), TAG_Int(38)) /*new String*/;
1983 once_value_102
= variable
[9];
1985 /* Register variable[9]: Result */
1986 /* Ensure var variable[9]: super-string element*/
1987 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
1988 /* Register variable[9]: Result */
1989 variable
[9] = CALL_syntax_base___PExpr___stype( variable
[7] /*n*/)( variable
[7] /*n*/) /*PExpr::stype*/;
1990 /* Ensure var variable[9]: super-string element*/
1991 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
1992 /* Register variable[9]: Once String constant */
1993 if (once_value_103
!= NIT_NULL
) variable
[9] = once_value_103
;
1995 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)) /*new String*/;
1996 once_value_103
= variable
[9];
1998 /* Register variable[9]: Result */
1999 /* Ensure var variable[9]: super-string element*/
2000 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2001 variable
[9] = variable
[1] /*stype*/ /* Ensure var: super-string element*/;
2002 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2003 /* Register variable[9]: Once String constant */
2004 if (once_value_104
!= NIT_NULL
) variable
[9] = once_value_104
;
2006 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2007 once_value_104
= variable
[9];
2009 /* Register variable[9]: Result */
2010 /* Ensure var variable[9]: super-string element*/
2011 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2012 /* Register variable[8]: Result */
2013 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
2014 CALL_syntax_base___AbsSyntaxVisitor___error(variable
[0])(variable
[0], variable
[7] /*n*/, variable
[8]) /*AbsSyntaxVisitor::error*/;
2016 variable
[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2017 /* Register variable[9]: Once String constant */
2018 if (once_value_105
!= NIT_NULL
) variable
[9] = once_value_105
;
2020 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("Type error: no most general type. Got "), TAG_Int(38)) /*new String*/;
2021 once_value_105
= variable
[9];
2023 /* Register variable[9]: Result */
2024 /* Ensure var variable[9]: super-string element*/
2025 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2026 /* Register variable[9]: Result */
2027 variable
[9] = CALL_syntax_base___PExpr___stype( variable
[7] /*n*/)( variable
[7] /*n*/) /*PExpr::stype*/;
2028 /* Ensure var variable[9]: super-string element*/
2029 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2030 /* Register variable[9]: Once String constant */
2031 if (once_value_106
!= NIT_NULL
) variable
[9] = once_value_106
;
2033 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" and "), TAG_Int(5)) /*new String*/;
2034 once_value_106
= variable
[9];
2036 /* Register variable[9]: Result */
2037 /* Ensure var variable[9]: super-string element*/
2038 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2039 variable
[9] = variable
[1] /*stype*/ /* Ensure var: super-string element*/;
2040 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/) /*AbstractArray::add*/;
2041 /* Register variable[9]: Once String constant */
2042 if (once_value_107
!= NIT_NULL
) variable
[9] = once_value_107
;
2044 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(" at "), TAG_Int(4)) /*new String*/;
2045 once_value_107
= variable
[9];
2047 /* Register variable[9]: Result */
2048 /* Ensure var variable[9]: super-string element*/
2049 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2050 /* Register variable[9]: Result */
2051 variable
[9] = CALL_parser_prod___PNode___locate( variable
[4] /*node*/)( variable
[4] /*node*/) /*Prod::locate*/;
2052 /* Ensure var variable[9]: super-string element*/
2053 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2054 /* Register variable[9]: Once String constant */
2055 if (once_value_108
!= NIT_NULL
) variable
[9] = once_value_108
;
2057 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2058 once_value_108
= variable
[9];
2060 /* Register variable[9]: Result */
2061 /* Ensure var variable[9]: super-string element*/
2062 CALL_abstract_collection___SimpleCollection___add(variable
[8])(variable
[8], variable
[9]) /*AbstractArray::add*/;
2063 /* Register variable[8]: Result */
2064 variable
[8] = CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/;
2065 CALL_syntax_base___AbsSyntaxVisitor___error(variable
[0])(variable
[0], variable
[7] /*n*/, variable
[8]) /*AbsSyntaxVisitor::error*/;
2067 variable
[3] = NIT_NULL
/*null*/;
2068 goto return_label99
;
2070 continue_101
: while(0);
2071 CALL_abstract_collection___Iterator___next(variable
[5])(variable
[5]) /*Iterator::next*/;
2073 break_101
: while(0);
2074 variable
[3] = variable
[1] /*stype*/;
2075 goto return_label99
;
2076 return_label99
: while(false);
2077 tracehead
= trace
.prev
;
2080 void syntax_base___AbsSyntaxVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
2081 struct trace_t trace
= {NULL
, NULL
, 439, LOCATE_syntax_base___AbsSyntaxVisitor___init
};
2083 struct WBT_
**closurevariable
= NULL
;
2084 trace
.prev
= tracehead
; tracehead
= &trace
;
2085 trace
.file
= LOCATE_syntax_base
;
2086 /* Register variable[0]: Local variable */
2088 /* Register variable[1]: Local variable */
2089 variable
[1] = param0
;
2090 /* Register variable[2]: Local variable */
2091 variable
[2] = param1
;
2092 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_AbsSyntaxVisitor
].i
]) return;
2093 /* Register variable[3]: Method return value and escape marker */
2094 ATTR_syntax_base___AbsSyntaxVisitor____tc(variable
[0]) /*AbsSyntaxVisitor::_tc*/ = variable
[1] /*tc*/;
2095 ATTR_syntax_base___AbsSyntaxVisitor____module(variable
[0]) /*AbsSyntaxVisitor::_module*/ = variable
[2] /*module*/;
2096 return_label109
: while(false);
2097 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_AbsSyntaxVisitor
].i
] = 1;
2098 tracehead
= trace
.prev
;
2101 void syntax_base___PNode___accept_abs_syntax_visitor(val_t self
, val_t param0
) {
2102 struct trace_t trace
= {NULL
, NULL
, 449, LOCATE_syntax_base___PNode___accept_abs_syntax_visitor
};
2104 struct WBT_
**closurevariable
= NULL
;
2105 trace
.prev
= tracehead
; tracehead
= &trace
;
2106 trace
.file
= LOCATE_syntax_base
;
2107 /* Register variable[0]: Local variable */
2109 /* Register variable[1]: Local variable */
2110 variable
[1] = param0
;
2111 /* Register variable[2]: Method return value and escape marker */
2112 CALL_parser_prod___PNode___visit_all(variable
[0])(variable
[0], variable
[1] /*v*/) /*PNode::visit_all*/;
2113 return_label110
: while(false);
2114 tracehead
= trace
.prev
;
2117 val_t
syntax_base___Token___to_symbol(val_t self
) {
2118 struct trace_t trace
= {NULL
, NULL
, 455, LOCATE_syntax_base___Token___to_symbol
};
2120 struct WBT_
**closurevariable
= NULL
;
2121 trace
.prev
= tracehead
; tracehead
= &trace
;
2122 trace
.file
= LOCATE_syntax_base
;
2123 /* Register variable[0]: Local variable */
2125 /* Register variable[1]: Method return value and escape marker */
2126 /* Register variable[2]: Local variable */
2127 /* Register variable[3]: Result */
2128 variable
[3] = ATTR_syntax_base___Token____symbol(variable
[0]) /*Token::_symbol*/;
2129 variable
[2] = variable
[3];
2130 /* Register variable[3]: Result */
2131 variable
[3] = TAG_Bool(( variable
[2] /*s*/ == NIT_NULL
/*null*/) || (( variable
[2] /*s*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[2] /*s*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[2] /*s*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[2] /*s*/)( variable
[2] /*s*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2132 if (UNTAG_Bool(variable
[3])) { /*if*/
2133 /* Register variable[3]: Result */
2134 variable
[3] = CALL_lexer___Token___text(variable
[0])(variable
[0]) /*Token::text*/;
2135 /* Register variable[3]: Result */
2136 variable
[3] = CALL_symbol___String___to_symbol(variable
[3])(variable
[3]) /*String::to_symbol*/;
2137 variable
[2] = variable
[3] /*s=*/;
2138 ATTR_syntax_base___Token____symbol(variable
[0]) /*Token::_symbol*/ = variable
[2] /*s*/;
2140 variable
[1] = variable
[2] /*s*/;
2141 goto return_label111
;
2142 return_label111
: while(false);
2143 tracehead
= trace
.prev
;
2146 val_t
syntax_base___PClassdef___local_class(val_t self
) {
2147 struct trace_t trace
= {NULL
, NULL
, 469, LOCATE_syntax_base___PClassdef___local_class
};
2148 val_t
*variable
= NULL
;
2149 struct WBT_
**closurevariable
= NULL
;
2150 trace
.prev
= tracehead
; tracehead
= &trace
;
2151 trace
.file
= LOCATE_syntax_base
;
2152 fprintf(stderr
, "Deferred method called");
2153 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 469);
2155 tracehead
= trace
.prev
;
2158 val_t
syntax_base___AAttrPropdef___prop(val_t self
) {
2159 struct trace_t trace
= {NULL
, NULL
, 474, LOCATE_syntax_base___AAttrPropdef___prop
};
2160 val_t
*variable
= NULL
;
2161 struct WBT_
**closurevariable
= NULL
;
2162 trace
.prev
= tracehead
; tracehead
= &trace
;
2163 trace
.file
= LOCATE_syntax_base
;
2164 fprintf(stderr
, "Deferred method called");
2165 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 474);
2167 tracehead
= trace
.prev
;
2170 val_t
syntax_base___AAttrPropdef___readmethod(val_t self
) {
2171 struct trace_t trace
= {NULL
, NULL
, 477, LOCATE_syntax_base___AAttrPropdef___readmethod
};
2172 val_t
*variable
= NULL
;
2173 struct WBT_
**closurevariable
= NULL
;
2174 trace
.prev
= tracehead
; tracehead
= &trace
;
2175 trace
.file
= LOCATE_syntax_base
;
2176 fprintf(stderr
, "Deferred method called");
2177 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 477);
2179 tracehead
= trace
.prev
;
2182 val_t
syntax_base___AAttrPropdef___writemethod(val_t self
) {
2183 struct trace_t trace
= {NULL
, NULL
, 480, LOCATE_syntax_base___AAttrPropdef___writemethod
};
2184 val_t
*variable
= NULL
;
2185 struct WBT_
**closurevariable
= NULL
;
2186 trace
.prev
= tracehead
; tracehead
= &trace
;
2187 trace
.file
= LOCATE_syntax_base
;
2188 fprintf(stderr
, "Deferred method called");
2189 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 480);
2191 tracehead
= trace
.prev
;
2194 val_t
syntax_base___AMethPropdef___method(val_t self
) {
2195 struct trace_t trace
= {NULL
, NULL
, 485, LOCATE_syntax_base___AMethPropdef___method
};
2196 val_t
*variable
= NULL
;
2197 struct WBT_
**closurevariable
= NULL
;
2198 trace
.prev
= tracehead
; tracehead
= &trace
;
2199 trace
.file
= LOCATE_syntax_base
;
2200 fprintf(stderr
, "Deferred method called");
2201 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 485);
2203 tracehead
= trace
.prev
;
2206 val_t
syntax_base___AMethPropdef___self_var(val_t self
) {
2207 struct trace_t trace
= {NULL
, NULL
, 488, LOCATE_syntax_base___AMethPropdef___self_var
};
2208 val_t
*variable
= NULL
;
2209 struct WBT_
**closurevariable
= NULL
;
2210 trace
.prev
= tracehead
; tracehead
= &trace
;
2211 trace
.file
= LOCATE_syntax_base
;
2212 fprintf(stderr
, "Deferred method called");
2213 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 488);
2215 tracehead
= trace
.prev
;
2218 val_t
syntax_base___ATypePropdef___prop(val_t self
) {
2219 struct trace_t trace
= {NULL
, NULL
, 493, LOCATE_syntax_base___ATypePropdef___prop
};
2220 val_t
*variable
= NULL
;
2221 struct WBT_
**closurevariable
= NULL
;
2222 trace
.prev
= tracehead
; tracehead
= &trace
;
2223 trace
.file
= LOCATE_syntax_base
;
2224 fprintf(stderr
, "Deferred method called");
2225 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 493);
2227 tracehead
= trace
.prev
;
2230 val_t
syntax_base___PParam___position(val_t self
) {
2231 struct trace_t trace
= {NULL
, NULL
, 498, LOCATE_syntax_base___PParam___position
};
2232 val_t
*variable
= NULL
;
2233 struct WBT_
**closurevariable
= NULL
;
2234 trace
.prev
= tracehead
; tracehead
= &trace
;
2235 trace
.file
= LOCATE_syntax_base
;
2236 fprintf(stderr
, "Deferred method called");
2237 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 498);
2239 tracehead
= trace
.prev
;
2242 val_t
syntax_base___PParam___variable(val_t self
) {
2243 struct trace_t trace
= {NULL
, NULL
, 501, LOCATE_syntax_base___PParam___variable
};
2244 val_t
*variable
= NULL
;
2245 struct WBT_
**closurevariable
= NULL
;
2246 trace
.prev
= tracehead
; tracehead
= &trace
;
2247 trace
.file
= LOCATE_syntax_base
;
2248 fprintf(stderr
, "Deferred method called");
2249 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 501);
2251 tracehead
= trace
.prev
;
2254 val_t
syntax_base___PClosureDecl___variable(val_t self
) {
2255 struct trace_t trace
= {NULL
, NULL
, 506, LOCATE_syntax_base___PClosureDecl___variable
};
2256 val_t
*variable
= NULL
;
2257 struct WBT_
**closurevariable
= NULL
;
2258 trace
.prev
= tracehead
; tracehead
= &trace
;
2259 trace
.file
= LOCATE_syntax_base
;
2260 fprintf(stderr
, "Deferred method called");
2261 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 506);
2263 tracehead
= trace
.prev
;
2266 val_t
syntax_base___PType___get_local_class(val_t self
, val_t param0
) {
2267 struct trace_t trace
= {NULL
, NULL
, 511, LOCATE_syntax_base___PType___get_local_class
};
2268 val_t
*variable
= NULL
;
2269 struct WBT_
**closurevariable
= NULL
;
2270 trace
.prev
= tracehead
; tracehead
= &trace
;
2271 trace
.file
= LOCATE_syntax_base
;
2272 fprintf(stderr
, "Deferred method called");
2273 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 511);
2275 tracehead
= trace
.prev
;
2278 val_t
syntax_base___PType___get_stype(val_t self
, val_t param0
) {
2279 struct trace_t trace
= {NULL
, NULL
, 516, LOCATE_syntax_base___PType___get_stype
};
2280 val_t
*variable
= NULL
;
2281 struct WBT_
**closurevariable
= NULL
;
2282 trace
.prev
= tracehead
; tracehead
= &trace
;
2283 trace
.file
= LOCATE_syntax_base
;
2284 fprintf(stderr
, "Deferred method called");
2285 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 516);
2287 tracehead
= trace
.prev
;
2290 val_t
syntax_base___PType___get_unchecked_stype(val_t self
, val_t param0
) {
2291 struct trace_t trace
= {NULL
, NULL
, 520, LOCATE_syntax_base___PType___get_unchecked_stype
};
2292 val_t
*variable
= NULL
;
2293 struct WBT_
**closurevariable
= NULL
;
2294 trace
.prev
= tracehead
; tracehead
= &trace
;
2295 trace
.file
= LOCATE_syntax_base
;
2296 fprintf(stderr
, "Deferred method called");
2297 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 520);
2299 tracehead
= trace
.prev
;
2302 void syntax_base___PType___check_conform(val_t self
, val_t param0
) {
2303 struct trace_t trace
= {NULL
, NULL
, 526, LOCATE_syntax_base___PType___check_conform
};
2304 val_t
*variable
= NULL
;
2305 struct WBT_
**closurevariable
= NULL
;
2306 trace
.prev
= tracehead
; tracehead
= &trace
;
2307 trace
.file
= LOCATE_syntax_base
;
2308 fprintf(stderr
, "Deferred method called");
2309 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 526);
2311 tracehead
= trace
.prev
;
2314 val_t
syntax_base___AType___get_local_class(val_t self
, val_t param0
) {
2315 struct trace_t trace
= {NULL
, NULL
, 536, LOCATE_syntax_base___AType___get_local_class
};
2316 static val_t once_value_113
= NIT_NULL
; /* Once value for string variable[8]*/
2317 static val_t once_value_114
= NIT_NULL
; /* Once value for string variable[8]*/
2318 static val_t once_value_115
= NIT_NULL
; /* Once value for string variable[8]*/
2319 static val_t once_value_116
= NIT_NULL
; /* Once value for string variable[8]*/
2320 static val_t once_value_117
= NIT_NULL
; /* Once value for string variable[8]*/
2322 struct WBT_
**closurevariable
= NULL
;
2323 trace
.prev
= tracehead
; tracehead
= &trace
;
2324 trace
.file
= LOCATE_syntax_base
;
2325 /* Register variable[0]: Local variable */
2327 /* Register variable[1]: Local variable */
2328 variable
[1] = param0
;
2329 /* Register variable[2]: Method return value and escape marker */
2330 /* Register variable[3]: Local variable */
2331 /* Register variable[4]: Result */
2332 variable
[4] = CALL_parser_nodes___AType___n_id(variable
[0])(variable
[0]) /*AType::n_id*/;
2333 /* Register variable[4]: Result */
2334 variable
[4] = CALL_syntax_base___Token___to_symbol(variable
[4])(variable
[4]) /*Token::to_symbol*/;
2335 variable
[3] = variable
[4];
2336 /* Register variable[4]: Local variable */
2337 /* Register variable[5]: Result */
2338 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
2339 variable
[4] = variable
[5];
2340 /* Register variable[5]: Local variable */
2341 /* Register variable[6]: Result */
2342 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2343 variable
[5] = variable
[6];
2344 /* Register variable[6]: Result */
2345 variable
[6] = CALL_syntax_base___MMSrcLocalClass___formal_dict( variable
[5] /*cla*/)( variable
[5] /*cla*/) /*MMSrcLocalClass::formal_dict*/;
2346 /* Register variable[6]: Result */
2347 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[6] == NIT_NULL
/*null*/) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], NIT_NULL
/*null*/) /*Object::==*/)))))));
2348 /* Ensure var variable[6]: Left 'and' operand*/
2349 if (UNTAG_Bool(variable
[6])) { /* and */
2350 /* Register variable[6]: Result */
2351 variable
[6] = CALL_syntax_base___MMSrcLocalClass___formal_dict( variable
[5] /*cla*/)( variable
[5] /*cla*/) /*MMSrcLocalClass::formal_dict*/;
2352 /* Register variable[6]: Result */
2353 variable
[6] = CALL_abstract_collection___MapRead___has_key(variable
[6])(variable
[6], variable
[3] /*name*/) /*MapRead::has_key*/;
2355 /* Register variable[6]: Result */
2356 /* Ensure var variable[6]: Left 'or' operand*/
2357 if (!UNTAG_Bool(variable
[6])) { /* or */
2358 /* Register variable[6]: Result */
2359 variable
[6] = CALL_abstractmetamodel___MMLocalClass___global_properties( variable
[5] /*cla*/)( variable
[5] /*cla*/) /*MMLocalClass::global_properties*/;
2360 /* Register variable[6]: Result */
2361 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[6] == NIT_NULL
/*null*/) || ((variable
[6] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[6])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[6], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[6])(variable
[6], NIT_NULL
/*null*/) /*Object::==*/)))))));
2362 /* Ensure var variable[6]: Left 'and' operand*/
2363 if (UNTAG_Bool(variable
[6])) { /* and */
2364 /* Register variable[6]: Result */
2365 variable
[6] = CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name( variable
[5] /*cla*/)( variable
[5] /*cla*/, variable
[3] /*name*/) /*MMLocalClass::has_global_property_by_name*/;
2367 /* Register variable[6]: Result */
2369 /* Register variable[6]: Result */
2370 if (UNTAG_Bool(variable
[6])) { /*if*/
2371 /* Register variable[6]: Result */
2372 variable
[6] = CALL_parser_nodes___AType___n_id(variable
[0])(variable
[0]) /*AType::n_id*/;
2373 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2374 /* Register variable[8]: Once String constant */
2375 if (once_value_113
!= NIT_NULL
) variable
[8] = once_value_113
;
2377 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)) /*new String*/;
2378 once_value_113
= variable
[8];
2380 /* Register variable[8]: Result */
2381 /* Ensure var variable[8]: super-string element*/
2382 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2383 variable
[8] = variable
[3] /*name*/ /* Ensure var: super-string element*/;
2384 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
2385 /* Register variable[8]: Once String constant */
2386 if (once_value_114
!= NIT_NULL
) variable
[8] = once_value_114
;
2388 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" is a formal type"), TAG_Int(17)) /*new String*/;
2389 once_value_114
= variable
[8];
2391 /* Register variable[8]: Result */
2392 /* Ensure var variable[8]: super-string element*/
2393 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2394 /* Register variable[7]: Result */
2395 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
2396 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6], variable
[7]) /*AbsSyntaxVisitor::error*/;
2397 ATTR_syntax_base___AType____stype_cached(variable
[0]) /*AType::_stype_cached*/ = TAG_Bool(true);
2398 variable
[2] = NIT_NULL
/*null*/;
2399 goto return_label112
;
2401 /* Register variable[6]: Result */
2402 variable
[6] = CALL_abstractmetamodel___MMModule___has_global_class_named( variable
[4] /*mod*/)( variable
[4] /*mod*/, variable
[3] /*name*/) /*MMModule::has_global_class_named*/;
2403 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[6])))) { /*if*/
2404 /* Register variable[6]: Result */
2405 variable
[6] = CALL_parser_nodes___AType___n_id(variable
[0])(variable
[0]) /*AType::n_id*/;
2406 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2407 /* Register variable[8]: Once String constant */
2408 if (once_value_115
!= NIT_NULL
) variable
[8] = once_value_115
;
2410 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Type error: class "), TAG_Int(18)) /*new String*/;
2411 once_value_115
= variable
[8];
2413 /* Register variable[8]: Result */
2414 /* Ensure var variable[8]: super-string element*/
2415 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2416 variable
[8] = variable
[3] /*name*/ /* Ensure var: super-string element*/;
2417 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
2418 /* Register variable[8]: Once String constant */
2419 if (once_value_116
!= NIT_NULL
) variable
[8] = once_value_116
;
2421 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" not found in module "), TAG_Int(21)) /*new String*/;
2422 once_value_116
= variable
[8];
2424 /* Register variable[8]: Result */
2425 /* Ensure var variable[8]: super-string element*/
2426 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2427 variable
[8] = variable
[4] /*mod*/ /* Ensure var: super-string element*/;
2428 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
2429 /* Register variable[8]: Once String constant */
2430 if (once_value_117
!= NIT_NULL
) variable
[8] = once_value_117
;
2432 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2433 once_value_117
= variable
[8];
2435 /* Register variable[8]: Result */
2436 /* Ensure var variable[8]: super-string element*/
2437 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2438 /* Register variable[7]: Result */
2439 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
2440 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[6], variable
[7]) /*AbsSyntaxVisitor::error*/;
2441 ATTR_syntax_base___AType____stype_cached(variable
[0]) /*AType::_stype_cached*/ = TAG_Bool(true);
2442 variable
[2] = NIT_NULL
/*null*/;
2443 goto return_label112
;
2445 /* Register variable[6]: Local variable */
2446 /* Register variable[7]: Result */
2447 variable
[7] = CALL_abstractmetamodel___MMModule___class_by_name( variable
[4] /*mod*/)( variable
[4] /*mod*/, variable
[3] /*name*/) /*MMModule::class_by_name*/;
2448 variable
[6] = variable
[7];
2449 /* Register variable[7]: Result */
2450 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global( variable
[6] /*local_class*/)( variable
[6] /*local_class*/) /*MMLocalClass::global*/;
2451 CALL_syntax_base___MMGlobalClass___check_visibility(variable
[7])(variable
[7], variable
[1] /*v*/, variable
[0], variable
[4] /*mod*/) /*MMGlobalClass::check_visibility*/;
2452 variable
[2] = variable
[6] /*local_class*/;
2453 goto return_label112
;
2454 return_label112
: while(false);
2455 tracehead
= trace
.prev
;
2458 val_t
syntax_base___AType___get_stype(val_t self
, val_t param0
) {
2459 struct trace_t trace
= {NULL
, NULL
, 618, LOCATE_syntax_base___AType___get_stype
};
2461 struct WBT_
**closurevariable
= NULL
;
2462 trace
.prev
= tracehead
; tracehead
= &trace
;
2463 trace
.file
= LOCATE_syntax_base
;
2464 /* Register variable[0]: Local variable */
2466 /* Register variable[1]: Local variable */
2467 variable
[1] = param0
;
2468 /* Register variable[2]: Method return value and escape marker */
2469 /* Register variable[3]: Local variable */
2470 /* Register variable[4]: Result */
2471 variable
[4] = CALL_syntax_base___PType___get_unchecked_stype(variable
[0])(variable
[0], variable
[1] /*v*/) /*AType::get_unchecked_stype*/;
2472 variable
[3] = variable
[4];
2473 /* Register variable[4]: Result */
2474 variable
[4] = TAG_Bool(( variable
[3] /*t*/ == NIT_NULL
/*null*/) || (( variable
[3] /*t*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*t*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*t*/)( variable
[3] /*t*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2475 if (UNTAG_Bool(variable
[4])) { /*if*/
2476 variable
[2] = NIT_NULL
/*null*/;
2477 goto return_label118
;
2479 /* Register variable[4]: Result */
2480 variable
[4] = CALL_static_type___MMType___is_valid( variable
[3] /*t*/)( variable
[3] /*t*/) /*MMType::is_valid*/;
2481 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[4])))) { /*if*/
2482 variable
[2] = NIT_NULL
/*null*/;
2483 goto return_label118
;
2485 CALL_syntax_base___PType___check_conform(variable
[0])(variable
[0], variable
[1] /*v*/) /*AType::check_conform*/;
2486 variable
[2] = variable
[3] /*t*/;
2487 goto return_label118
;
2488 return_label118
: while(false);
2489 tracehead
= trace
.prev
;
2492 val_t
syntax_base___AType___get_unchecked_stype(val_t self
, val_t param0
) {
2493 struct trace_t trace
= {NULL
, NULL
, 559, LOCATE_syntax_base___AType___get_unchecked_stype
};
2494 static val_t once_value_120
= NIT_NULL
; /* Once value for string variable[8]*/
2495 static val_t once_value_121
= NIT_NULL
; /* Once value for string variable[8]*/
2496 static val_t once_value_122
= NIT_NULL
; /* Once value for string variable[8]*/
2497 static val_t once_value_123
= NIT_NULL
; /* Once value for string variable[8]*/
2498 static val_t once_value_124
= NIT_NULL
; /* Once value for string variable[8]*/
2499 static val_t once_value_125
= NIT_NULL
; /* Once value for string variable[8]*/
2500 static val_t once_value_126
= NIT_NULL
; /* Once value for string variable[10]*/
2501 static val_t once_value_127
= NIT_NULL
; /* Once value for string variable[10]*/
2502 static val_t once_value_128
= NIT_NULL
; /* Once value for string variable[10]*/
2503 static val_t once_value_129
= NIT_NULL
; /* Once value for string variable[10]*/
2505 struct WBT_
**closurevariable
= NULL
;
2506 trace
.prev
= tracehead
; tracehead
= &trace
;
2507 trace
.file
= LOCATE_syntax_base
;
2508 /* Register variable[0]: Local variable */
2510 /* Register variable[1]: Local variable */
2511 variable
[1] = param0
;
2512 /* Register variable[2]: Method return value and escape marker */
2513 /* Register variable[3]: Result */
2514 variable
[3] = ATTR_syntax_base___AType____stype_cached(variable
[0]) /*AType::_stype_cached*/;
2515 if (UNTAG_Bool(variable
[3])) { /*if*/
2516 /* Register variable[3]: Result */
2517 variable
[3] = ATTR_syntax_base___AType____stype_cache(variable
[0]) /*AType::_stype_cache*/;
2518 variable
[2] = variable
[3];
2519 goto return_label119
;
2521 ATTR_syntax_base___AType____stype_cached(variable
[0]) /*AType::_stype_cached*/ = TAG_Bool(true);
2522 /* Register variable[3]: Local variable */
2523 /* Register variable[4]: Result */
2524 variable
[4] = CALL_parser_nodes___AType___n_id(variable
[0])(variable
[0]) /*AType::n_id*/;
2525 /* Register variable[4]: Result */
2526 variable
[4] = CALL_syntax_base___Token___to_symbol(variable
[4])(variable
[4]) /*Token::to_symbol*/;
2527 variable
[3] = variable
[4];
2528 /* Register variable[4]: Local variable */
2529 /* Register variable[5]: Result */
2530 variable
[5] = CALL_syntax_base___AbsSyntaxVisitor___module( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::module*/;
2531 variable
[4] = variable
[5];
2532 /* Register variable[5]: Local variable */
2533 /* Register variable[6]: Result */
2534 variable
[6] = CALL_syntax_base___AbsSyntaxVisitor___local_class( variable
[1] /*v*/)( variable
[1] /*v*/) /*AbsSyntaxVisitor::local_class*/;
2535 variable
[5] = variable
[6];
2536 /* Register variable[6]: Local variable */
2537 /*variable[6] is variable t*/
2538 /* Register variable[7]: Result */
2539 variable
[7] = CALL_syntax_base___MMSrcLocalClass___formal_dict( variable
[5] /*cla*/)( variable
[5] /*cla*/) /*MMSrcLocalClass::formal_dict*/;
2540 /* Register variable[7]: Result */
2541 variable
[7] = CALL_abstract_collection___MapRead___has_key(variable
[7])(variable
[7], variable
[3] /*name*/) /*MapRead::has_key*/;
2542 if (UNTAG_Bool(variable
[7])) { /*if*/
2543 /* Register variable[7]: Result */
2544 variable
[7] = CALL_parser_nodes___AType___n_types(variable
[0])(variable
[0]) /*AType::n_types*/;
2545 /* Register variable[7]: Result */
2546 variable
[7] = CALL_abstract_collection___Collection___length(variable
[7])(variable
[7]) /*List::length*/;
2547 /* Register variable[7]: Result */
2548 variable
[7] = TAG_Bool(UNTAG_Int(variable
[7])>UNTAG_Int( TAG_Int(0)));
2549 if (UNTAG_Bool(variable
[7])) { /*if*/
2550 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2551 /* Register variable[8]: Once String constant */
2552 if (once_value_120
!= NIT_NULL
) variable
[8] = once_value_120
;
2554 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)) /*new String*/;
2555 once_value_120
= variable
[8];
2557 /* Register variable[8]: Result */
2558 /* Ensure var variable[8]: super-string element*/
2559 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2560 variable
[8] = variable
[3] /*name*/ /* Ensure var: super-string element*/;
2561 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
2562 /* Register variable[8]: Once String constant */
2563 if (once_value_121
!= NIT_NULL
) variable
[8] = once_value_121
;
2565 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)) /*new String*/;
2566 once_value_121
= variable
[8];
2568 /* Register variable[8]: Result */
2569 /* Ensure var variable[8]: super-string element*/
2570 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2571 /* Register variable[7]: Result */
2572 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
2573 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[7]) /*AbsSyntaxVisitor::error*/;
2574 variable
[2] = NIT_NULL
/*null*/;
2575 goto return_label119
;
2577 /* Register variable[7]: Result */
2578 variable
[7] = CALL_syntax_base___MMSrcLocalClass___formal_dict( variable
[5] /*cla*/)( variable
[5] /*cla*/) /*MMSrcLocalClass::formal_dict*/;
2579 /* Register variable[7]: Result */
2580 variable
[7] = CALL_abstract_collection___MapRead_____bra(variable
[7])(variable
[7], variable
[3] /*name*/) /*MapRead::[]*/;
2581 variable
[6] = variable
[7] /*t=*/;
2582 /* Register variable[7]: Result */
2583 variable
[7] = CALL_parser_nodes___AType___n_kwnullable(variable
[0])(variable
[0]) /*AType::n_kwnullable*/;
2584 /* Register variable[7]: Result */
2585 variable
[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[7] == NIT_NULL
/*null*/) || ((variable
[7] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[7])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[7], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[7])(variable
[7], NIT_NULL
/*null*/) /*Object::==*/)))))));
2586 if (UNTAG_Bool(variable
[7])) { /*if*/
2587 /* Register variable[7]: Result */
2588 variable
[7] = CALL_static_type___MMType___as_nullable( variable
[6] /*t*/)( variable
[6] /*t*/) /*MMType::as_nullable*/;
2589 variable
[6] = variable
[7] /*t=*/;
2591 ATTR_syntax_base___AType____stype_cache(variable
[0]) /*AType::_stype_cache*/ = variable
[6] /*t*/;
2592 variable
[2] = variable
[6] /*t*/;
2593 goto return_label119
;
2595 /* Register variable[7]: Result */
2596 variable
[7] = CALL_abstractmetamodel___MMLocalClass___global_properties( variable
[5] /*cla*/)( variable
[5] /*cla*/) /*MMLocalClass::global_properties*/;
2597 /* Register variable[7]: Result */
2598 variable
[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[7] == NIT_NULL
/*null*/) || ((variable
[7] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[7])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[7], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[7])(variable
[7], NIT_NULL
/*null*/) /*Object::==*/)))))));
2599 /* Ensure var variable[7]: Left 'and' operand*/
2600 if (UNTAG_Bool(variable
[7])) { /* and */
2601 /* Register variable[7]: Result */
2602 variable
[7] = CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name( variable
[5] /*cla*/)( variable
[5] /*cla*/, variable
[3] /*name*/) /*MMLocalClass::has_global_property_by_name*/;
2604 /* Register variable[7]: Result */
2605 if (UNTAG_Bool(variable
[7])) { /*if*/
2606 /* Register variable[7]: Result */
2607 variable
[7] = CALL_parser_nodes___AType___n_types(variable
[0])(variable
[0]) /*AType::n_types*/;
2608 /* Register variable[7]: Result */
2609 variable
[7] = CALL_abstract_collection___Collection___length(variable
[7])(variable
[7]) /*List::length*/;
2610 /* Register variable[7]: Result */
2611 variable
[7] = TAG_Bool(UNTAG_Int(variable
[7])>UNTAG_Int( TAG_Int(0)));
2612 if (UNTAG_Bool(variable
[7])) { /*if*/
2613 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2614 /* Register variable[8]: Once String constant */
2615 if (once_value_122
!= NIT_NULL
) variable
[8] = once_value_122
;
2617 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Type error: formal type "), TAG_Int(24)) /*new String*/;
2618 once_value_122
= variable
[8];
2620 /* Register variable[8]: Result */
2621 /* Ensure var variable[8]: super-string element*/
2622 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2623 variable
[8] = variable
[3] /*name*/ /* Ensure var: super-string element*/;
2624 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
2625 /* Register variable[8]: Once String constant */
2626 if (once_value_123
!= NIT_NULL
) variable
[8] = once_value_123
;
2628 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(" cannot have formal parameters."), TAG_Int(31)) /*new String*/;
2629 once_value_123
= variable
[8];
2631 /* Register variable[8]: Result */
2632 /* Ensure var variable[8]: super-string element*/
2633 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2634 /* Register variable[7]: Result */
2635 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
2636 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[7]) /*AbsSyntaxVisitor::error*/;
2637 variable
[2] = NIT_NULL
/*null*/;
2638 goto return_label119
;
2640 /* Register variable[7]: Result */
2641 variable
[7] = CALL_static_type___MMLocalClass___get_type( variable
[5] /*cla*/)( variable
[5] /*cla*/) /*MMLocalClass::get_type*/;
2642 /* Register variable[7]: Result */
2643 variable
[7] = CALL_static_type___MMType___local_class(variable
[7])(variable
[7]) /*MMType::local_class*/;
2644 /* Register variable[7]: Result */
2645 variable
[7] = CALL_virtualtype___MMLocalClass___select_virtual_type(variable
[7])(variable
[7], variable
[3] /*name*/) /*MMLocalClass::select_virtual_type*/;
2646 /* Register variable[8]: Result */
2647 variable
[8] = CALL_static_type___MMLocalClass___get_type( variable
[5] /*cla*/)( variable
[5] /*cla*/) /*MMLocalClass::get_type*/;
2648 /* Register variable[7]: Result */
2649 variable
[7] = CALL_virtualtype___MMTypeProperty___stype_for(variable
[7])(variable
[7], variable
[8]) /*MMTypeProperty::stype_for*/;
2650 variable
[6] = variable
[7] /*t=*/;
2651 /* Register variable[7]: Result */
2652 variable
[7] = TAG_Bool(( variable
[6] /*t*/ == NIT_NULL
/*null*/) || (( variable
[6] /*t*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[6] /*t*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[6] /*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[6] /*t*/)( variable
[6] /*t*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2653 if (UNTAG_Bool(variable
[7])) { /*if*/
2654 variable
[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2655 /* Register variable[8]: Once String constant */
2656 if (once_value_124
!= NIT_NULL
) variable
[8] = once_value_124
;
2658 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("Type error: circular definition in formal type "), TAG_Int(47)) /*new String*/;
2659 once_value_124
= variable
[8];
2661 /* Register variable[8]: Result */
2662 /* Ensure var variable[8]: super-string element*/
2663 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2664 variable
[8] = variable
[3] /*name*/ /* Ensure var: super-string element*/;
2665 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], CALL_string___Object___to_s(variable
[8])(variable
[8]) /*Object::to_s*/) /*AbstractArray::add*/;
2666 /* Register variable[8]: Once String constant */
2667 if (once_value_125
!= NIT_NULL
) variable
[8] = once_value_125
;
2669 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)) /*new String*/;
2670 once_value_125
= variable
[8];
2672 /* Register variable[8]: Result */
2673 /* Ensure var variable[8]: super-string element*/
2674 CALL_abstract_collection___SimpleCollection___add(variable
[7])(variable
[7], variable
[8]) /*AbstractArray::add*/;
2675 /* Register variable[7]: Result */
2676 variable
[7] = CALL_string___Object___to_s(variable
[7])(variable
[7]) /*Object::to_s*/;
2677 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[7]) /*AbsSyntaxVisitor::error*/;
2678 variable
[2] = NIT_NULL
/*null*/;
2679 goto return_label119
;
2681 /* Register variable[7]: Result */
2682 variable
[7] = CALL_parser_nodes___AType___n_kwnullable(variable
[0])(variable
[0]) /*AType::n_kwnullable*/;
2683 /* Register variable[7]: Result */
2684 variable
[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[7] == NIT_NULL
/*null*/) || ((variable
[7] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[7])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[7], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[7])(variable
[7], NIT_NULL
/*null*/) /*Object::==*/)))))));
2685 if (UNTAG_Bool(variable
[7])) { /*if*/
2686 /* Register variable[7]: Result */
2687 variable
[7] = CALL_static_type___MMType___as_nullable( variable
[6] /*t*/)( variable
[6] /*t*/) /*MMType::as_nullable*/;
2688 variable
[6] = variable
[7] /*t=*/;
2690 ATTR_syntax_base___AType____stype_cache(variable
[0]) /*AType::_stype_cache*/ = variable
[6] /*t*/;
2691 variable
[2] = variable
[6] /*t*/;
2692 goto return_label119
;
2694 /* Register variable[7]: Local variable */
2695 /* Register variable[8]: Result */
2696 variable
[8] = CALL_syntax_base___PType___get_local_class(variable
[0])(variable
[0], variable
[1] /*v*/) /*AType::get_local_class*/;
2697 variable
[7] = variable
[8];
2698 /* Register variable[8]: Result */
2699 variable
[8] = TAG_Bool(( variable
[7] /*local_class*/ == NIT_NULL
/*null*/) || (( variable
[7] /*local_class*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[7] /*local_class*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[7] /*local_class*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[7] /*local_class*/)( variable
[7] /*local_class*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2700 if (UNTAG_Bool(variable
[8])) { /*if*/
2701 variable
[2] = NIT_NULL
/*null*/;
2702 goto return_label119
;
2704 /* Register variable[8]: Local variable */
2705 /* Register variable[9]: Result */
2706 variable
[9] = CALL_parser_nodes___AType___n_types(variable
[0])(variable
[0]) /*AType::n_types*/;
2707 /* Register variable[9]: Result */
2708 variable
[9] = CALL_abstract_collection___Collection___length(variable
[9])(variable
[9]) /*List::length*/;
2709 variable
[8] = variable
[9];
2710 /* Register variable[9]: Result */
2711 variable
[9] = CALL_abstractmetamodel___MMLocalClass___arity( variable
[7] /*local_class*/)( variable
[7] /*local_class*/) /*MMLocalClass::arity*/;
2712 /* Register variable[9]: Result */
2713 variable
[9] = TAG_Bool((variable
[9])!=( variable
[8] /*arity*/));
2714 if (UNTAG_Bool(variable
[9])) { /*if*/
2715 variable
[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2716 /* Register variable[10]: Once String constant */
2717 if (once_value_126
!= NIT_NULL
) variable
[10] = once_value_126
;
2719 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("Type error: '"), TAG_Int(13)) /*new String*/;
2720 once_value_126
= variable
[10];
2722 /* Register variable[10]: Result */
2723 /* Ensure var variable[10]: super-string element*/
2724 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
2725 variable
[10] = variable
[7] /*local_class*/ /* Ensure var: super-string element*/;
2726 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/) /*AbstractArray::add*/;
2727 /* Register variable[10]: Once String constant */
2728 if (once_value_127
!= NIT_NULL
) variable
[10] = once_value_127
;
2730 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("' has "), TAG_Int(6)) /*new String*/;
2731 once_value_127
= variable
[10];
2733 /* Register variable[10]: Result */
2734 /* Ensure var variable[10]: super-string element*/
2735 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
2736 /* Register variable[10]: Result */
2737 variable
[10] = CALL_abstractmetamodel___MMLocalClass___arity( variable
[7] /*local_class*/)( variable
[7] /*local_class*/) /*MMLocalClass::arity*/;
2738 /* Ensure var variable[10]: super-string element*/
2739 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/) /*AbstractArray::add*/;
2740 /* Register variable[10]: Once String constant */
2741 if (once_value_128
!= NIT_NULL
) variable
[10] = once_value_128
;
2743 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(" parameters which differs from the "), TAG_Int(35)) /*new String*/;
2744 once_value_128
= variable
[10];
2746 /* Register variable[10]: Result */
2747 /* Ensure var variable[10]: super-string element*/
2748 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
2749 variable
[10] = variable
[8] /*arity*/ /* Ensure var: super-string element*/;
2750 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], CALL_string___Object___to_s(variable
[10])(variable
[10]) /*Object::to_s*/) /*AbstractArray::add*/;
2751 /* Register variable[10]: Once String constant */
2752 if (once_value_129
!= NIT_NULL
) variable
[10] = once_value_129
;
2754 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(" params."), TAG_Int(8)) /*new String*/;
2755 once_value_129
= variable
[10];
2757 /* Register variable[10]: Result */
2758 /* Ensure var variable[10]: super-string element*/
2759 CALL_abstract_collection___SimpleCollection___add(variable
[9])(variable
[9], variable
[10]) /*AbstractArray::add*/;
2760 /* Register variable[9]: Result */
2761 variable
[9] = CALL_string___Object___to_s(variable
[9])(variable
[9]) /*Object::to_s*/;
2762 CALL_syntax_base___AbsSyntaxVisitor___error( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[0], variable
[9]) /*AbsSyntaxVisitor::error*/;
2763 variable
[2] = NIT_NULL
/*null*/;
2764 goto return_label119
;
2766 /* Register variable[9]: Result */
2767 variable
[9] = TAG_Bool(UNTAG_Int( variable
[8] /*arity*/)>UNTAG_Int( TAG_Int(0)));
2768 if (UNTAG_Bool(variable
[9])) { /*if*/
2769 /* Register variable[9]: Local variable */
2770 /* Register variable[10]: Result */
2771 variable
[10] = NEW_Array_array___Array___init() /*new Array[MMType]*/;
2772 variable
[9] = variable
[10];
2773 /* Register variable[10]: Result */
2774 variable
[10] = CALL_parser_nodes___AType___n_types(variable
[0])(variable
[0]) /*AType::n_types*/;
2775 /* Register variable[10]: For iterator */
2776 variable
[10] = CALL_abstract_collection___Collection___iterator(variable
[10])(variable
[10]) /*List::iterator*/;
2777 while (true) { /*for*/
2778 /* Register variable[11]: For 'is_ok' result */
2779 variable
[11] = CALL_abstract_collection___Iterator___is_ok(variable
[10])(variable
[10]) /*ListIterator::is_ok*/;
2780 if (!UNTAG_Bool(variable
[11])) break; /*for*/
2781 variable
[11] = CALL_abstract_collection___Iterator___item(variable
[10])(variable
[10]) /*ListIterator::item*/ /* Ensure var: For item*/;
2782 /* Register variable[12]: Local variable */
2783 variable
[12] = variable
[11];
2784 /* Register variable[13]: Result */
2785 variable
[13] = CALL_syntax_base___PType___get_unchecked_stype( variable
[12] /*p*/)( variable
[12] /*p*/, variable
[1] /*v*/) /*PType::get_unchecked_stype*/;
2786 CALL_abstract_collection___SimpleCollection___add( variable
[9] /*tab*/)( variable
[9] /*tab*/, variable
[13]) /*AbstractArray::add*/;
2787 continue_130
: while(0);
2788 CALL_abstract_collection___Iterator___next(variable
[10])(variable
[10]) /*ListIterator::next*/;
2790 break_130
: while(0);
2791 /* Register variable[10]: Result */
2792 variable
[10] = CALL_genericity___MMLocalClass___get_instantiate_type( variable
[7] /*local_class*/)( variable
[7] /*local_class*/, variable
[9] /*tab*/) /*MMLocalClass::get_instantiate_type*/;
2793 variable
[6] = variable
[10] /*t=*/;
2795 /* Register variable[9]: Result */
2796 variable
[9] = CALL_static_type___MMLocalClass___get_type( variable
[7] /*local_class*/)( variable
[7] /*local_class*/) /*MMLocalClass::get_type*/;
2797 variable
[6] = variable
[9] /*t=*/;
2799 /* Register variable[9]: Result */
2800 variable
[9] = CALL_parser_nodes___AType___n_kwnullable(variable
[0])(variable
[0]) /*AType::n_kwnullable*/;
2801 /* Register variable[9]: Result */
2802 variable
[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[9] == NIT_NULL
/*null*/) || ((variable
[9] != NIT_NULL
) && ((CALL_kernel___Object_____eqeq(variable
[9])==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[9], NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable
[9])(variable
[9], NIT_NULL
/*null*/) /*Object::==*/)))))));
2803 if (UNTAG_Bool(variable
[9])) { /*if*/
2804 /* Register variable[9]: Result */
2805 variable
[9] = CALL_static_type___MMType___as_nullable( variable
[6] /*t*/)( variable
[6] /*t*/) /*MMType::as_nullable*/;
2806 variable
[6] = variable
[9] /*t=*/;
2808 ATTR_syntax_base___AType____stype_cache(variable
[0]) /*AType::_stype_cache*/ = variable
[6] /*t*/;
2809 variable
[2] = variable
[6] /*t*/;
2810 goto return_label119
;
2811 return_label119
: while(false);
2812 tracehead
= trace
.prev
;
2815 void syntax_base___AType___check_conform(val_t self
, val_t param0
) {
2816 struct trace_t trace
= {NULL
, NULL
, 627, LOCATE_syntax_base___AType___check_conform
};
2818 struct WBT_
**closurevariable
= NULL
;
2819 trace
.prev
= tracehead
; tracehead
= &trace
;
2820 trace
.file
= LOCATE_syntax_base
;
2821 /* Register variable[0]: Local variable */
2823 /* Register variable[1]: Local variable */
2824 variable
[1] = param0
;
2825 /* Register variable[2]: Method return value and escape marker */
2826 /* Register variable[3]: Local variable */
2827 /* Register variable[4]: Result */
2828 variable
[4] = CALL_syntax_base___PType___get_unchecked_stype(variable
[0])(variable
[0], variable
[1] /*v*/) /*AType::get_unchecked_stype*/;
2829 variable
[3] = variable
[4];
2830 /* Register variable[4]: Result */
2831 variable
[4] = TAG_Bool(( variable
[3] /*st*/ == NIT_NULL
/*null*/) || (( variable
[3] /*st*/ != NIT_NULL
) && ((CALL_kernel___Object_____eqeq( variable
[3] /*st*/)==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*st*/, NIT_NULL
/*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable
[3] /*st*/)( variable
[3] /*st*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2832 if (UNTAG_Bool(variable
[4])) { /*if*/
2833 goto return_label131
;
2835 /* Register variable[4]: Local variable */
2836 /* Register variable[5]: Result */
2837 variable
[5] = CALL_static_type___MMType___local_class( variable
[3] /*st*/)( variable
[3] /*st*/) /*MMType::local_class*/;
2838 variable
[4] = variable
[5];
2839 /* Register variable[5]: Local variable */
2840 /* Register variable[6]: Result */
2841 variable
[6] = CALL_parser_nodes___AType___n_types(variable
[0])(variable
[0]) /*AType::n_types*/;
2842 /* Register variable[6]: Result */
2843 variable
[6] = CALL_abstract_collection___Collection___length(variable
[6])(variable
[6]) /*List::length*/;
2844 variable
[5] = variable
[6];
2845 /* Register variable[6]: Result */
2846 variable
[6] = TAG_Bool(UNTAG_Int( variable
[5] /*arity*/)>UNTAG_Int( TAG_Int(0)));
2847 if (UNTAG_Bool(variable
[6])) { /*if*/
2848 /* Register variable[6]: Result */
2849 variable
[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[5] /*arity*/) /*new Range[Int]*/;
2850 /* Register variable[6]: For iterator */
2851 variable
[6] = CALL_abstract_collection___Collection___iterator(variable
[6])(variable
[6]) /*Range::iterator*/;
2852 while (true) { /*for*/
2853 /* Register variable[7]: For 'is_ok' result */
2854 variable
[7] = CALL_abstract_collection___Iterator___is_ok(variable
[6])(variable
[6]) /*Iterator::is_ok*/;
2855 if (!UNTAG_Bool(variable
[7])) break; /*for*/
2856 variable
[7] = CALL_abstract_collection___Iterator___item(variable
[6])(variable
[6]) /*Iterator::item*/ /* Ensure var: For item*/;
2857 /* Register variable[8]: Local variable */
2858 variable
[8] = variable
[7];
2859 /* Register variable[9]: Local variable */
2860 /* Register variable[10]: Result */
2861 variable
[10] = CALL_parser_nodes___AType___n_types(variable
[0])(variable
[0]) /*AType::n_types*/;
2862 /* Register variable[10]: Result */
2863 variable
[10] = CALL_abstract_collection___MapRead_____bra(variable
[10])(variable
[10], variable
[8] /*i*/) /*List::[]*/;
2864 variable
[9] = variable
[10];
2865 /* Register variable[10]: Local variable */
2866 /* Register variable[11]: Result */
2867 variable
[11] = CALL_syntax_base___PType___get_stype( variable
[9] /*p*/)( variable
[9] /*p*/, variable
[1] /*v*/) /*PType::get_stype*/;
2868 variable
[10] = variable
[11];
2869 /* Register variable[11]: Local variable */
2870 /* Register variable[12]: Result */
2871 variable
[12] = CALL_genericity___MMLocalClass___get_formal( variable
[4] /*local_class*/)( variable
[4] /*local_class*/, variable
[8] /*i*/) /*MMLocalClass::get_formal*/;
2872 variable
[11] = variable
[12];
2873 /* Register variable[12]: Result */
2874 variable
[12] = CALL_static_type___MMType___is_valid( variable
[11] /*b*/)( variable
[11] /*b*/) /*MMTypeFormal::is_valid*/;
2875 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[12])))) { /*if*/
2876 goto return_label131
;
2878 /* Register variable[12]: Local variable */
2879 /* Register variable[13]: Result */
2880 variable
[13] = CALL_type_formal___MMTypeFormal___bound( variable
[11] /*b*/)( variable
[11] /*b*/) /*MMTypeFormal::bound*/;
2881 variable
[12] = variable
[13];
2882 /* Register variable[13]: Result */
2883 variable
[13] = CALL_static_type___MMType___adapt_to( variable
[12] /*bt*/)( variable
[12] /*bt*/, variable
[3] /*st*/) /*MMType::adapt_to*/;
2884 variable
[12] = variable
[13] /*bt=*/;
2885 CALL_syntax_base___AbsSyntaxVisitor___check_conform( variable
[1] /*v*/)( variable
[1] /*v*/, variable
[9] /*p*/, variable
[10] /*pt*/, variable
[12] /*bt*/) /*AbsSyntaxVisitor::check_conform*/;
2886 continue_132
: while(0);
2887 CALL_abstract_collection___Iterator___next(variable
[6])(variable
[6]) /*Iterator::next*/;
2889 break_132
: while(0);
2891 return_label131
: while(false);
2892 tracehead
= trace
.prev
;
2895 val_t
syntax_base___PExpr___is_typed(val_t self
) {
2896 struct trace_t trace
= {NULL
, NULL
, 648, LOCATE_syntax_base___PExpr___is_typed
};
2897 val_t
*variable
= NULL
;
2898 struct WBT_
**closurevariable
= NULL
;
2899 trace
.prev
= tracehead
; tracehead
= &trace
;
2900 trace
.file
= LOCATE_syntax_base
;
2901 fprintf(stderr
, "Deferred method called");
2902 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 648);
2904 tracehead
= trace
.prev
;
2907 val_t
syntax_base___PExpr___is_statement(val_t self
) {
2908 struct trace_t trace
= {NULL
, NULL
, 653, LOCATE_syntax_base___PExpr___is_statement
};
2909 val_t
*variable
= NULL
;
2910 struct WBT_
**closurevariable
= NULL
;
2911 trace
.prev
= tracehead
; tracehead
= &trace
;
2912 trace
.file
= LOCATE_syntax_base
;
2913 fprintf(stderr
, "Deferred method called");
2914 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 653);
2916 tracehead
= trace
.prev
;
2919 val_t
syntax_base___PExpr___stype(val_t self
) {
2920 struct trace_t trace
= {NULL
, NULL
, 657, LOCATE_syntax_base___PExpr___stype
};
2921 val_t
*variable
= NULL
;
2922 struct WBT_
**closurevariable
= NULL
;
2923 trace
.prev
= tracehead
; tracehead
= &trace
;
2924 trace
.file
= LOCATE_syntax_base
;
2925 fprintf(stderr
, "Deferred method called");
2926 fprintf(stderr
, " (%s:%d)\n", LOCATE_syntax_base
, 657);
2928 tracehead
= trace
.prev
;
2931 val_t
syntax_base___AVardeclExpr___variable(val_t self
) {
2932 struct trace_t trace
= {NULL
, NULL
, 663, LOCATE_syntax_base___AVardeclExpr___variable
};
2933 val_t
*variable
= NULL
;
2934 struct WBT_
**closurevariable
= NULL
;
2935 trace
.prev
= tracehead
; tracehead
= &trace
;
2936 trace
.file
= LOCATE_syntax_base
;
2937 tracehead
= trace
.prev
;
2938 return ATTR_syntax_base___AVardeclExpr____variable( self
) /*AVardeclExpr::_variable*/;
2940 void syntax_base___AVardeclExpr___variable__eq(val_t self
, val_t param0
) {
2941 struct trace_t trace
= {NULL
, NULL
, 663, LOCATE_syntax_base___AVardeclExpr___variable__eq
};
2942 val_t
*variable
= NULL
;
2943 struct WBT_
**closurevariable
= NULL
;
2944 trace
.prev
= tracehead
; tracehead
= &trace
;
2945 trace
.file
= LOCATE_syntax_base
;
2946 ATTR_syntax_base___AVardeclExpr____variable( self
) /*AVardeclExpr::_variable*/ = param0
;
2947 tracehead
= trace
.prev
;
2950 val_t
syntax_base___AForExpr___variable(val_t self
) {
2951 struct trace_t trace
= {NULL
, NULL
, 668, LOCATE_syntax_base___AForExpr___variable
};
2952 val_t
*variable
= NULL
;
2953 struct WBT_
**closurevariable
= NULL
;
2954 trace
.prev
= tracehead
; tracehead
= &trace
;
2955 trace
.file
= LOCATE_syntax_base
;
2956 tracehead
= trace
.prev
;
2957 return ATTR_syntax_base___AForExpr____variable( self
) /*AForExpr::_variable*/;
2959 void syntax_base___AForExpr___variable__eq(val_t self
, val_t param0
) {
2960 struct trace_t trace
= {NULL
, NULL
, 668, LOCATE_syntax_base___AForExpr___variable__eq
};
2961 val_t
*variable
= NULL
;
2962 struct WBT_
**closurevariable
= NULL
;
2963 trace
.prev
= tracehead
; tracehead
= &trace
;
2964 trace
.file
= LOCATE_syntax_base
;
2965 ATTR_syntax_base___AForExpr____variable( self
) /*AForExpr::_variable*/ = param0
;
2966 tracehead
= trace
.prev
;
2969 val_t
syntax_base___ASelfExpr___variable(val_t self
) {
2970 struct trace_t trace
= {NULL
, NULL
, 673, LOCATE_syntax_base___ASelfExpr___variable
};
2971 val_t
*variable
= NULL
;
2972 struct WBT_
**closurevariable
= NULL
;
2973 trace
.prev
= tracehead
; tracehead
= &trace
;
2974 trace
.file
= LOCATE_syntax_base
;
2975 tracehead
= trace
.prev
;
2976 return ATTR_syntax_base___ASelfExpr____variable( self
) /*ASelfExpr::_variable*/;
2978 void syntax_base___ASelfExpr___variable__eq(val_t self
, val_t param0
) {
2979 struct trace_t trace
= {NULL
, NULL
, 673, LOCATE_syntax_base___ASelfExpr___variable__eq
};
2980 val_t
*variable
= NULL
;
2981 struct WBT_
**closurevariable
= NULL
;
2982 trace
.prev
= tracehead
; tracehead
= &trace
;
2983 trace
.file
= LOCATE_syntax_base
;
2984 ATTR_syntax_base___ASelfExpr____variable( self
) /*ASelfExpr::_variable*/ = param0
;
2985 tracehead
= trace
.prev
;
2988 val_t
syntax_base___AVarFormExpr___variable(val_t self
) {
2989 struct trace_t trace
= {NULL
, NULL
, 678, LOCATE_syntax_base___AVarFormExpr___variable
};
2990 val_t
*variable
= NULL
;
2991 struct WBT_
**closurevariable
= NULL
;
2992 trace
.prev
= tracehead
; tracehead
= &trace
;
2993 trace
.file
= LOCATE_syntax_base
;
2994 tracehead
= trace
.prev
;
2995 return ATTR_syntax_base___AVarFormExpr____variable( self
) /*AVarFormExpr::_variable*/;
2997 void syntax_base___AVarFormExpr___variable__eq(val_t self
, val_t param0
) {
2998 struct trace_t trace
= {NULL
, NULL
, 678, LOCATE_syntax_base___AVarFormExpr___variable__eq
};
2999 val_t
*variable
= NULL
;
3000 struct WBT_
**closurevariable
= NULL
;
3001 trace
.prev
= tracehead
; tracehead
= &trace
;
3002 trace
.file
= LOCATE_syntax_base
;
3003 ATTR_syntax_base___AVarFormExpr____variable( self
) /*AVarFormExpr::_variable*/ = param0
;
3004 tracehead
= trace
.prev
;
3007 val_t
syntax_base___AClosureCallExpr___variable(val_t self
) {
3008 struct trace_t trace
= {NULL
, NULL
, 683, LOCATE_syntax_base___AClosureCallExpr___variable
};
3009 val_t
*variable
= NULL
;
3010 struct WBT_
**closurevariable
= NULL
;
3011 trace
.prev
= tracehead
; tracehead
= &trace
;
3012 trace
.file
= LOCATE_syntax_base
;
3013 tracehead
= trace
.prev
;
3014 return ATTR_syntax_base___AClosureCallExpr____variable( self
) /*AClosureCallExpr::_variable*/;
3016 void syntax_base___AClosureCallExpr___variable__eq(val_t self
, val_t param0
) {
3017 struct trace_t trace
= {NULL
, NULL
, 683, LOCATE_syntax_base___AClosureCallExpr___variable__eq
};
3018 val_t
*variable
= NULL
;
3019 struct WBT_
**closurevariable
= NULL
;
3020 trace
.prev
= tracehead
; tracehead
= &trace
;
3021 trace
.file
= LOCATE_syntax_base
;
3022 ATTR_syntax_base___AClosureCallExpr____variable( self
) /*AClosureCallExpr::_variable*/ = param0
;
3023 tracehead
= trace
.prev
;
3026 val_t
syntax_base___PClosureDef___closure(val_t self
) {
3027 struct trace_t trace
= {NULL
, NULL
, 688, LOCATE_syntax_base___PClosureDef___closure
};
3028 val_t
*variable
= NULL
;
3029 struct WBT_
**closurevariable
= NULL
;
3030 trace
.prev
= tracehead
; tracehead
= &trace
;
3031 trace
.file
= LOCATE_syntax_base
;
3032 tracehead
= trace
.prev
;
3033 return ATTR_syntax_base___PClosureDef____closure( self
) /*PClosureDef::_closure*/;
3035 void syntax_base___PClosureDef___closure__eq(val_t self
, val_t param0
) {
3036 struct trace_t trace
= {NULL
, NULL
, 688, LOCATE_syntax_base___PClosureDef___closure__eq
};
3037 val_t
*variable
= NULL
;
3038 struct WBT_
**closurevariable
= NULL
;
3039 trace
.prev
= tracehead
; tracehead
= &trace
;
3040 trace
.file
= LOCATE_syntax_base
;
3041 ATTR_syntax_base___PClosureDef____closure( self
) /*PClosureDef::_closure*/ = param0
;
3042 tracehead
= trace
.prev
;
3045 val_t
syntax_base___PClosureDef___variables(val_t self
) {
3046 struct trace_t trace
= {NULL
, NULL
, 691, LOCATE_syntax_base___PClosureDef___variables
};
3047 val_t
*variable
= NULL
;
3048 struct WBT_
**closurevariable
= NULL
;
3049 trace
.prev
= tracehead
; tracehead
= &trace
;
3050 trace
.file
= LOCATE_syntax_base
;
3051 tracehead
= trace
.prev
;
3052 return ATTR_syntax_base___PClosureDef____variables( self
) /*PClosureDef::_variables*/;
3054 void syntax_base___PClosureDef___variables__eq(val_t self
, val_t param0
) {
3055 struct trace_t trace
= {NULL
, NULL
, 691, LOCATE_syntax_base___PClosureDef___variables__eq
};
3056 val_t
*variable
= NULL
;
3057 struct WBT_
**closurevariable
= NULL
;
3058 trace
.prev
= tracehead
; tracehead
= &trace
;
3059 trace
.file
= LOCATE_syntax_base
;
3060 ATTR_syntax_base___PClosureDef____variables( self
) /*PClosureDef::_variables*/ = param0
;
3061 tracehead
= trace
.prev
;