1 /* This C file is generated by NIT to compile module typing. */
2 #include "typing._sep.h"
3 void typing___MMSrcModule___do_typing(val_t self
, val_t param0
) {
4 struct trace_t trace
= {NULL
, NULL
, 23, LOCATE_typing___MMSrcModule___do_typing
};
8 trace
.prev
= tracehead
; tracehead
= &trace
;
9 trace
.file
= LOCATE_typing
;
11 variable2
= NEW_typing___TypingVisitor___init( variable0
/*tc*/, self
); /*new TypingVisitor*/
12 variable1
= variable2
;
13 variable2
= ((syntax_base___MMSrcModule___node_t
)CALL( self
,COLOR_syntax_base___MMSrcModule___node
))( self
) /*MMSrcModule::node*/;
14 ((typing___TypingVisitor___visit_t
)CALL( variable1
/*tv*/,COLOR_parser_prod___Visitor___visit
))( variable1
/*tv*/, variable2
) /*TypingVisitor::visit*/;
15 tracehead
= trace
.prev
;
18 void typing___TypingVisitor___visit(val_t self
, val_t param0
) {
19 struct trace_t trace
= {NULL
, NULL
, 39, LOCATE_typing___TypingVisitor___visit
};
22 trace
.prev
= tracehead
; tracehead
= &trace
;
23 trace
.file
= LOCATE_typing
;
25 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*n*/ == NIT_NULL
/*null*/) || (( variable0
/*n*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*n*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*n*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*n*/,COLOR_kernel___Object_____eqeq
))( variable0
/*n*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
26 if (UNTAG_Bool(variable1
)) { /*if*/
27 ((typing___PNode___accept_typing_t
)CALL( variable0
/*n*/,COLOR_typing___PNode___accept_typing
))( variable0
/*n*/, self
) /*PNode::accept_typing*/;
29 tracehead
= trace
.prev
;
32 val_t
typing___TypingVisitor___variable_ctx(val_t self
) {
33 struct trace_t trace
= {NULL
, NULL
, 44, LOCATE_typing___TypingVisitor___variable_ctx
};
34 trace
.prev
= tracehead
; tracehead
= &trace
;
35 trace
.file
= LOCATE_typing
;
36 tracehead
= trace
.prev
;
37 return ATTR_typing___TypingVisitor____variable_ctx( self
) /*TypingVisitor::_variable_ctx*/;
39 void typing___TypingVisitor___variable_ctx__eq(val_t self
, val_t param0
) {
40 struct trace_t trace
= {NULL
, NULL
, 44, LOCATE_typing___TypingVisitor___variable_ctx__eq
};
41 trace
.prev
= tracehead
; tracehead
= &trace
;
42 trace
.file
= LOCATE_typing
;
43 ATTR_typing___TypingVisitor____variable_ctx( self
) /*TypingVisitor::_variable_ctx*/ = param0
;
44 tracehead
= trace
.prev
;
47 val_t
typing___TypingVisitor___self_type(val_t self
) {
48 struct trace_t trace
= {NULL
, NULL
, 47, LOCATE_typing___TypingVisitor___self_type
};
49 trace
.prev
= tracehead
; tracehead
= &trace
;
50 trace
.file
= LOCATE_typing
;
51 tracehead
= trace
.prev
;
52 return ATTR_typing___TypingVisitor____self_type( self
) /*TypingVisitor::_self_type*/;
54 void typing___TypingVisitor___self_type__eq(val_t self
, val_t param0
) {
55 struct trace_t trace
= {NULL
, NULL
, 47, LOCATE_typing___TypingVisitor___self_type__eq
};
56 trace
.prev
= tracehead
; tracehead
= &trace
;
57 trace
.file
= LOCATE_typing
;
58 ATTR_typing___TypingVisitor____self_type( self
) /*TypingVisitor::_self_type*/ = param0
;
59 tracehead
= trace
.prev
;
62 val_t
typing___TypingVisitor___top_block(val_t self
) {
63 struct trace_t trace
= {NULL
, NULL
, 50, LOCATE_typing___TypingVisitor___top_block
};
64 trace
.prev
= tracehead
; tracehead
= &trace
;
65 trace
.file
= LOCATE_typing
;
66 tracehead
= trace
.prev
;
67 return ATTR_typing___TypingVisitor____top_block( self
) /*TypingVisitor::_top_block*/;
69 void typing___TypingVisitor___top_block__eq(val_t self
, val_t param0
) {
70 struct trace_t trace
= {NULL
, NULL
, 50, LOCATE_typing___TypingVisitor___top_block__eq
};
71 trace
.prev
= tracehead
; tracehead
= &trace
;
72 trace
.file
= LOCATE_typing
;
73 ATTR_typing___TypingVisitor____top_block( self
) /*TypingVisitor::_top_block*/ = param0
;
74 tracehead
= trace
.prev
;
77 val_t
typing___TypingVisitor___explicit_super_init_calls(val_t self
) {
78 struct trace_t trace
= {NULL
, NULL
, 53, LOCATE_typing___TypingVisitor___explicit_super_init_calls
};
79 trace
.prev
= tracehead
; tracehead
= &trace
;
80 trace
.file
= LOCATE_typing
;
81 tracehead
= trace
.prev
;
82 return ATTR_typing___TypingVisitor____explicit_super_init_calls( self
) /*TypingVisitor::_explicit_super_init_calls*/;
84 void typing___TypingVisitor___explicit_super_init_calls__eq(val_t self
, val_t param0
) {
85 struct trace_t trace
= {NULL
, NULL
, 53, LOCATE_typing___TypingVisitor___explicit_super_init_calls__eq
};
86 trace
.prev
= tracehead
; tracehead
= &trace
;
87 trace
.file
= LOCATE_typing
;
88 ATTR_typing___TypingVisitor____explicit_super_init_calls( self
) /*TypingVisitor::_explicit_super_init_calls*/ = param0
;
89 tracehead
= trace
.prev
;
92 val_t
typing___TypingVisitor___explicit_other_init_call(val_t self
) {
93 struct trace_t trace
= {NULL
, NULL
, 56, LOCATE_typing___TypingVisitor___explicit_other_init_call
};
94 trace
.prev
= tracehead
; tracehead
= &trace
;
95 trace
.file
= LOCATE_typing
;
96 tracehead
= trace
.prev
;
97 return ATTR_typing___TypingVisitor____explicit_other_init_call( self
) /*TypingVisitor::_explicit_other_init_call*/;
99 void typing___TypingVisitor___explicit_other_init_call__eq(val_t self
, val_t param0
) {
100 struct trace_t trace
= {NULL
, NULL
, 56, LOCATE_typing___TypingVisitor___explicit_other_init_call__eq
};
101 trace
.prev
= tracehead
; tracehead
= &trace
;
102 trace
.file
= LOCATE_typing
;
103 ATTR_typing___TypingVisitor____explicit_other_init_call( self
) /*TypingVisitor::_explicit_other_init_call*/ = param0
;
104 tracehead
= trace
.prev
;
107 void typing___TypingVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
108 struct trace_t trace
= {NULL
, NULL
, 59, LOCATE_typing___TypingVisitor___init
};
111 trace
.prev
= tracehead
; tracehead
= &trace
;
112 trace
.file
= LOCATE_typing
;
115 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TypingVisitor
].i
]) return;
116 ((syntax_base___AbsSyntaxVisitor___init_t
)CALL( self
,COLOR_syntax_base___AbsSyntaxVisitor___init
))( self
, param0
, param1
, init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
117 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TypingVisitor
].i
] = 1;
118 tracehead
= trace
.prev
;
121 val_t
typing___TypingVisitor___get_default_constructor_for(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
122 struct trace_t trace
= {NULL
, NULL
, 61, LOCATE_typing___TypingVisitor___get_default_constructor_for
};
140 trace
.prev
= tracehead
; tracehead
= &trace
;
141 trace
.file
= LOCATE_typing
;
146 variable5
= NEW_array___Array___init(); /*new Array[E]*/
147 variable4
= variable5
;
148 variable6
= NEW_array___Array___init(); /*new Array[E]*/
149 variable5
= variable6
;
150 variable7
= ((static_type___MMLocalProperty___signature_t
)CALL( variable2
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable2
/*prop*/) /*MMLocalProperty::signature*/;
151 variable7
= ((static_type___MMSignature___arity_t
)CALL(variable7
,COLOR_static_type___MMSignature___arity
))(variable7
) /*MMSignature::arity*/;
152 variable6
= variable7
;
153 variable7
= ((abstractmetamodel___MMLocalClass___global_properties_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global_properties
))( variable1
/*c*/) /*MMLocalClass::global_properties*/;
154 variable7
= ((abstract_collection___Collection___iterator_t
)CALL(variable7
,COLOR_abstract_collection___Collection___iterator
))(variable7
) /*Collection::iterator*/;
155 while (true) { /*for*/
156 variable8
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___is_ok
))(variable7
) /*Iterator::is_ok*/;
157 if (!UNTAG_Bool(variable8
)) break; /*for*/
158 variable8
= ((abstract_collection___Iterator___item_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___item
))(variable7
) /*Iterator::item*/;
159 variable9
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))( variable8
/*g*/) /*MMGlobalProperty::is_init*/;
160 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable9
)))) { /*if*/
163 variable9
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*g*/) /*MMGlobalProperty::intro*/;
164 variable9
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable9
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable9
) /*MMLocalProperty::local_class*/;
165 variable9
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable9
== variable1
/*c*/) || ((variable9
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable9
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable9
, variable1
/*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable9
,COLOR_kernel___Object_____eqeq
))(variable9
, variable1
/*c*/) /*Object::==*/)))))));
166 if (UNTAG_Bool(variable9
)) { /*if*/
169 variable10
= ((inheritance___MMLocalClass_____bra_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable1
/*c*/, variable8
/*g*/) /*MMLocalClass::[]*/;
170 variable9
= variable10
;
171 variable10
= TAG_Bool(( variable9
/*gp*/==NIT_NULL
) || VAL_ISA( variable9
/*gp*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
172 if (!UNTAG_Bool(variable10
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___TypingVisitor___get_default_constructor_for
, LOCATE_typing
, 73); nit_exit(1);}
173 variable11
= ((static_type___MMLocalProperty___signature_t
)CALL( variable9
/*gp*/,COLOR_static_type___MMLocalProperty___signature
))( variable9
/*gp*/) /*MMLocalProperty::signature*/;
174 variable11
= ((static_type___MMSignature___arity_t
)CALL(variable11
,COLOR_static_type___MMSignature___arity
))(variable11
) /*MMSignature::arity*/;
175 variable10
= variable11
;
176 variable11
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2
/*prop*/ == NIT_NULL
/*null*/) || (( variable2
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable2
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable2
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable2
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable2
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
177 variable12
= variable11
;
178 if (UNTAG_Bool(variable12
)) { /* and */
179 variable12
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*g*/) /*MMGlobalProperty::intro*/;
180 variable12
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable12
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable12
) /*MMLocalProperty::name*/;
181 variable13
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( variable2
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name
))( variable2
/*prop*/) /*MMLocalProperty::name*/;
182 variable12
= TAG_Bool((variable12
== variable13
) || ((variable12
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable12
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable12
,variable13
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable12
,COLOR_kernel___Object_____eqeq
))(variable12
, variable13
) /*Object::==*/)))));
184 variable11
= variable12
;
185 if (UNTAG_Bool(variable11
)) { /*if*/
186 variable11
= TAG_Bool(( variable10
/*garity*/)==( TAG_Int(0)));
187 variable12
= variable11
;
188 if (!UNTAG_Bool(variable12
)) { /* or */
189 variable12
= ((static_type___MMLocalProperty___signature_t
)CALL( variable2
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable2
/*prop*/) /*MMLocalProperty::signature*/;
190 variable13
= ((static_type___MMLocalProperty___signature_t
)CALL( variable9
/*gp*/,COLOR_static_type___MMLocalProperty___signature
))( variable9
/*gp*/) /*MMLocalProperty::signature*/;
191 variable12
= ((static_type___MMSignature_____l_t
)CALL(variable12
,COLOR_static_type___MMSignature_____l
))(variable12
, variable13
) /*MMSignature::<*/;
193 variable11
= variable12
;
194 if (UNTAG_Bool(variable11
)) { /*if*/
195 variable3
= variable9
/*gp*/;
198 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*AbstractArray::add*/;
201 variable11
= TAG_Bool(( variable10
/*garity*/)==( TAG_Int(0)));
202 if (UNTAG_Bool(variable11
)) { /*if*/
203 ((array___AbstractArray___add_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*candidates*/, variable9
/*gp*/) /*AbstractArray::add*/;
204 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*AbstractArray::add*/;
206 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*AbstractArray::add*/;
209 continue_4
: while(0);
210 ((abstract_collection___Iterator___next_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___next
))(variable7
) /*Iterator::next*/;
213 variable7
= ((array___AbstractArray___length_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___Collection___length
))( variable4
/*candidates*/) /*AbstractArray::length*/;
214 variable7
= TAG_Bool((variable7
)==( TAG_Int(1)));
215 if (UNTAG_Bool(variable7
)) { /*if*/
216 variable7
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___Collection___first
))( variable4
/*candidates*/) /*IndexedCollection::first*/;
217 variable3
= variable7
;
220 variable7
= ((array___AbstractArray___length_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___Collection___length
))( variable4
/*candidates*/) /*AbstractArray::length*/;
221 variable7
= TAG_Bool(UNTAG_Int(variable7
)>UNTAG_Int( TAG_Int(0)));
222 if (UNTAG_Bool(variable7
)) { /*if*/
223 variable7
= NEW_string___String___init(); /*new String*/
224 variable8
= NEW_string___String___with_native(BOX_NativeString("Error: Conflicting default constructor to call for "), TAG_Int(51)); /*new String*/
225 variable9
= variable8
;
226 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
227 variable10
= variable1
/*c*/;
228 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
229 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable10
) /*String::append*/;
230 variable11
= NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
231 variable12
= variable11
;
232 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable12
) /*String::append*/;
233 variable13
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
234 variable13
= ((string___Collection___join_t
)CALL( variable4
/*candidates*/,COLOR_string___Collection___join
))( variable4
/*candidates*/, variable13
) /*Collection::join*/;
235 variable14
= variable13
;
236 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable14
) /*String::append*/;
237 variable15
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
238 variable16
= variable15
;
239 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable16
) /*String::append*/;
240 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable3
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable3
/*v*/, variable0
/*n*/, variable7
) /*AbsSyntaxVisitor::error*/;
241 variable3
= NIT_NULL
/*null*/;
244 variable7
= ((array___AbstractArray___length_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___Collection___length
))( variable5
/*false_candidates*/) /*AbstractArray::length*/;
245 variable7
= TAG_Bool(UNTAG_Int(variable7
)>UNTAG_Int( TAG_Int(0)));
246 if (UNTAG_Bool(variable7
)) { /*if*/
247 variable7
= NEW_string___String___init(); /*new String*/
248 variable8
= NEW_string___String___with_native(BOX_NativeString("Error: there is no available compatible constrctor in "), TAG_Int(54)); /*new String*/
249 variable9
= variable8
;
250 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
251 variable10
= variable1
/*c*/;
252 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
253 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable10
) /*String::append*/;
254 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
255 variable12
= variable11
;
256 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable12
) /*String::append*/;
257 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable3
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable3
/*v*/, variable0
/*n*/, variable7
) /*AbsSyntaxVisitor::error*/;
258 variable3
= NIT_NULL
/*null*/;
261 variable7
= NEW_string___String___init(); /*new String*/
262 variable8
= NEW_string___String___with_native(BOX_NativeString("Error: there is no available compatible constrctor in "), TAG_Int(54)); /*new String*/
263 variable9
= variable8
;
264 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
265 variable10
= variable1
/*c*/;
266 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
267 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable10
) /*String::append*/;
268 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
269 variable12
= variable11
;
270 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable12
) /*String::append*/;
271 ((syntax_base___AbsSyntaxVisitor___warning_t
)CALL( variable3
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning
))( variable3
/*v*/, variable0
/*n*/, variable7
) /*AbsSyntaxVisitor::warning*/;
272 variable3
= NIT_NULL
/*null*/;
277 return_label3
: while(false);
278 tracehead
= trace
.prev
;
281 val_t
typing___VariableContext_____bra(val_t self
, val_t param0
) {
282 struct trace_t trace
= {NULL
, NULL
, 106, LOCATE_typing___VariableContext_____bra
};
285 trace
.prev
= tracehead
; tracehead
= &trace
;
286 trace
.file
= LOCATE_typing
;
288 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
289 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*s*/) /*Map::has_key*/;
290 if (UNTAG_Bool(variable1
)) { /*if*/
291 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
292 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*s*/) /*Map::[]*/;
295 variable1
= NIT_NULL
/*null*/;
298 return_label5
: while(false);
299 tracehead
= trace
.prev
;
302 void typing___VariableContext___add(val_t self
, val_t param0
) {
303 struct trace_t trace
= {NULL
, NULL
, 117, LOCATE_typing___VariableContext___add
};
307 trace
.prev
= tracehead
; tracehead
= &trace
;
308 trace
.file
= LOCATE_typing
;
310 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
311 variable2
= ((syntax_base___Variable___name_t
)CALL( variable0
/*v*/,COLOR_syntax_base___Variable___name
))( variable0
/*v*/) /*Variable::name*/;
312 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*v*/) /*Map::[]=*/;
313 tracehead
= trace
.prev
;
316 val_t
typing___VariableContext___stype(val_t self
, val_t param0
) {
317 struct trace_t trace
= {NULL
, NULL
, 124, LOCATE_typing___VariableContext___stype
};
320 trace
.prev
= tracehead
; tracehead
= &trace
;
321 trace
.file
= LOCATE_typing
;
323 variable1
= ((syntax_base___Variable___stype_t
)CALL( variable0
/*v*/,COLOR_syntax_base___Variable___stype
))( variable0
/*v*/) /*Variable::stype*/;
325 return_label7
: while(false);
326 tracehead
= trace
.prev
;
329 val_t
typing___VariableContext___sub(val_t self
) {
330 struct trace_t trace
= {NULL
, NULL
, 134, LOCATE_typing___VariableContext___sub
};
332 trace
.prev
= tracehead
; tracehead
= &trace
;
333 trace
.file
= LOCATE_typing
;
334 variable0
= NEW_typing___SubVariableContext___with( self
, NIT_NULL
/*null*/, NIT_NULL
/*null*/); /*new SubVariableContext*/
336 return_label8
: while(false);
337 tracehead
= trace
.prev
;
340 val_t
typing___VariableContext___sub_with(val_t self
, val_t param0
, val_t param1
) {
341 struct trace_t trace
= {NULL
, NULL
, 140, LOCATE_typing___VariableContext___sub_with
};
345 trace
.prev
= tracehead
; tracehead
= &trace
;
346 trace
.file
= LOCATE_typing
;
349 variable2
= NEW_typing___SubVariableContext___with( self
, variable0
/*v*/, variable1
/*t*/); /*new SubVariableContext*/
351 return_label9
: while(false);
352 tracehead
= trace
.prev
;
355 void typing___VariableContext___init(val_t self
, int* init_table
) {
356 struct trace_t trace
= {NULL
, NULL
, 146, LOCATE_typing___VariableContext___init
};
358 trace
.prev
= tracehead
; tracehead
= &trace
;
359 trace
.file
= LOCATE_typing
;
360 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_VariableContext
].i
]) return;
361 variable0
= NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
362 ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/ = variable0
;
363 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_VariableContext
].i
] = 1;
364 tracehead
= trace
.prev
;
367 val_t
typing___SubVariableContext___prev(val_t self
) {
368 struct trace_t trace
= {NULL
, NULL
, 154, LOCATE_typing___SubVariableContext___prev
};
369 trace
.prev
= tracehead
; tracehead
= &trace
;
370 trace
.file
= LOCATE_typing
;
371 tracehead
= trace
.prev
;
372 return ATTR_typing___SubVariableContext____prev( self
) /*SubVariableContext::_prev*/;
374 val_t
typing___SubVariableContext_____bra(val_t self
, val_t param0
) {
375 struct trace_t trace
= {NULL
, NULL
, 158, LOCATE_typing___SubVariableContext_____bra
};
378 trace
.prev
= tracehead
; tracehead
= &trace
;
379 trace
.file
= LOCATE_typing
;
381 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
382 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*s*/) /*Map::has_key*/;
383 if (UNTAG_Bool(variable1
)) { /*if*/
384 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
385 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*s*/) /*Map::[]*/;
388 variable1
= ((typing___SubVariableContext___prev_t
)CALL( self
,COLOR_typing___SubVariableContext___prev
))( self
) /*SubVariableContext::prev*/;
389 variable1
= ((typing___VariableContext_____bra_t
)CALL(variable1
,COLOR_typing___VariableContext_____bra
))(variable1
, variable0
/*s*/) /*VariableContext::[]*/;
392 return_label11
: while(false);
393 tracehead
= trace
.prev
;
396 val_t
typing___SubVariableContext___stype(val_t self
, val_t param0
) {
397 struct trace_t trace
= {NULL
, NULL
, 167, LOCATE_typing___SubVariableContext___stype
};
400 trace
.prev
= tracehead
; tracehead
= &trace
;
401 trace
.file
= LOCATE_typing
;
403 variable1
= ATTR_typing___SubVariableContext____variable( self
) /*SubVariableContext::_variable*/;
404 variable1
= TAG_Bool((variable1
== variable0
/*v*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, variable0
/*v*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, variable0
/*v*/) /*Object::==*/)))));
405 if (UNTAG_Bool(variable1
)) { /*if*/
406 variable1
= ATTR_typing___SubVariableContext____var_type( self
) /*SubVariableContext::_var_type*/;
409 variable1
= ((typing___SubVariableContext___prev_t
)CALL( self
,COLOR_typing___SubVariableContext___prev
))( self
) /*SubVariableContext::prev*/;
410 variable1
= ((typing___VariableContext___stype_t
)CALL(variable1
,COLOR_typing___VariableContext___stype
))(variable1
, variable0
/*v*/) /*VariableContext::stype*/;
412 return_label12
: while(false);
413 tracehead
= trace
.prev
;
416 void typing___SubVariableContext___with(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
417 struct trace_t trace
= {NULL
, NULL
, 175, LOCATE_typing___SubVariableContext___with
};
421 trace
.prev
= tracehead
; tracehead
= &trace
;
422 trace
.file
= LOCATE_typing
;
426 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_SubVariableContext
].i
]) return;
427 ((typing___VariableContext___init_t
)CALL( self
,COLOR_typing___VariableContext___init
))( self
, init_table
/*YYY*/) /*VariableContext::init*/;
428 ATTR_typing___SubVariableContext____prev( self
) /*SubVariableContext::_prev*/ = variable0
/*p*/;
429 ATTR_typing___SubVariableContext____variable( self
) /*SubVariableContext::_variable*/ = variable1
/*v*/;
430 ATTR_typing___SubVariableContext____var_type( self
) /*SubVariableContext::_var_type*/ = variable2
/*t*/;
431 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_SubVariableContext
].i
] = 1;
432 tracehead
= trace
.prev
;
435 void typing___PNode___accept_typing(val_t self
, val_t param0
) {
436 struct trace_t trace
= {NULL
, NULL
, 188, LOCATE_typing___PNode___accept_typing
};
438 trace
.prev
= tracehead
; tracehead
= &trace
;
439 trace
.file
= LOCATE_typing
;
441 ((syntax_base___PNode___accept_abs_syntax_visitor_t
)CALL( self
,COLOR_syntax_base___PNode___accept_abs_syntax_visitor
))( self
, variable0
/*v*/) /*PNode::accept_abs_syntax_visitor*/;
442 ((typing___PNode___after_typing_t
)CALL( self
,COLOR_typing___PNode___after_typing
))( self
, variable0
/*v*/) /*PNode::after_typing*/;
443 tracehead
= trace
.prev
;
446 void typing___PNode___after_typing(val_t self
, val_t param0
) {
447 struct trace_t trace
= {NULL
, NULL
, 193, LOCATE_typing___PNode___after_typing
};
449 trace
.prev
= tracehead
; tracehead
= &trace
;
450 trace
.file
= LOCATE_typing
;
452 tracehead
= trace
.prev
;
455 void typing___PClassdef___accept_typing(val_t self
, val_t param0
) {
456 struct trace_t trace
= {NULL
, NULL
, 197, LOCATE_typing___PClassdef___accept_typing
};
459 trace
.prev
= tracehead
; tracehead
= &trace
;
460 trace
.file
= LOCATE_typing
;
462 variable1
= ((syntax_base___PClassdef___local_class_t
)CALL( self
,COLOR_syntax_base___PClassdef___local_class
))( self
) /*PClassdef::local_class*/;
463 variable1
= ((genericity___MMLocalClass___get_type_t
)CALL(variable1
,COLOR_static_type___MMLocalClass___get_type
))(variable1
) /*MMLocalClass::get_type*/;
464 ((typing___TypingVisitor___self_type__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::self_type=*/;
465 ((typing___PClassdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___PClassdef___accept_typing
))( self
, param0
) /*super PClassdef::accept_typing*/;
466 tracehead
= trace
.prev
;
469 void typing___AAttrPropdef___accept_typing(val_t self
, val_t param0
) {
470 struct trace_t trace
= {NULL
, NULL
, 205, LOCATE_typing___AAttrPropdef___accept_typing
};
475 trace
.prev
= tracehead
; tracehead
= &trace
;
476 trace
.file
= LOCATE_typing
;
478 ((typing___AAttrPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AAttrPropdef___accept_typing
))( self
, param0
) /*super AAttrPropdef::accept_typing*/;
479 variable1
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
480 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))))));
481 if (UNTAG_Bool(variable1
)) { /*if*/
482 variable1
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
483 variable2
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
484 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
485 variable3
= ((syntax_base___AAttrPropdef___prop_t
)CALL( self
,COLOR_syntax_base___AAttrPropdef___prop
))( self
) /*AAttrPropdef::prop*/;
486 variable3
= ((static_type___MMLocalProperty___signature_t
)CALL(variable3
,COLOR_static_type___MMLocalProperty___signature
))(variable3
) /*MMLocalProperty::signature*/;
487 variable3
= ((static_type___MMSignature___return_type_t
)CALL(variable3
,COLOR_static_type___MMSignature___return_type
))(variable3
) /*MMSignature::return_type*/;
488 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, variable1
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
490 tracehead
= trace
.prev
;
493 void typing___AMethPropdef___accept_typing(val_t self
, val_t param0
) {
494 struct trace_t trace
= {NULL
, NULL
, 215, LOCATE_typing___AMethPropdef___accept_typing
};
497 trace
.prev
= tracehead
; tracehead
= &trace
;
498 trace
.file
= LOCATE_typing
;
500 variable1
= NEW_typing___VariableContext___init(); /*new VariableContext*/
501 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
502 ((typing___AMethPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AMethPropdef___accept_typing
))( self
, param0
) /*super AMethPropdef::accept_typing*/;
503 tracehead
= trace
.prev
;
506 val_t
typing___AConcreteInitPropdef___super_init_calls(val_t self
) {
507 struct trace_t trace
= {NULL
, NULL
, 223, LOCATE_typing___AConcreteInitPropdef___super_init_calls
};
508 trace
.prev
= tracehead
; tracehead
= &trace
;
509 trace
.file
= LOCATE_typing
;
510 tracehead
= trace
.prev
;
511 return ATTR_typing___AConcreteInitPropdef____super_init_calls( self
) /*AConcreteInitPropdef::_super_init_calls*/;
513 val_t
typing___AConcreteInitPropdef___explicit_super_init_calls(val_t self
) {
514 struct trace_t trace
= {NULL
, NULL
, 224, LOCATE_typing___AConcreteInitPropdef___explicit_super_init_calls
};
515 trace
.prev
= tracehead
; tracehead
= &trace
;
516 trace
.file
= LOCATE_typing
;
517 tracehead
= trace
.prev
;
518 return ATTR_typing___AConcreteInitPropdef____explicit_super_init_calls( self
) /*AConcreteInitPropdef::_explicit_super_init_calls*/;
520 void typing___AConcreteInitPropdef___accept_typing(val_t self
, val_t param0
) {
521 struct trace_t trace
= {NULL
, NULL
, 225, LOCATE_typing___AConcreteInitPropdef___accept_typing
};
533 trace
.prev
= tracehead
; tracehead
= &trace
;
534 trace
.file
= LOCATE_typing
;
536 variable1
= ((parser_nodes___AConcreteMethPropdef___n_block_t
)CALL( self
,COLOR_parser_nodes___AConcreteMethPropdef___n_block
))( self
) /*AConcreteMethPropdef::n_block*/;
537 ((typing___TypingVisitor___top_block__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::top_block=*/;
538 variable1
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
539 ((typing___TypingVisitor___explicit_super_init_calls__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___explicit_super_init_calls__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::explicit_super_init_calls=*/;
540 ((typing___TypingVisitor___explicit_other_init_call__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___explicit_other_init_call__eq
))( variable0
/*v*/, TAG_Bool(false)) /*TypingVisitor::explicit_other_init_call=*/;
541 ((typing___AConcreteInitPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AConcreteInitPropdef___accept_typing
))( self
, param0
) /*super AConcreteInitPropdef::accept_typing*/;
542 variable1
= ((typing___TypingVisitor___explicit_other_init_call_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___explicit_other_init_call
))( variable0
/*v*/) /*TypingVisitor::explicit_other_init_call*/;
543 if (UNTAG_Bool(variable1
)) { /*if*/
545 variable1
= TAG_Int(0);
546 variable3
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
547 variable3
= ((array___AbstractArray___length_t
)CALL(variable3
,COLOR_abstract_collection___Collection___length
))(variable3
) /*AbstractArray::length*/;
548 variable2
= variable3
;
549 variable3
= NIT_NULL
/*null*/;
550 variable4
= NIT_NULL
/*null*/;
551 variable5
= TAG_Bool(UNTAG_Int( variable1
/*i*/)<UNTAG_Int( variable2
/*l*/));
552 if (UNTAG_Bool(variable5
)) { /*if*/
553 variable5
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
554 variable6
= variable1
/*i*/;
555 variable7
= TAG_Bool(UNTAG_Int( variable6
/*index*/)>=UNTAG_Int( TAG_Int(0)));
556 variable8
= variable7
;
557 if (UNTAG_Bool(variable8
)) { /* and */
558 variable8
= variable5
;
559 variable8
= ATTR_array___AbstractArray____length(variable8
) /*AbstractArray::_length*/;
560 variable8
= TAG_Bool(UNTAG_Int( variable6
/*index*/)<UNTAG_Int(variable8
));
562 variable7
= variable8
;
563 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_typing
, 229); nit_exit(1);}
564 variable7
= variable5
;
565 variable7
= ATTR_array___Array____items(variable7
) /*Array::_items*/;
566 variable7
= UNBOX_NativeArray(variable7
)[UNTAG_Int( variable6
/*index*/)];
568 return_label20
: while(false);
569 variable5
= variable7
;
570 variable3
= variable5
/*cur_m=*/;
571 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*cur_m*/) /*MMLocalProperty::global*/;
572 variable5
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable5
) /*MMGlobalProperty::intro*/;
573 variable5
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable5
) /*MMLocalProperty::local_class*/;
574 variable4
= variable5
/*cur_c=*/;
576 variable5
= TAG_Int(0);
577 while (true) { /*while*/
578 variable6
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
579 variable6
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable6
) /*MMLocalClass::cshe*/;
580 variable6
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable6
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable6
) /*PartialOrderElement::direct_greaters*/;
581 variable6
= ((array___AbstractArray___length_t
)CALL(variable6
,COLOR_abstract_collection___Collection___length
))(variable6
) /*AbstractArray::length*/;
582 variable6
= TAG_Bool(UNTAG_Int( variable5
/*j*/)<UNTAG_Int(variable6
));
583 if (!UNTAG_Bool(variable6
)) break; /* while*/
584 variable7
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
585 variable7
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable7
) /*MMLocalClass::cshe*/;
586 variable7
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable7
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable7
) /*PartialOrderElement::direct_greaters*/;
587 variable8
= variable5
/*j*/;
588 variable9
= TAG_Bool(UNTAG_Int( variable8
/*index*/)>=UNTAG_Int( TAG_Int(0)));
589 variable10
= variable9
;
590 if (UNTAG_Bool(variable10
)) { /* and */
591 variable10
= variable7
;
592 variable10
= ATTR_array___AbstractArray____length(variable10
) /*AbstractArray::_length*/;
593 variable10
= TAG_Bool(UNTAG_Int( variable8
/*index*/)<UNTAG_Int(variable10
));
595 variable9
= variable10
;
596 if (!UNTAG_Bool(variable9
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_typing
, 229); nit_exit(1);}
597 variable9
= variable7
;
598 variable9
= ATTR_array___Array____items(variable9
) /*Array::_items*/;
599 variable9
= UNBOX_NativeArray(variable9
)[UNTAG_Int( variable8
/*index*/)];
601 return_label22
: while(false);
602 variable7
= variable9
;
603 variable6
= variable7
;
604 variable7
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable6
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable6
/*c*/) /*MMLocalClass::global*/;
605 variable7
= ((abstractmetamodel___MMGlobalClass___is_interface_t
)CALL(variable7
,COLOR_abstractmetamodel___MMGlobalClass___is_interface
))(variable7
) /*MMGlobalClass::is_interface*/;
606 variable8
= variable7
;
607 if (!UNTAG_Bool(variable8
)) { /* or */
608 variable8
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable6
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable6
/*c*/) /*MMLocalClass::global*/;
609 variable8
= ((abstractmetamodel___MMGlobalClass___is_universal_t
)CALL(variable8
,COLOR_abstractmetamodel___MMGlobalClass___is_universal
))(variable8
) /*MMGlobalClass::is_universal*/;
611 variable7
= variable8
;
612 if (UNTAG_Bool(variable7
)) { /*if*/
613 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*j*/;
615 variable7
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4
/*cur_c*/ == NIT_NULL
/*null*/) || (( variable4
/*cur_c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable4
/*cur_c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable4
/*cur_c*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable4
/*cur_c*/,COLOR_kernel___Object_____eqeq
))( variable4
/*cur_c*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
616 variable8
= variable7
;
617 if (UNTAG_Bool(variable8
)) { /* and */
618 variable8
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable6
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable6
/*c*/) /*MMLocalClass::cshe*/;
619 variable8
= ((partial_order___PartialOrderElement_____leq_t
)CALL(variable8
,COLOR_partial_order___PartialOrderElement_____leq
))(variable8
, variable4
/*cur_c*/) /*PartialOrderElement::<=*/;
621 variable7
= variable8
;
622 if (UNTAG_Bool(variable7
)) { /*if*/
623 variable7
= TAG_Bool(( variable6
/*c*/ == variable4
/*cur_c*/) || (( variable6
/*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable6
/*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable6
/*c*/, variable4
/*cur_c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable6
/*c*/,COLOR_kernel___Object_____eqeq
))( variable6
/*c*/, variable4
/*cur_c*/) /*Object::==*/)))));
624 if (UNTAG_Bool(variable7
)) { /*if*/
625 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*j*/;
627 variable7
= ((typing___AConcreteInitPropdef___super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___super_init_calls
))( self
) /*AConcreteInitPropdef::super_init_calls*/;
628 ((array___AbstractArray___add_t
)CALL(variable7
,COLOR_abstract_collection___SimpleCollection___add
))(variable7
, variable3
/*cur_m*/) /*AbstractArray::add*/;
629 variable1
= TAG_Int(UNTAG_Int(variable1
)+UNTAG_Int( TAG_Int(1))) /*i*/;
630 variable7
= TAG_Bool(UNTAG_Int( variable1
/*i*/)<UNTAG_Int( variable2
/*l*/));
631 if (UNTAG_Bool(variable7
)) { /*if*/
632 variable7
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
633 variable8
= variable1
/*i*/;
634 variable9
= TAG_Bool(UNTAG_Int( variable8
/*index*/)>=UNTAG_Int( TAG_Int(0)));
635 variable10
= variable9
;
636 if (UNTAG_Bool(variable10
)) { /* and */
637 variable10
= variable7
;
638 variable10
= ATTR_array___AbstractArray____length(variable10
) /*AbstractArray::_length*/;
639 variable10
= TAG_Bool(UNTAG_Int( variable8
/*index*/)<UNTAG_Int(variable10
));
641 variable9
= variable10
;
642 if (!UNTAG_Bool(variable9
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_typing
, 229); nit_exit(1);}
643 variable9
= variable7
;
644 variable9
= ATTR_array___Array____items(variable9
) /*Array::_items*/;
645 variable9
= UNBOX_NativeArray(variable9
)[UNTAG_Int( variable8
/*index*/)];
647 return_label23
: while(false);
648 variable7
= variable9
;
649 variable3
= variable7
/*cur_m=*/;
650 variable7
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*cur_m*/) /*MMLocalProperty::global*/;
651 variable7
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable7
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable7
) /*MMGlobalProperty::intro*/;
652 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable7
) /*MMLocalProperty::local_class*/;
653 variable4
= variable7
/*cur_c=*/;
655 variable3
= NIT_NULL
/*null*/ /*cur_m=*/;
656 variable4
= NIT_NULL
/*null*/ /*cur_c=*/;
659 variable8
= ((syntax_base___AMethPropdef___method_t
)CALL( self
,COLOR_syntax_base___AMethPropdef___method
))( self
) /*AMethPropdef::method*/;
660 variable8
= ((typing___TypingVisitor___get_default_constructor_for_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___get_default_constructor_for
))( variable0
/*v*/, self
, variable6
/*c*/, variable8
) /*TypingVisitor::get_default_constructor_for*/;
661 variable7
= variable8
;
662 variable8
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7
/*p*/ == NIT_NULL
/*null*/) || (( variable7
/*p*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable7
/*p*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable7
/*p*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable7
/*p*/,COLOR_kernel___Object_____eqeq
))( variable7
/*p*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
663 if (UNTAG_Bool(variable8
)) { /*if*/
664 variable8
= ((typing___AConcreteInitPropdef___super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___super_init_calls
))( self
) /*AConcreteInitPropdef::super_init_calls*/;
665 ((array___AbstractArray___add_t
)CALL(variable8
,COLOR_abstract_collection___SimpleCollection___add
))(variable8
, variable7
/*p*/) /*AbstractArray::add*/;
667 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*j*/;
670 continue_21
: while(0);
674 tracehead
= trace
.prev
;
677 void typing___PParam___after_typing(val_t self
, val_t param0
) {
678 struct trace_t trace
= {NULL
, NULL
, 271, LOCATE_typing___PParam___after_typing
};
682 trace
.prev
= tracehead
; tracehead
= &trace
;
683 trace
.file
= LOCATE_typing
;
685 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
686 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))))));
687 if (UNTAG_Bool(variable1
)) { /*if*/
688 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
689 variable2
= ((syntax_base___PParam___variable_t
)CALL( self
,COLOR_syntax_base___PParam___variable
))( self
) /*PParam::variable*/;
690 ((typing___VariableContext___add_t
)CALL(variable1
,COLOR_typing___VariableContext___add
))(variable1
, variable2
) /*VariableContext::add*/;
692 tracehead
= trace
.prev
;
695 val_t
typing___PType___stype(val_t self
) {
696 struct trace_t trace
= {NULL
, NULL
, 280, LOCATE_typing___PType___stype
};
697 trace
.prev
= tracehead
; tracehead
= &trace
;
698 trace
.file
= LOCATE_typing
;
699 tracehead
= trace
.prev
;
700 return ATTR_typing___PType____stype( self
) /*PType::_stype*/;
702 void typing___PType___after_typing(val_t self
, val_t param0
) {
703 struct trace_t trace
= {NULL
, NULL
, 281, LOCATE_typing___PType___after_typing
};
706 trace
.prev
= tracehead
; tracehead
= &trace
;
707 trace
.file
= LOCATE_typing
;
709 variable1
= ((syntax_base___PType___get_stype_t
)CALL( self
,COLOR_syntax_base___PType___get_stype
))( self
, variable0
/*v*/) /*PType::get_stype*/;
710 ATTR_typing___PType____stype( self
) /*PType::_stype*/ = variable1
;
711 tracehead
= trace
.prev
;
714 val_t
typing___PExpr___stype(val_t self
) {
715 struct trace_t trace
= {NULL
, NULL
, 288, LOCATE_typing___PExpr___stype
};
716 trace
.prev
= tracehead
; tracehead
= &trace
;
717 trace
.file
= LOCATE_typing
;
718 tracehead
= trace
.prev
;
719 return ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/;
721 val_t
typing___PExpr___is_implicit_self(val_t self
) {
722 struct trace_t trace
= {NULL
, NULL
, 290, LOCATE_typing___PExpr___is_implicit_self
};
724 trace
.prev
= tracehead
; tracehead
= &trace
;
725 trace
.file
= LOCATE_typing
;
726 variable0
= TAG_Bool(false);
728 return_label26
: while(false);
729 tracehead
= trace
.prev
;
732 val_t
typing___PExpr___is_self(val_t self
) {
733 struct trace_t trace
= {NULL
, NULL
, 293, LOCATE_typing___PExpr___is_self
};
735 trace
.prev
= tracehead
; tracehead
= &trace
;
736 trace
.file
= LOCATE_typing
;
737 variable0
= TAG_Bool(false);
739 return_label27
: while(false);
740 tracehead
= trace
.prev
;
743 val_t
typing___PExpr___is_variable(val_t self
) {
744 struct trace_t trace
= {NULL
, NULL
, 296, LOCATE_typing___PExpr___is_variable
};
746 trace
.prev
= tracehead
; tracehead
= &trace
;
747 trace
.file
= LOCATE_typing
;
748 variable0
= TAG_Bool(false);
750 return_label28
: while(false);
751 tracehead
= trace
.prev
;
754 val_t
typing___PExpr___if_true_variable_ctx(val_t self
) {
755 struct trace_t trace
= {NULL
, NULL
, 299, LOCATE_typing___PExpr___if_true_variable_ctx
};
756 trace
.prev
= tracehead
; tracehead
= &trace
;
757 trace
.file
= LOCATE_typing
;
758 tracehead
= trace
.prev
;
759 return ATTR_typing___PExpr____if_true_variable_ctx( self
) /*PExpr::_if_true_variable_ctx*/;
761 void typing___AVardeclExpr___after_typing(val_t self
, val_t param0
) {
762 struct trace_t trace
= {NULL
, NULL
, 304, LOCATE_typing___AVardeclExpr___after_typing
};
767 trace
.prev
= tracehead
; tracehead
= &trace
;
768 trace
.file
= LOCATE_typing
;
770 variable2
= ((parser_nodes___AVardeclExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_id
))( self
) /*AVardeclExpr::n_id*/;
771 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*Token::to_symbol*/;
772 variable3
= NEW_syntax_base___Variable___init(variable2
, self
); /*new Variable*/
773 variable2
= variable3
;
774 variable1
= variable2
;
775 ((syntax_base___AVardeclExpr___variable__eq_t
)CALL( self
,COLOR_syntax_base___AVardeclExpr___variable__eq
))( self
, variable1
/*va*/) /*AVardeclExpr::variable=*/;
776 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
777 ((typing___VariableContext___add_t
)CALL(variable2
,COLOR_typing___VariableContext___add
))(variable2
, variable1
/*va*/) /*VariableContext::add*/;
778 variable2
= ((parser_nodes___AVardeclExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_type
))( self
) /*AVardeclExpr::n_type*/;
779 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
780 if (UNTAG_Bool(variable2
)) { /*if*/
781 variable2
= ((parser_nodes___AVardeclExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_type
))( self
) /*AVardeclExpr::n_type*/;
782 variable2
= ((typing___PType___stype_t
)CALL(variable2
,COLOR_typing___PType___stype
))(variable2
) /*PType::stype*/;
783 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*va*/, variable2
) /*Variable::stype=*/;
784 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
785 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
786 if (UNTAG_Bool(variable2
)) { /*if*/
787 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
788 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
789 variable3
= ((syntax_base___Variable___stype_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype
))( variable1
/*va*/) /*Variable::stype*/;
790 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
793 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
794 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
795 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*va*/, variable2
) /*Variable::stype=*/;
797 tracehead
= trace
.prev
;
800 void typing___ABlockExpr___accept_typing(val_t self
, val_t param0
) {
801 struct trace_t trace
= {NULL
, NULL
, 322, LOCATE_typing___ABlockExpr___accept_typing
};
805 trace
.prev
= tracehead
; tracehead
= &trace
;
806 trace
.file
= LOCATE_typing
;
808 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
809 variable1
= variable2
;
810 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
811 variable2
= ((typing___VariableContext___sub_t
)CALL(variable2
,COLOR_typing___VariableContext___sub
))(variable2
) /*VariableContext::sub*/;
812 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
813 ((typing___ABlockExpr___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___ABlockExpr___accept_typing
))( self
, param0
) /*super ABlockExpr::accept_typing*/;
814 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
815 tracehead
= trace
.prev
;
818 void typing___AReturnExpr___after_typing(val_t self
, val_t param0
) {
819 struct trace_t trace
= {NULL
, NULL
, 334, LOCATE_typing___AReturnExpr___after_typing
};
824 trace
.prev
= tracehead
; tracehead
= &trace
;
825 trace
.file
= LOCATE_typing
;
827 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
828 variable2
= ((static_type___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMLocalProperty::signature*/;
829 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
830 variable1
= variable2
;
831 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
832 variable2
= TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))));
833 variable3
= variable2
;
834 if (UNTAG_Bool(variable3
)) { /* and */
835 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
837 variable2
= variable3
;
838 if (UNTAG_Bool(variable2
)) { /*if*/
839 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: Return without value in a function."), TAG_Int(42)); /*new String*/
840 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
842 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
843 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
844 variable3
= variable2
;
845 if (UNTAG_Bool(variable3
)) { /* and */
846 variable3
= TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))));
848 variable2
= variable3
;
849 if (UNTAG_Bool(variable2
)) { /*if*/
850 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: Return with value in a procedure."), TAG_Int(40)); /*new String*/
851 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
853 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
854 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
855 variable3
= variable2
;
856 if (UNTAG_Bool(variable3
)) { /* and */
857 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
859 variable2
= variable3
;
860 if (UNTAG_Bool(variable2
)) { /*if*/
861 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
862 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
863 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable1
/*t*/) /*AbsSyntaxVisitor::check_conform*/;
867 tracehead
= trace
.prev
;
870 void typing___AIfExpr___accept_typing(val_t self
, val_t param0
) {
871 struct trace_t trace
= {NULL
, NULL
, 348, LOCATE_typing___AIfExpr___accept_typing
};
876 trace
.prev
= tracehead
; tracehead
= &trace
;
877 trace
.file
= LOCATE_typing
;
879 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
880 variable1
= variable2
;
881 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
882 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
883 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
884 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
885 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
886 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
887 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
888 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
889 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
890 if (UNTAG_Bool(variable2
)) { /*if*/
891 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
892 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
893 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
895 variable2
= ((parser_nodes___AIfExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_then
))( self
) /*AIfExpr::n_then*/;
896 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
897 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
898 variable2
= ((parser_nodes___AIfExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_else
))( self
) /*AIfExpr::n_else*/;
899 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
900 if (UNTAG_Bool(variable2
)) { /*if*/
901 variable2
= ((parser_nodes___AIfExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_else
))( self
) /*AIfExpr::n_else*/;
902 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
903 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
905 tracehead
= trace
.prev
;
908 void typing___AWhileExpr___after_typing(val_t self
, val_t param0
) {
909 struct trace_t trace
= {NULL
, NULL
, 370, LOCATE_typing___AWhileExpr___after_typing
};
913 trace
.prev
= tracehead
; tracehead
= &trace
;
914 trace
.file
= LOCATE_typing
;
916 variable1
= ((parser_nodes___AWhileExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AWhileExpr___n_expr
))( self
) /*AWhileExpr::n_expr*/;
917 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
918 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
919 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
920 tracehead
= trace
.prev
;
923 void typing___AForExpr___after_typing(val_t self
, val_t param0
) {
924 struct trace_t trace
= {NULL
, NULL
, 377, LOCATE_typing___AForExpr___after_typing
};
928 trace
.prev
= tracehead
; tracehead
= &trace
;
929 trace
.file
= LOCATE_typing
;
931 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
932 variable1
= variable2
;
933 variable2
= TAG_Bool(( variable1
/*varctx*/==NIT_NULL
) || VAL_ISA( variable1
/*varctx*/, COLOR_SubVariableContext
, ID_SubVariableContext
)) /*cast SubVariableContext*/;
934 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___AForExpr___after_typing
, LOCATE_typing
, 381); nit_exit(1);}
935 variable2
= ((typing___SubVariableContext___prev_t
)CALL( variable1
/*varctx*/,COLOR_typing___SubVariableContext___prev
))( variable1
/*varctx*/) /*SubVariableContext::prev*/;
936 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
937 tracehead
= trace
.prev
;
940 void typing___AForVardeclExpr___after_typing(val_t self
, val_t param0
) {
941 struct trace_t trace
= {NULL
, NULL
, 387, LOCATE_typing___AForVardeclExpr___after_typing
};
948 static val_t once_value_variable5_36
; static int once_bool_variable5_36
;
951 static val_t once_value_variable7_37
; static int once_bool_variable7_37
;
956 trace
.prev
= tracehead
; tracehead
= &trace
;
957 trace
.file
= LOCATE_typing
;
959 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
960 variable1
= ((typing___VariableContext___sub_t
)CALL(variable1
,COLOR_typing___VariableContext___sub
))(variable1
) /*VariableContext::sub*/;
961 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
962 variable2
= ((parser_nodes___AForVardeclExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_id
))( self
) /*AForVardeclExpr::n_id*/;
963 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*Token::to_symbol*/;
964 variable3
= NEW_syntax_base___Variable___init(variable2
, self
); /*new Variable*/
965 variable2
= variable3
;
966 variable1
= variable2
;
967 ((syntax_base___AForVardeclExpr___variable__eq_t
)CALL( self
,COLOR_syntax_base___AForVardeclExpr___variable__eq
))( self
, variable1
/*va*/) /*AForVardeclExpr::variable=*/;
968 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
969 ((typing___VariableContext___add_t
)CALL(variable2
,COLOR_typing___VariableContext___add
))(variable2
, variable1
/*va*/) /*VariableContext::add*/;
970 variable3
= ((parser_nodes___AForVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_expr
))( self
) /*AForVardeclExpr::n_expr*/;
971 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
972 variable2
= variable3
;
973 variable3
= ((syntax_base___AbsSyntaxVisitor___type_collection_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_collection
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_collection*/;
974 variable3
= ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
/*expr_type*/, variable3
) /*AbsSyntaxVisitor::check_conform*/;
975 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
978 variable4
= ((static_type___MMType___local_class_t
)CALL( variable2
/*expr_type*/,COLOR_static_type___MMType___local_class
))( variable2
/*expr_type*/) /*MMType::local_class*/;
979 if (once_bool_variable5_36
) variable5
= once_value_variable5_36
;
981 variable5
= NEW_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
982 variable5
= ((symbol___String___to_symbol_t
)CALL(variable5
,COLOR_symbol___String___to_symbol
))(variable5
) /*String::to_symbol*/;
983 once_value_variable5_36
= variable5
;
984 once_bool_variable5_36
= true;
986 variable4
= ((abstractmetamodel___MMLocalClass___select_method_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalClass___select_method
))(variable4
, variable5
) /*MMLocalClass::select_method*/;
987 variable3
= variable4
;
988 variable4
= TAG_Bool(( variable3
/*prop*/ == NIT_NULL
/*null*/) || (( variable3
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable3
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
989 if (UNTAG_Bool(variable4
)) { /*if*/
990 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: Collection MUST have an iterate method"), TAG_Int(45)); /*new String*/
991 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
994 variable5
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable3
/*prop*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable3
/*prop*/, variable2
/*expr_type*/) /*MMLocalProperty::signature_for*/;
995 variable5
= ((static_type___MMSignature___return_type_t
)CALL(variable5
,COLOR_static_type___MMSignature___return_type
))(variable5
) /*MMSignature::return_type*/;
996 variable4
= variable5
;
997 variable6
= ((static_type___MMType___local_class_t
)CALL( variable4
/*iter_type*/,COLOR_static_type___MMType___local_class
))( variable4
/*iter_type*/) /*MMType::local_class*/;
998 if (once_bool_variable7_37
) variable7
= once_value_variable7_37
;
1000 variable7
= NEW_string___String___with_native(BOX_NativeString("item"), TAG_Int(4)); /*new String*/
1001 variable7
= ((symbol___String___to_symbol_t
)CALL(variable7
,COLOR_symbol___String___to_symbol
))(variable7
) /*String::to_symbol*/;
1002 once_value_variable7_37
= variable7
;
1003 once_bool_variable7_37
= true;
1005 variable6
= ((abstractmetamodel___MMLocalClass___select_method_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___select_method
))(variable6
, variable7
) /*MMLocalClass::select_method*/;
1006 variable5
= variable6
;
1007 variable6
= TAG_Bool(( variable5
/*prop2*/ == NIT_NULL
/*null*/) || (( variable5
/*prop2*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable5
/*prop2*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable5
/*prop2*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable5
/*prop2*/,COLOR_kernel___Object_____eqeq
))( variable5
/*prop2*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1008 if (UNTAG_Bool(variable6
)) { /*if*/
1009 variable6
= NEW_string___String___init(); /*new String*/
1010 variable7
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
1011 variable8
= variable7
;
1012 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
1013 variable9
= variable4
/*iter_type*/;
1014 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1015 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable9
) /*String::append*/;
1016 variable10
= NEW_string___String___with_native(BOX_NativeString(" MUST have an item method"), TAG_Int(25)); /*new String*/
1017 variable11
= variable10
;
1018 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable11
) /*String::append*/;
1019 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable6
) /*AbsSyntaxVisitor::error*/;
1020 goto return_label35
;
1022 variable7
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable5
/*prop2*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable5
/*prop2*/, variable4
/*iter_type*/) /*MMLocalProperty::signature_for*/;
1023 variable7
= ((static_type___MMSignature___return_type_t
)CALL(variable7
,COLOR_static_type___MMSignature___return_type
))(variable7
) /*MMSignature::return_type*/;
1024 variable6
= variable7
;
1025 variable7
= ((parser_nodes___AForVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_expr
))( self
) /*AForVardeclExpr::n_expr*/;
1026 variable7
= ((typing___PExpr___is_self_t
)CALL(variable7
,COLOR_typing___PExpr___is_self
))(variable7
) /*PExpr::is_self*/;
1027 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable7
)))) { /*if*/
1028 variable7
= ((static_type___MMType___not_for_self_t
)CALL( variable6
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable6
/*t*/) /*MMType::not_for_self*/;
1029 variable6
= variable7
/*t=*/;
1031 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*va*/, variable6
/*t*/) /*Variable::stype=*/;
1032 return_label35
: while(false);
1033 tracehead
= trace
.prev
;
1036 void typing___AAssertExpr___after_typing(val_t self
, val_t param0
) {
1037 struct trace_t trace
= {NULL
, NULL
, 416, LOCATE_typing___AAssertExpr___after_typing
};
1041 trace
.prev
= tracehead
; tracehead
= &trace
;
1042 trace
.file
= LOCATE_typing
;
1044 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
1045 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1046 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1047 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
1048 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
1049 variable1
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable1
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable1
) /*PExpr::if_true_variable_ctx*/;
1050 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1051 if (UNTAG_Bool(variable1
)) { /*if*/
1052 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
1053 variable1
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable1
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable1
) /*PExpr::if_true_variable_ctx*/;
1054 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
1056 tracehead
= trace
.prev
;
1059 val_t
typing___AVarExpr___is_variable(val_t self
) {
1060 struct trace_t trace
= {NULL
, NULL
, 424, LOCATE_typing___AVarExpr___is_variable
};
1062 trace
.prev
= tracehead
; tracehead
= &trace
;
1063 trace
.file
= LOCATE_typing
;
1064 variable0
= TAG_Bool(true);
1065 goto return_label39
;
1066 return_label39
: while(false);
1067 tracehead
= trace
.prev
;
1070 void typing___AVarExpr___after_typing(val_t self
, val_t param0
) {
1071 struct trace_t trace
= {NULL
, NULL
, 426, LOCATE_typing___AVarExpr___after_typing
};
1075 trace
.prev
= tracehead
; tracehead
= &trace
;
1076 trace
.file
= LOCATE_typing
;
1078 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1079 variable2
= ((syntax_base___AVarFormExpr___variable_t
)CALL( self
,COLOR_syntax_base___AVarFormExpr___variable
))( self
) /*AVarFormExpr::variable*/;
1080 variable1
= ((typing___VariableContext___stype_t
)CALL(variable1
,COLOR_typing___VariableContext___stype
))(variable1
, variable2
) /*VariableContext::stype*/;
1081 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1082 tracehead
= trace
.prev
;
1085 void typing___AVarAssignExpr___after_typing(val_t self
, val_t param0
) {
1086 struct trace_t trace
= {NULL
, NULL
, 433, LOCATE_typing___AVarAssignExpr___after_typing
};
1091 trace
.prev
= tracehead
; tracehead
= &trace
;
1092 trace
.file
= LOCATE_typing
;
1094 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1095 variable3
= ((syntax_base___AVarFormExpr___variable_t
)CALL( self
,COLOR_syntax_base___AVarFormExpr___variable
))( self
) /*AVarFormExpr::variable*/;
1096 variable2
= ((typing___VariableContext___stype_t
)CALL(variable2
,COLOR_typing___VariableContext___stype
))(variable2
, variable3
) /*VariableContext::stype*/;
1097 variable1
= variable2
;
1098 variable2
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAssignFormExpr::n_value*/;
1099 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1100 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable1
/*t*/) /*AbsSyntaxVisitor::check_conform*/;
1101 tracehead
= trace
.prev
;
1104 void typing___AReassignFormExpr___do_lvalue_typing(val_t self
, val_t param0
, val_t param1
) {
1105 struct trace_t trace
= {NULL
, NULL
, 441, LOCATE_typing___AReassignFormExpr___do_lvalue_typing
};
1119 trace
.prev
= tracehead
; tracehead
= &trace
;
1120 trace
.file
= LOCATE_typing
;
1123 variable2
= TAG_Bool(( variable1
/*type_lvalue*/ == NIT_NULL
/*null*/) || (( variable1
/*type_lvalue*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*type_lvalue*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*type_lvalue*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*type_lvalue*/,COLOR_kernel___Object_____eqeq
))( variable1
/*type_lvalue*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1124 if (UNTAG_Bool(variable2
)) { /*if*/
1125 goto return_label42
;
1127 variable3
= ((parser_nodes___AReassignFormExpr___n_assign_op_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_assign_op
))( self
) /*AReassignFormExpr::n_assign_op*/;
1128 variable3
= ((typing___PAssignOp___method_name_t
)CALL(variable3
,COLOR_typing___PAssignOp___method_name
))(variable3
) /*PAssignOp::method_name*/;
1129 variable2
= variable3
;
1130 variable4
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_lvalue*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_lvalue*/) /*MMType::local_class*/;
1131 variable4
= ((abstractmetamodel___MMLocalClass___select_method_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalClass___select_method
))(variable4
, variable2
/*name*/) /*MMLocalClass::select_method*/;
1132 variable3
= variable4
;
1133 variable4
= TAG_Bool(( variable3
/*prop*/ == NIT_NULL
/*null*/) || (( variable3
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable3
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1134 if (UNTAG_Bool(variable4
)) { /*if*/
1135 variable4
= NEW_string___String___init(); /*new String*/
1136 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
1137 variable6
= variable5
;
1138 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1139 variable7
= variable2
/*name*/;
1140 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1141 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1142 variable8
= NEW_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
1143 variable9
= variable8
;
1144 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1145 variable10
= variable1
/*type_lvalue*/;
1146 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1147 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1148 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1149 variable12
= variable11
;
1150 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1151 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
1152 goto return_label42
;
1154 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMLocalProperty::global*/;
1155 variable5
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
1156 ((syntax_base___MMGlobalProperty___check_visibility_t
)CALL(variable4
,COLOR_syntax_base___MMGlobalProperty___check_visibility
))(variable4
, variable0
/*v*/, self
, variable5
, TAG_Bool(false)) /*MMGlobalProperty::check_visibility*/;
1157 variable5
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable3
/*prop*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable3
/*prop*/, variable1
/*type_lvalue*/) /*MMLocalProperty::signature_for*/;
1158 variable4
= variable5
;
1159 ATTR_typing___AReassignFormExpr____assign_method( self
) /*AReassignFormExpr::_assign_method*/ = variable3
/*prop*/;
1160 variable5
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
1161 variable6
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
1162 variable6
= ((typing___PExpr___stype_t
)CALL(variable6
,COLOR_syntax_base___PExpr___stype
))(variable6
) /*PExpr::stype*/;
1163 variable7
= ((static_type___MMSignature_____bra_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature_____bra
))( variable4
/*psig*/, TAG_Int(0)) /*MMSignature::[]*/;
1164 variable7
= ((static_type___MMType___not_for_self_t
)CALL(variable7
,COLOR_static_type___MMType___not_for_self
))(variable7
) /*MMType::not_for_self*/;
1165 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, variable5
, variable6
, variable7
) /*AbsSyntaxVisitor::check_conform*/;
1166 variable5
= ((static_type___MMSignature___return_type_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature___return_type
))( variable4
/*psig*/) /*MMSignature::return_type*/;
1167 variable5
= ((static_type___MMType___not_for_self_t
)CALL(variable5
,COLOR_static_type___MMType___not_for_self
))(variable5
) /*MMType::not_for_self*/;
1168 variable6
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
1169 variable6
= ((typing___PExpr___stype_t
)CALL(variable6
,COLOR_syntax_base___PExpr___stype
))(variable6
) /*PExpr::stype*/;
1170 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable5
, variable6
) /*AbsSyntaxVisitor::check_conform*/;
1171 return_label42
: while(false);
1172 tracehead
= trace
.prev
;
1175 val_t
typing___AReassignFormExpr___assign_method(val_t self
) {
1176 struct trace_t trace
= {NULL
, NULL
, 460, LOCATE_typing___AReassignFormExpr___assign_method
};
1177 trace
.prev
= tracehead
; tracehead
= &trace
;
1178 trace
.file
= LOCATE_typing
;
1179 tracehead
= trace
.prev
;
1180 return ATTR_typing___AReassignFormExpr____assign_method( self
) /*AReassignFormExpr::_assign_method*/;
1182 void typing___AVarReassignExpr___after_typing(val_t self
, val_t param0
) {
1183 struct trace_t trace
= {NULL
, NULL
, 465, LOCATE_typing___AVarReassignExpr___after_typing
};
1188 trace
.prev
= tracehead
; tracehead
= &trace
;
1189 trace
.file
= LOCATE_typing
;
1191 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1192 variable3
= ((syntax_base___AVarFormExpr___variable_t
)CALL( self
,COLOR_syntax_base___AVarFormExpr___variable
))( self
) /*AVarFormExpr::variable*/;
1193 variable2
= ((typing___VariableContext___stype_t
)CALL(variable2
,COLOR_typing___VariableContext___stype
))(variable2
, variable3
) /*VariableContext::stype*/;
1194 variable1
= variable2
;
1195 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable1
/*t*/) /*AReassignFormExpr::do_lvalue_typing*/;
1196 tracehead
= trace
.prev
;
1199 val_t
typing___PAssignOp___method_name(val_t self
) {
1200 struct trace_t trace
= {NULL
, NULL
, 473, LOCATE_typing___PAssignOp___method_name
};
1201 trace
.prev
= tracehead
; tracehead
= &trace
;
1202 trace
.file
= LOCATE_typing
;
1203 fprintf(stderr
, "Deferred method %s called");
1204 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___AVarReassignExpr___after_typing
, LOCATE_typing
, 473);
1206 tracehead
= trace
.prev
;
1209 val_t
typing___APlusAssignOp___method_name(val_t self
) {
1210 struct trace_t trace
= {NULL
, NULL
, 476, LOCATE_typing___APlusAssignOp___method_name
};
1212 static val_t once_value_variable0_45
; static int once_bool_variable0_45
;
1213 trace
.prev
= tracehead
; tracehead
= &trace
;
1214 trace
.file
= LOCATE_typing
;
1215 if (once_bool_variable0_45
) variable0
= once_value_variable0_45
;
1217 variable0
= NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
1218 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
1219 once_value_variable0_45
= variable0
;
1220 once_bool_variable0_45
= true;
1222 goto return_label44
;
1223 return_label44
: while(false);
1224 tracehead
= trace
.prev
;
1227 val_t
typing___AMinusAssignOp___method_name(val_t self
) {
1228 struct trace_t trace
= {NULL
, NULL
, 479, LOCATE_typing___AMinusAssignOp___method_name
};
1230 static val_t once_value_variable0_47
; static int once_bool_variable0_47
;
1231 trace
.prev
= tracehead
; tracehead
= &trace
;
1232 trace
.file
= LOCATE_typing
;
1233 if (once_bool_variable0_47
) variable0
= once_value_variable0_47
;
1235 variable0
= NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
1236 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
1237 once_value_variable0_47
= variable0
;
1238 once_bool_variable0_47
= true;
1240 goto return_label46
;
1241 return_label46
: while(false);
1242 tracehead
= trace
.prev
;
1245 void typing___ASelfExpr___after_typing(val_t self
, val_t param0
) {
1246 struct trace_t trace
= {NULL
, NULL
, 483, LOCATE_typing___ASelfExpr___after_typing
};
1249 trace
.prev
= tracehead
; tracehead
= &trace
;
1250 trace
.file
= LOCATE_typing
;
1252 variable1
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1253 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1254 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ASelfExpr___after_typing
, LOCATE_typing
, 485); nit_exit(1);}
1255 variable1
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1256 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1257 tracehead
= trace
.prev
;
1260 val_t
typing___ASelfExpr___is_self(val_t self
) {
1261 struct trace_t trace
= {NULL
, NULL
, 489, LOCATE_typing___ASelfExpr___is_self
};
1263 trace
.prev
= tracehead
; tracehead
= &trace
;
1264 trace
.file
= LOCATE_typing
;
1265 variable0
= TAG_Bool(true);
1266 goto return_label49
;
1267 return_label49
: while(false);
1268 tracehead
= trace
.prev
;
1271 val_t
typing___AImplicitSelfExpr___is_implicit_self(val_t self
) {
1272 struct trace_t trace
= {NULL
, NULL
, 493, LOCATE_typing___AImplicitSelfExpr___is_implicit_self
};
1274 trace
.prev
= tracehead
; tracehead
= &trace
;
1275 trace
.file
= LOCATE_typing
;
1276 variable0
= TAG_Bool(true);
1277 goto return_label50
;
1278 return_label50
: while(false);
1279 tracehead
= trace
.prev
;
1282 void typing___AIfexprExpr___accept_typing(val_t self
, val_t param0
) {
1283 struct trace_t trace
= {NULL
, NULL
, 497, LOCATE_typing___AIfexprExpr___accept_typing
};
1297 trace
.prev
= tracehead
; tracehead
= &trace
;
1298 trace
.file
= LOCATE_typing
;
1300 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1301 variable1
= variable2
;
1302 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1303 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1304 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1305 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1306 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1307 if (UNTAG_Bool(variable2
)) { /*if*/
1308 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1309 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1310 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
1312 variable2
= ((parser_nodes___AIfexprExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_then
))( self
) /*AIfexprExpr::n_then*/;
1313 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1314 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
1315 variable2
= ((parser_nodes___AIfexprExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_else
))( self
) /*AIfexprExpr::n_else*/;
1316 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1317 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1318 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1319 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1320 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
1321 variable3
= ((parser_nodes___AIfexprExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_then
))( self
) /*AIfexprExpr::n_then*/;
1322 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
1323 variable2
= variable3
;
1324 variable4
= ((parser_nodes___AIfexprExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_else
))( self
) /*AIfexprExpr::n_else*/;
1325 variable4
= ((typing___PExpr___stype_t
)CALL(variable4
,COLOR_syntax_base___PExpr___stype
))(variable4
) /*PExpr::stype*/;
1326 variable3
= variable4
;
1327 variable4
= ((static_type___MMType_____l_t
)CALL( variable2
/*t*/,COLOR_static_type___MMType_____l
))( variable2
/*t*/, variable3
/*te*/) /*MMType::<*/;
1328 if (UNTAG_Bool(variable4
)) { /*if*/
1329 variable2
= variable3
/*te*/ /*t=*/;
1331 variable4
= ((static_type___MMType_____l_t
)CALL( variable3
/*te*/,COLOR_static_type___MMType_____l
))( variable3
/*te*/, variable2
/*t*/) /*MMType::<*/;
1332 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
1333 variable4
= NEW_string___String___init(); /*new String*/
1334 variable5
= NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
1335 variable6
= variable5
;
1336 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1337 variable7
= variable3
/*te*/;
1338 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1339 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1340 variable8
= NEW_string___String___with_native(BOX_NativeString(" is not a subtype of "), TAG_Int(21)); /*new String*/
1341 variable9
= variable8
;
1342 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1343 variable10
= variable2
/*t*/;
1344 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1345 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1346 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1347 variable12
= variable11
;
1348 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1349 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
1350 goto return_label51
;
1353 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable2
/*t*/;
1354 return_label51
: while(false);
1355 tracehead
= trace
.prev
;
1358 void typing___ABoolExpr___after_typing(val_t self
, val_t param0
) {
1359 struct trace_t trace
= {NULL
, NULL
, 523, LOCATE_typing___ABoolExpr___after_typing
};
1362 trace
.prev
= tracehead
; tracehead
= &trace
;
1363 trace
.file
= LOCATE_typing
;
1365 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1366 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1367 tracehead
= trace
.prev
;
1370 void typing___AOrExpr___after_typing(val_t self
, val_t param0
) {
1371 struct trace_t trace
= {NULL
, NULL
, 530, LOCATE_typing___AOrExpr___after_typing
};
1375 trace
.prev
= tracehead
; tracehead
= &trace
;
1376 trace
.file
= LOCATE_typing
;
1378 variable1
= ((parser_nodes___AOrExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AOrExpr___n_expr
))( self
) /*AOrExpr::n_expr*/;
1379 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1380 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1381 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
1382 variable1
= ((parser_nodes___AOrExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AOrExpr___n_expr2
))( self
) /*AOrExpr::n_expr2*/;
1383 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1384 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1385 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
1386 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1387 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1388 tracehead
= trace
.prev
;
1391 void typing___AAndExpr___accept_typing(val_t self
, val_t param0
) {
1392 struct trace_t trace
= {NULL
, NULL
, 539, LOCATE_typing___AAndExpr___accept_typing
};
1397 trace
.prev
= tracehead
; tracehead
= &trace
;
1398 trace
.file
= LOCATE_typing
;
1400 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1401 variable1
= variable2
;
1402 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1403 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1404 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1405 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1406 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1407 if (UNTAG_Bool(variable2
)) { /*if*/
1408 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1409 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1410 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
1412 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1413 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1414 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1415 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1416 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1417 if (UNTAG_Bool(variable2
)) { /*if*/
1418 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1419 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1420 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*PExpr::_if_true_variable_ctx*/ = variable2
;
1422 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1423 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*PExpr::_if_true_variable_ctx*/ = variable2
;
1425 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
1426 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1427 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1428 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1429 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
1430 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1431 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1432 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1433 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
1434 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1435 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable2
;
1436 tracehead
= trace
.prev
;
1439 void typing___ANotExpr___after_typing(val_t self
, val_t param0
) {
1440 struct trace_t trace
= {NULL
, NULL
, 562, LOCATE_typing___ANotExpr___after_typing
};
1444 trace
.prev
= tracehead
; tracehead
= &trace
;
1445 trace
.file
= LOCATE_typing
;
1447 variable1
= ((parser_nodes___ANotExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ANotExpr___n_expr
))( self
) /*ANotExpr::n_expr*/;
1448 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1449 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1450 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
1451 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1452 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1453 tracehead
= trace
.prev
;
1456 void typing___AIntExpr___after_typing(val_t self
, val_t param0
) {
1457 struct trace_t trace
= {NULL
, NULL
, 570, LOCATE_typing___AIntExpr___after_typing
};
1460 trace
.prev
= tracehead
; tracehead
= &trace
;
1461 trace
.file
= LOCATE_typing
;
1463 variable1
= ((syntax_base___AbsSyntaxVisitor___type_int_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_int
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_int*/;
1464 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1465 tracehead
= trace
.prev
;
1468 void typing___AFloatExpr___after_typing(val_t self
, val_t param0
) {
1469 struct trace_t trace
= {NULL
, NULL
, 578, LOCATE_typing___AFloatExpr___after_typing
};
1472 trace
.prev
= tracehead
; tracehead
= &trace
;
1473 trace
.file
= LOCATE_typing
;
1475 variable1
= ((syntax_base___AbsSyntaxVisitor___type_float_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_float
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_float*/;
1476 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1477 tracehead
= trace
.prev
;
1480 void typing___ACharExpr___after_typing(val_t self
, val_t param0
) {
1481 struct trace_t trace
= {NULL
, NULL
, 585, LOCATE_typing___ACharExpr___after_typing
};
1484 trace
.prev
= tracehead
; tracehead
= &trace
;
1485 trace
.file
= LOCATE_typing
;
1487 variable1
= ((syntax_base___AbsSyntaxVisitor___type_char_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_char
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_char*/;
1488 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1489 tracehead
= trace
.prev
;
1492 void typing___AStringFormExpr___after_typing(val_t self
, val_t param0
) {
1493 struct trace_t trace
= {NULL
, NULL
, 592, LOCATE_typing___AStringFormExpr___after_typing
};
1496 trace
.prev
= tracehead
; tracehead
= &trace
;
1497 trace
.file
= LOCATE_typing
;
1499 variable1
= ((syntax_base___AbsSyntaxVisitor___type_string_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_string*/;
1500 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1501 tracehead
= trace
.prev
;
1504 void typing___ASuperstringExpr___after_typing(val_t self
, val_t param0
) {
1505 struct trace_t trace
= {NULL
, NULL
, 599, LOCATE_typing___ASuperstringExpr___after_typing
};
1508 trace
.prev
= tracehead
; tracehead
= &trace
;
1509 trace
.file
= LOCATE_typing
;
1511 variable1
= ((syntax_base___AbsSyntaxVisitor___type_string_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_string*/;
1512 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1513 tracehead
= trace
.prev
;
1516 void typing___ANullExpr___after_typing(val_t self
, val_t param0
) {
1517 struct trace_t trace
= {NULL
, NULL
, 606, LOCATE_typing___ANullExpr___after_typing
};
1520 trace
.prev
= tracehead
; tracehead
= &trace
;
1521 trace
.file
= LOCATE_typing
;
1523 variable1
= ((syntax_base___AbsSyntaxVisitor___type_none_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_none
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_none*/;
1524 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1525 tracehead
= trace
.prev
;
1528 void typing___AArrayExpr___stype__eq(val_t self
, val_t param0
) {
1529 struct trace_t trace
= {NULL
, NULL
, 613, LOCATE_typing___AArrayExpr___stype__eq
};
1531 trace
.prev
= tracehead
; tracehead
= &trace
;
1532 trace
.file
= LOCATE_typing
;
1534 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable0
/*t*/;
1535 tracehead
= trace
.prev
;
1538 void typing___AArrayExpr___after_typing(val_t self
, val_t param0
) {
1539 struct trace_t trace
= {NULL
, NULL
, 615, LOCATE_typing___AArrayExpr___after_typing
};
1548 trace
.prev
= tracehead
; tracehead
= &trace
;
1549 trace
.file
= LOCATE_typing
;
1551 variable1
= NIT_NULL
/*null*/;
1552 variable2
= ((parser_nodes___AArrayExpr___n_exprs_t
)CALL( self
,COLOR_parser_nodes___AArrayExpr___n_exprs
))( self
) /*AArrayExpr::n_exprs*/;
1553 variable2
= ((list___List___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*List::iterator*/;
1554 while (true) { /*for*/
1555 variable3
= ((list___ListIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ListIterator::is_ok*/;
1556 if (!UNTAG_Bool(variable3
)) break; /*for*/
1557 variable3
= ((list___ListIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ListIterator::item*/;
1558 variable5
= ((typing___PExpr___stype_t
)CALL( variable3
/*n*/,COLOR_syntax_base___PExpr___stype
))( variable3
/*n*/) /*PExpr::stype*/;
1559 variable4
= variable5
;
1560 variable5
= TAG_Bool(( variable1
/*stype*/ == NIT_NULL
/*null*/) || (( variable1
/*stype*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*stype*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*stype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*stype*/,COLOR_kernel___Object_____eqeq
))( variable1
/*stype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1561 variable6
= variable5
;
1562 if (!UNTAG_Bool(variable6
)) { /* or */
1563 variable6
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4
/*ntype*/ == NIT_NULL
/*null*/) || (( variable4
/*ntype*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable4
/*ntype*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable4
/*ntype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable4
/*ntype*/,COLOR_kernel___Object_____eqeq
))( variable4
/*ntype*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1564 variable7
= variable6
;
1565 if (UNTAG_Bool(variable7
)) { /* and */
1566 variable7
= ((static_type___MMType_____l_t
)CALL( variable1
/*stype*/,COLOR_static_type___MMType_____l
))( variable1
/*stype*/, variable4
/*ntype*/) /*MMType::<*/;
1568 variable6
= variable7
;
1570 variable5
= variable6
;
1571 if (UNTAG_Bool(variable5
)) { /*if*/
1572 variable1
= variable4
/*ntype*/ /*stype=*/;
1574 continue_64
: while(0);
1575 ((list___ListIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ListIterator::next*/;
1578 variable2
= ((parser_nodes___AArrayExpr___n_exprs_t
)CALL( self
,COLOR_parser_nodes___AArrayExpr___n_exprs
))( self
) /*AArrayExpr::n_exprs*/;
1579 variable2
= ((list___List___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*List::iterator*/;
1580 while (true) { /*for*/
1581 variable3
= ((list___ListIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ListIterator::is_ok*/;
1582 if (!UNTAG_Bool(variable3
)) break; /*for*/
1583 variable3
= ((list___ListIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ListIterator::item*/;
1584 variable4
= ((typing___PExpr___stype_t
)CALL( variable3
/*n*/,COLOR_syntax_base___PExpr___stype
))( variable3
/*n*/) /*PExpr::stype*/;
1585 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable4
, variable1
/*stype*/) /*AbsSyntaxVisitor::check_conform*/;
1586 continue_65
: while(0);
1587 ((list___ListIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ListIterator::next*/;
1590 variable2
= ((syntax_base___AbsSyntaxVisitor___type_array_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array
))( variable0
/*v*/, variable1
/*stype*/) /*AbsSyntaxVisitor::type_array*/;
1591 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable2
;
1592 tracehead
= trace
.prev
;
1595 void typing___ARangeExpr___after_typing(val_t self
, val_t param0
) {
1596 struct trace_t trace
= {NULL
, NULL
, 632, LOCATE_typing___ARangeExpr___after_typing
};
1609 trace
.prev
= tracehead
; tracehead
= &trace
;
1610 trace
.file
= LOCATE_typing
;
1612 variable2
= ((parser_nodes___ARangeExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ARangeExpr___n_expr
))( self
) /*ARangeExpr::n_expr*/;
1613 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1614 variable1
= variable2
;
1615 variable3
= ((parser_nodes___ARangeExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___ARangeExpr___n_expr2
))( self
) /*ARangeExpr::n_expr2*/;
1616 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
1617 variable2
= variable3
;
1618 variable3
= TAG_Bool(( variable1
/*ntype*/ == NIT_NULL
/*null*/) || (( variable1
/*ntype*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*ntype*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*ntype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*ntype*/,COLOR_kernel___Object_____eqeq
))( variable1
/*ntype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1619 variable4
= variable3
;
1620 if (!UNTAG_Bool(variable4
)) { /* or */
1621 variable4
= TAG_Bool(( variable1
/*ntype*/ == NIT_NULL
/*null*/) || (( variable1
/*ntype*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*ntype*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*ntype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*ntype*/,COLOR_kernel___Object_____eqeq
))( variable1
/*ntype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1623 variable3
= variable4
;
1624 if (UNTAG_Bool(variable3
)) { /*if*/
1625 goto return_label66
;
1627 variable3
= ((static_type___MMType_____l_t
)CALL( variable1
/*ntype*/,COLOR_static_type___MMType_____l
))( variable1
/*ntype*/, variable2
/*ntype2*/) /*MMType::<*/;
1628 if (UNTAG_Bool(variable3
)) { /*if*/
1629 variable1
= variable2
/*ntype2*/ /*ntype=*/;
1631 variable3
= ((static_type___MMType_____l_t
)CALL( variable2
/*ntype2*/,COLOR_static_type___MMType_____l
))( variable2
/*ntype2*/, variable1
/*ntype*/) /*MMType::<*/;
1632 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
1633 variable3
= NEW_string___String___init(); /*new String*/
1634 variable4
= NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
1635 variable5
= variable4
;
1636 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1637 variable6
= variable1
/*ntype*/;
1638 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
1639 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable6
) /*String::append*/;
1640 variable7
= NEW_string___String___with_native(BOX_NativeString(" incompatible with "), TAG_Int(19)); /*new String*/
1641 variable8
= variable7
;
1642 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable8
) /*String::append*/;
1643 variable9
= variable2
/*ntype2*/;
1644 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1645 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1646 variable10
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1647 variable11
= variable10
;
1648 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable11
) /*String::append*/;
1649 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*AbsSyntaxVisitor::error*/;
1650 goto return_label66
;
1653 variable4
= ((syntax_base___AbsSyntaxVisitor___type_discrete_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_discrete
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_discrete*/;
1654 variable3
= variable4
;
1655 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
/*ntype*/, variable3
/*dtype*/) /*AbsSyntaxVisitor::check_conform*/;
1656 variable4
= ((syntax_base___AbsSyntaxVisitor___type_range_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_range
))( variable0
/*v*/, variable1
/*ntype*/) /*AbsSyntaxVisitor::type_range*/;
1657 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable4
;
1658 return_label66
: while(false);
1659 tracehead
= trace
.prev
;
1662 val_t
typing___ASuperExpr___init_in_superclass(val_t self
) {
1663 struct trace_t trace
= {NULL
, NULL
, 653, LOCATE_typing___ASuperExpr___init_in_superclass
};
1664 trace
.prev
= tracehead
; tracehead
= &trace
;
1665 trace
.file
= LOCATE_typing
;
1666 tracehead
= trace
.prev
;
1667 return ATTR_typing___ASuperExpr____init_in_superclass( self
) /*ASuperExpr::_init_in_superclass*/;
1669 void typing___ASuperExpr___after_typing(val_t self
, val_t param0
) {
1670 struct trace_t trace
= {NULL
, NULL
, 655, LOCATE_typing___ASuperExpr___after_typing
};
1686 trace
.prev
= tracehead
; tracehead
= &trace
;
1687 trace
.file
= LOCATE_typing
;
1689 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1690 variable2
= ((abstractmetamodel___MMLocalProperty___prhe_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___prhe
))(variable2
) /*MMLocalProperty::prhe*/;
1691 variable2
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable2
) /*PartialOrderElement::direct_greaters*/;
1692 variable1
= variable2
;
1693 variable2
= ((array___AbstractArray___is_empty_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___is_empty
))( variable1
/*precs*/) /*AbstractArray::is_empty*/;
1694 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1695 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1696 ((abstractmetamodel___MMLocalProperty___need_super__eq_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___need_super__eq
))(variable2
, TAG_Bool(true)) /*MMLocalProperty::need_super=*/;
1698 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1699 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMLocalProperty::global*/;
1700 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
1701 if (UNTAG_Bool(variable2
)) { /*if*/
1702 variable3
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
1703 variable4
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1704 variable4
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable4
) /*MMLocalProperty::name*/;
1705 variable3
= ((abstractmetamodel___MMLocalClass___super_methods_named_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___super_methods_named
))(variable3
, variable4
) /*MMLocalClass::super_methods_named*/;
1706 variable2
= variable3
;
1707 variable3
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*base_precs*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*base_precs*/) /*AbstractArray::iterator*/;
1708 while (true) { /*for*/
1709 variable4
= ((array___ArrayIterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*ArrayIterator::is_ok*/;
1710 if (!UNTAG_Bool(variable4
)) break; /*for*/
1711 variable4
= ((array___ArrayIterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*ArrayIterator::item*/;
1712 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable4
/*p*/) /*MMLocalProperty::global*/;
1713 variable5
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable5
) /*MMGlobalProperty::is_init*/;
1714 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5
)))) { /*if*/
1715 variable5
= NEW_string___String___init(); /*new String*/
1716 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
1717 variable7
= variable6
;
1718 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
1719 variable8
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( variable4
/*p*/) /*MMLocalProperty::local_class*/;
1720 variable9
= variable8
;
1721 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1722 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable9
) /*String::append*/;
1723 variable10
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1724 variable11
= variable10
;
1725 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
1726 variable12
= variable4
/*p*/;
1727 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1728 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable12
) /*String::append*/;
1729 variable13
= NEW_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
1730 variable14
= variable13
;
1731 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable14
) /*String::append*/;
1732 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*AbsSyntaxVisitor::error*/;
1734 variable5
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
1735 variable6
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable4
/*p*/) /*MMLocalProperty::global*/;
1736 variable5
= ((inheritance___MMLocalClass_____bra_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass_____bra
))(variable5
, variable6
) /*MMLocalClass::[]*/;
1737 ((array___AbstractArray___add_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*precs*/, variable5
) /*AbstractArray::add*/;
1739 continue_68
: while(0);
1740 ((array___ArrayIterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*ArrayIterator::next*/;
1743 variable3
= ((array___AbstractArray___is_empty_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___is_empty
))( variable1
/*precs*/) /*AbstractArray::is_empty*/;
1744 if (UNTAG_Bool(variable3
)) { /*if*/
1745 variable3
= NEW_string___String___init(); /*new String*/
1746 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: No contructor named "), TAG_Int(27)); /*new String*/
1747 variable5
= variable4
;
1748 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1749 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1750 variable6
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable6
) /*MMLocalProperty::name*/;
1751 variable7
= variable6
;
1752 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1753 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
1754 variable8
= NEW_string___String___with_native(BOX_NativeString(" in superclasses."), TAG_Int(17)); /*new String*/
1755 variable9
= variable8
;
1756 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1757 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*AbsSyntaxVisitor::error*/;
1758 goto return_label67
;
1760 variable3
= ((array___AbstractArray___length_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___length
))( variable1
/*precs*/) /*AbstractArray::length*/;
1761 variable3
= TAG_Bool(UNTAG_Int(variable3
)>UNTAG_Int( TAG_Int(1)));
1762 if (UNTAG_Bool(variable3
)) { /*if*/
1763 variable3
= NEW_string___String___init(); /*new String*/
1764 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: Conflicting contructors named "), TAG_Int(37)); /*new String*/
1765 variable5
= variable4
;
1766 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1767 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1768 variable6
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable6
) /*MMLocalProperty::name*/;
1769 variable7
= variable6
;
1770 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1771 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
1772 variable8
= NEW_string___String___with_native(BOX_NativeString(" in superclasses: "), TAG_Int(18)); /*new String*/
1773 variable9
= variable8
;
1774 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1775 variable10
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1776 variable10
= ((string___Collection___join_t
)CALL( variable1
/*precs*/,COLOR_string___Collection___join
))( variable1
/*precs*/, variable10
) /*Collection::join*/;
1777 variable11
= variable10
;
1778 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable11
) /*String::append*/;
1779 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1780 variable13
= variable12
;
1781 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable13
) /*String::append*/;
1782 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*AbsSyntaxVisitor::error*/;
1783 goto return_label67
;
1786 variable4
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable2
/*base_precs*/,COLOR_abstract_collection___Collection___first
))( variable2
/*base_precs*/) /*IndexedCollection::first*/;
1787 variable3
= variable4
;
1788 variable4
= TAG_Bool(( variable3
/*p*/==NIT_NULL
) || VAL_ISA( variable3
/*p*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1789 if (!UNTAG_Bool(variable4
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ASuperExpr___after_typing
, LOCATE_typing
, 677); nit_exit(1);}
1790 ATTR_typing___ASuperExpr____init_in_superclass( self
) /*ASuperExpr::_init_in_superclass*/ = variable3
/*p*/;
1791 ((typing___ASuperInitCall___register_super_init_call_t
)CALL( self
,COLOR_typing___ASuperInitCall___register_super_init_call
))( self
, variable0
/*v*/, variable3
/*p*/) /*ASuperInitCall::register_super_init_call*/;
1792 variable4
= ((parser_nodes___ASuperExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ASuperExpr___n_args
))( self
) /*ASuperExpr::n_args*/;
1793 variable4
= ((list___List___length_t
)CALL(variable4
,COLOR_abstract_collection___Collection___length
))(variable4
) /*List::length*/;
1794 variable4
= TAG_Bool(UNTAG_Int(variable4
)>UNTAG_Int( TAG_Int(0)));
1795 if (UNTAG_Bool(variable4
)) { /*if*/
1796 variable4
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1797 variable5
= ((parser_nodes___ASuperExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ASuperExpr___n_args
))( self
) /*ASuperExpr::n_args*/;
1798 variable5
= ((array___Collection___to_a_t
)CALL(variable5
,COLOR_array___Collection___to_a
))(variable5
) /*Collection::to_a*/;
1799 variable4
= ((typing___AAbsSendExpr___process_signature_t
)CALL( self
,COLOR_typing___AAbsSendExpr___process_signature
))( self
, variable0
/*v*/, variable4
, variable3
/*p*/, TAG_Bool(true), variable5
) /*AAbsSendExpr::process_signature*/;
1800 ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/ = variable4
;
1803 variable2
= NEW_string___String___init(); /*new String*/
1804 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: No super method to call for "), TAG_Int(35)); /*new String*/
1805 variable4
= variable3
;
1806 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
1807 variable5
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1808 variable6
= variable5
;
1809 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
1810 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
1811 variable7
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1812 variable8
= variable7
;
1813 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
1814 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
1815 goto return_label67
;
1818 variable2
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___first
))( variable1
/*precs*/) /*IndexedCollection::first*/;
1819 variable3
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1820 variable2
= ((static_type___MMLocalProperty___signature_for_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature_for
))(variable2
, variable3
) /*MMLocalProperty::signature_for*/;
1821 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
1822 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1823 if (UNTAG_Bool(variable2
)) { /*if*/
1824 variable3
= NEW_array___Array___init(); /*new Array[E]*/
1825 variable2
= variable3
;
1826 variable3
= NIT_NULL
/*null*/;
1827 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*precs*/) /*AbstractArray::iterator*/;
1828 while (true) { /*for*/
1829 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
1830 if (!UNTAG_Bool(variable5
)) break; /*for*/
1831 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
1832 variable6
= TAG_Bool(( variable5
/*prop*/==NIT_NULL
) || VAL_ISA( variable5
/*prop*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1833 if (!UNTAG_Bool(variable6
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ASuperExpr___after_typing
, LOCATE_typing
, 692); nit_exit(1);}
1834 variable7
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1835 variable7
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable5
/*prop*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable5
/*prop*/, variable7
) /*MMLocalProperty::signature_for*/;
1836 variable7
= ((static_type___MMSignature___return_type_t
)CALL(variable7
,COLOR_static_type___MMSignature___return_type
))(variable7
) /*MMSignature::return_type*/;
1837 variable8
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
1838 variable7
= ((static_type___MMType___for_module_t
)CALL(variable7
,COLOR_static_type___MMType___for_module
))(variable7
, variable8
) /*MMType::for_module*/;
1839 variable8
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1840 variable8
= ((static_type___MMLocalProperty___signature_t
)CALL(variable8
,COLOR_static_type___MMLocalProperty___signature
))(variable8
) /*MMLocalProperty::signature*/;
1841 variable8
= ((static_type___MMSignature___recv_t
)CALL(variable8
,COLOR_static_type___MMSignature___recv
))(variable8
) /*MMSignature::recv*/;
1842 variable7
= ((static_type___MMType___adapt_to_t
)CALL(variable7
,COLOR_static_type___MMType___adapt_to
))(variable7
, variable8
) /*MMType::adapt_to*/;
1843 variable6
= variable7
;
1844 ((array___AbstractArray___add_t
)CALL( variable2
/*stypes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*stypes*/, variable6
/*t*/) /*AbstractArray::add*/;
1845 variable7
= TAG_Bool(( variable3
/*stype*/ == NIT_NULL
/*null*/) || (( variable3
/*stype*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*stype*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*stype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*stype*/,COLOR_kernel___Object_____eqeq
))( variable3
/*stype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1846 variable8
= variable7
;
1847 if (!UNTAG_Bool(variable8
)) { /* or */
1848 variable8
= ((static_type___MMType_____l_t
)CALL( variable3
/*stype*/,COLOR_static_type___MMType_____l
))( variable3
/*stype*/, variable6
/*t*/) /*MMType::<*/;
1850 variable7
= variable8
;
1851 if (UNTAG_Bool(variable7
)) { /*if*/
1852 variable3
= variable6
/*t*/ /*stype=*/;
1854 continue_69
: while(0);
1855 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
1858 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*stypes*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*stypes*/) /*AbstractArray::iterator*/;
1859 while (true) { /*for*/
1860 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
1861 if (!UNTAG_Bool(variable5
)) break; /*for*/
1862 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
1863 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable5
/*t*/, variable3
/*stype*/) /*AbsSyntaxVisitor::check_conform*/;
1864 continue_70
: while(0);
1865 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
1868 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable3
/*stype*/;
1870 variable3
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1871 variable2
= variable3
;
1872 variable3
= TAG_Bool(( variable2
/*p*/==NIT_NULL
) || VAL_ISA( variable2
/*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
1873 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ASuperExpr___after_typing
, LOCATE_typing
, 705); nit_exit(1);}
1874 ATTR_typing___AAbsSendExpr____prop( self
) /*AAbsSendExpr::_prop*/ = variable2
/*p*/;
1875 return_label67
: while(false);
1876 tracehead
= trace
.prev
;
1879 val_t
typing___AAttrFormExpr___prop(val_t self
) {
1880 struct trace_t trace
= {NULL
, NULL
, 711, LOCATE_typing___AAttrFormExpr___prop
};
1881 trace
.prev
= tracehead
; tracehead
= &trace
;
1882 trace
.file
= LOCATE_typing
;
1883 tracehead
= trace
.prev
;
1884 return ATTR_typing___AAttrFormExpr____prop( self
) /*AAttrFormExpr::_prop*/;
1886 val_t
typing___AAttrFormExpr___attr_type(val_t self
) {
1887 struct trace_t trace
= {NULL
, NULL
, 714, LOCATE_typing___AAttrFormExpr___attr_type
};
1888 trace
.prev
= tracehead
; tracehead
= &trace
;
1889 trace
.file
= LOCATE_typing
;
1890 tracehead
= trace
.prev
;
1891 return ATTR_typing___AAttrFormExpr____attr_type( self
) /*AAttrFormExpr::_attr_type*/;
1893 void typing___AAttrFormExpr___do_typing(val_t self
, val_t param0
) {
1894 struct trace_t trace
= {NULL
, NULL
, 717, LOCATE_typing___AAttrFormExpr___do_typing
};
1913 trace
.prev
= tracehead
; tracehead
= &trace
;
1914 trace
.file
= LOCATE_typing
;
1916 variable2
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrFormExpr::n_expr*/;
1917 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1918 variable1
= variable2
;
1919 variable2
= TAG_Bool(( variable1
/*type_recv*/ == NIT_NULL
/*null*/) || (( variable1
/*type_recv*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*type_recv*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*type_recv*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*type_recv*/,COLOR_kernel___Object_____eqeq
))( variable1
/*type_recv*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1920 if (UNTAG_Bool(variable2
)) { /*if*/
1921 goto return_label71
;
1923 variable3
= ((parser_nodes___AAttrFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_id
))( self
) /*AAttrFormExpr::n_id*/;
1924 variable3
= ((syntax_base___Token___to_symbol_t
)CALL(variable3
,COLOR_syntax_base___Token___to_symbol
))(variable3
) /*Token::to_symbol*/;
1925 variable2
= variable3
;
1926 variable4
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_recv*/) /*MMType::local_class*/;
1927 variable4
= ((abstractmetamodel___MMLocalClass___select_attribute_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalClass___select_attribute
))(variable4
, variable2
/*name*/) /*MMLocalClass::select_attribute*/;
1928 variable3
= variable4
;
1929 variable4
= TAG_Bool(( variable3
/*prop*/ == NIT_NULL
/*null*/) || (( variable3
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable3
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1930 if (UNTAG_Bool(variable4
)) { /*if*/
1931 variable4
= NEW_string___String___init(); /*new String*/
1932 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
1933 variable6
= variable5
;
1934 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1935 variable7
= variable2
/*name*/;
1936 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1937 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1938 variable8
= NEW_string___String___with_native(BOX_NativeString(" doesn't exists in "), TAG_Int(19)); /*new String*/
1939 variable9
= variable8
;
1940 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1941 variable10
= variable1
/*type_recv*/;
1942 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1943 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1944 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1945 variable12
= variable11
;
1946 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1947 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
1948 goto return_label71
;
1950 variable4
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
1951 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMLocalProperty::global*/;
1952 variable5
= ((abstractmetamodel___MMGlobalProperty___local_class_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___local_class
))(variable5
) /*MMGlobalProperty::local_class*/;
1953 variable5
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable5
) /*MMLocalClass::module*/;
1954 variable4
= ((abstractmetamodel___MMModule___visibility_for_t
)CALL(variable4
,COLOR_abstractmetamodel___MMModule___visibility_for
))(variable4
, variable5
) /*MMModule::visibility_for*/;
1955 variable4
= TAG_Bool(UNTAG_Int(variable4
)<UNTAG_Int( TAG_Int(3)));
1956 if (UNTAG_Bool(variable4
)) { /*if*/
1957 variable4
= NEW_string___String___init(); /*new String*/
1958 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
1959 variable6
= variable5
;
1960 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1961 variable7
= variable2
/*name*/;
1962 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1963 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1964 variable8
= NEW_string___String___with_native(BOX_NativeString(" from "), TAG_Int(6)); /*new String*/
1965 variable9
= variable8
;
1966 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1967 variable10
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMLocalProperty::global*/;
1968 variable10
= ((abstractmetamodel___MMGlobalProperty___local_class_t
)CALL(variable10
,COLOR_abstractmetamodel___MMGlobalProperty___local_class
))(variable10
) /*MMGlobalProperty::local_class*/;
1969 variable10
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable10
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable10
) /*MMLocalClass::module*/;
1970 variable11
= variable10
;
1971 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
1972 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
1973 variable12
= NEW_string___String___with_native(BOX_NativeString(" is invisible in "), TAG_Int(17)); /*new String*/
1974 variable13
= variable12
;
1975 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
1976 variable14
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
1977 variable15
= variable14
;
1978 variable15
= ((string___String___to_s_t
)CALL(variable15
,COLOR_string___Object___to_s
))(variable15
) /*String::to_s*/;
1979 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable15
) /*String::append*/;
1980 variable16
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1981 variable17
= variable16
;
1982 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable17
) /*String::append*/;
1983 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
1986 ATTR_typing___AAttrFormExpr____prop( self
) /*AAttrFormExpr::_prop*/ = variable3
/*prop*/;
1987 variable5
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable3
/*prop*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable3
/*prop*/, variable1
/*type_recv*/) /*MMLocalProperty::signature_for*/;
1988 variable5
= ((static_type___MMSignature___return_type_t
)CALL(variable5
,COLOR_static_type___MMSignature___return_type
))(variable5
) /*MMSignature::return_type*/;
1989 variable4
= variable5
;
1990 variable5
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrFormExpr::n_expr*/;
1991 variable5
= ((typing___PExpr___is_self_t
)CALL(variable5
,COLOR_typing___PExpr___is_self
))(variable5
) /*PExpr::is_self*/;
1992 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5
)))) { /*if*/
1993 variable5
= ((static_type___MMType___not_for_self_t
)CALL( variable4
/*at*/,COLOR_static_type___MMType___not_for_self
))( variable4
/*at*/) /*MMType::not_for_self*/;
1994 variable4
= variable5
/*at=*/;
1996 ATTR_typing___AAttrFormExpr____attr_type( self
) /*AAttrFormExpr::_attr_type*/ = variable4
/*at*/;
1997 return_label71
: while(false);
1998 tracehead
= trace
.prev
;
2001 void typing___AAttrExpr___after_typing(val_t self
, val_t param0
) {
2002 struct trace_t trace
= {NULL
, NULL
, 740, LOCATE_typing___AAttrExpr___after_typing
};
2005 trace
.prev
= tracehead
; tracehead
= &trace
;
2006 trace
.file
= LOCATE_typing
;
2008 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrFormExpr::do_typing*/;
2009 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrFormExpr::prop*/;
2010 variable1
= TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))));
2011 if (UNTAG_Bool(variable1
)) { /*if*/
2012 goto return_label72
;
2014 variable1
= ((typing___AAttrFormExpr___attr_type_t
)CALL( self
,COLOR_typing___AAttrFormExpr___attr_type
))( self
) /*AAttrFormExpr::attr_type*/;
2015 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
2016 return_label72
: while(false);
2017 tracehead
= trace
.prev
;
2020 void typing___AAttrAssignExpr___after_typing(val_t self
, val_t param0
) {
2021 struct trace_t trace
= {NULL
, NULL
, 751, LOCATE_typing___AAttrAssignExpr___after_typing
};
2025 trace
.prev
= tracehead
; tracehead
= &trace
;
2026 trace
.file
= LOCATE_typing
;
2028 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrFormExpr::do_typing*/;
2029 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrFormExpr::prop*/;
2030 variable1
= TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))));
2031 if (UNTAG_Bool(variable1
)) { /*if*/
2032 goto return_label73
;
2034 variable1
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAssignFormExpr::n_value*/;
2035 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
2036 variable2
= ((typing___AAttrFormExpr___attr_type_t
)CALL( self
,COLOR_typing___AAttrFormExpr___attr_type
))( self
) /*AAttrFormExpr::attr_type*/;
2037 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
2038 return_label73
: while(false);
2039 tracehead
= trace
.prev
;
2042 void typing___AAttrReassignExpr___after_typing(val_t self
, val_t param0
) {
2043 struct trace_t trace
= {NULL
, NULL
, 762, LOCATE_typing___AAttrReassignExpr___after_typing
};
2046 trace
.prev
= tracehead
; tracehead
= &trace
;
2047 trace
.file
= LOCATE_typing
;
2049 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrFormExpr::do_typing*/;
2050 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrFormExpr::prop*/;
2051 variable1
= TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))));
2052 if (UNTAG_Bool(variable1
)) { /*if*/
2053 goto return_label74
;
2055 variable1
= ((typing___AAttrFormExpr___attr_type_t
)CALL( self
,COLOR_typing___AAttrFormExpr___attr_type
))( self
) /*AAttrFormExpr::attr_type*/;
2056 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable1
) /*AReassignFormExpr::do_lvalue_typing*/;
2057 return_label74
: while(false);
2058 tracehead
= trace
.prev
;
2061 void typing___AAbsSendExpr___do_typing(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
, val_t param4
, val_t param5
) {
2062 struct trace_t trace
= {NULL
, NULL
, 774, LOCATE_typing___AAbsSendExpr___do_typing
};
2072 trace
.prev
= tracehead
; tracehead
= &trace
;
2073 trace
.file
= LOCATE_typing
;
2080 variable7
= ((typing___AAbsSendExpr___get_property_t
)CALL( self
,COLOR_typing___AAbsSendExpr___get_property
))( self
, variable0
/*v*/, variable1
/*type_recv*/, variable2
/*is_implicit_self*/, variable4
/*name*/) /*AAbsSendExpr::get_property*/;
2081 variable6
= variable7
;
2082 variable7
= TAG_Bool(( variable6
/*prop*/ == NIT_NULL
/*null*/) || (( variable6
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable6
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable6
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable6
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable6
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2083 if (UNTAG_Bool(variable7
)) { /*if*/
2084 goto return_label75
;
2086 variable8
= ((typing___AAbsSendExpr___process_signature_t
)CALL( self
,COLOR_typing___AAbsSendExpr___process_signature
))( self
, variable0
/*v*/, variable1
/*type_recv*/, variable6
/*prop*/, variable3
/*recv_is_self*/, variable5
/*raw_args*/) /*AAbsSendExpr::process_signature*/;
2087 variable7
= variable8
;
2088 variable8
= TAG_Bool(( variable7
/*args*/ == NIT_NULL
/*null*/) || (( variable7
/*args*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable7
/*args*/,COLOR_kernel___Object_____eqeq
))( variable7
/*args*/, NIT_NULL
/*null*/) /*AbstractArray::==*/)));
2089 if (UNTAG_Bool(variable8
)) { /*if*/
2090 goto return_label75
;
2092 ATTR_typing___AAbsSendExpr____prop( self
) /*AAbsSendExpr::_prop*/ = variable6
/*prop*/;
2093 ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/ = variable7
/*args*/;
2094 return_label75
: while(false);
2095 tracehead
= trace
.prev
;
2098 val_t
typing___AAbsSendExpr___get_property(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
2099 struct trace_t trace
= {NULL
, NULL
, 785, LOCATE_typing___AAbsSendExpr___get_property
};
2116 trace
.prev
= tracehead
; tracehead
= &trace
;
2117 trace
.file
= LOCATE_typing
;
2122 variable4
= TAG_Bool(( variable1
/*type_recv*/ == NIT_NULL
/*null*/) || (( variable1
/*type_recv*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*type_recv*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*type_recv*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*type_recv*/,COLOR_kernel___Object_____eqeq
))( variable1
/*type_recv*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2123 if (UNTAG_Bool(variable4
)) { /*if*/
2124 variable4
= NIT_NULL
/*null*/;
2125 goto return_label76
;
2127 variable5
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_recv*/) /*MMType::local_class*/;
2128 variable5
= ((abstractmetamodel___MMLocalClass___select_method_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___select_method
))(variable5
, variable3
/*name*/) /*MMLocalClass::select_method*/;
2129 variable4
= variable5
;
2130 variable5
= TAG_Bool(( variable4
/*prop*/ == NIT_NULL
/*null*/) || (( variable4
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable4
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable4
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable4
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable4
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2131 variable6
= variable5
;
2132 if (UNTAG_Bool(variable6
)) { /* and */
2133 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
2134 variable6
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable6
) /*MMLocalProperty::global*/;
2135 variable6
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable6
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable6
) /*MMGlobalProperty::is_init*/;
2137 variable5
= variable6
;
2138 if (UNTAG_Bool(variable5
)) { /*if*/
2139 variable6
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_recv*/) /*MMType::local_class*/;
2140 variable6
= ((abstractmetamodel___MMLocalClass___super_methods_named_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___super_methods_named
))(variable6
, variable3
/*name*/) /*MMLocalClass::super_methods_named*/;
2141 variable5
= variable6
;
2142 variable6
= ((array___AbstractArray___length_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___length
))( variable5
/*props*/) /*AbstractArray::length*/;
2143 variable6
= TAG_Bool(UNTAG_Int(variable6
)>UNTAG_Int( TAG_Int(1)));
2144 if (UNTAG_Bool(variable6
)) { /*if*/
2145 variable6
= NEW_string___String___init(); /*new String*/
2146 variable7
= NEW_string___String___with_native(BOX_NativeString("Error: Ambigous method name '"), TAG_Int(29)); /*new String*/
2147 variable8
= variable7
;
2148 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
2149 variable9
= variable3
/*name*/;
2150 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
2151 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable9
) /*String::append*/;
2152 variable10
= NEW_string___String___with_native(BOX_NativeString("' for "), TAG_Int(6)); /*new String*/
2153 variable11
= variable10
;
2154 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable11
) /*String::append*/;
2155 variable12
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2156 variable12
= ((string___Collection___join_t
)CALL( variable5
/*props*/,COLOR_string___Collection___join
))( variable5
/*props*/, variable12
) /*Collection::join*/;
2157 variable13
= variable12
;
2158 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable13
) /*String::append*/;
2159 variable14
= NEW_string___String___with_native(BOX_NativeString(". Use explicit designation."), TAG_Int(27)); /*new String*/
2160 variable15
= variable14
;
2161 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable15
) /*String::append*/;
2162 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable6
) /*AbsSyntaxVisitor::error*/;
2163 variable4
= NIT_NULL
/*null*/;
2164 goto return_label76
;
2166 variable6
= ((array___AbstractArray___length_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___length
))( variable5
/*props*/) /*AbstractArray::length*/;
2167 variable6
= TAG_Bool((variable6
)==( TAG_Int(1)));
2168 if (UNTAG_Bool(variable6
)) { /*if*/
2169 variable7
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_recv*/) /*MMType::local_class*/;
2170 variable8
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___first
))( variable5
/*props*/) /*IndexedCollection::first*/;
2171 variable8
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable8
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable8
) /*MMLocalProperty::global*/;
2172 variable7
= ((inheritance___MMLocalClass_____bra_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalClass_____bra
))(variable7
, variable8
) /*MMLocalClass::[]*/;
2173 variable6
= variable7
;
2174 variable7
= TAG_Bool(( variable6
/*p*/==NIT_NULL
) || VAL_ISA( variable6
/*p*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
2175 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___AAbsSendExpr___get_property
, LOCATE_typing
, 796); nit_exit(1);}
2176 variable4
= variable6
/*p*/ /*prop=*/;
2180 variable5
= TAG_Bool(( variable4
/*prop*/ == NIT_NULL
/*null*/) || (( variable4
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable4
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable4
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable4
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable4
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2181 if (UNTAG_Bool(variable5
)) { /*if*/
2182 if (UNTAG_Bool( variable2
/*is_implicit_self*/)) { /*if*/
2183 variable5
= NEW_string___String___init(); /*new String*/
2184 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Method or variable '"), TAG_Int(27)); /*new String*/
2185 variable7
= variable6
;
2186 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2187 variable8
= variable3
/*name*/;
2188 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2189 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2190 variable9
= NEW_string___String___with_native(BOX_NativeString("' unknown in "), TAG_Int(13)); /*new String*/
2191 variable10
= variable9
;
2192 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2193 variable11
= variable1
/*type_recv*/;
2194 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2195 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
2196 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2197 variable13
= variable12
;
2198 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable13
) /*String::append*/;
2199 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*AbsSyntaxVisitor::error*/;
2201 variable5
= NEW_string___String___init(); /*new String*/
2202 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
2203 variable7
= variable6
;
2204 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2205 variable8
= variable3
/*name*/;
2206 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2207 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2208 variable9
= NEW_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
2209 variable10
= variable9
;
2210 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2211 variable11
= variable1
/*type_recv*/;
2212 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2213 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
2214 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2215 variable13
= variable12
;
2216 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable13
) /*String::append*/;
2217 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*AbsSyntaxVisitor::error*/;
2219 variable4
= NIT_NULL
/*null*/;
2220 goto return_label76
;
2222 variable4
= variable4
/*prop*/;
2223 goto return_label76
;
2224 return_label76
: while(false);
2225 tracehead
= trace
.prev
;
2228 val_t
typing___AAbsSendExpr___process_signature(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
, val_t param4
) {
2229 struct trace_t trace
= {NULL
, NULL
, 812, LOCATE_typing___AAbsSendExpr___process_signature
};
2251 trace
.prev
= tracehead
; tracehead
= &trace
;
2252 trace
.file
= LOCATE_typing
;
2258 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable2
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable2
/*prop*/) /*MMLocalProperty::global*/;
2259 variable6
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
2260 ((syntax_base___MMGlobalProperty___check_visibility_t
)CALL(variable5
,COLOR_syntax_base___MMGlobalProperty___check_visibility
))(variable5
, variable0
/*v*/, self
, variable6
, variable3
/*recv_is_self*/) /*MMGlobalProperty::check_visibility*/;
2261 variable6
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable2
/*prop*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable2
/*prop*/, variable1
/*type_recv*/) /*MMLocalProperty::signature_for*/;
2262 variable5
= variable6
;
2263 variable7
= ((vararg___MMSignature___vararg_rank_t
)CALL( variable5
/*psig*/,COLOR_vararg___MMSignature___vararg_rank
))( variable5
/*psig*/) /*MMSignature::vararg_rank*/;
2264 variable6
= variable7
;
2265 variable8
= ((static_type___MMSignature___arity_t
)CALL( variable5
/*psig*/,COLOR_static_type___MMSignature___arity
))( variable5
/*psig*/) /*MMSignature::arity*/;
2266 variable7
= variable8
;
2267 variable8
= TAG_Int((bigint
)0) /*decl variable raw_arity*/;
2268 variable9
= TAG_Bool(( variable4
/*raw_args*/ == NIT_NULL
/*null*/) || (( variable4
/*raw_args*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable4
/*raw_args*/,COLOR_kernel___Object_____eqeq
))( variable4
/*raw_args*/, NIT_NULL
/*null*/) /*AbstractArray::==*/)));
2269 if (UNTAG_Bool(variable9
)) { /*if*/
2270 variable8
= TAG_Int(0) /*raw_arity=*/;
2272 variable9
= ((array___AbstractArray___length_t
)CALL( variable4
/*raw_args*/,COLOR_abstract_collection___Collection___length
))( variable4
/*raw_args*/) /*AbstractArray::length*/;
2273 variable8
= variable9
/*raw_arity=*/;
2275 variable9
= TAG_Bool(UNTAG_Int( variable7
/*par_arity*/)>UNTAG_Int( variable8
/*raw_arity*/));
2276 variable10
= variable9
;
2277 if (!UNTAG_Bool(variable10
)) { /* or */
2278 variable10
= TAG_Bool(( variable7
/*par_arity*/)!=( variable8
/*raw_arity*/));
2279 variable11
= variable10
;
2280 if (UNTAG_Bool(variable11
)) { /* and */
2281 variable11
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
2282 variable11
= TAG_Bool(( variable6
/*par_vararg*/)==(variable11
));
2284 variable10
= variable11
;
2286 variable9
= variable10
;
2287 if (UNTAG_Bool(variable9
)) { /*if*/
2288 variable9
= NEW_string___String___init(); /*new String*/
2289 variable10
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
2290 variable11
= variable10
;
2291 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable11
) /*String::append*/;
2292 variable12
= variable2
/*prop*/;
2293 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
2294 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable12
) /*String::append*/;
2295 variable13
= NEW_string___String___with_native(BOX_NativeString("' arity missmatch."), TAG_Int(18)); /*new String*/
2296 variable14
= variable13
;
2297 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable14
) /*String::append*/;
2298 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable9
) /*AbsSyntaxVisitor::error*/;
2299 variable5
= NIT_NULL
/*null*/;
2300 goto return_label77
;
2302 variable9
= TAG_Int(0);
2303 variable11
= NEW_array___Array___init(); /*new Array[E]*/
2304 variable10
= variable11
;
2305 variable11
= NEW_range___Range___without_last( TAG_Int(0), variable7
/*par_arity*/); /*new Range[E]*/
2306 variable11
= ((range___Range___iterator_t
)CALL(variable11
,COLOR_abstract_collection___Collection___iterator
))(variable11
) /*Range::iterator*/;
2307 while (true) { /*for*/
2308 variable12
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___is_ok
))(variable11
) /*Iterator::is_ok*/;
2309 if (!UNTAG_Bool(variable12
)) break; /*for*/
2310 variable12
= ((abstract_collection___Iterator___item_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___item
))(variable11
) /*Iterator::item*/;
2311 variable13
= NIT_NULL
/*decl variable a*/;
2312 variable15
= ((static_type___MMSignature_____bra_t
)CALL( variable5
/*psig*/,COLOR_static_type___MMSignature_____bra
))( variable5
/*psig*/, variable12
/*par_idx*/) /*MMSignature::[]*/;
2313 variable14
= variable15
;
2314 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable3
/*recv_is_self*/)))) { /*if*/
2315 variable15
= ((static_type___MMType___not_for_self_t
)CALL( variable14
/*par_type*/,COLOR_static_type___MMType___not_for_self
))( variable14
/*par_type*/) /*MMType::not_for_self*/;
2316 variable14
= variable15
/*par_type=*/;
2318 variable15
= TAG_Bool(( variable12
/*par_idx*/)==( variable6
/*par_vararg*/));
2319 if (UNTAG_Bool(variable15
)) { /*if*/
2320 variable16
= NEW_array___Array___init(); /*new Array[E]*/
2321 variable15
= variable16
;
2322 variable16
= TAG_Int(UNTAG_Int( variable8
/*raw_arity*/)-UNTAG_Int( variable7
/*par_arity*/));
2323 variable17
= NEW_range___Range___init( TAG_Int(0), variable16
); /*new Range[E]*/
2324 variable16
= variable17
;
2325 variable16
= ((range___Range___iterator_t
)CALL(variable16
,COLOR_abstract_collection___Collection___iterator
))(variable16
) /*Range::iterator*/;
2326 while (true) { /*for*/
2327 variable17
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable16
,COLOR_abstract_collection___Iterator___is_ok
))(variable16
) /*Iterator::is_ok*/;
2328 if (!UNTAG_Bool(variable17
)) break; /*for*/
2329 variable17
= ((abstract_collection___Iterator___item_t
)CALL(variable16
,COLOR_abstract_collection___Iterator___item
))(variable16
) /*Iterator::item*/;
2330 variable18
= variable9
/*arg_idx*/;
2331 variable19
= TAG_Bool(UNTAG_Int( variable18
/*index*/)>=UNTAG_Int( TAG_Int(0)));
2332 variable20
= variable19
;
2333 if (UNTAG_Bool(variable20
)) { /* and */
2334 variable20
= ATTR_array___AbstractArray____length( variable4
/*raw_args*/) /*AbstractArray::_length*/;
2335 variable20
= TAG_Bool(UNTAG_Int( variable18
/*index*/)<UNTAG_Int(variable20
));
2337 variable19
= variable20
;
2338 if (!UNTAG_Bool(variable19
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_typing
, 229); nit_exit(1);}
2339 variable19
= ATTR_array___Array____items( variable4
/*raw_args*/) /*Array::_items*/;
2340 variable19
= UNBOX_NativeArray(variable19
)[UNTAG_Int( variable18
/*index*/)];
2341 goto return_label80
;
2342 return_label80
: while(false);
2343 variable18
= variable19
;
2344 variable13
= variable18
/*a=*/;
2345 variable18
= ((typing___PExpr___stype_t
)CALL( variable13
/*a*/,COLOR_syntax_base___PExpr___stype
))( variable13
/*a*/) /*PExpr::stype*/;
2346 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable18
, variable14
/*par_type*/) /*AbsSyntaxVisitor::check_conform*/;
2347 ((array___AbstractArray___add_t
)CALL( variable15
/*star*/,COLOR_abstract_collection___SimpleCollection___add
))( variable15
/*star*/, variable13
/*a*/) /*AbstractArray::add*/;
2348 variable18
= TAG_Int(UNTAG_Int( variable9
/*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
2349 variable9
= variable18
/*arg_idx=*/;
2350 continue_79
: while(0);
2351 ((abstract_collection___Iterator___next_t
)CALL(variable16
,COLOR_abstract_collection___Iterator___next
))(variable16
) /*Iterator::next*/;
2354 variable17
= NEW_parser_prod___AArrayExpr___init_aarrayexpr( variable15
/*star*/); /*new AArrayExpr*/
2355 variable16
= variable17
;
2356 variable17
= ((syntax_base___AbsSyntaxVisitor___type_array_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array
))( variable0
/*v*/, variable14
/*par_type*/) /*AbsSyntaxVisitor::type_array*/;
2357 ((typing___AArrayExpr___stype__eq_t
)CALL( variable16
/*aa*/,COLOR_typing___AArrayExpr___stype__eq
))( variable16
/*aa*/, variable17
) /*AArrayExpr::stype=*/;
2358 variable13
= variable16
/*aa*/ /*a=*/;
2360 variable15
= variable9
/*arg_idx*/;
2361 variable16
= TAG_Bool(UNTAG_Int( variable15
/*index*/)>=UNTAG_Int( TAG_Int(0)));
2362 variable17
= variable16
;
2363 if (UNTAG_Bool(variable17
)) { /* and */
2364 variable17
= ATTR_array___AbstractArray____length( variable4
/*raw_args*/) /*AbstractArray::_length*/;
2365 variable17
= TAG_Bool(UNTAG_Int( variable15
/*index*/)<UNTAG_Int(variable17
));
2367 variable16
= variable17
;
2368 if (!UNTAG_Bool(variable16
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_typing
, 229); nit_exit(1);}
2369 variable16
= ATTR_array___Array____items( variable4
/*raw_args*/) /*Array::_items*/;
2370 variable16
= UNBOX_NativeArray(variable16
)[UNTAG_Int( variable15
/*index*/)];
2371 goto return_label81
;
2372 return_label81
: while(false);
2373 variable15
= variable16
;
2374 variable13
= variable15
/*a=*/;
2375 variable15
= ((typing___PExpr___stype_t
)CALL( variable13
/*a*/,COLOR_syntax_base___PExpr___stype
))( variable13
/*a*/) /*PExpr::stype*/;
2376 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable15
, variable14
/*par_type*/) /*AbsSyntaxVisitor::check_conform*/;
2377 variable15
= TAG_Int(UNTAG_Int( variable9
/*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
2378 variable9
= variable15
/*arg_idx=*/;
2380 ((array___AbstractArray___add_t
)CALL( variable10
/*args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable10
/*args*/, variable13
/*a*/) /*AbstractArray::add*/;
2381 continue_78
: while(0);
2382 ((abstract_collection___Iterator___next_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___next
))(variable11
) /*Iterator::next*/;
2385 variable5
= variable10
/*args*/;
2386 goto return_label77
;
2387 return_label77
: while(false);
2388 tracehead
= trace
.prev
;
2391 val_t
typing___AAbsSendExpr___prop(val_t self
) {
2392 struct trace_t trace
= {NULL
, NULL
, 851, LOCATE_typing___AAbsSendExpr___prop
};
2393 trace
.prev
= tracehead
; tracehead
= &trace
;
2394 trace
.file
= LOCATE_typing
;
2395 tracehead
= trace
.prev
;
2396 return ATTR_typing___AAbsSendExpr____prop( self
) /*AAbsSendExpr::_prop*/;
2398 val_t
typing___AAbsSendExpr___arguments(val_t self
) {
2399 struct trace_t trace
= {NULL
, NULL
, 854, LOCATE_typing___AAbsSendExpr___arguments
};
2400 trace
.prev
= tracehead
; tracehead
= &trace
;
2401 trace
.file
= LOCATE_typing
;
2402 tracehead
= trace
.prev
;
2403 return ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/;
2405 void typing___ASuperInitCall___register_super_init_call(val_t self
, val_t param0
, val_t param1
) {
2406 struct trace_t trace
= {NULL
, NULL
, 862, LOCATE_typing___ASuperInitCall___register_super_init_call
};
2424 trace
.prev
= tracehead
; tracehead
= &trace
;
2425 trace
.file
= LOCATE_typing
;
2428 variable2
= ((parser_prod___PNode___parent_t
)CALL( self
,COLOR_parser_prod___PNode___parent
))( self
) /*PNode::parent*/;
2429 variable3
= ((typing___TypingVisitor___top_block_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block
))( variable0
/*v*/) /*TypingVisitor::top_block*/;
2430 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== variable3
) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
,variable3
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, variable3
) /*Object::==*/)))))));
2431 variable3
= variable2
;
2432 if (UNTAG_Bool(variable3
)) { /* and */
2433 variable3
= ((typing___TypingVisitor___top_block_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block
))( variable0
/*v*/) /*TypingVisitor::top_block*/;
2434 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( self
== variable3
) || (( self
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( self
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( self
,variable3
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( self
,COLOR_kernel___Object_____eqeq
))( self
, variable3
) /*Object::==*/)))))));
2436 variable2
= variable3
;
2437 if (UNTAG_Bool(variable2
)) { /*if*/
2438 variable2
= NEW_string___String___init(); /*new String*/
2439 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor invocation "), TAG_Int(30)); /*new String*/
2440 variable4
= variable3
;
2441 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2442 variable5
= variable1
/*property*/;
2443 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2444 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable5
) /*String::append*/;
2445 variable6
= NEW_string___String___with_native(BOX_NativeString(" must not be in nested block."), TAG_Int(29)); /*new String*/
2446 variable7
= variable6
;
2447 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable7
) /*String::append*/;
2448 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
2450 variable3
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
2451 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable1
/*property*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable1
/*property*/) /*MMLocalProperty::global*/;
2452 variable4
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable4
) /*MMGlobalProperty::intro*/;
2453 variable4
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable4
) /*MMLocalProperty::local_class*/;
2454 variable4
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable4
) /*MMLocalClass::global*/;
2455 variable3
= ((abstractmetamodel___MMModule_____bra_t
)CALL(variable3
,COLOR_abstractmetamodel___MMModule_____bra
))(variable3
, variable4
) /*MMModule::[]*/;
2456 variable2
= variable3
;
2457 variable3
= NIT_NULL
/*null*/;
2458 variable4
= ((typing___TypingVisitor___explicit_super_init_calls_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___explicit_super_init_calls
))( variable0
/*v*/) /*TypingVisitor::explicit_super_init_calls*/;
2459 variable4
= ((array___AbstractArray___is_empty_t
)CALL(variable4
,COLOR_abstract_collection___Collection___is_empty
))(variable4
) /*AbstractArray::is_empty*/;
2460 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2461 variable4
= ((typing___TypingVisitor___explicit_super_init_calls_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___explicit_super_init_calls
))( variable0
/*v*/) /*TypingVisitor::explicit_super_init_calls*/;
2462 variable4
= ((abstract_collection___IndexedCollection___last_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___last
))(variable4
) /*IndexedCollection::last*/;
2463 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMLocalProperty::global*/;
2464 variable4
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable4
) /*MMGlobalProperty::intro*/;
2465 variable4
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable4
) /*MMLocalProperty::local_class*/;
2466 variable3
= variable4
/*prev_class=*/;
2468 variable5
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
2469 variable5
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable5
) /*MMLocalClass::cshe*/;
2470 variable5
= ((partial_order___PartialOrderElement___reverse_linear_extension_t
)CALL(variable5
,COLOR_partial_order___PartialOrderElement___reverse_linear_extension
))(variable5
) /*PartialOrderElement::reverse_linear_extension*/;
2471 variable4
= variable5
;
2472 variable5
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
2473 variable5
= TAG_Bool(( variable2
/*cla*/ == variable5
) || (( variable2
/*cla*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable2
/*cla*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable2
/*cla*/,variable5
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable2
/*cla*/,COLOR_kernel___Object_____eqeq
))( variable2
/*cla*/, variable5
) /*Object::==*/)))));
2474 if (UNTAG_Bool(variable5
)) { /*if*/
2475 ((typing___TypingVisitor___explicit_other_init_call__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___explicit_other_init_call__eq
))( variable0
/*v*/, TAG_Bool(true)) /*TypingVisitor::explicit_other_init_call=*/;
2477 variable5
= ((array___AbstractArray___has_t
)CALL( variable4
/*order*/,COLOR_abstract_collection___Collection___has
))( variable4
/*order*/, variable2
/*cla*/) /*AbstractArray::has*/;
2478 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5
)))) { /*if*/
2479 variable5
= NEW_string___String___init(); /*new String*/
2480 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor of class "), TAG_Int(28)); /*new String*/
2481 variable7
= variable6
;
2482 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2483 variable8
= variable2
/*cla*/;
2484 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2485 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2486 variable9
= NEW_string___String___with_native(BOX_NativeString(" must be one in "), TAG_Int(16)); /*new String*/
2487 variable10
= variable9
;
2488 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2489 variable11
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2490 variable11
= ((string___Collection___join_t
)CALL( variable4
/*order*/,COLOR_string___Collection___join
))( variable4
/*order*/, variable11
) /*Collection::join*/;
2491 variable12
= variable11
;
2492 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable12
) /*String::append*/;
2493 variable13
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2494 variable14
= variable13
;
2495 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable14
) /*String::append*/;
2496 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*AbsSyntaxVisitor::error*/;
2498 variable5
= TAG_Bool(( variable2
/*cla*/ == variable3
/*prev_class*/) || (( variable2
/*cla*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable2
/*cla*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable2
/*cla*/, variable3
/*prev_class*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable2
/*cla*/,COLOR_kernel___Object_____eqeq
))( variable2
/*cla*/, variable3
/*prev_class*/) /*Object::==*/)))));
2499 if (UNTAG_Bool(variable5
)) { /*if*/
2500 variable5
= NEW_string___String___init(); /*new String*/
2501 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Only one super constructor invocation of class "), TAG_Int(54)); /*new String*/
2502 variable7
= variable6
;
2503 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2504 variable8
= variable2
/*cla*/;
2505 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2506 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2507 variable9
= NEW_string___String___with_native(BOX_NativeString(" is allowed."), TAG_Int(12)); /*new String*/
2508 variable10
= variable9
;
2509 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2510 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*AbsSyntaxVisitor::error*/;
2512 variable6
= TAG_Bool(( variable3
/*prev_class*/ == NIT_NULL
/*null*/) || (( variable3
/*prev_class*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*prev_class*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*prev_class*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*prev_class*/,COLOR_kernel___Object_____eqeq
))( variable3
/*prev_class*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2513 variable5
= variable6
;
2514 variable6
= ((array___AbstractArray___iterator_t
)CALL( variable4
/*order*/,COLOR_abstract_collection___Collection___iterator
))( variable4
/*order*/) /*AbstractArray::iterator*/;
2515 while (true) { /*for*/
2516 variable7
= ((array___ArrayIterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*ArrayIterator::is_ok*/;
2517 if (!UNTAG_Bool(variable7
)) break; /*for*/
2518 variable7
= ((array___ArrayIterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*ArrayIterator::item*/;
2519 variable8
= TAG_Bool(( variable7
/*c*/ == variable3
/*prev_class*/) || (( variable7
/*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable7
/*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable7
/*c*/, variable3
/*prev_class*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable7
/*c*/,COLOR_kernel___Object_____eqeq
))( variable7
/*c*/, variable3
/*prev_class*/) /*Object::==*/)))));
2520 if (UNTAG_Bool(variable8
)) { /*if*/
2521 variable5
= TAG_Bool(true) /*last_is_found=*/;
2523 variable8
= TAG_Bool(( variable7
/*c*/ == variable2
/*cla*/) || (( variable7
/*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable7
/*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable7
/*c*/, variable2
/*cla*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable7
/*c*/,COLOR_kernel___Object_____eqeq
))( variable7
/*c*/, variable2
/*cla*/) /*Object::==*/)))));
2524 if (UNTAG_Bool(variable8
)) { /*if*/
2525 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable5
/*last_is_found*/)))) { /*if*/
2526 variable8
= NEW_string___String___init(); /*new String*/
2527 variable9
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor of "), TAG_Int(22)); /*new String*/
2528 variable10
= variable9
;
2529 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
2530 variable11
= variable7
/*c*/;
2531 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2532 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable11
) /*String::append*/;
2533 variable12
= NEW_string___String___with_native(BOX_NativeString(" must be invoked before constructor of "), TAG_Int(39)); /*new String*/
2534 variable13
= variable12
;
2535 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable13
) /*String::append*/;
2536 variable14
= variable3
/*prev_class*/;
2537 variable14
= ((string___String___to_s_t
)CALL(variable14
,COLOR_string___Object___to_s
))(variable14
) /*String::to_s*/;
2538 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
2539 variable15
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2540 variable16
= variable15
;
2541 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable16
) /*String::append*/;
2542 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable8
) /*AbsSyntaxVisitor::error*/;
2544 variable8
= ((typing___TypingVisitor___explicit_super_init_calls_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___explicit_super_init_calls
))( variable0
/*v*/) /*TypingVisitor::explicit_super_init_calls*/;
2545 ((array___AbstractArray___add_t
)CALL(variable8
,COLOR_abstract_collection___SimpleCollection___add
))(variable8
, variable1
/*property*/) /*AbstractArray::add*/;
2549 continue_83
: while(0);
2550 ((array___ArrayIterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*ArrayIterator::next*/;
2556 tracehead
= trace
.prev
;
2559 void typing___ANewExpr___after_typing(val_t self
, val_t param0
) {
2560 struct trace_t trace
= {NULL
, NULL
, 899, LOCATE_typing___ANewExpr___after_typing
};
2570 static val_t once_value_variable3_85
; static int once_bool_variable3_85
;
2572 trace
.prev
= tracehead
; tracehead
= &trace
;
2573 trace
.file
= LOCATE_typing
;
2575 variable2
= ((parser_nodes___ANewExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_type
))( self
) /*ANewExpr::n_type*/;
2576 variable2
= ((typing___PType___stype_t
)CALL(variable2
,COLOR_typing___PType___stype
))(variable2
) /*PType::stype*/;
2577 variable1
= variable2
;
2578 variable2
= TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2579 if (UNTAG_Bool(variable2
)) { /*if*/
2580 goto return_label84
;
2582 variable2
= ((static_type___MMType___local_class_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___local_class
))( variable1
/*t*/) /*MMType::local_class*/;
2583 variable2
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable2
) /*MMLocalClass::global*/;
2584 variable2
= ((abstractmetamodel___MMGlobalClass___is_abstract_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalClass___is_abstract
))(variable2
) /*MMGlobalClass::is_abstract*/;
2585 if (UNTAG_Bool(variable2
)) { /*if*/
2586 variable2
= NEW_string___String___init(); /*new String*/
2587 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: try to instantiate abstract class "), TAG_Int(41)); /*new String*/
2588 variable4
= variable3
;
2589 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2590 variable5
= ((static_type___MMType___local_class_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___local_class
))( variable1
/*t*/) /*MMType::local_class*/;
2591 variable6
= variable5
;
2592 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2593 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2594 variable7
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2595 variable8
= variable7
;
2596 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2597 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
2598 goto return_label84
;
2600 variable2
= NIT_NULL
/*decl variable name*/;
2601 variable3
= ((parser_nodes___ANewExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_id
))( self
) /*ANewExpr::n_id*/;
2602 variable3
= TAG_Bool((variable3
== NIT_NULL
/*null*/) || ((variable3
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable3
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable3
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable3
,COLOR_kernel___Object_____eqeq
))(variable3
, NIT_NULL
/*null*/) /*Object::==*/)))));
2603 if (UNTAG_Bool(variable3
)) { /*if*/
2604 if (once_bool_variable3_85
) variable3
= once_value_variable3_85
;
2606 variable3
= NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
2607 variable3
= ((symbol___String___to_symbol_t
)CALL(variable3
,COLOR_symbol___String___to_symbol
))(variable3
) /*String::to_symbol*/;
2608 once_value_variable3_85
= variable3
;
2609 once_bool_variable3_85
= true;
2611 variable2
= variable3
/*name=*/;
2613 variable3
= ((parser_nodes___ANewExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_id
))( self
) /*ANewExpr::n_id*/;
2614 variable3
= ((syntax_base___Token___to_symbol_t
)CALL(variable3
,COLOR_syntax_base___Token___to_symbol
))(variable3
) /*Token::to_symbol*/;
2615 variable2
= variable3
/*name=*/;
2617 variable3
= ((parser_nodes___ANewExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_args
))( self
) /*ANewExpr::n_args*/;
2618 variable3
= ((array___Collection___to_a_t
)CALL(variable3
,COLOR_array___Collection___to_a
))(variable3
) /*Collection::to_a*/;
2619 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable1
/*t*/, TAG_Bool(false), TAG_Bool(false), variable2
/*name*/, variable3
) /*AAbsSendExpr::do_typing*/;
2620 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2621 variable3
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable3
) /*MMLocalProperty::global*/;
2622 variable3
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable3
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable3
) /*MMGlobalProperty::is_init*/;
2623 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
2624 variable3
= NEW_string___String___init(); /*new String*/
2625 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
2626 variable5
= variable4
;
2627 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
2628 variable6
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2629 variable7
= variable6
;
2630 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
2631 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
2632 variable8
= NEW_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
2633 variable9
= variable8
;
2634 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
2635 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*AbsSyntaxVisitor::error*/;
2637 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
/*t*/;
2638 return_label84
: while(false);
2639 tracehead
= trace
.prev
;
2642 val_t
typing___ASendExpr___name(val_t self
) {
2643 struct trace_t trace
= {NULL
, NULL
, 925, LOCATE_typing___ASendExpr___name
};
2644 trace
.prev
= tracehead
; tracehead
= &trace
;
2645 trace
.file
= LOCATE_typing
;
2646 fprintf(stderr
, "Deferred method %s called");
2647 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing
, LOCATE_typing
, 925);
2649 tracehead
= trace
.prev
;
2652 val_t
typing___ASendExpr___raw_arguments(val_t self
) {
2653 struct trace_t trace
= {NULL
, NULL
, 928, LOCATE_typing___ASendExpr___raw_arguments
};
2654 trace
.prev
= tracehead
; tracehead
= &trace
;
2655 trace
.file
= LOCATE_typing
;
2656 fprintf(stderr
, "Deferred method %s called");
2657 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing
, LOCATE_typing
, 928);
2659 tracehead
= trace
.prev
;
2662 void typing___ASendExpr___after_typing(val_t self
, val_t param0
) {
2663 struct trace_t trace
= {NULL
, NULL
, 931, LOCATE_typing___ASendExpr___after_typing
};
2665 trace
.prev
= tracehead
; tracehead
= &trace
;
2666 trace
.file
= LOCATE_typing
;
2668 ((typing___ASendExpr___do_all_typing_t
)CALL( self
,COLOR_typing___ASendExpr___do_all_typing
))( self
, variable0
/*v*/) /*ASendExpr::do_all_typing*/;
2669 tracehead
= trace
.prev
;
2672 void typing___ASendExpr___do_all_typing(val_t self
, val_t param0
) {
2673 struct trace_t trace
= {NULL
, NULL
, 936, LOCATE_typing___ASendExpr___do_all_typing
};
2682 trace
.prev
= tracehead
; tracehead
= &trace
;
2683 trace
.file
= LOCATE_typing
;
2685 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2686 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
2687 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2688 variable2
= ((typing___PExpr___is_implicit_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_implicit_self
))(variable2
) /*PExpr::is_implicit_self*/;
2689 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2690 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2691 variable4
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendExpr::name*/;
2692 variable5
= ((typing___ASendExpr___raw_arguments_t
)CALL( self
,COLOR_typing___ASendExpr___raw_arguments
))( self
) /*ASendExpr::raw_arguments*/;
2693 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable1
, variable2
, variable3
, variable4
, variable5
) /*AAbsSendExpr::do_typing*/;
2694 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2695 variable1
= TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))));
2696 if (UNTAG_Bool(variable1
)) { /*if*/
2697 goto return_label87
;
2699 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2700 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable1
) /*MMLocalProperty::global*/;
2701 variable1
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable1
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable1
) /*MMGlobalProperty::is_init*/;
2702 if (UNTAG_Bool(variable1
)) { /*if*/
2703 variable1
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
2704 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable1
) /*MMLocalProperty::global*/;
2705 variable1
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable1
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable1
) /*MMGlobalProperty::is_init*/;
2706 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
2707 variable1
= NEW_string___String___init(); /*new String*/
2708 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2709 variable3
= variable2
;
2710 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2711 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2712 variable5
= variable4
;
2713 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2714 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2715 variable6
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2716 variable7
= variable6
;
2717 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2718 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable1
) /*AbsSyntaxVisitor::error*/;
2720 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2721 variable1
= ((typing___PExpr___is_self_t
)CALL(variable1
,COLOR_typing___PExpr___is_self
))(variable1
) /*PExpr::is_self*/;
2722 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
2723 variable1
= NEW_string___String___init(); /*new String*/
2724 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2725 variable3
= variable2
;
2726 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2727 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2728 variable5
= variable4
;
2729 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2730 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2731 variable6
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2732 variable7
= variable6
;
2733 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2734 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable1
) /*AbsSyntaxVisitor::error*/;
2736 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2737 ((typing___ASuperInitCall___register_super_init_call_t
)CALL( self
,COLOR_typing___ASuperInitCall___register_super_init_call
))( self
, variable0
/*v*/, variable1
) /*ASuperInitCall::register_super_init_call*/;
2741 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2742 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2743 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
2744 variable2
= ((static_type___MMLocalProperty___signature_for_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature_for
))(variable2
, variable3
) /*MMLocalProperty::signature_for*/;
2745 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
2746 variable1
= variable2
;
2747 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
2748 variable3
= variable2
;
2749 if (UNTAG_Bool(variable3
)) { /* and */
2750 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2751 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2752 variable3
= TAG_Bool(!UNTAG_Bool(variable3
));
2754 variable2
= variable3
;
2755 if (UNTAG_Bool(variable2
)) { /*if*/
2756 variable2
= ((static_type___MMType___not_for_self_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable1
/*t*/) /*MMType::not_for_self*/;
2757 variable1
= variable2
/*t=*/;
2759 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
/*t*/;
2760 return_label87
: while(false);
2761 tracehead
= trace
.prev
;
2764 val_t
typing___ASendReassignExpr___read_prop(val_t self
) {
2765 struct trace_t trace
= {NULL
, NULL
, 958, LOCATE_typing___ASendReassignExpr___read_prop
};
2766 trace
.prev
= tracehead
; tracehead
= &trace
;
2767 trace
.file
= LOCATE_typing
;
2768 tracehead
= trace
.prev
;
2769 return ATTR_typing___ASendReassignExpr____read_prop( self
) /*ASendReassignExpr::_read_prop*/;
2771 void typing___ASendReassignExpr___do_all_typing(val_t self
, val_t param0
) {
2772 struct trace_t trace
= {NULL
, NULL
, 959, LOCATE_typing___ASendReassignExpr___do_all_typing
};
2787 trace
.prev
= tracehead
; tracehead
= &trace
;
2788 trace
.file
= LOCATE_typing
;
2790 variable2
= ((typing___ASendExpr___raw_arguments_t
)CALL( self
,COLOR_typing___ASendExpr___raw_arguments
))( self
) /*ASendExpr::raw_arguments*/;
2791 variable1
= variable2
;
2792 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2793 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
2794 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2795 variable3
= ((typing___PExpr___is_implicit_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_implicit_self
))(variable3
) /*PExpr::is_implicit_self*/;
2796 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2797 variable4
= ((typing___PExpr___is_self_t
)CALL(variable4
,COLOR_typing___PExpr___is_self
))(variable4
) /*PExpr::is_self*/;
2798 variable5
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendExpr::name*/;
2799 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable2
, variable3
, variable4
, variable5
, variable1
/*raw_args*/) /*AAbsSendExpr::do_typing*/;
2800 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2801 variable2
= TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))));
2802 if (UNTAG_Bool(variable2
)) { /*if*/
2803 goto return_label88
;
2805 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2806 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMLocalProperty::global*/;
2807 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
2808 if (UNTAG_Bool(variable2
)) { /*if*/
2809 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
2810 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMLocalProperty::global*/;
2811 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
2812 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
2813 variable2
= NEW_string___String___init(); /*new String*/
2814 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2815 variable4
= variable3
;
2816 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2817 variable5
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2818 variable6
= variable5
;
2819 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2820 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2821 variable7
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2822 variable8
= variable7
;
2823 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2824 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
2826 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2827 variable2
= ((typing___PExpr___is_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_self
))(variable2
) /*PExpr::is_self*/;
2828 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
2829 variable2
= NEW_string___String___init(); /*new String*/
2830 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2831 variable4
= variable3
;
2832 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2833 variable5
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2834 variable6
= variable5
;
2835 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2836 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2837 variable7
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2838 variable8
= variable7
;
2839 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2840 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
2844 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2845 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2846 variable4
= ((typing___PExpr___stype_t
)CALL(variable4
,COLOR_syntax_base___PExpr___stype
))(variable4
) /*PExpr::stype*/;
2847 variable3
= ((static_type___MMLocalProperty___signature_for_t
)CALL(variable3
,COLOR_static_type___MMLocalProperty___signature_for
))(variable3
, variable4
) /*MMLocalProperty::signature_for*/;
2848 variable3
= ((static_type___MMSignature___return_type_t
)CALL(variable3
,COLOR_static_type___MMSignature___return_type
))(variable3
) /*MMSignature::return_type*/;
2849 variable2
= variable3
;
2850 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2851 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2852 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
2853 variable3
= ((static_type___MMType___not_for_self_t
)CALL( variable2
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable2
/*t*/) /*MMType::not_for_self*/;
2854 variable2
= variable3
/*t=*/;
2856 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable2
/*t*/) /*AReassignFormExpr::do_lvalue_typing*/;
2857 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2858 ATTR_typing___ASendReassignExpr____read_prop( self
) /*ASendReassignExpr::_read_prop*/ = variable3
;
2859 variable4
= ((typing___AAbsSendExpr___arguments_t
)CALL( self
,COLOR_typing___AAbsSendExpr___arguments
))( self
) /*AAbsSendExpr::arguments*/;
2860 variable3
= variable4
;
2861 variable4
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
2862 ((array___AbstractArray___add_t
)CALL( variable1
/*raw_args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*raw_args*/, variable4
) /*AbstractArray::add*/;
2863 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2864 variable4
= ((typing___PExpr___stype_t
)CALL(variable4
,COLOR_syntax_base___PExpr___stype
))(variable4
) /*PExpr::stype*/;
2865 variable5
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2866 variable5
= ((typing___PExpr___is_implicit_self_t
)CALL(variable5
,COLOR_typing___PExpr___is_implicit_self
))(variable5
) /*PExpr::is_implicit_self*/;
2867 variable6
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2868 variable6
= ((typing___PExpr___is_self_t
)CALL(variable6
,COLOR_typing___PExpr___is_self
))(variable6
) /*PExpr::is_self*/;
2869 variable7
= NEW_string___String___init(); /*new String*/
2870 variable8
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2871 variable9
= variable8
;
2872 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
2873 variable10
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendExpr::name*/;
2874 variable11
= variable10
;
2875 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2876 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable11
) /*String::append*/;
2877 variable12
= NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
2878 variable13
= variable12
;
2879 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable13
) /*String::append*/;
2880 variable7
= ((symbol___String___to_symbol_t
)CALL(variable7
,COLOR_symbol___String___to_symbol
))(variable7
) /*String::to_symbol*/;
2881 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable4
, variable5
, variable6
, variable7
, variable1
/*raw_args*/) /*AAbsSendExpr::do_typing*/;
2882 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2883 variable4
= TAG_Bool((variable4
== NIT_NULL
/*null*/) || ((variable4
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable4
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable4
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable4
,COLOR_kernel___Object_____eqeq
))(variable4
, NIT_NULL
/*null*/) /*Object::==*/)))));
2884 if (UNTAG_Bool(variable4
)) { /*if*/
2885 goto return_label88
;
2887 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2888 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMLocalProperty::global*/;
2889 variable4
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable4
) /*MMGlobalProperty::is_init*/;
2890 if (UNTAG_Bool(variable4
)) { /*if*/
2891 variable4
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
2892 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMLocalProperty::global*/;
2893 variable4
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable4
) /*MMGlobalProperty::is_init*/;
2894 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2895 variable4
= NEW_string___String___init(); /*new String*/
2896 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2897 variable6
= variable5
;
2898 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2899 variable7
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2900 variable8
= variable7
;
2901 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2902 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2903 variable9
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2904 variable10
= variable9
;
2905 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2906 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
2908 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2909 variable4
= ((typing___PExpr___is_self_t
)CALL(variable4
,COLOR_typing___PExpr___is_self
))(variable4
) /*PExpr::is_self*/;
2910 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2911 variable4
= NEW_string___String___init(); /*new String*/
2912 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2913 variable6
= variable5
;
2914 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2915 variable7
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2916 variable8
= variable7
;
2917 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2918 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2919 variable9
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2920 variable10
= variable9
;
2921 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2922 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
2926 ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/ = variable3
/*old_args*/;
2927 return_label88
: while(false);
2928 tracehead
= trace
.prev
;
2931 val_t
typing___ABinopExpr___raw_arguments(val_t self
) {
2932 struct trace_t trace
= {NULL
, NULL
, 995, LOCATE_typing___ABinopExpr___raw_arguments
};
2935 trace
.prev
= tracehead
; tracehead
= &trace
;
2936 trace
.file
= LOCATE_typing
;
2937 variable0
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
2938 variable1
= ((parser_nodes___ABinopExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___ABinopExpr___n_expr2
))( self
) /*ABinopExpr::n_expr2*/;
2939 ((array___AbstractArray___add_t
)CALL(variable0
,COLOR_abstract_collection___SimpleCollection___add
))(variable0
, variable1
) /*AbstractArray::add*/;
2940 goto return_label89
;
2941 return_label89
: while(false);
2942 tracehead
= trace
.prev
;
2945 val_t
typing___AEqExpr___name(val_t self
) {
2946 struct trace_t trace
= {NULL
, NULL
, 998, LOCATE_typing___AEqExpr___name
};
2948 static val_t once_value_variable0_91
; static int once_bool_variable0_91
;
2949 trace
.prev
= tracehead
; tracehead
= &trace
;
2950 trace
.file
= LOCATE_typing
;
2951 if (once_bool_variable0_91
) variable0
= once_value_variable0_91
;
2953 variable0
= NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
2954 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2955 once_value_variable0_91
= variable0
;
2956 once_bool_variable0_91
= true;
2958 goto return_label90
;
2959 return_label90
: while(false);
2960 tracehead
= trace
.prev
;
2963 val_t
typing___ANeExpr___name(val_t self
) {
2964 struct trace_t trace
= {NULL
, NULL
, 1001, LOCATE_typing___ANeExpr___name
};
2966 static val_t once_value_variable0_93
; static int once_bool_variable0_93
;
2967 trace
.prev
= tracehead
; tracehead
= &trace
;
2968 trace
.file
= LOCATE_typing
;
2969 if (once_bool_variable0_93
) variable0
= once_value_variable0_93
;
2971 variable0
= NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
2972 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2973 once_value_variable0_93
= variable0
;
2974 once_bool_variable0_93
= true;
2976 goto return_label92
;
2977 return_label92
: while(false);
2978 tracehead
= trace
.prev
;
2981 val_t
typing___ALtExpr___name(val_t self
) {
2982 struct trace_t trace
= {NULL
, NULL
, 1004, LOCATE_typing___ALtExpr___name
};
2984 static val_t once_value_variable0_95
; static int once_bool_variable0_95
;
2985 trace
.prev
= tracehead
; tracehead
= &trace
;
2986 trace
.file
= LOCATE_typing
;
2987 if (once_bool_variable0_95
) variable0
= once_value_variable0_95
;
2989 variable0
= NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
2990 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2991 once_value_variable0_95
= variable0
;
2992 once_bool_variable0_95
= true;
2994 goto return_label94
;
2995 return_label94
: while(false);
2996 tracehead
= trace
.prev
;
2999 val_t
typing___ALeExpr___name(val_t self
) {
3000 struct trace_t trace
= {NULL
, NULL
, 1007, LOCATE_typing___ALeExpr___name
};
3002 static val_t once_value_variable0_97
; static int once_bool_variable0_97
;
3003 trace
.prev
= tracehead
; tracehead
= &trace
;
3004 trace
.file
= LOCATE_typing
;
3005 if (once_bool_variable0_97
) variable0
= once_value_variable0_97
;
3007 variable0
= NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
3008 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3009 once_value_variable0_97
= variable0
;
3010 once_bool_variable0_97
= true;
3012 goto return_label96
;
3013 return_label96
: while(false);
3014 tracehead
= trace
.prev
;
3017 val_t
typing___AGtExpr___name(val_t self
) {
3018 struct trace_t trace
= {NULL
, NULL
, 1010, LOCATE_typing___AGtExpr___name
};
3020 static val_t once_value_variable0_99
; static int once_bool_variable0_99
;
3021 trace
.prev
= tracehead
; tracehead
= &trace
;
3022 trace
.file
= LOCATE_typing
;
3023 if (once_bool_variable0_99
) variable0
= once_value_variable0_99
;
3025 variable0
= NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
3026 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3027 once_value_variable0_99
= variable0
;
3028 once_bool_variable0_99
= true;
3030 goto return_label98
;
3031 return_label98
: while(false);
3032 tracehead
= trace
.prev
;
3035 val_t
typing___AGeExpr___name(val_t self
) {
3036 struct trace_t trace
= {NULL
, NULL
, 1013, LOCATE_typing___AGeExpr___name
};
3038 static val_t once_value_variable0_101
; static int once_bool_variable0_101
;
3039 trace
.prev
= tracehead
; tracehead
= &trace
;
3040 trace
.file
= LOCATE_typing
;
3041 if (once_bool_variable0_101
) variable0
= once_value_variable0_101
;
3043 variable0
= NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
3044 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3045 once_value_variable0_101
= variable0
;
3046 once_bool_variable0_101
= true;
3048 goto return_label100
;
3049 return_label100
: while(false);
3050 tracehead
= trace
.prev
;
3053 val_t
typing___APlusExpr___name(val_t self
) {
3054 struct trace_t trace
= {NULL
, NULL
, 1016, LOCATE_typing___APlusExpr___name
};
3056 static val_t once_value_variable0_103
; static int once_bool_variable0_103
;
3057 trace
.prev
= tracehead
; tracehead
= &trace
;
3058 trace
.file
= LOCATE_typing
;
3059 if (once_bool_variable0_103
) variable0
= once_value_variable0_103
;
3061 variable0
= NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
3062 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3063 once_value_variable0_103
= variable0
;
3064 once_bool_variable0_103
= true;
3066 goto return_label102
;
3067 return_label102
: while(false);
3068 tracehead
= trace
.prev
;
3071 val_t
typing___AMinusExpr___name(val_t self
) {
3072 struct trace_t trace
= {NULL
, NULL
, 1019, LOCATE_typing___AMinusExpr___name
};
3074 static val_t once_value_variable0_105
; static int once_bool_variable0_105
;
3075 trace
.prev
= tracehead
; tracehead
= &trace
;
3076 trace
.file
= LOCATE_typing
;
3077 if (once_bool_variable0_105
) variable0
= once_value_variable0_105
;
3079 variable0
= NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
3080 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3081 once_value_variable0_105
= variable0
;
3082 once_bool_variable0_105
= true;
3084 goto return_label104
;
3085 return_label104
: while(false);
3086 tracehead
= trace
.prev
;
3089 val_t
typing___AStarshipExpr___name(val_t self
) {
3090 struct trace_t trace
= {NULL
, NULL
, 1022, LOCATE_typing___AStarshipExpr___name
};
3092 static val_t once_value_variable0_107
; static int once_bool_variable0_107
;
3093 trace
.prev
= tracehead
; tracehead
= &trace
;
3094 trace
.file
= LOCATE_typing
;
3095 if (once_bool_variable0_107
) variable0
= once_value_variable0_107
;
3097 variable0
= NEW_string___String___with_native(BOX_NativeString("<=>"), TAG_Int(3)); /*new String*/
3098 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3099 once_value_variable0_107
= variable0
;
3100 once_bool_variable0_107
= true;
3102 goto return_label106
;
3103 return_label106
: while(false);
3104 tracehead
= trace
.prev
;
3107 val_t
typing___AStarExpr___name(val_t self
) {
3108 struct trace_t trace
= {NULL
, NULL
, 1025, LOCATE_typing___AStarExpr___name
};
3110 static val_t once_value_variable0_109
; static int once_bool_variable0_109
;
3111 trace
.prev
= tracehead
; tracehead
= &trace
;
3112 trace
.file
= LOCATE_typing
;
3113 if (once_bool_variable0_109
) variable0
= once_value_variable0_109
;
3115 variable0
= NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
3116 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3117 once_value_variable0_109
= variable0
;
3118 once_bool_variable0_109
= true;
3120 goto return_label108
;
3121 return_label108
: while(false);
3122 tracehead
= trace
.prev
;
3125 val_t
typing___ASlashExpr___name(val_t self
) {
3126 struct trace_t trace
= {NULL
, NULL
, 1028, LOCATE_typing___ASlashExpr___name
};
3128 static val_t once_value_variable0_111
; static int once_bool_variable0_111
;
3129 trace
.prev
= tracehead
; tracehead
= &trace
;
3130 trace
.file
= LOCATE_typing
;
3131 if (once_bool_variable0_111
) variable0
= once_value_variable0_111
;
3133 variable0
= NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
3134 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3135 once_value_variable0_111
= variable0
;
3136 once_bool_variable0_111
= true;
3138 goto return_label110
;
3139 return_label110
: while(false);
3140 tracehead
= trace
.prev
;
3143 val_t
typing___APercentExpr___name(val_t self
) {
3144 struct trace_t trace
= {NULL
, NULL
, 1031, LOCATE_typing___APercentExpr___name
};
3146 static val_t once_value_variable0_113
; static int once_bool_variable0_113
;
3147 trace
.prev
= tracehead
; tracehead
= &trace
;
3148 trace
.file
= LOCATE_typing
;
3149 if (once_bool_variable0_113
) variable0
= once_value_variable0_113
;
3151 variable0
= NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
3152 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3153 once_value_variable0_113
= variable0
;
3154 once_bool_variable0_113
= true;
3156 goto return_label112
;
3157 return_label112
: while(false);
3158 tracehead
= trace
.prev
;
3161 val_t
typing___AUminusExpr___name(val_t self
) {
3162 struct trace_t trace
= {NULL
, NULL
, 1035, LOCATE_typing___AUminusExpr___name
};
3164 static val_t once_value_variable0_115
; static int once_bool_variable0_115
;
3165 trace
.prev
= tracehead
; tracehead
= &trace
;
3166 trace
.file
= LOCATE_typing
;
3167 if (once_bool_variable0_115
) variable0
= once_value_variable0_115
;
3169 variable0
= NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
3170 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3171 once_value_variable0_115
= variable0
;
3172 once_bool_variable0_115
= true;
3174 goto return_label114
;
3175 return_label114
: while(false);
3176 tracehead
= trace
.prev
;
3179 val_t
typing___AUminusExpr___raw_arguments(val_t self
) {
3180 struct trace_t trace
= {NULL
, NULL
, 1036, LOCATE_typing___AUminusExpr___raw_arguments
};
3182 trace
.prev
= tracehead
; tracehead
= &trace
;
3183 trace
.file
= LOCATE_typing
;
3184 variable0
= NIT_NULL
/*null*/;
3185 goto return_label116
;
3186 return_label116
: while(false);
3187 tracehead
= trace
.prev
;
3190 void typing___ACallFormExpr___after_typing(val_t self
, val_t param0
) {
3191 struct trace_t trace
= {NULL
, NULL
, 1040, LOCATE_typing___ACallFormExpr___after_typing
};
3201 trace
.prev
= tracehead
; tracehead
= &trace
;
3202 trace
.file
= LOCATE_typing
;
3204 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
3205 variable1
= ((typing___PExpr___is_implicit_self_t
)CALL(variable1
,COLOR_typing___PExpr___is_implicit_self
))(variable1
) /*PExpr::is_implicit_self*/;
3206 if (UNTAG_Bool(variable1
)) { /*if*/
3207 variable2
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3208 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*Token::to_symbol*/;
3209 variable1
= variable2
;
3210 variable3
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
3211 variable3
= ((typing___VariableContext_____bra_t
)CALL(variable3
,COLOR_typing___VariableContext_____bra
))(variable3
, variable1
/*name*/) /*VariableContext::[]*/;
3212 variable2
= variable3
;
3213 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2
/*variable*/ == NIT_NULL
/*null*/) || (( variable2
/*variable*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable2
/*variable*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable2
/*variable*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable2
/*variable*/,COLOR_kernel___Object_____eqeq
))( variable2
/*variable*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
3214 if (UNTAG_Bool(variable3
)) { /*if*/
3215 variable3
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallFormExpr::n_args*/;
3216 variable3
= ((list___List___is_empty_t
)CALL(variable3
,COLOR_abstract_collection___Collection___is_empty
))(variable3
) /*List::is_empty*/;
3217 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
3218 variable3
= NEW_string___String___init(); /*new String*/
3219 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
3220 variable5
= variable4
;
3221 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
3222 variable6
= variable1
/*name*/;
3223 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
3224 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable6
) /*String::append*/;
3225 variable7
= NEW_string___String___with_native(BOX_NativeString(" is variable, not a function."), TAG_Int(29)); /*new String*/
3226 variable8
= variable7
;
3227 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable8
) /*String::append*/;
3228 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*AbsSyntaxVisitor::error*/;
3230 variable4
= ((typing___ACallFormExpr___variable_create_t
)CALL( self
,COLOR_typing___ACallFormExpr___variable_create
))( self
, variable2
/*variable*/) /*ACallFormExpr::variable_create*/;
3231 variable3
= variable4
;
3232 ((syntax_base___AVarFormExpr___variable__eq_t
)CALL( variable3
/*vform*/,COLOR_syntax_base___AVarFormExpr___variable__eq
))( variable3
/*vform*/, variable2
/*variable*/) /*AVarFormExpr::variable=*/;
3233 ((parser_prod___Prod___replace_with_t
)CALL( self
,COLOR_parser_prod___PNode___replace_with
))( self
, variable3
/*vform*/) /*Prod::replace_with*/;
3234 ((typing___PNode___after_typing_t
)CALL( variable3
/*vform*/,COLOR_typing___PNode___after_typing
))( variable3
/*vform*/, variable0
/*v*/) /*PNode::after_typing*/;
3235 goto return_label117
;
3238 ((typing___ACallFormExpr___after_typing_t
)CALL( self
,COLOR_SUPER_typing___ACallFormExpr___after_typing
))( self
, param0
) /*super ACallFormExpr::after_typing*/;
3239 return_label117
: while(false);
3240 tracehead
= trace
.prev
;
3243 val_t
typing___ACallFormExpr___variable_create(val_t self
, val_t param0
) {
3244 struct trace_t trace
= {NULL
, NULL
, 1059, LOCATE_typing___ACallFormExpr___variable_create
};
3245 trace
.prev
= tracehead
; tracehead
= &trace
;
3246 trace
.file
= LOCATE_typing
;
3247 fprintf(stderr
, "Deferred method %s called");
3248 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ACallFormExpr___after_typing
, LOCATE_typing
, 1059);
3250 tracehead
= trace
.prev
;
3253 val_t
typing___ACallExpr___variable_create(val_t self
, val_t param0
) {
3254 struct trace_t trace
= {NULL
, NULL
, 1064, LOCATE_typing___ACallExpr___variable_create
};
3258 trace
.prev
= tracehead
; tracehead
= &trace
;
3259 trace
.file
= LOCATE_typing
;
3261 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3262 variable2
= NEW_parser_prod___AVarExpr___init_avarexpr(variable1
); /*new AVarExpr*/
3263 variable1
= variable2
;
3264 goto return_label118
;
3265 return_label118
: while(false);
3266 tracehead
= trace
.prev
;
3269 val_t
typing___ACallExpr___name(val_t self
) {
3270 struct trace_t trace
= {NULL
, NULL
, 1069, LOCATE_typing___ACallExpr___name
};
3272 trace
.prev
= tracehead
; tracehead
= &trace
;
3273 trace
.file
= LOCATE_typing
;
3274 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3275 variable0
= ((syntax_base___Token___to_symbol_t
)CALL(variable0
,COLOR_syntax_base___Token___to_symbol
))(variable0
) /*Token::to_symbol*/;
3276 goto return_label119
;
3277 return_label119
: while(false);
3278 tracehead
= trace
.prev
;
3281 val_t
typing___ACallExpr___raw_arguments(val_t self
) {
3282 struct trace_t trace
= {NULL
, NULL
, 1070, LOCATE_typing___ACallExpr___raw_arguments
};
3284 trace
.prev
= tracehead
; tracehead
= &trace
;
3285 trace
.file
= LOCATE_typing
;
3286 variable0
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallFormExpr::n_args*/;
3287 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*Collection::to_a*/;
3288 goto return_label120
;
3289 return_label120
: while(false);
3290 tracehead
= trace
.prev
;
3293 val_t
typing___ACallAssignExpr___variable_create(val_t self
, val_t param0
) {
3294 struct trace_t trace
= {NULL
, NULL
, 1074, LOCATE_typing___ACallAssignExpr___variable_create
};
3300 trace
.prev
= tracehead
; tracehead
= &trace
;
3301 trace
.file
= LOCATE_typing
;
3303 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3304 variable2
= ((parser_nodes___AAssignFormExpr___n_assign_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_assign
))( self
) /*AAssignFormExpr::n_assign*/;
3305 variable3
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAssignFormExpr::n_value*/;
3306 variable4
= NEW_parser_prod___AVarAssignExpr___init_avarassignexpr(variable1
, variable2
, variable3
); /*new AVarAssignExpr*/
3307 variable1
= variable4
;
3308 goto return_label121
;
3309 return_label121
: while(false);
3310 tracehead
= trace
.prev
;
3313 val_t
typing___ACallAssignExpr___name(val_t self
) {
3314 struct trace_t trace
= {NULL
, NULL
, 1079, LOCATE_typing___ACallAssignExpr___name
};
3317 trace
.prev
= tracehead
; tracehead
= &trace
;
3318 trace
.file
= LOCATE_typing
;
3319 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3320 variable0
= ((lexer___Token___text_t
)CALL(variable0
,COLOR_lexer___Token___text
))(variable0
) /*Token::text*/;
3321 variable1
= NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
3322 variable0
= ((string___String_____plus_t
)CALL(variable0
,COLOR_string___String_____plus
))(variable0
, variable1
) /*String::+*/;
3323 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3324 goto return_label122
;
3325 return_label122
: while(false);
3326 tracehead
= trace
.prev
;
3329 val_t
typing___ACallAssignExpr___raw_arguments(val_t self
) {
3330 struct trace_t trace
= {NULL
, NULL
, 1080, LOCATE_typing___ACallAssignExpr___raw_arguments
};
3333 trace
.prev
= tracehead
; tracehead
= &trace
;
3334 trace
.file
= LOCATE_typing
;
3335 variable1
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallFormExpr::n_args*/;
3336 variable1
= ((array___Collection___to_a_t
)CALL(variable1
,COLOR_array___Collection___to_a
))(variable1
) /*Collection::to_a*/;
3337 variable0
= variable1
;
3338 variable1
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAssignFormExpr::n_value*/;
3339 ((array___AbstractArray___add_t
)CALL( variable0
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable0
/*res*/, variable1
) /*AbstractArray::add*/;
3340 variable0
= variable0
/*res*/;
3341 goto return_label123
;
3342 return_label123
: while(false);
3343 tracehead
= trace
.prev
;
3346 val_t
typing___ACallReassignExpr___variable_create(val_t self
, val_t param0
) {
3347 struct trace_t trace
= {NULL
, NULL
, 1089, LOCATE_typing___ACallReassignExpr___variable_create
};
3353 trace
.prev
= tracehead
; tracehead
= &trace
;
3354 trace
.file
= LOCATE_typing
;
3356 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3357 variable2
= ((parser_nodes___AReassignFormExpr___n_assign_op_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_assign_op
))( self
) /*AReassignFormExpr::n_assign_op*/;
3358 variable3
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
3359 variable4
= NEW_parser_prod___AVarReassignExpr___init_avarreassignexpr(variable1
, variable2
, variable3
); /*new AVarReassignExpr*/
3360 variable1
= variable4
;
3361 goto return_label124
;
3362 return_label124
: while(false);
3363 tracehead
= trace
.prev
;
3366 val_t
typing___ACallReassignExpr___name(val_t self
) {
3367 struct trace_t trace
= {NULL
, NULL
, 1094, LOCATE_typing___ACallReassignExpr___name
};
3369 trace
.prev
= tracehead
; tracehead
= &trace
;
3370 trace
.file
= LOCATE_typing
;
3371 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3372 variable0
= ((syntax_base___Token___to_symbol_t
)CALL(variable0
,COLOR_syntax_base___Token___to_symbol
))(variable0
) /*Token::to_symbol*/;
3373 goto return_label125
;
3374 return_label125
: while(false);
3375 tracehead
= trace
.prev
;
3378 val_t
typing___ACallReassignExpr___raw_arguments(val_t self
) {
3379 struct trace_t trace
= {NULL
, NULL
, 1095, LOCATE_typing___ACallReassignExpr___raw_arguments
};
3381 trace
.prev
= tracehead
; tracehead
= &trace
;
3382 trace
.file
= LOCATE_typing
;
3383 variable0
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallFormExpr::n_args*/;
3384 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*Collection::to_a*/;
3385 goto return_label126
;
3386 return_label126
: while(false);
3387 tracehead
= trace
.prev
;
3390 val_t
typing___ABraExpr___name(val_t self
) {
3391 struct trace_t trace
= {NULL
, NULL
, 1099, LOCATE_typing___ABraExpr___name
};
3393 static val_t once_value_variable0_128
; static int once_bool_variable0_128
;
3394 trace
.prev
= tracehead
; tracehead
= &trace
;
3395 trace
.file
= LOCATE_typing
;
3396 if (once_bool_variable0_128
) variable0
= once_value_variable0_128
;
3398 variable0
= NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
3399 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3400 once_value_variable0_128
= variable0
;
3401 once_bool_variable0_128
= true;
3403 goto return_label127
;
3404 return_label127
: while(false);
3405 tracehead
= trace
.prev
;
3408 val_t
typing___ABraExpr___raw_arguments(val_t self
) {
3409 struct trace_t trace
= {NULL
, NULL
, 1100, LOCATE_typing___ABraExpr___raw_arguments
};
3411 trace
.prev
= tracehead
; tracehead
= &trace
;
3412 trace
.file
= LOCATE_typing
;
3413 variable0
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraFormExpr::n_args*/;
3414 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*Collection::to_a*/;
3415 goto return_label129
;
3416 return_label129
: while(false);
3417 tracehead
= trace
.prev
;
3420 val_t
typing___ABraAssignExpr___name(val_t self
) {
3421 struct trace_t trace
= {NULL
, NULL
, 1104, LOCATE_typing___ABraAssignExpr___name
};
3423 static val_t once_value_variable0_131
; static int once_bool_variable0_131
;
3424 trace
.prev
= tracehead
; tracehead
= &trace
;
3425 trace
.file
= LOCATE_typing
;
3426 if (once_bool_variable0_131
) variable0
= once_value_variable0_131
;
3428 variable0
= NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
3429 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3430 once_value_variable0_131
= variable0
;
3431 once_bool_variable0_131
= true;
3433 goto return_label130
;
3434 return_label130
: while(false);
3435 tracehead
= trace
.prev
;
3438 val_t
typing___ABraAssignExpr___raw_arguments(val_t self
) {
3439 struct trace_t trace
= {NULL
, NULL
, 1105, LOCATE_typing___ABraAssignExpr___raw_arguments
};
3442 trace
.prev
= tracehead
; tracehead
= &trace
;
3443 trace
.file
= LOCATE_typing
;
3444 variable1
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraFormExpr::n_args*/;
3445 variable1
= ((array___Collection___to_a_t
)CALL(variable1
,COLOR_array___Collection___to_a
))(variable1
) /*Collection::to_a*/;
3446 variable0
= variable1
;
3447 variable1
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAssignFormExpr::n_value*/;
3448 ((array___AbstractArray___add_t
)CALL( variable0
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable0
/*res*/, variable1
) /*AbstractArray::add*/;
3449 variable0
= variable0
/*res*/;
3450 goto return_label132
;
3451 return_label132
: while(false);
3452 tracehead
= trace
.prev
;
3455 val_t
typing___ABraReassignExpr___name(val_t self
) {
3456 struct trace_t trace
= {NULL
, NULL
, 1114, LOCATE_typing___ABraReassignExpr___name
};
3458 static val_t once_value_variable0_134
; static int once_bool_variable0_134
;
3459 trace
.prev
= tracehead
; tracehead
= &trace
;
3460 trace
.file
= LOCATE_typing
;
3461 if (once_bool_variable0_134
) variable0
= once_value_variable0_134
;
3463 variable0
= NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
3464 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3465 once_value_variable0_134
= variable0
;
3466 once_bool_variable0_134
= true;
3468 goto return_label133
;
3469 return_label133
: while(false);
3470 tracehead
= trace
.prev
;
3473 val_t
typing___ABraReassignExpr___raw_arguments(val_t self
) {
3474 struct trace_t trace
= {NULL
, NULL
, 1115, LOCATE_typing___ABraReassignExpr___raw_arguments
};
3476 trace
.prev
= tracehead
; tracehead
= &trace
;
3477 trace
.file
= LOCATE_typing
;
3478 variable0
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraFormExpr::n_args*/;
3479 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*Collection::to_a*/;
3480 goto return_label135
;
3481 return_label135
: while(false);
3482 tracehead
= trace
.prev
;
3485 val_t
typing___AInitExpr___name(val_t self
) {
3486 struct trace_t trace
= {NULL
, NULL
, 1119, LOCATE_typing___AInitExpr___name
};
3488 static val_t once_value_variable0_137
; static int once_bool_variable0_137
;
3489 trace
.prev
= tracehead
; tracehead
= &trace
;
3490 trace
.file
= LOCATE_typing
;
3491 if (once_bool_variable0_137
) variable0
= once_value_variable0_137
;
3493 variable0
= NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
3494 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3495 once_value_variable0_137
= variable0
;
3496 once_bool_variable0_137
= true;
3498 goto return_label136
;
3499 return_label136
: while(false);
3500 tracehead
= trace
.prev
;
3503 val_t
typing___AInitExpr___raw_arguments(val_t self
) {
3504 struct trace_t trace
= {NULL
, NULL
, 1120, LOCATE_typing___AInitExpr___raw_arguments
};
3506 trace
.prev
= tracehead
; tracehead
= &trace
;
3507 trace
.file
= LOCATE_typing
;
3508 variable0
= ((parser_nodes___AInitExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___AInitExpr___n_args
))( self
) /*AInitExpr::n_args*/;
3509 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*Collection::to_a*/;
3510 goto return_label138
;
3511 return_label138
: while(false);
3512 tracehead
= trace
.prev
;
3515 void typing___AIsaExpr___after_typing(val_t self
, val_t param0
) {
3516 struct trace_t trace
= {NULL
, NULL
, 1124, LOCATE_typing___AIsaExpr___after_typing
};
3522 trace
.prev
= tracehead
; tracehead
= &trace
;
3523 trace
.file
= LOCATE_typing
;
3525 variable1
= ((parser_nodes___AIsaExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_expr
))( self
) /*AIsaExpr::n_expr*/;
3526 variable1
= ((typing___PExpr___is_variable_t
)CALL(variable1
,COLOR_typing___PExpr___is_variable
))(variable1
) /*PExpr::is_variable*/;
3527 if (UNTAG_Bool(variable1
)) { /*if*/
3528 variable2
= ((parser_nodes___AIsaExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_expr
))( self
) /*AIsaExpr::n_expr*/;
3529 variable1
= variable2
;
3530 variable2
= TAG_Bool(( variable1
/*n*/==NIT_NULL
) || VAL_ISA( variable1
/*n*/, COLOR_AVarExpr
, ID_AVarExpr
)) /*cast AVarExpr*/;
3531 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___AIsaExpr___after_typing
, LOCATE_typing
, 1128); nit_exit(1);}
3532 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
3533 variable3
= ((syntax_base___AVarFormExpr___variable_t
)CALL( variable1
/*n*/,COLOR_syntax_base___AVarFormExpr___variable
))( variable1
/*n*/) /*AVarFormExpr::variable*/;
3534 variable4
= ((parser_nodes___AIsaExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_type
))( self
) /*AIsaExpr::n_type*/;
3535 variable4
= ((typing___PType___stype_t
)CALL(variable4
,COLOR_typing___PType___stype
))(variable4
) /*PType::stype*/;
3536 variable2
= ((typing___VariableContext___sub_with_t
)CALL(variable2
,COLOR_typing___VariableContext___sub_with
))(variable2
, variable3
, variable4
) /*VariableContext::sub_with*/;
3537 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*PExpr::_if_true_variable_ctx*/ = variable2
;
3539 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
3540 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
3541 tracehead
= trace
.prev
;
3544 void typing___AAsCastExpr___after_typing(val_t self
, val_t param0
) {
3545 struct trace_t trace
= {NULL
, NULL
, 1136, LOCATE_typing___AAsCastExpr___after_typing
};
3549 trace
.prev
= tracehead
; tracehead
= &trace
;
3550 trace
.file
= LOCATE_typing
;
3552 variable1
= ((parser_nodes___AAsCastExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AAsCastExpr___n_type
))( self
) /*AAsCastExpr::n_type*/;
3553 variable1
= ((typing___PType___stype_t
)CALL(variable1
,COLOR_typing___PType___stype
))(variable1
) /*PType::stype*/;
3554 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
3555 variable2
= ((parser_nodes___AAsCastExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAsCastExpr___n_expr
))( self
) /*AAsCastExpr::n_expr*/;
3556 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
3557 variable1
= variable2
;
3558 tracehead
= trace
.prev
;
3561 void typing___AProxyExpr___after_typing(val_t self
, val_t param0
) {
3562 struct trace_t trace
= {NULL
, NULL
, 1144, LOCATE_typing___AProxyExpr___after_typing
};
3565 trace
.prev
= tracehead
; tracehead
= &trace
;
3566 trace
.file
= LOCATE_typing
;
3568 variable1
= ((parser_nodes___AProxyExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AProxyExpr___n_expr
))( self
) /*AProxyExpr::n_expr*/;
3569 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
3570 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
3571 tracehead
= trace
.prev
;