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
, LOCATE_typing___MMSrcModule___do_typing
, 23};
8 trace
.prev
= tracehead
; tracehead
= &trace
;
10 variable2
= NEW_typing___TypingVisitor___init( variable0
/*tc*/, self
); /*new TypingVisitor*/
11 variable1
= variable2
;
12 variable2
= ((syntax_base___MMSrcModule___node_t
)CALL( self
,COLOR_syntax_base___MMSrcModule___node
))( self
) /*MMSrcModule::node*/;
13 ((typing___TypingVisitor___visit_t
)CALL( variable1
/*tv*/,COLOR_parser_prod___Visitor___visit
))( variable1
/*tv*/, variable2
) /*TypingVisitor::visit*/;
14 tracehead
= trace
.prev
;
17 void typing___TypingVisitor___visit(val_t self
, val_t param0
) {
18 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___visit
, 39};
21 trace
.prev
= tracehead
; tracehead
= &trace
;
23 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*/) /*PNode::==*/)))))));
24 if (UNTAG_Bool(variable1
)) { /*if*/
25 ((typing___PNode___accept_typing_t
)CALL( variable0
/*n*/,COLOR_typing___PNode___accept_typing
))( variable0
/*n*/, self
) /*PNode::accept_typing*/;
27 tracehead
= trace
.prev
;
30 val_t
typing___TypingVisitor___variable_ctx(val_t self
) {
31 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___variable_ctx
, 44};
32 trace
.prev
= tracehead
; tracehead
= &trace
;
33 tracehead
= trace
.prev
;
34 return ATTR_typing___TypingVisitor____variable_ctx( self
) /*TypingVisitor::_variable_ctx*/;
36 void typing___TypingVisitor___variable_ctx__eq(val_t self
, val_t param0
) {
37 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___variable_ctx__eq
, 44};
38 trace
.prev
= tracehead
; tracehead
= &trace
;
39 ATTR_typing___TypingVisitor____variable_ctx( self
) /*TypingVisitor::_variable_ctx*/ = param0
;
40 tracehead
= trace
.prev
;
43 val_t
typing___TypingVisitor___self_type(val_t self
) {
44 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___self_type
, 47};
45 trace
.prev
= tracehead
; tracehead
= &trace
;
46 tracehead
= trace
.prev
;
47 return ATTR_typing___TypingVisitor____self_type( self
) /*TypingVisitor::_self_type*/;
49 void typing___TypingVisitor___self_type__eq(val_t self
, val_t param0
) {
50 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___self_type__eq
, 47};
51 trace
.prev
= tracehead
; tracehead
= &trace
;
52 ATTR_typing___TypingVisitor____self_type( self
) /*TypingVisitor::_self_type*/ = param0
;
53 tracehead
= trace
.prev
;
56 val_t
typing___TypingVisitor___top_block(val_t self
) {
57 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___top_block
, 50};
58 trace
.prev
= tracehead
; tracehead
= &trace
;
59 tracehead
= trace
.prev
;
60 return ATTR_typing___TypingVisitor____top_block( self
) /*TypingVisitor::_top_block*/;
62 void typing___TypingVisitor___top_block__eq(val_t self
, val_t param0
) {
63 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___top_block__eq
, 50};
64 trace
.prev
= tracehead
; tracehead
= &trace
;
65 ATTR_typing___TypingVisitor____top_block( self
) /*TypingVisitor::_top_block*/ = param0
;
66 tracehead
= trace
.prev
;
69 val_t
typing___TypingVisitor___explicit_super_init_calls(val_t self
) {
70 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___explicit_super_init_calls
, 53};
71 trace
.prev
= tracehead
; tracehead
= &trace
;
72 tracehead
= trace
.prev
;
73 return ATTR_typing___TypingVisitor____explicit_super_init_calls( self
) /*TypingVisitor::_explicit_super_init_calls*/;
75 void typing___TypingVisitor___explicit_super_init_calls__eq(val_t self
, val_t param0
) {
76 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___explicit_super_init_calls__eq
, 53};
77 trace
.prev
= tracehead
; tracehead
= &trace
;
78 ATTR_typing___TypingVisitor____explicit_super_init_calls( self
) /*TypingVisitor::_explicit_super_init_calls*/ = param0
;
79 tracehead
= trace
.prev
;
82 val_t
typing___TypingVisitor___explicit_other_init_call(val_t self
) {
83 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___explicit_other_init_call
, 56};
84 trace
.prev
= tracehead
; tracehead
= &trace
;
85 tracehead
= trace
.prev
;
86 return ATTR_typing___TypingVisitor____explicit_other_init_call( self
) /*TypingVisitor::_explicit_other_init_call*/;
88 void typing___TypingVisitor___explicit_other_init_call__eq(val_t self
, val_t param0
) {
89 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___explicit_other_init_call__eq
, 56};
90 trace
.prev
= tracehead
; tracehead
= &trace
;
91 ATTR_typing___TypingVisitor____explicit_other_init_call( self
) /*TypingVisitor::_explicit_other_init_call*/ = param0
;
92 tracehead
= trace
.prev
;
95 void typing___TypingVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
96 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___init
, 59};
99 trace
.prev
= tracehead
; tracehead
= &trace
;
102 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TypingVisitor
].i
]) return;
103 ((syntax_base___AbsSyntaxVisitor___init_t
)CALL( self
,COLOR_syntax_base___AbsSyntaxVisitor___init
))( self
, param0
, param1
, init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
104 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TypingVisitor
].i
] = 1;
105 tracehead
= trace
.prev
;
108 val_t
typing___TypingVisitor___get_default_constructor_for(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
109 struct trace_t trace
= {NULL
, LOCATE_typing___TypingVisitor___get_default_constructor_for
, 61};
127 trace
.prev
= tracehead
; tracehead
= &trace
;
132 variable5
= NEW_array___Array___init(); /*new Array[MMMethod]*/
133 variable4
= variable5
;
134 variable6
= NEW_array___Array___init(); /*new Array[MMMethod]*/
135 variable5
= variable6
;
136 variable7
= ((genericity___MMLocalProperty___signature_t
)CALL( variable2
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable2
/*prop*/) /*MMMethod::signature*/;
137 variable7
= ((static_type___MMSignature___arity_t
)CALL(variable7
,COLOR_static_type___MMSignature___arity
))(variable7
) /*MMSignature::arity*/;
138 variable6
= variable7
;
139 variable7
= ((abstractmetamodel___MMLocalClass___global_properties_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global_properties
))( variable1
/*c*/) /*MMLocalClass::global_properties*/;
140 variable7
= ((abstract_collection___Collection___iterator_t
)CALL(variable7
,COLOR_abstract_collection___Collection___iterator
))(variable7
) /*Set::iterator*/;
141 while (true) { /*for*/
142 variable8
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___is_ok
))(variable7
) /*Iterator::is_ok*/;
143 if (!UNTAG_Bool(variable8
)) break; /*for*/
144 variable8
= ((abstract_collection___Iterator___item_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___item
))(variable7
) /*Iterator::item*/;
145 variable9
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))( variable8
/*g*/) /*MMGlobalProperty::is_init*/;
146 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable9
)))) { /*if*/
149 variable9
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*g*/) /*MMGlobalProperty::intro*/;
150 variable9
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable9
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable9
) /*MMConcreteProperty::local_class*/;
151 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*/) /*MMLocalClass::==*/)))))));
152 if (UNTAG_Bool(variable9
)) { /*if*/
155 variable10
= ((inheritance___MMLocalClass_____bra_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable1
/*c*/, variable8
/*g*/) /*MMLocalClass::[]*/;
156 variable9
= variable10
;
157 variable10
= TAG_Bool(( variable9
/*gp*/==NIT_NULL
) || VAL_ISA( variable9
/*gp*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
158 if (!UNTAG_Bool(variable10
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___TypingVisitor___get_default_constructor_for
, 73); nit_exit(1);}
159 variable11
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*g*/) /*MMGlobalProperty::intro*/;
160 variable11
= ((genericity___MMLocalProperty___signature_t
)CALL(variable11
,COLOR_static_type___MMLocalProperty___signature
))(variable11
) /*MMConcreteProperty::signature*/;
161 variable11
= ((static_type___MMSignature___arity_t
)CALL(variable11
,COLOR_static_type___MMSignature___arity
))(variable11
) /*MMSignature::arity*/;
162 variable10
= variable11
;
163 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*/) /*MMMethod::==*/)))))));
164 variable12
= variable11
;
165 if (UNTAG_Bool(variable12
)) { /* and */
166 variable12
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*g*/) /*MMGlobalProperty::intro*/;
167 variable12
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable12
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable12
) /*MMConcreteProperty::name*/;
168 variable13
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( variable2
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name
))( variable2
/*prop*/) /*MMMethod::name*/;
169 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
) /*Symbol::==*/)))));
171 variable11
= variable12
;
172 if (UNTAG_Bool(variable11
)) { /*if*/
173 variable11
= TAG_Bool(( variable10
/*garity*/)==( TAG_Int(0)));
174 variable12
= variable11
;
175 if (!UNTAG_Bool(variable12
)) { /* or */
176 variable12
= TAG_Bool(( variable10
/*garity*/)==( variable6
/*parity*/));
178 variable11
= variable12
;
179 if (UNTAG_Bool(variable11
)) { /*if*/
180 variable3
= variable9
/*gp*/;
183 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*Array::add*/;
186 variable11
= TAG_Bool(( variable10
/*garity*/)==( TAG_Int(0)));
187 if (UNTAG_Bool(variable11
)) { /*if*/
188 ((array___AbstractArray___add_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*candidates*/, variable9
/*gp*/) /*Array::add*/;
189 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*Array::add*/;
191 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*Array::add*/;
194 continue_4
: while(0);
195 ((abstract_collection___Iterator___next_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___next
))(variable7
) /*Iterator::next*/;
198 variable7
= ((array___AbstractArray___length_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___Collection___length
))( variable4
/*candidates*/) /*Array::length*/;
199 variable7
= TAG_Bool((variable7
)==( TAG_Int(1)));
200 if (UNTAG_Bool(variable7
)) { /*if*/
201 variable7
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___Collection___first
))( variable4
/*candidates*/) /*Array::first*/;
202 variable3
= variable7
;
205 variable7
= ((array___AbstractArray___is_empty_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___Collection___is_empty
))( variable5
/*false_candidates*/) /*Array::is_empty*/;
206 if (UNTAG_Bool(variable7
)) { /*if*/
207 variable7
= NEW_string___String___init(); /*new String*/
208 variable8
= NEW_string___String___with_native(BOX_NativeString("Fatal error: there is no available constrctor in "), TAG_Int(49)); /*new String*/
209 variable9
= variable8
;
210 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
211 variable10
= variable1
/*c*/;
212 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
213 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable10
) /*String::append*/;
214 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
215 variable12
= variable11
;
216 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable12
) /*String::append*/;
217 ((syntax_base___AbsSyntaxVisitor___warning_t
)CALL( variable3
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning
))( variable3
/*v*/, variable0
/*n*/, variable7
) /*TypingVisitor::warning*/;
218 variable3
= NIT_NULL
/*null*/;
221 variable7
= NEW_string___String___init(); /*new String*/
222 variable8
= NEW_string___String___with_native(BOX_NativeString("Error: Conflicting default constructor to call for "), TAG_Int(51)); /*new String*/
223 variable9
= variable8
;
224 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
225 variable10
= variable1
/*c*/;
226 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
227 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable10
) /*String::append*/;
228 variable11
= NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
229 variable12
= variable11
;
230 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable12
) /*String::append*/;
231 variable13
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
232 variable13
= ((string___Collection___join_t
)CALL( variable5
/*false_candidates*/,COLOR_string___Collection___join
))( variable5
/*false_candidates*/, variable13
) /*Array::join*/;
233 variable14
= variable13
;
234 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable14
) /*String::append*/;
235 variable15
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
236 variable16
= variable15
;
237 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable16
) /*String::append*/;
238 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable3
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable3
/*v*/, variable0
/*n*/, variable7
) /*TypingVisitor::error*/;
239 variable3
= NIT_NULL
/*null*/;
243 return_label3
: while(false);
244 tracehead
= trace
.prev
;
247 val_t
typing___VariableContext_____bra(val_t self
, val_t param0
) {
248 struct trace_t trace
= {NULL
, LOCATE_typing___VariableContext_____bra
, 104};
251 trace
.prev
= tracehead
; tracehead
= &trace
;
253 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
254 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*s*/) /*Map::has_key*/;
255 if (UNTAG_Bool(variable1
)) { /*if*/
256 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
257 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*s*/) /*Map::[]*/;
260 variable1
= NIT_NULL
/*null*/;
263 return_label5
: while(false);
264 tracehead
= trace
.prev
;
267 void typing___VariableContext___add(val_t self
, val_t param0
) {
268 struct trace_t trace
= {NULL
, LOCATE_typing___VariableContext___add
, 115};
272 trace
.prev
= tracehead
; tracehead
= &trace
;
274 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
275 variable2
= ((syntax_base___Variable___name_t
)CALL( variable0
/*v*/,COLOR_syntax_base___Variable___name
))( variable0
/*v*/) /*Variable::name*/;
276 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*v*/) /*Map::[]=*/;
277 tracehead
= trace
.prev
;
280 val_t
typing___VariableContext___stype(val_t self
, val_t param0
) {
281 struct trace_t trace
= {NULL
, LOCATE_typing___VariableContext___stype
, 122};
284 trace
.prev
= tracehead
; tracehead
= &trace
;
286 variable1
= ((syntax_base___Variable___stype_t
)CALL( variable0
/*v*/,COLOR_syntax_base___Variable___stype
))( variable0
/*v*/) /*Variable::stype*/;
288 return_label7
: while(false);
289 tracehead
= trace
.prev
;
292 val_t
typing___VariableContext___sub(val_t self
) {
293 struct trace_t trace
= {NULL
, LOCATE_typing___VariableContext___sub
, 132};
295 trace
.prev
= tracehead
; tracehead
= &trace
;
296 variable0
= NEW_typing___SubVariableContext___with( self
, NIT_NULL
/*null*/, NIT_NULL
/*null*/); /*new SubVariableContext*/
298 return_label8
: while(false);
299 tracehead
= trace
.prev
;
302 val_t
typing___VariableContext___sub_with(val_t self
, val_t param0
, val_t param1
) {
303 struct trace_t trace
= {NULL
, LOCATE_typing___VariableContext___sub_with
, 138};
307 trace
.prev
= tracehead
; tracehead
= &trace
;
310 variable2
= NEW_typing___SubVariableContext___with( self
, variable0
/*v*/, variable1
/*t*/); /*new SubVariableContext*/
312 return_label9
: while(false);
313 tracehead
= trace
.prev
;
316 void typing___VariableContext___init(val_t self
, int* init_table
) {
317 struct trace_t trace
= {NULL
, LOCATE_typing___VariableContext___init
, 144};
319 trace
.prev
= tracehead
; tracehead
= &trace
;
320 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_VariableContext
].i
]) return;
321 variable0
= NEW_hash___HashMap___init(); /*new HashMap[Symbol, Variable]*/
322 ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/ = variable0
;
323 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_VariableContext
].i
] = 1;
324 tracehead
= trace
.prev
;
327 val_t
typing___SubVariableContext___prev(val_t self
) {
328 struct trace_t trace
= {NULL
, LOCATE_typing___SubVariableContext___prev
, 152};
329 trace
.prev
= tracehead
; tracehead
= &trace
;
330 tracehead
= trace
.prev
;
331 return ATTR_typing___SubVariableContext____prev( self
) /*SubVariableContext::_prev*/;
333 val_t
typing___SubVariableContext_____bra(val_t self
, val_t param0
) {
334 struct trace_t trace
= {NULL
, LOCATE_typing___SubVariableContext_____bra
, 156};
337 trace
.prev
= tracehead
; tracehead
= &trace
;
339 variable1
= ATTR_typing___VariableContext____dico( self
) /*SubVariableContext::_dico*/;
340 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*s*/) /*Map::has_key*/;
341 if (UNTAG_Bool(variable1
)) { /*if*/
342 variable1
= ATTR_typing___VariableContext____dico( self
) /*SubVariableContext::_dico*/;
343 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*s*/) /*Map::[]*/;
346 variable1
= ((typing___SubVariableContext___prev_t
)CALL( self
,COLOR_typing___SubVariableContext___prev
))( self
) /*SubVariableContext::prev*/;
347 variable1
= ((typing___VariableContext_____bra_t
)CALL(variable1
,COLOR_typing___VariableContext_____bra
))(variable1
, variable0
/*s*/) /*VariableContext::[]*/;
350 return_label11
: while(false);
351 tracehead
= trace
.prev
;
354 val_t
typing___SubVariableContext___stype(val_t self
, val_t param0
) {
355 struct trace_t trace
= {NULL
, LOCATE_typing___SubVariableContext___stype
, 165};
358 trace
.prev
= tracehead
; tracehead
= &trace
;
360 variable1
= ATTR_typing___SubVariableContext____variable( self
) /*SubVariableContext::_variable*/;
361 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*/) /*Variable::==*/)))));
362 if (UNTAG_Bool(variable1
)) { /*if*/
363 variable1
= ATTR_typing___SubVariableContext____var_type( self
) /*SubVariableContext::_var_type*/;
366 variable1
= ((typing___SubVariableContext___prev_t
)CALL( self
,COLOR_typing___SubVariableContext___prev
))( self
) /*SubVariableContext::prev*/;
367 variable1
= ((typing___VariableContext___stype_t
)CALL(variable1
,COLOR_typing___VariableContext___stype
))(variable1
, variable0
/*v*/) /*VariableContext::stype*/;
369 return_label12
: while(false);
370 tracehead
= trace
.prev
;
373 void typing___SubVariableContext___with(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
374 struct trace_t trace
= {NULL
, LOCATE_typing___SubVariableContext___with
, 173};
378 trace
.prev
= tracehead
; tracehead
= &trace
;
382 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_SubVariableContext
].i
]) return;
383 ((typing___VariableContext___init_t
)CALL( self
,COLOR_typing___VariableContext___init
))( self
, init_table
/*YYY*/) /*SubVariableContext::init*/;
384 ATTR_typing___SubVariableContext____prev( self
) /*SubVariableContext::_prev*/ = variable0
/*p*/;
385 ATTR_typing___SubVariableContext____variable( self
) /*SubVariableContext::_variable*/ = variable1
/*v*/;
386 ATTR_typing___SubVariableContext____var_type( self
) /*SubVariableContext::_var_type*/ = variable2
/*t*/;
387 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_SubVariableContext
].i
] = 1;
388 tracehead
= trace
.prev
;
391 void typing___PNode___accept_typing(val_t self
, val_t param0
) {
392 struct trace_t trace
= {NULL
, LOCATE_typing___PNode___accept_typing
, 186};
394 trace
.prev
= tracehead
; tracehead
= &trace
;
396 ((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*/;
397 ((typing___PNode___after_typing_t
)CALL( self
,COLOR_typing___PNode___after_typing
))( self
, variable0
/*v*/) /*PNode::after_typing*/;
398 tracehead
= trace
.prev
;
401 void typing___PNode___after_typing(val_t self
, val_t param0
) {
402 struct trace_t trace
= {NULL
, LOCATE_typing___PNode___after_typing
, 191};
404 trace
.prev
= tracehead
; tracehead
= &trace
;
406 tracehead
= trace
.prev
;
409 void typing___PClassdef___accept_typing(val_t self
, val_t param0
) {
410 struct trace_t trace
= {NULL
, LOCATE_typing___PClassdef___accept_typing
, 195};
413 trace
.prev
= tracehead
; tracehead
= &trace
;
415 variable1
= ((syntax_base___PClassdef___local_class_t
)CALL( self
,COLOR_syntax_base___PClassdef___local_class
))( self
) /*PClassdef::local_class*/;
416 variable1
= ((genericity___MMLocalClass___get_type_t
)CALL(variable1
,COLOR_static_type___MMLocalClass___get_type
))(variable1
) /*MMSrcLocalClass::get_type*/;
417 ((typing___TypingVisitor___self_type__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::self_type=*/;
418 ((typing___PClassdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___PClassdef___accept_typing
))( self
, param0
) /*super PClassdef::accept_typing*/;
419 tracehead
= trace
.prev
;
422 void typing___AAttrPropdef___accept_typing(val_t self
, val_t param0
) {
423 struct trace_t trace
= {NULL
, LOCATE_typing___AAttrPropdef___accept_typing
, 203};
428 trace
.prev
= tracehead
; tracehead
= &trace
;
430 ((typing___AAttrPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AAttrPropdef___accept_typing
))( self
, param0
) /*super AAttrPropdef::accept_typing*/;
431 variable1
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
432 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*/) /*PExpr::==*/)))))));
433 if (UNTAG_Bool(variable1
)) { /*if*/
434 variable1
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
435 variable2
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
436 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
437 variable3
= ((syntax_base___AAttrPropdef___prop_t
)CALL( self
,COLOR_syntax_base___AAttrPropdef___prop
))( self
) /*AAttrPropdef::prop*/;
438 variable3
= ((genericity___MMLocalProperty___signature_t
)CALL(variable3
,COLOR_static_type___MMLocalProperty___signature
))(variable3
) /*MMSrcAttribute::signature*/;
439 variable3
= ((static_type___MMSignature___return_type_t
)CALL(variable3
,COLOR_static_type___MMSignature___return_type
))(variable3
) /*MMSignature::return_type*/;
440 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, variable1
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
442 tracehead
= trace
.prev
;
445 void typing___AMethPropdef___accept_typing(val_t self
, val_t param0
) {
446 struct trace_t trace
= {NULL
, LOCATE_typing___AMethPropdef___accept_typing
, 213};
449 trace
.prev
= tracehead
; tracehead
= &trace
;
451 variable1
= NEW_typing___VariableContext___init(); /*new VariableContext*/
452 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
453 ((typing___AMethPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AMethPropdef___accept_typing
))( self
, param0
) /*super AMethPropdef::accept_typing*/;
454 tracehead
= trace
.prev
;
457 val_t
typing___AConcreteInitPropdef___super_init_calls(val_t self
) {
458 struct trace_t trace
= {NULL
, LOCATE_typing___AConcreteInitPropdef___super_init_calls
, 221};
459 trace
.prev
= tracehead
; tracehead
= &trace
;
460 tracehead
= trace
.prev
;
461 return ATTR_typing___AConcreteInitPropdef____super_init_calls( self
) /*AConcreteInitPropdef::_super_init_calls*/;
463 val_t
typing___AConcreteInitPropdef___explicit_super_init_calls(val_t self
) {
464 struct trace_t trace
= {NULL
, LOCATE_typing___AConcreteInitPropdef___explicit_super_init_calls
, 222};
465 trace
.prev
= tracehead
; tracehead
= &trace
;
466 tracehead
= trace
.prev
;
467 return ATTR_typing___AConcreteInitPropdef____explicit_super_init_calls( self
) /*AConcreteInitPropdef::_explicit_super_init_calls*/;
469 void typing___AConcreteInitPropdef___accept_typing(val_t self
, val_t param0
) {
470 struct trace_t trace
= {NULL
, LOCATE_typing___AConcreteInitPropdef___accept_typing
, 223};
482 trace
.prev
= tracehead
; tracehead
= &trace
;
484 variable1
= ((parser_nodes___AConcreteMethPropdef___n_block_t
)CALL( self
,COLOR_parser_nodes___AConcreteMethPropdef___n_block
))( self
) /*AConcreteInitPropdef::n_block*/;
485 ((typing___TypingVisitor___top_block__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::top_block=*/;
486 variable1
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
487 ((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=*/;
488 ((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=*/;
489 ((typing___AConcreteInitPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AConcreteInitPropdef___accept_typing
))( self
, param0
) /*super AConcreteInitPropdef::accept_typing*/;
490 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*/;
491 if (UNTAG_Bool(variable1
)) { /*if*/
493 variable1
= TAG_Int(0);
494 variable3
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
495 variable3
= ((array___AbstractArray___length_t
)CALL(variable3
,COLOR_abstract_collection___Collection___length
))(variable3
) /*Array::length*/;
496 variable2
= variable3
;
497 variable3
= NIT_NULL
/*decl variable cur_m*/;
498 variable4
= NIT_NULL
/*decl variable cur_c*/;
499 variable5
= TAG_Bool(UNTAG_Int( variable1
/*i*/)<UNTAG_Int( variable2
/*l*/));
500 if (UNTAG_Bool(variable5
)) { /*if*/
501 variable5
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
502 variable6
= variable1
/*i*/;
503 variable7
= TAG_Bool(UNTAG_Int( variable6
/*index*/)>=UNTAG_Int( TAG_Int(0)));
504 variable8
= variable7
;
505 if (UNTAG_Bool(variable8
)) { /* and */
506 variable8
= variable5
;
507 variable8
= ATTR_array___AbstractArray____length(variable8
) /*Array::_length*/;
508 variable8
= TAG_Bool(UNTAG_Int( variable6
/*index*/)<UNTAG_Int(variable8
));
510 variable7
= variable8
;
511 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra
, 229); nit_exit(1);}
512 variable7
= variable5
;
513 variable7
= ATTR_array___Array____items(variable7
) /*Array::_items*/;
514 variable7
= UNBOX_NativeArray(variable7
)[UNTAG_Int( variable6
/*index*/)];
516 return_label20
: while(false);
517 variable5
= variable7
;
518 variable3
= variable5
/*cur_m=*/;
519 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*cur_m*/) /*MMMethod::global*/;
520 variable5
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable5
) /*MMGlobalProperty::intro*/;
521 variable5
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable5
) /*MMConcreteProperty::local_class*/;
522 variable4
= variable5
/*cur_c=*/;
524 variable5
= TAG_Int(0);
525 while (true) { /*while*/
526 variable6
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*TypingVisitor::local_class*/;
527 variable6
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable6
) /*MMSrcLocalClass::cshe*/;
528 variable6
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable6
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable6
) /*PartialOrderElement::direct_greaters*/;
529 variable6
= ((array___AbstractArray___length_t
)CALL(variable6
,COLOR_abstract_collection___Collection___length
))(variable6
) /*Array::length*/;
530 variable6
= TAG_Bool(UNTAG_Int( variable5
/*j*/)<UNTAG_Int(variable6
));
531 if (!UNTAG_Bool(variable6
)) break; /* while*/
532 variable7
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*TypingVisitor::local_class*/;
533 variable7
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable7
) /*MMSrcLocalClass::cshe*/;
534 variable7
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable7
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable7
) /*PartialOrderElement::direct_greaters*/;
535 variable8
= variable5
/*j*/;
536 variable9
= TAG_Bool(UNTAG_Int( variable8
/*index*/)>=UNTAG_Int( TAG_Int(0)));
537 variable10
= variable9
;
538 if (UNTAG_Bool(variable10
)) { /* and */
539 variable10
= variable7
;
540 variable10
= ATTR_array___AbstractArray____length(variable10
) /*Array::_length*/;
541 variable10
= TAG_Bool(UNTAG_Int( variable8
/*index*/)<UNTAG_Int(variable10
));
543 variable9
= variable10
;
544 if (!UNTAG_Bool(variable9
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra
, 229); nit_exit(1);}
545 variable9
= variable7
;
546 variable9
= ATTR_array___Array____items(variable9
) /*Array::_items*/;
547 variable9
= UNBOX_NativeArray(variable9
)[UNTAG_Int( variable8
/*index*/)];
549 return_label22
: while(false);
550 variable7
= variable9
;
551 variable6
= variable7
;
552 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*/) /*MMLocalClass::==*/)))))));
553 variable8
= variable7
;
554 if (UNTAG_Bool(variable8
)) { /* and */
555 variable8
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable6
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable6
/*c*/) /*MMLocalClass::cshe*/;
556 variable8
= ((partial_order___PartialOrderElement_____leq_t
)CALL(variable8
,COLOR_partial_order___PartialOrderElement_____leq
))(variable8
, variable4
/*cur_c*/) /*PartialOrderElement::<=*/;
558 variable7
= variable8
;
559 if (UNTAG_Bool(variable7
)) { /*if*/
560 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*/) /*MMLocalClass::==*/)))));
561 if (UNTAG_Bool(variable7
)) { /*if*/
562 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*j*/;
564 variable7
= ((typing___AConcreteInitPropdef___super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___super_init_calls
))( self
) /*AConcreteInitPropdef::super_init_calls*/;
565 ((array___AbstractArray___add_t
)CALL(variable7
,COLOR_abstract_collection___SimpleCollection___add
))(variable7
, variable3
/*cur_m*/) /*Array::add*/;
566 variable1
= TAG_Int(UNTAG_Int(variable1
)+UNTAG_Int( TAG_Int(1))) /*i*/;
567 variable7
= TAG_Bool(UNTAG_Int( variable1
/*i*/)<UNTAG_Int( variable2
/*l*/));
568 if (UNTAG_Bool(variable7
)) { /*if*/
569 variable7
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
570 variable8
= variable1
/*i*/;
571 variable9
= TAG_Bool(UNTAG_Int( variable8
/*index*/)>=UNTAG_Int( TAG_Int(0)));
572 variable10
= variable9
;
573 if (UNTAG_Bool(variable10
)) { /* and */
574 variable10
= variable7
;
575 variable10
= ATTR_array___AbstractArray____length(variable10
) /*Array::_length*/;
576 variable10
= TAG_Bool(UNTAG_Int( variable8
/*index*/)<UNTAG_Int(variable10
));
578 variable9
= variable10
;
579 if (!UNTAG_Bool(variable9
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra
, 229); nit_exit(1);}
580 variable9
= variable7
;
581 variable9
= ATTR_array___Array____items(variable9
) /*Array::_items*/;
582 variable9
= UNBOX_NativeArray(variable9
)[UNTAG_Int( variable8
/*index*/)];
584 return_label23
: while(false);
585 variable7
= variable9
;
586 variable3
= variable7
/*cur_m=*/;
587 variable7
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*cur_m*/) /*MMMethod::global*/;
588 variable7
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable7
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable7
) /*MMGlobalProperty::intro*/;
589 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable7
) /*MMConcreteProperty::local_class*/;
590 variable4
= variable7
/*cur_c=*/;
592 variable3
= NIT_NULL
/*null*/ /*cur_m=*/;
593 variable4
= NIT_NULL
/*null*/ /*cur_c=*/;
596 variable8
= ((syntax_base___AMethPropdef___method_t
)CALL( self
,COLOR_syntax_base___AMethPropdef___method
))( self
) /*AConcreteInitPropdef::method*/;
597 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*/;
598 variable7
= variable8
;
599 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*/) /*MMMethod::==*/)))))));
600 if (UNTAG_Bool(variable8
)) { /*if*/
601 variable8
= ((typing___AConcreteInitPropdef___super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___super_init_calls
))( self
) /*AConcreteInitPropdef::super_init_calls*/;
602 ((array___AbstractArray___add_t
)CALL(variable8
,COLOR_abstract_collection___SimpleCollection___add
))(variable8
, variable7
/*p*/) /*Array::add*/;
604 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*j*/;
606 continue_21
: while(0);
610 tracehead
= trace
.prev
;
613 void typing___PParam___after_typing(val_t self
, val_t param0
) {
614 struct trace_t trace
= {NULL
, LOCATE_typing___PParam___after_typing
, 267};
618 trace
.prev
= tracehead
; tracehead
= &trace
;
620 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
621 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*/) /*VariableContext::==*/)))))));
622 if (UNTAG_Bool(variable1
)) { /*if*/
623 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
624 variable2
= ((syntax_base___PParam___variable_t
)CALL( self
,COLOR_syntax_base___PParam___variable
))( self
) /*PParam::variable*/;
625 ((typing___VariableContext___add_t
)CALL(variable1
,COLOR_typing___VariableContext___add
))(variable1
, variable2
) /*VariableContext::add*/;
627 tracehead
= trace
.prev
;
630 val_t
typing___PType___stype(val_t self
) {
631 struct trace_t trace
= {NULL
, LOCATE_typing___PType___stype
, 276};
632 trace
.prev
= tracehead
; tracehead
= &trace
;
633 tracehead
= trace
.prev
;
634 return ATTR_typing___PType____stype( self
) /*PType::_stype*/;
636 void typing___PType___after_typing(val_t self
, val_t param0
) {
637 struct trace_t trace
= {NULL
, LOCATE_typing___PType___after_typing
, 277};
640 trace
.prev
= tracehead
; tracehead
= &trace
;
642 variable1
= ((syntax_base___PType___get_stype_t
)CALL( self
,COLOR_syntax_base___PType___get_stype
))( self
, variable0
/*v*/) /*PType::get_stype*/;
643 ATTR_typing___PType____stype( self
) /*PType::_stype*/ = variable1
;
644 tracehead
= trace
.prev
;
647 val_t
typing___PExpr___stype(val_t self
) {
648 struct trace_t trace
= {NULL
, LOCATE_typing___PExpr___stype
, 284};
649 trace
.prev
= tracehead
; tracehead
= &trace
;
650 tracehead
= trace
.prev
;
651 return ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/;
653 val_t
typing___PExpr___is_implicit_self(val_t self
) {
654 struct trace_t trace
= {NULL
, LOCATE_typing___PExpr___is_implicit_self
, 286};
656 trace
.prev
= tracehead
; tracehead
= &trace
;
657 variable0
= TAG_Bool(false);
659 return_label26
: while(false);
660 tracehead
= trace
.prev
;
663 val_t
typing___PExpr___is_self(val_t self
) {
664 struct trace_t trace
= {NULL
, LOCATE_typing___PExpr___is_self
, 289};
666 trace
.prev
= tracehead
; tracehead
= &trace
;
667 variable0
= TAG_Bool(false);
669 return_label27
: while(false);
670 tracehead
= trace
.prev
;
673 val_t
typing___PExpr___is_variable(val_t self
) {
674 struct trace_t trace
= {NULL
, LOCATE_typing___PExpr___is_variable
, 292};
676 trace
.prev
= tracehead
; tracehead
= &trace
;
677 variable0
= TAG_Bool(false);
679 return_label28
: while(false);
680 tracehead
= trace
.prev
;
683 val_t
typing___PExpr___if_true_variable_ctx(val_t self
) {
684 struct trace_t trace
= {NULL
, LOCATE_typing___PExpr___if_true_variable_ctx
, 295};
685 trace
.prev
= tracehead
; tracehead
= &trace
;
686 tracehead
= trace
.prev
;
687 return ATTR_typing___PExpr____if_true_variable_ctx( self
) /*PExpr::_if_true_variable_ctx*/;
689 val_t
typing___AVardeclExpr___variable(val_t self
) {
690 struct trace_t trace
= {NULL
, LOCATE_typing___AVardeclExpr___variable
, 300};
691 trace
.prev
= tracehead
; tracehead
= &trace
;
692 tracehead
= trace
.prev
;
693 return ATTR_typing___AVardeclExpr____variable( self
) /*AVardeclExpr::_variable*/;
695 void typing___AVardeclExpr___after_typing(val_t self
, val_t param0
) {
696 struct trace_t trace
= {NULL
, LOCATE_typing___AVardeclExpr___after_typing
, 303};
701 trace
.prev
= tracehead
; tracehead
= &trace
;
703 variable2
= ((parser_nodes___AVardeclExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_id
))( self
) /*AVardeclExpr::n_id*/;
704 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*TId::to_symbol*/;
705 variable3
= NEW_syntax_base___Variable___init(variable2
, self
); /*new Variable*/
706 variable2
= variable3
;
707 variable1
= variable2
;
708 ATTR_typing___AVardeclExpr____variable( self
) /*AVardeclExpr::_variable*/ = variable1
/*va*/;
709 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
710 ((typing___VariableContext___add_t
)CALL(variable2
,COLOR_typing___VariableContext___add
))(variable2
, variable1
/*va*/) /*VariableContext::add*/;
711 variable2
= ((parser_nodes___AVardeclExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_type
))( self
) /*AVardeclExpr::n_type*/;
712 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*/) /*PType::==*/)))))));
713 if (UNTAG_Bool(variable2
)) { /*if*/
714 variable2
= ((parser_nodes___AVardeclExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_type
))( self
) /*AVardeclExpr::n_type*/;
715 variable2
= ((typing___PType___stype_t
)CALL(variable2
,COLOR_typing___PType___stype
))(variable2
) /*PType::stype*/;
716 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*va*/, variable2
) /*Variable::stype=*/;
717 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
718 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*/) /*PExpr::==*/)))))));
719 if (UNTAG_Bool(variable2
)) { /*if*/
720 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
721 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
722 variable3
= ((syntax_base___Variable___stype_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype
))( variable1
/*va*/) /*Variable::stype*/;
723 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
726 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
727 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
728 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*va*/, variable2
) /*Variable::stype=*/;
730 tracehead
= trace
.prev
;
733 void typing___ABlockExpr___accept_typing(val_t self
, val_t param0
) {
734 struct trace_t trace
= {NULL
, LOCATE_typing___ABlockExpr___accept_typing
, 321};
738 trace
.prev
= tracehead
; tracehead
= &trace
;
740 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
741 variable1
= variable2
;
742 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
743 variable2
= ((typing___VariableContext___sub_t
)CALL(variable2
,COLOR_typing___VariableContext___sub
))(variable2
) /*VariableContext::sub*/;
744 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
745 ((typing___ABlockExpr___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___ABlockExpr___accept_typing
))( self
, param0
) /*super ABlockExpr::accept_typing*/;
746 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
747 tracehead
= trace
.prev
;
750 void typing___AReturnExpr___after_typing(val_t self
, val_t param0
) {
751 struct trace_t trace
= {NULL
, LOCATE_typing___AReturnExpr___after_typing
, 333};
756 trace
.prev
= tracehead
; tracehead
= &trace
;
758 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
759 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMSrcLocalProperty::signature*/;
760 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
761 variable1
= variable2
;
762 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
763 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*/) /*PExpr::==*/)))));
764 variable3
= variable2
;
765 if (UNTAG_Bool(variable3
)) { /* and */
766 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*/) /*MMType::==*/)))))));
768 variable2
= variable3
;
769 if (UNTAG_Bool(variable2
)) { /*if*/
770 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: Return without value in a function."), TAG_Int(42)); /*new String*/
771 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
773 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
774 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*/) /*PExpr::==*/)))))));
775 variable3
= variable2
;
776 if (UNTAG_Bool(variable3
)) { /* and */
777 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*/) /*MMType::==*/)))));
779 variable2
= variable3
;
780 if (UNTAG_Bool(variable2
)) { /*if*/
781 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: Return with value in a procedure."), TAG_Int(40)); /*new String*/
782 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
784 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::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*/) /*PExpr::==*/)))))));
786 variable3
= variable2
;
787 if (UNTAG_Bool(variable3
)) { /* and */
788 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*/) /*MMType::==*/)))))));
790 variable2
= variable3
;
791 if (UNTAG_Bool(variable2
)) { /*if*/
792 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
793 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
794 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable1
/*t*/) /*TypingVisitor::check_conform*/;
798 tracehead
= trace
.prev
;
801 void typing___AIfExpr___accept_typing(val_t self
, val_t param0
) {
802 struct trace_t trace
= {NULL
, LOCATE_typing___AIfExpr___accept_typing
, 347};
807 trace
.prev
= tracehead
; tracehead
= &trace
;
809 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
810 variable1
= variable2
;
811 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
812 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
813 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
814 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
815 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
816 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
817 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
818 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
819 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*/) /*VariableContext::==*/)))))));
820 if (UNTAG_Bool(variable2
)) { /*if*/
821 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
822 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
823 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
825 variable2
= ((parser_nodes___AIfExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_then
))( self
) /*AIfExpr::n_then*/;
826 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
827 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
828 variable2
= ((parser_nodes___AIfExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_else
))( self
) /*AIfExpr::n_else*/;
829 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*/) /*PExpr::==*/)))))));
830 if (UNTAG_Bool(variable2
)) { /*if*/
831 variable2
= ((parser_nodes___AIfExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_else
))( self
) /*AIfExpr::n_else*/;
832 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
833 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
835 tracehead
= trace
.prev
;
838 void typing___AWhileExpr___after_typing(val_t self
, val_t param0
) {
839 struct trace_t trace
= {NULL
, LOCATE_typing___AWhileExpr___after_typing
, 369};
843 trace
.prev
= tracehead
; tracehead
= &trace
;
845 variable1
= ((parser_nodes___AWhileExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AWhileExpr___n_expr
))( self
) /*AWhileExpr::n_expr*/;
846 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
847 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
848 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*TypingVisitor::check_conform*/;
849 tracehead
= trace
.prev
;
852 void typing___AForExpr___after_typing(val_t self
, val_t param0
) {
853 struct trace_t trace
= {NULL
, LOCATE_typing___AForExpr___after_typing
, 376};
857 trace
.prev
= tracehead
; tracehead
= &trace
;
859 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
860 variable1
= variable2
;
861 variable2
= TAG_Bool(( variable1
/*varctx*/==NIT_NULL
) || VAL_ISA( variable1
/*varctx*/, COLOR_SubVariableContext
, ID_SubVariableContext
)) /*cast SubVariableContext*/;
862 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___AForExpr___after_typing
, 380); nit_exit(1);}
863 variable2
= ((typing___SubVariableContext___prev_t
)CALL( variable1
/*varctx*/,COLOR_typing___SubVariableContext___prev
))( variable1
/*varctx*/) /*SubVariableContext::prev*/;
864 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
865 tracehead
= trace
.prev
;
868 val_t
typing___AForVardeclExpr___variable(val_t self
) {
869 struct trace_t trace
= {NULL
, LOCATE_typing___AForVardeclExpr___variable
, 386};
870 trace
.prev
= tracehead
; tracehead
= &trace
;
871 tracehead
= trace
.prev
;
872 return ATTR_typing___AForVardeclExpr____variable( self
) /*AForVardeclExpr::_variable*/;
874 void typing___AForVardeclExpr___after_typing(val_t self
, val_t param0
) {
875 struct trace_t trace
= {NULL
, LOCATE_typing___AForVardeclExpr___after_typing
, 389};
881 static val_t once_value_variable4_36
; static int once_bool_variable4_36
;
884 static val_t once_value_variable6_37
; static int once_bool_variable6_37
;
890 trace
.prev
= tracehead
; tracehead
= &trace
;
892 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
893 variable1
= ((typing___VariableContext___sub_t
)CALL(variable1
,COLOR_typing___VariableContext___sub
))(variable1
) /*VariableContext::sub*/;
894 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
895 variable2
= ((parser_nodes___AForVardeclExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_id
))( self
) /*AForVardeclExpr::n_id*/;
896 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*TId::to_symbol*/;
897 variable3
= NEW_syntax_base___Variable___init(variable2
, self
); /*new Variable*/
898 variable2
= variable3
;
899 variable1
= variable2
;
900 ATTR_typing___AForVardeclExpr____variable( self
) /*AForVardeclExpr::_variable*/ = variable1
/*variable*/;
901 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
902 ((typing___VariableContext___add_t
)CALL(variable2
,COLOR_typing___VariableContext___add
))(variable2
, variable1
/*variable*/) /*VariableContext::add*/;
903 variable3
= ((parser_nodes___AForVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_expr
))( self
) /*AForVardeclExpr::n_expr*/;
904 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
905 variable2
= variable3
;
906 variable3
= ((syntax_base___AbsSyntaxVisitor___type_collection_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_collection
))( variable0
/*v*/) /*TypingVisitor::type_collection*/;
907 variable3
= ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
/*expr_type*/, variable3
) /*TypingVisitor::check_conform*/;
908 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
911 if (once_bool_variable4_36
) variable4
= once_value_variable4_36
;
913 variable4
= NEW_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
914 variable4
= ((symbol___String___to_symbol_t
)CALL(variable4
,COLOR_symbol___String___to_symbol
))(variable4
) /*String::to_symbol*/;
915 once_value_variable4_36
= variable4
;
916 once_bool_variable4_36
= true;
918 variable4
= ((static_type___MMType___select_method_t
)CALL( variable2
/*expr_type*/,COLOR_static_type___MMType___select_method
))( variable2
/*expr_type*/, variable4
) /*MMType::select_method*/;
919 variable3
= variable4
;
920 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*/) /*MMMethod::==*/)))));
921 if (UNTAG_Bool(variable4
)) { /*if*/
922 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: Collection MUST have an iterate method"), TAG_Int(45)); /*new String*/
923 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
926 variable5
= ((genericity___MMLocalProperty___signature_t
)CALL( variable3
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable3
/*prop*/) /*MMMethod::signature*/;
927 variable5
= ((static_type___MMSignature___return_type_t
)CALL(variable5
,COLOR_static_type___MMSignature___return_type
))(variable5
) /*MMSignature::return_type*/;
928 variable4
= variable5
;
929 if (once_bool_variable6_37
) variable6
= once_value_variable6_37
;
931 variable6
= NEW_string___String___with_native(BOX_NativeString("item"), TAG_Int(4)); /*new String*/
932 variable6
= ((symbol___String___to_symbol_t
)CALL(variable6
,COLOR_symbol___String___to_symbol
))(variable6
) /*String::to_symbol*/;
933 once_value_variable6_37
= variable6
;
934 once_bool_variable6_37
= true;
936 variable6
= ((static_type___MMType___select_method_t
)CALL( variable4
/*iter_type*/,COLOR_static_type___MMType___select_method
))( variable4
/*iter_type*/, variable6
) /*MMType::select_method*/;
937 variable5
= variable6
;
938 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*/) /*MMMethod::==*/)))));
939 if (UNTAG_Bool(variable6
)) { /*if*/
940 variable6
= NEW_string___String___init(); /*new String*/
941 variable7
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
942 variable8
= variable7
;
943 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
944 variable9
= variable4
/*iter_type*/;
945 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
946 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable9
) /*String::append*/;
947 variable10
= NEW_string___String___with_native(BOX_NativeString(" MUST have an item method"), TAG_Int(25)); /*new String*/
948 variable11
= variable10
;
949 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable11
) /*String::append*/;
950 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable6
) /*TypingVisitor::error*/;
953 variable7
= ((genericity___MMLocalProperty___signature_t
)CALL( variable5
/*prop2*/,COLOR_static_type___MMLocalProperty___signature
))( variable5
/*prop2*/) /*MMMethod::signature*/;
954 variable7
= ((static_type___MMSignature___return_type_t
)CALL(variable7
,COLOR_static_type___MMSignature___return_type
))(variable7
) /*MMSignature::return_type*/;
955 variable6
= variable7
;
956 variable7
= ((parser_nodes___AForVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_expr
))( self
) /*AForVardeclExpr::n_expr*/;
957 variable7
= ((typing___PExpr___is_self_t
)CALL(variable7
,COLOR_typing___PExpr___is_self
))(variable7
) /*PExpr::is_self*/;
958 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable7
)))) { /*if*/
959 variable7
= ((static_type___MMType___not_for_self_t
)CALL( variable6
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable6
/*t*/) /*MMType::not_for_self*/;
960 variable6
= variable7
/*t=*/;
962 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*variable*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*variable*/, variable6
/*t*/) /*Variable::stype=*/;
963 return_label35
: while(false);
964 tracehead
= trace
.prev
;
967 void typing___AAssertExpr___after_typing(val_t self
, val_t param0
) {
968 struct trace_t trace
= {NULL
, LOCATE_typing___AAssertExpr___after_typing
, 418};
972 trace
.prev
= tracehead
; tracehead
= &trace
;
974 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
975 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
976 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
977 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*TypingVisitor::check_conform*/;
978 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
979 variable1
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable1
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable1
) /*PExpr::if_true_variable_ctx*/;
980 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*/) /*VariableContext::==*/)))))));
981 if (UNTAG_Bool(variable1
)) { /*if*/
982 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
983 variable1
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable1
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable1
) /*PExpr::if_true_variable_ctx*/;
984 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
986 tracehead
= trace
.prev
;
989 val_t
typing___AVarFormExpr___variable(val_t self
) {
990 struct trace_t trace
= {NULL
, LOCATE_typing___AVarFormExpr___variable
, 426};
991 trace
.prev
= tracehead
; tracehead
= &trace
;
992 tracehead
= trace
.prev
;
993 return ATTR_typing___AVarFormExpr____variable( self
) /*AVarFormExpr::_variable*/;
995 void typing___AVarFormExpr___variable__eq(val_t self
, val_t param0
) {
996 struct trace_t trace
= {NULL
, LOCATE_typing___AVarFormExpr___variable__eq
, 426};
997 trace
.prev
= tracehead
; tracehead
= &trace
;
998 ATTR_typing___AVarFormExpr____variable( self
) /*AVarFormExpr::_variable*/ = param0
;
999 tracehead
= trace
.prev
;
1002 val_t
typing___AVarExpr___is_variable(val_t self
) {
1003 struct trace_t trace
= {NULL
, LOCATE_typing___AVarExpr___is_variable
, 431};
1005 trace
.prev
= tracehead
; tracehead
= &trace
;
1006 variable0
= TAG_Bool(true);
1007 goto return_label39
;
1008 return_label39
: while(false);
1009 tracehead
= trace
.prev
;
1012 void typing___AVarExpr___after_typing(val_t self
, val_t param0
) {
1013 struct trace_t trace
= {NULL
, LOCATE_typing___AVarExpr___after_typing
, 433};
1017 trace
.prev
= tracehead
; tracehead
= &trace
;
1019 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1020 variable2
= ((typing___AVarFormExpr___variable_t
)CALL( self
,COLOR_typing___AVarFormExpr___variable
))( self
) /*AVarExpr::variable*/;
1021 variable1
= ((typing___VariableContext___stype_t
)CALL(variable1
,COLOR_typing___VariableContext___stype
))(variable1
, variable2
) /*VariableContext::stype*/;
1022 ATTR_typing___PExpr____stype( self
) /*AVarExpr::_stype*/ = variable1
;
1023 tracehead
= trace
.prev
;
1026 void typing___AVarAssignExpr___after_typing(val_t self
, val_t param0
) {
1027 struct trace_t trace
= {NULL
, LOCATE_typing___AVarAssignExpr___after_typing
, 440};
1032 trace
.prev
= tracehead
; tracehead
= &trace
;
1034 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1035 variable3
= ((typing___AVarFormExpr___variable_t
)CALL( self
,COLOR_typing___AVarFormExpr___variable
))( self
) /*AVarAssignExpr::variable*/;
1036 variable2
= ((typing___VariableContext___stype_t
)CALL(variable2
,COLOR_typing___VariableContext___stype
))(variable2
, variable3
) /*VariableContext::stype*/;
1037 variable1
= variable2
;
1038 variable2
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AVarAssignExpr::n_value*/;
1039 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1040 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable1
/*t*/) /*TypingVisitor::check_conform*/;
1041 tracehead
= trace
.prev
;
1044 void typing___AReassignFormExpr___do_lvalue_typing(val_t self
, val_t param0
, val_t param1
) {
1045 struct trace_t trace
= {NULL
, LOCATE_typing___AReassignFormExpr___do_lvalue_typing
, 448};
1059 trace
.prev
= tracehead
; tracehead
= &trace
;
1062 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*/) /*MMType::==*/)))));
1063 if (UNTAG_Bool(variable2
)) { /*if*/
1064 goto return_label42
;
1066 variable3
= ((parser_nodes___AReassignFormExpr___n_assign_op_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_assign_op
))( self
) /*AReassignFormExpr::n_assign_op*/;
1067 variable3
= ((typing___PAssignOp___method_name_t
)CALL(variable3
,COLOR_typing___PAssignOp___method_name
))(variable3
) /*PAssignOp::method_name*/;
1068 variable2
= variable3
;
1069 variable4
= ((static_type___MMType___select_method_t
)CALL( variable1
/*type_lvalue*/,COLOR_static_type___MMType___select_method
))( variable1
/*type_lvalue*/, variable2
/*name*/) /*MMType::select_method*/;
1070 variable3
= variable4
;
1071 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*/) /*MMMethod::==*/)))));
1072 if (UNTAG_Bool(variable4
)) { /*if*/
1073 variable4
= NEW_string___String___init(); /*new String*/
1074 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
1075 variable6
= variable5
;
1076 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1077 variable7
= variable2
/*name*/;
1078 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1079 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1080 variable8
= NEW_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
1081 variable9
= variable8
;
1082 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1083 variable10
= variable1
/*type_lvalue*/;
1084 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1085 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1086 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1087 variable12
= variable11
;
1088 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1089 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
1090 goto return_label42
;
1092 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMMethod::global*/;
1093 variable5
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
1094 ((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*/;
1095 variable5
= ((genericity___MMLocalProperty___signature_t
)CALL( variable3
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable3
/*prop*/) /*MMMethod::signature*/;
1096 variable4
= variable5
;
1097 ATTR_typing___AReassignFormExpr____assign_method( self
) /*AReassignFormExpr::_assign_method*/ = variable3
/*prop*/;
1098 variable5
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
1099 variable5
= ((typing___PExpr___stype_t
)CALL(variable5
,COLOR_syntax_base___PExpr___stype
))(variable5
) /*PExpr::stype*/;
1100 variable6
= ((static_type___MMSignature_____bra_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature_____bra
))( variable4
/*psig*/, TAG_Int(0)) /*MMSignature::[]*/;
1101 variable6
= ((static_type___MMType___not_for_self_t
)CALL(variable6
,COLOR_static_type___MMType___not_for_self
))(variable6
) /*MMType::not_for_self*/;
1102 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable5
, variable6
) /*TypingVisitor::check_conform*/;
1103 variable5
= ((static_type___MMSignature___return_type_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature___return_type
))( variable4
/*psig*/) /*MMSignature::return_type*/;
1104 variable5
= ((static_type___MMType___not_for_self_t
)CALL(variable5
,COLOR_static_type___MMType___not_for_self
))(variable5
) /*MMType::not_for_self*/;
1105 variable6
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
1106 variable6
= ((typing___PExpr___stype_t
)CALL(variable6
,COLOR_syntax_base___PExpr___stype
))(variable6
) /*PExpr::stype*/;
1107 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable5
, variable6
) /*TypingVisitor::check_conform*/;
1108 return_label42
: while(false);
1109 tracehead
= trace
.prev
;
1112 val_t
typing___AReassignFormExpr___assign_method(val_t self
) {
1113 struct trace_t trace
= {NULL
, LOCATE_typing___AReassignFormExpr___assign_method
, 467};
1114 trace
.prev
= tracehead
; tracehead
= &trace
;
1115 tracehead
= trace
.prev
;
1116 return ATTR_typing___AReassignFormExpr____assign_method( self
) /*AReassignFormExpr::_assign_method*/;
1118 val_t
typing___PAssignOp___method_name(val_t self
) {
1119 struct trace_t trace
= {NULL
, LOCATE_typing___PAssignOp___method_name
, 472};
1120 trace
.prev
= tracehead
; tracehead
= &trace
;
1121 fprintf(stderr
, "Deferred method %s called (%s: %d)\n", "method_name", LOCATE_typing___AReassignFormExpr___do_lvalue_typing
, 472);
1123 tracehead
= trace
.prev
;
1126 val_t
typing___APlusAssignOp___method_name(val_t self
) {
1127 struct trace_t trace
= {NULL
, LOCATE_typing___APlusAssignOp___method_name
, 475};
1129 static val_t once_value_variable0_44
; static int once_bool_variable0_44
;
1130 trace
.prev
= tracehead
; tracehead
= &trace
;
1131 if (once_bool_variable0_44
) variable0
= once_value_variable0_44
;
1133 variable0
= NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
1134 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
1135 once_value_variable0_44
= variable0
;
1136 once_bool_variable0_44
= true;
1138 goto return_label43
;
1139 return_label43
: while(false);
1140 tracehead
= trace
.prev
;
1143 val_t
typing___AMinusAssignOp___method_name(val_t self
) {
1144 struct trace_t trace
= {NULL
, LOCATE_typing___AMinusAssignOp___method_name
, 478};
1146 static val_t once_value_variable0_46
; static int once_bool_variable0_46
;
1147 trace
.prev
= tracehead
; tracehead
= &trace
;
1148 if (once_bool_variable0_46
) variable0
= once_value_variable0_46
;
1150 variable0
= NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
1151 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
1152 once_value_variable0_46
= variable0
;
1153 once_bool_variable0_46
= true;
1155 goto return_label45
;
1156 return_label45
: while(false);
1157 tracehead
= trace
.prev
;
1160 void typing___AVarReassignExpr___after_typing(val_t self
, val_t param0
) {
1161 struct trace_t trace
= {NULL
, LOCATE_typing___AVarReassignExpr___after_typing
, 482};
1166 trace
.prev
= tracehead
; tracehead
= &trace
;
1168 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1169 variable3
= ((typing___AVarFormExpr___variable_t
)CALL( self
,COLOR_typing___AVarFormExpr___variable
))( self
) /*AVarReassignExpr::variable*/;
1170 variable2
= ((typing___VariableContext___stype_t
)CALL(variable2
,COLOR_typing___VariableContext___stype
))(variable2
, variable3
) /*VariableContext::stype*/;
1171 variable1
= variable2
;
1172 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable1
/*t*/) /*AVarReassignExpr::do_lvalue_typing*/;
1173 tracehead
= trace
.prev
;
1176 void typing___ASelfExpr___after_typing(val_t self
, val_t param0
) {
1177 struct trace_t trace
= {NULL
, LOCATE_typing___ASelfExpr___after_typing
, 490};
1180 trace
.prev
= tracehead
; tracehead
= &trace
;
1182 variable1
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1183 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*/) /*MMType::==*/)))))));
1184 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___ASelfExpr___after_typing
, 492); nit_exit(1);}
1185 variable1
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1186 ATTR_typing___PExpr____stype( self
) /*ASelfExpr::_stype*/ = variable1
;
1187 tracehead
= trace
.prev
;
1190 val_t
typing___ASelfExpr___is_self(val_t self
) {
1191 struct trace_t trace
= {NULL
, LOCATE_typing___ASelfExpr___is_self
, 496};
1193 trace
.prev
= tracehead
; tracehead
= &trace
;
1194 variable0
= TAG_Bool(true);
1195 goto return_label49
;
1196 return_label49
: while(false);
1197 tracehead
= trace
.prev
;
1200 val_t
typing___AImplicitSelfExpr___is_implicit_self(val_t self
) {
1201 struct trace_t trace
= {NULL
, LOCATE_typing___AImplicitSelfExpr___is_implicit_self
, 500};
1203 trace
.prev
= tracehead
; tracehead
= &trace
;
1204 variable0
= TAG_Bool(true);
1205 goto return_label50
;
1206 return_label50
: while(false);
1207 tracehead
= trace
.prev
;
1210 void typing___AIfexprExpr___accept_typing(val_t self
, val_t param0
) {
1211 struct trace_t trace
= {NULL
, LOCATE_typing___AIfexprExpr___accept_typing
, 504};
1225 trace
.prev
= tracehead
; tracehead
= &trace
;
1227 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1228 variable1
= variable2
;
1229 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1230 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1231 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1232 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1233 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*/) /*VariableContext::==*/)))))));
1234 if (UNTAG_Bool(variable2
)) { /*if*/
1235 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1236 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1237 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
1239 variable2
= ((parser_nodes___AIfexprExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_then
))( self
) /*AIfexprExpr::n_then*/;
1240 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1241 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
1242 variable2
= ((parser_nodes___AIfexprExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_else
))( self
) /*AIfexprExpr::n_else*/;
1243 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1244 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1245 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1246 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1247 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
1248 variable3
= ((parser_nodes___AIfexprExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_then
))( self
) /*AIfexprExpr::n_then*/;
1249 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
1250 variable2
= variable3
;
1251 variable4
= ((parser_nodes___AIfexprExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_else
))( self
) /*AIfexprExpr::n_else*/;
1252 variable4
= ((typing___PExpr___stype_t
)CALL(variable4
,COLOR_syntax_base___PExpr___stype
))(variable4
) /*PExpr::stype*/;
1253 variable3
= variable4
;
1254 variable4
= ((static_type___MMType_____l_t
)CALL( variable2
/*t*/,COLOR_static_type___MMType_____l
))( variable2
/*t*/, variable3
/*te*/) /*MMType::<*/;
1255 if (UNTAG_Bool(variable4
)) { /*if*/
1256 variable2
= variable3
/*te*/ /*t=*/;
1258 variable4
= ((static_type___MMType_____l_t
)CALL( variable3
/*te*/,COLOR_static_type___MMType_____l
))( variable3
/*te*/, variable2
/*t*/) /*MMType::<*/;
1259 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
1260 variable4
= NEW_string___String___init(); /*new String*/
1261 variable5
= NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
1262 variable6
= variable5
;
1263 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1264 variable7
= variable3
/*te*/;
1265 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1266 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1267 variable8
= NEW_string___String___with_native(BOX_NativeString(" is not a subtype of "), TAG_Int(21)); /*new String*/
1268 variable9
= variable8
;
1269 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1270 variable10
= variable2
/*t*/;
1271 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1272 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1273 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1274 variable12
= variable11
;
1275 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1276 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
1277 goto return_label51
;
1280 ATTR_typing___PExpr____stype( self
) /*AIfexprExpr::_stype*/ = variable2
/*t*/;
1281 return_label51
: while(false);
1282 tracehead
= trace
.prev
;
1285 void typing___ABoolExpr___after_typing(val_t self
, val_t param0
) {
1286 struct trace_t trace
= {NULL
, LOCATE_typing___ABoolExpr___after_typing
, 530};
1289 trace
.prev
= tracehead
; tracehead
= &trace
;
1291 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1292 ATTR_typing___PExpr____stype( self
) /*ABoolExpr::_stype*/ = variable1
;
1293 tracehead
= trace
.prev
;
1296 void typing___AOrExpr___after_typing(val_t self
, val_t param0
) {
1297 struct trace_t trace
= {NULL
, LOCATE_typing___AOrExpr___after_typing
, 537};
1301 trace
.prev
= tracehead
; tracehead
= &trace
;
1303 variable1
= ((parser_nodes___AOrExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AOrExpr___n_expr
))( self
) /*AOrExpr::n_expr*/;
1304 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1305 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1306 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*TypingVisitor::check_conform*/;
1307 variable1
= ((parser_nodes___AOrExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AOrExpr___n_expr2
))( self
) /*AOrExpr::n_expr2*/;
1308 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1309 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1310 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*TypingVisitor::check_conform*/;
1311 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1312 ATTR_typing___PExpr____stype( self
) /*AOrExpr::_stype*/ = variable1
;
1313 tracehead
= trace
.prev
;
1316 void typing___AAndExpr___accept_typing(val_t self
, val_t param0
) {
1317 struct trace_t trace
= {NULL
, LOCATE_typing___AAndExpr___accept_typing
, 546};
1322 trace
.prev
= tracehead
; tracehead
= &trace
;
1324 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1325 variable1
= variable2
;
1326 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1327 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1328 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1329 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1330 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*/) /*VariableContext::==*/)))))));
1331 if (UNTAG_Bool(variable2
)) { /*if*/
1332 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1333 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1334 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
1336 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1337 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1338 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1339 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1340 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*/) /*VariableContext::==*/)))))));
1341 if (UNTAG_Bool(variable2
)) { /*if*/
1342 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1343 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1344 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*AAndExpr::_if_true_variable_ctx*/ = variable2
;
1346 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1347 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*AAndExpr::_if_true_variable_ctx*/ = variable2
;
1349 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
1350 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1351 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1352 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1353 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
1354 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1355 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1356 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1357 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
1358 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1359 ATTR_typing___PExpr____stype( self
) /*AAndExpr::_stype*/ = variable2
;
1360 tracehead
= trace
.prev
;
1363 void typing___ANotExpr___after_typing(val_t self
, val_t param0
) {
1364 struct trace_t trace
= {NULL
, LOCATE_typing___ANotExpr___after_typing
, 569};
1368 trace
.prev
= tracehead
; tracehead
= &trace
;
1370 variable1
= ((parser_nodes___ANotExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ANotExpr___n_expr
))( self
) /*ANotExpr::n_expr*/;
1371 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1372 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1373 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*TypingVisitor::check_conform*/;
1374 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1375 ATTR_typing___PExpr____stype( self
) /*ANotExpr::_stype*/ = variable1
;
1376 tracehead
= trace
.prev
;
1379 void typing___AIntExpr___after_typing(val_t self
, val_t param0
) {
1380 struct trace_t trace
= {NULL
, LOCATE_typing___AIntExpr___after_typing
, 577};
1383 trace
.prev
= tracehead
; tracehead
= &trace
;
1385 variable1
= ((syntax_base___AbsSyntaxVisitor___type_int_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_int
))( variable0
/*v*/) /*TypingVisitor::type_int*/;
1386 ATTR_typing___PExpr____stype( self
) /*AIntExpr::_stype*/ = variable1
;
1387 tracehead
= trace
.prev
;
1390 void typing___AFloatExpr___after_typing(val_t self
, val_t param0
) {
1391 struct trace_t trace
= {NULL
, LOCATE_typing___AFloatExpr___after_typing
, 585};
1394 trace
.prev
= tracehead
; tracehead
= &trace
;
1396 variable1
= ((syntax_base___AbsSyntaxVisitor___type_float_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_float
))( variable0
/*v*/) /*TypingVisitor::type_float*/;
1397 ATTR_typing___PExpr____stype( self
) /*AFloatExpr::_stype*/ = variable1
;
1398 tracehead
= trace
.prev
;
1401 void typing___ACharExpr___after_typing(val_t self
, val_t param0
) {
1402 struct trace_t trace
= {NULL
, LOCATE_typing___ACharExpr___after_typing
, 592};
1405 trace
.prev
= tracehead
; tracehead
= &trace
;
1407 variable1
= ((syntax_base___AbsSyntaxVisitor___type_char_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_char
))( variable0
/*v*/) /*TypingVisitor::type_char*/;
1408 ATTR_typing___PExpr____stype( self
) /*ACharExpr::_stype*/ = variable1
;
1409 tracehead
= trace
.prev
;
1412 void typing___AStringFormExpr___after_typing(val_t self
, val_t param0
) {
1413 struct trace_t trace
= {NULL
, LOCATE_typing___AStringFormExpr___after_typing
, 599};
1416 trace
.prev
= tracehead
; tracehead
= &trace
;
1418 variable1
= ((syntax_base___AbsSyntaxVisitor___type_string_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string
))( variable0
/*v*/) /*TypingVisitor::type_string*/;
1419 ATTR_typing___PExpr____stype( self
) /*AStringFormExpr::_stype*/ = variable1
;
1420 tracehead
= trace
.prev
;
1423 void typing___ASuperstringExpr___after_typing(val_t self
, val_t param0
) {
1424 struct trace_t trace
= {NULL
, LOCATE_typing___ASuperstringExpr___after_typing
, 606};
1427 trace
.prev
= tracehead
; tracehead
= &trace
;
1429 variable1
= ((syntax_base___AbsSyntaxVisitor___type_string_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string
))( variable0
/*v*/) /*TypingVisitor::type_string*/;
1430 ATTR_typing___PExpr____stype( self
) /*ASuperstringExpr::_stype*/ = variable1
;
1431 tracehead
= trace
.prev
;
1434 void typing___ANullExpr___after_typing(val_t self
, val_t param0
) {
1435 struct trace_t trace
= {NULL
, LOCATE_typing___ANullExpr___after_typing
, 613};
1438 trace
.prev
= tracehead
; tracehead
= &trace
;
1440 variable1
= ((syntax_base___AbsSyntaxVisitor___type_none_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_none
))( variable0
/*v*/) /*TypingVisitor::type_none*/;
1441 ATTR_typing___PExpr____stype( self
) /*ANullExpr::_stype*/ = variable1
;
1442 tracehead
= trace
.prev
;
1445 void typing___AArrayExpr___stype__eq(val_t self
, val_t param0
) {
1446 struct trace_t trace
= {NULL
, LOCATE_typing___AArrayExpr___stype__eq
, 620};
1448 trace
.prev
= tracehead
; tracehead
= &trace
;
1450 ATTR_typing___PExpr____stype( self
) /*AArrayExpr::_stype*/ = variable0
/*t*/;
1451 tracehead
= trace
.prev
;
1454 void typing___AArrayExpr___after_typing(val_t self
, val_t param0
) {
1455 struct trace_t trace
= {NULL
, LOCATE_typing___AArrayExpr___after_typing
, 622};
1464 trace
.prev
= tracehead
; tracehead
= &trace
;
1466 variable1
= NIT_NULL
/*decl variable stype*/;
1467 variable2
= ((parser_nodes___AArrayExpr___n_exprs_t
)CALL( self
,COLOR_parser_nodes___AArrayExpr___n_exprs
))( self
) /*AArrayExpr::n_exprs*/;
1468 variable2
= ((list___List___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*List::iterator*/;
1469 while (true) { /*for*/
1470 variable3
= ((list___ListIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ListIterator::is_ok*/;
1471 if (!UNTAG_Bool(variable3
)) break; /*for*/
1472 variable3
= ((list___ListIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ListIterator::item*/;
1473 variable5
= ((typing___PExpr___stype_t
)CALL( variable3
/*n*/,COLOR_syntax_base___PExpr___stype
))( variable3
/*n*/) /*PExpr::stype*/;
1474 variable4
= variable5
;
1475 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*/) /*MMType::==*/)))));
1476 variable6
= variable5
;
1477 if (!UNTAG_Bool(variable6
)) { /* or */
1478 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*/) /*MMType::==*/)))))));
1479 variable7
= variable6
;
1480 if (UNTAG_Bool(variable7
)) { /* and */
1481 variable7
= ((static_type___MMType_____l_t
)CALL( variable1
/*stype*/,COLOR_static_type___MMType_____l
))( variable1
/*stype*/, variable4
/*ntype*/) /*MMType::<*/;
1483 variable6
= variable7
;
1485 variable5
= variable6
;
1486 if (UNTAG_Bool(variable5
)) { /*if*/
1487 variable1
= variable4
/*ntype*/ /*stype=*/;
1489 continue_64
: while(0);
1490 ((list___ListIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ListIterator::next*/;
1493 variable2
= ((parser_nodes___AArrayExpr___n_exprs_t
)CALL( self
,COLOR_parser_nodes___AArrayExpr___n_exprs
))( self
) /*AArrayExpr::n_exprs*/;
1494 variable2
= ((list___List___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*List::iterator*/;
1495 while (true) { /*for*/
1496 variable3
= ((list___ListIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ListIterator::is_ok*/;
1497 if (!UNTAG_Bool(variable3
)) break; /*for*/
1498 variable3
= ((list___ListIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ListIterator::item*/;
1499 variable4
= ((typing___PExpr___stype_t
)CALL( variable3
/*n*/,COLOR_syntax_base___PExpr___stype
))( variable3
/*n*/) /*PExpr::stype*/;
1500 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable4
, variable1
/*stype*/) /*TypingVisitor::check_conform*/;
1501 continue_65
: while(0);
1502 ((list___ListIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ListIterator::next*/;
1505 variable2
= ((syntax_base___AbsSyntaxVisitor___type_array_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array
))( variable0
/*v*/, variable1
/*stype*/) /*TypingVisitor::type_array*/;
1506 ATTR_typing___PExpr____stype( self
) /*AArrayExpr::_stype*/ = variable2
;
1507 tracehead
= trace
.prev
;
1510 void typing___ARangeExpr___after_typing(val_t self
, val_t param0
) {
1511 struct trace_t trace
= {NULL
, LOCATE_typing___ARangeExpr___after_typing
, 639};
1524 trace
.prev
= tracehead
; tracehead
= &trace
;
1526 variable2
= ((parser_nodes___ARangeExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ARangeExpr___n_expr
))( self
) /*ARangeExpr::n_expr*/;
1527 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1528 variable1
= variable2
;
1529 variable3
= ((parser_nodes___ARangeExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___ARangeExpr___n_expr2
))( self
) /*ARangeExpr::n_expr2*/;
1530 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
1531 variable2
= variable3
;
1532 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*/) /*MMType::==*/)))));
1533 variable4
= variable3
;
1534 if (!UNTAG_Bool(variable4
)) { /* or */
1535 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*/) /*MMType::==*/)))));
1537 variable3
= variable4
;
1538 if (UNTAG_Bool(variable3
)) { /*if*/
1539 goto return_label66
;
1541 variable3
= ((static_type___MMType_____l_t
)CALL( variable1
/*ntype*/,COLOR_static_type___MMType_____l
))( variable1
/*ntype*/, variable2
/*ntype2*/) /*MMType::<*/;
1542 if (UNTAG_Bool(variable3
)) { /*if*/
1543 variable1
= variable2
/*ntype2*/ /*ntype=*/;
1545 variable3
= ((static_type___MMType_____l_t
)CALL( variable2
/*ntype2*/,COLOR_static_type___MMType_____l
))( variable2
/*ntype2*/, variable1
/*ntype*/) /*MMType::<*/;
1546 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
1547 variable3
= NEW_string___String___init(); /*new String*/
1548 variable4
= NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
1549 variable5
= variable4
;
1550 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1551 variable6
= variable1
/*ntype*/;
1552 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
1553 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable6
) /*String::append*/;
1554 variable7
= NEW_string___String___with_native(BOX_NativeString(" incompatible with "), TAG_Int(19)); /*new String*/
1555 variable8
= variable7
;
1556 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable8
) /*String::append*/;
1557 variable9
= variable2
/*ntype2*/;
1558 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1559 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1560 variable10
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1561 variable11
= variable10
;
1562 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable11
) /*String::append*/;
1563 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*TypingVisitor::error*/;
1564 goto return_label66
;
1567 variable4
= ((syntax_base___AbsSyntaxVisitor___type_discrete_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_discrete
))( variable0
/*v*/) /*TypingVisitor::type_discrete*/;
1568 variable3
= variable4
;
1569 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
/*ntype*/, variable3
/*dtype*/) /*TypingVisitor::check_conform*/;
1570 variable4
= ((syntax_base___AbsSyntaxVisitor___type_range_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_range
))( variable0
/*v*/, variable1
/*ntype*/) /*TypingVisitor::type_range*/;
1571 ATTR_typing___PExpr____stype( self
) /*ARangeExpr::_stype*/ = variable4
;
1572 return_label66
: while(false);
1573 tracehead
= trace
.prev
;
1576 val_t
typing___ASuperExpr___init_in_superclass(val_t self
) {
1577 struct trace_t trace
= {NULL
, LOCATE_typing___ASuperExpr___init_in_superclass
, 660};
1578 trace
.prev
= tracehead
; tracehead
= &trace
;
1579 tracehead
= trace
.prev
;
1580 return ATTR_typing___ASuperExpr____init_in_superclass( self
) /*ASuperExpr::_init_in_superclass*/;
1582 void typing___ASuperExpr___after_typing(val_t self
, val_t param0
) {
1583 struct trace_t trace
= {NULL
, LOCATE_typing___ASuperExpr___after_typing
, 662};
1599 trace
.prev
= tracehead
; tracehead
= &trace
;
1601 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1602 variable2
= ((abstractmetamodel___MMConcreteProperty___cprhe_t
)CALL(variable2
,COLOR_abstractmetamodel___MMConcreteProperty___cprhe
))(variable2
) /*MMSrcLocalProperty::cprhe*/;
1603 variable2
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable2
) /*PartialOrderElement::direct_greaters*/;
1604 variable1
= variable2
;
1605 variable2
= ((array___AbstractArray___is_empty_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___is_empty
))( variable1
/*precs*/) /*Array::is_empty*/;
1606 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1607 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1608 ((abstractmetamodel___MMConcreteProperty___need_super__eq_t
)CALL(variable2
,COLOR_abstractmetamodel___MMConcreteProperty___need_super__eq
))(variable2
, TAG_Bool(true)) /*MMSrcLocalProperty::need_super=*/;
1610 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1611 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMSrcLocalProperty::global*/;
1612 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
1613 if (UNTAG_Bool(variable2
)) { /*if*/
1614 variable3
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*TypingVisitor::local_class*/;
1615 variable4
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1616 variable4
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable4
) /*MMSrcLocalProperty::name*/;
1617 variable3
= ((abstractmetamodel___MMLocalClass___super_methods_named_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___super_methods_named
))(variable3
, variable4
) /*MMSrcLocalClass::super_methods_named*/;
1618 variable2
= variable3
;
1619 variable3
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*base_precs*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*base_precs*/) /*Array::iterator*/;
1620 while (true) { /*for*/
1621 variable4
= ((array___ArrayIterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*ArrayIterator::is_ok*/;
1622 if (!UNTAG_Bool(variable4
)) break; /*for*/
1623 variable4
= ((array___ArrayIterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*ArrayIterator::item*/;
1624 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable4
/*p*/) /*MMLocalProperty::global*/;
1625 variable5
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable5
) /*MMGlobalProperty::is_init*/;
1626 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5
)))) { /*if*/
1627 variable5
= NEW_string___String___init(); /*new String*/
1628 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
1629 variable7
= variable6
;
1630 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
1631 variable8
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( variable4
/*p*/) /*MMLocalProperty::local_class*/;
1632 variable9
= variable8
;
1633 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1634 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable9
) /*String::append*/;
1635 variable10
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1636 variable11
= variable10
;
1637 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
1638 variable12
= variable4
/*p*/;
1639 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1640 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable12
) /*String::append*/;
1641 variable13
= NEW_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
1642 variable14
= variable13
;
1643 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable14
) /*String::append*/;
1644 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*TypingVisitor::error*/;
1646 variable5
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1647 variable6
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable4
/*p*/) /*MMLocalProperty::global*/;
1648 variable5
= ((static_type___MMType___select_property_t
)CALL(variable5
,COLOR_static_type___MMType___select_property
))(variable5
, variable6
) /*MMType::select_property*/;
1649 ((array___AbstractArray___add_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*precs*/, variable5
) /*Array::add*/;
1651 continue_68
: while(0);
1652 ((array___ArrayIterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*ArrayIterator::next*/;
1655 variable3
= ((array___AbstractArray___is_empty_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___is_empty
))( variable1
/*precs*/) /*Array::is_empty*/;
1656 if (UNTAG_Bool(variable3
)) { /*if*/
1657 variable3
= NEW_string___String___init(); /*new String*/
1658 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: No contructor named "), TAG_Int(27)); /*new String*/
1659 variable5
= variable4
;
1660 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1661 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1662 variable6
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable6
) /*MMSrcLocalProperty::name*/;
1663 variable7
= variable6
;
1664 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1665 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
1666 variable8
= NEW_string___String___with_native(BOX_NativeString(" in superclasses."), TAG_Int(17)); /*new String*/
1667 variable9
= variable8
;
1668 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1669 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*TypingVisitor::error*/;
1670 goto return_label67
;
1672 variable3
= ((array___AbstractArray___length_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___length
))( variable1
/*precs*/) /*Array::length*/;
1673 variable3
= TAG_Bool(UNTAG_Int(variable3
)>UNTAG_Int( TAG_Int(1)));
1674 if (UNTAG_Bool(variable3
)) { /*if*/
1675 variable3
= NEW_string___String___init(); /*new String*/
1676 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: Conflicting contructors named "), TAG_Int(37)); /*new String*/
1677 variable5
= variable4
;
1678 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1679 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1680 variable6
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable6
) /*MMSrcLocalProperty::name*/;
1681 variable7
= variable6
;
1682 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1683 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
1684 variable8
= NEW_string___String___with_native(BOX_NativeString(" in superclasses: "), TAG_Int(18)); /*new String*/
1685 variable9
= variable8
;
1686 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1687 variable10
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1688 variable10
= ((string___Collection___join_t
)CALL( variable1
/*precs*/,COLOR_string___Collection___join
))( variable1
/*precs*/, variable10
) /*Array::join*/;
1689 variable11
= variable10
;
1690 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable11
) /*String::append*/;
1691 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1692 variable13
= variable12
;
1693 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable13
) /*String::append*/;
1694 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*TypingVisitor::error*/;
1695 goto return_label67
;
1698 variable4
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable2
/*base_precs*/,COLOR_abstract_collection___Collection___first
))( variable2
/*base_precs*/) /*Array::first*/;
1699 variable3
= variable4
;
1700 variable4
= TAG_Bool(( variable3
/*p*/==NIT_NULL
) || VAL_ISA( variable3
/*p*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1701 if (!UNTAG_Bool(variable4
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___ASuperExpr___after_typing
, 684); nit_exit(1);}
1702 ATTR_typing___ASuperExpr____init_in_superclass( self
) /*ASuperExpr::_init_in_superclass*/ = variable3
/*p*/;
1703 ((typing___ASuperInitCall___register_super_init_call_t
)CALL( self
,COLOR_typing___ASuperInitCall___register_super_init_call
))( self
, variable0
/*v*/, variable3
/*p*/) /*ASuperExpr::register_super_init_call*/;
1704 variable4
= ((parser_nodes___ASuperExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ASuperExpr___n_args
))( self
) /*ASuperExpr::n_args*/;
1705 variable4
= ((list___List___length_t
)CALL(variable4
,COLOR_abstract_collection___Collection___length
))(variable4
) /*List::length*/;
1706 variable4
= TAG_Bool(UNTAG_Int(variable4
)>UNTAG_Int( TAG_Int(0)));
1707 if (UNTAG_Bool(variable4
)) { /*if*/
1708 variable4
= ((parser_nodes___ASuperExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ASuperExpr___n_args
))( self
) /*ASuperExpr::n_args*/;
1709 variable4
= ((array___Collection___to_a_t
)CALL(variable4
,COLOR_array___Collection___to_a
))(variable4
) /*List::to_a*/;
1710 variable4
= ((typing___AAbsSendExpr___process_signature_t
)CALL( self
,COLOR_typing___AAbsSendExpr___process_signature
))( self
, variable0
/*v*/, variable3
/*p*/, TAG_Bool(true), variable4
) /*ASuperExpr::process_signature*/;
1711 ATTR_typing___AAbsSendExpr____arguments( self
) /*ASuperExpr::_arguments*/ = variable4
;
1714 variable2
= NEW_string___String___init(); /*new String*/
1715 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: No super method to call for "), TAG_Int(35)); /*new String*/
1716 variable4
= variable3
;
1717 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
1718 variable5
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1719 variable6
= variable5
;
1720 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
1721 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
1722 variable7
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1723 variable8
= variable7
;
1724 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
1725 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
1726 goto return_label67
;
1729 variable2
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___first
))( variable1
/*precs*/) /*Array::first*/;
1730 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMLocalProperty::signature*/;
1731 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
1732 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*/) /*MMType::==*/)))))));
1733 if (UNTAG_Bool(variable2
)) { /*if*/
1734 variable3
= NEW_array___Array___init(); /*new Array[MMType]*/
1735 variable2
= variable3
;
1736 variable3
= NIT_NULL
/*decl variable stype*/;
1737 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*precs*/) /*Array::iterator*/;
1738 while (true) { /*for*/
1739 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
1740 if (!UNTAG_Bool(variable5
)) break; /*for*/
1741 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
1742 variable6
= TAG_Bool(( variable5
/*prop*/==NIT_NULL
) || VAL_ISA( variable5
/*prop*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1743 if (!UNTAG_Bool(variable6
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___ASuperExpr___after_typing
, 699); nit_exit(1);}
1744 variable7
= ((genericity___MMLocalProperty___signature_t
)CALL( variable5
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable5
/*prop*/) /*MMMethod::signature*/;
1745 variable7
= ((static_type___MMSignature___return_type_t
)CALL(variable7
,COLOR_static_type___MMSignature___return_type
))(variable7
) /*MMSignature::return_type*/;
1746 variable8
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
1747 variable7
= ((static_type___MMType___for_module_t
)CALL(variable7
,COLOR_static_type___MMType___for_module
))(variable7
, variable8
) /*MMType::for_module*/;
1748 variable8
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1749 variable8
= ((genericity___MMLocalProperty___signature_t
)CALL(variable8
,COLOR_static_type___MMLocalProperty___signature
))(variable8
) /*MMSrcLocalProperty::signature*/;
1750 variable8
= ((static_type___MMSignature___recv_t
)CALL(variable8
,COLOR_static_type___MMSignature___recv
))(variable8
) /*MMSignature::recv*/;
1751 variable7
= ((static_type___MMType___adapt_to_t
)CALL(variable7
,COLOR_static_type___MMType___adapt_to
))(variable7
, variable8
) /*MMType::adapt_to*/;
1752 variable6
= variable7
;
1753 ((array___AbstractArray___add_t
)CALL( variable2
/*stypes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*stypes*/, variable6
/*t*/) /*Array::add*/;
1754 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*/) /*MMType::==*/)))));
1755 variable8
= variable7
;
1756 if (!UNTAG_Bool(variable8
)) { /* or */
1757 variable8
= ((static_type___MMType_____l_t
)CALL( variable3
/*stype*/,COLOR_static_type___MMType_____l
))( variable3
/*stype*/, variable6
/*t*/) /*MMType::<*/;
1759 variable7
= variable8
;
1760 if (UNTAG_Bool(variable7
)) { /*if*/
1761 variable3
= variable6
/*t*/ /*stype=*/;
1763 continue_69
: while(0);
1764 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
1767 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*stypes*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*stypes*/) /*Array::iterator*/;
1768 while (true) { /*for*/
1769 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
1770 if (!UNTAG_Bool(variable5
)) break; /*for*/
1771 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
1772 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable5
/*t*/, variable3
/*stype*/) /*TypingVisitor::check_conform*/;
1773 continue_70
: while(0);
1774 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
1777 ATTR_typing___PExpr____stype( self
) /*ASuperExpr::_stype*/ = variable3
/*stype*/;
1779 variable3
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1780 variable2
= variable3
;
1781 variable3
= TAG_Bool(( variable2
/*p*/==NIT_NULL
) || VAL_ISA( variable2
/*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
1782 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___ASuperExpr___after_typing
, 712); nit_exit(1);}
1783 ATTR_typing___AAbsSendExpr____prop( self
) /*ASuperExpr::_prop*/ = variable2
/*p*/;
1784 return_label67
: while(false);
1785 tracehead
= trace
.prev
;
1788 val_t
typing___AAttrFormExpr___prop(val_t self
) {
1789 struct trace_t trace
= {NULL
, LOCATE_typing___AAttrFormExpr___prop
, 718};
1790 trace
.prev
= tracehead
; tracehead
= &trace
;
1791 tracehead
= trace
.prev
;
1792 return ATTR_typing___AAttrFormExpr____prop( self
) /*AAttrFormExpr::_prop*/;
1794 void typing___AAttrFormExpr___do_typing(val_t self
, val_t param0
) {
1795 struct trace_t trace
= {NULL
, LOCATE_typing___AAttrFormExpr___do_typing
, 721};
1814 trace
.prev
= tracehead
; tracehead
= &trace
;
1816 variable2
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrFormExpr::n_expr*/;
1817 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1818 variable1
= variable2
;
1819 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*/) /*MMType::==*/)))));
1820 if (UNTAG_Bool(variable2
)) { /*if*/
1821 goto return_label71
;
1823 variable3
= ((parser_nodes___AAttrFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_id
))( self
) /*AAttrFormExpr::n_id*/;
1824 variable3
= ((syntax_base___Token___to_symbol_t
)CALL(variable3
,COLOR_syntax_base___Token___to_symbol
))(variable3
) /*TAttrid::to_symbol*/;
1825 variable2
= variable3
;
1826 variable4
= ((static_type___MMType___select_attribute_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___select_attribute
))( variable1
/*type_recv*/, variable2
/*name*/) /*MMType::select_attribute*/;
1827 variable3
= variable4
;
1828 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*/) /*MMAttribute::==*/)))));
1829 if (UNTAG_Bool(variable4
)) { /*if*/
1830 variable4
= NEW_string___String___init(); /*new String*/
1831 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
1832 variable6
= variable5
;
1833 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1834 variable7
= variable2
/*name*/;
1835 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1836 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1837 variable8
= NEW_string___String___with_native(BOX_NativeString(" doesn't exists in "), TAG_Int(19)); /*new String*/
1838 variable9
= variable8
;
1839 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1840 variable10
= variable1
/*type_recv*/;
1841 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1842 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1843 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1844 variable12
= variable11
;
1845 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1846 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
1847 goto return_label71
;
1849 variable4
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
1850 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMAttribute::global*/;
1851 variable5
= ((abstractmetamodel___MMGlobalProperty___local_class_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___local_class
))(variable5
) /*MMGlobalProperty::local_class*/;
1852 variable5
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable5
) /*MMLocalClass::module*/;
1853 variable4
= ((abstractmetamodel___MMModule___visibility_for_t
)CALL(variable4
,COLOR_abstractmetamodel___MMModule___visibility_for
))(variable4
, variable5
) /*MMSrcModule::visibility_for*/;
1854 variable4
= TAG_Bool(UNTAG_Int(variable4
)<UNTAG_Int( TAG_Int(3)));
1855 if (UNTAG_Bool(variable4
)) { /*if*/
1856 variable4
= NEW_string___String___init(); /*new String*/
1857 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
1858 variable6
= variable5
;
1859 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1860 variable7
= variable2
/*name*/;
1861 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1862 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1863 variable8
= NEW_string___String___with_native(BOX_NativeString(" from "), TAG_Int(6)); /*new String*/
1864 variable9
= variable8
;
1865 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1866 variable10
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMAttribute::global*/;
1867 variable10
= ((abstractmetamodel___MMGlobalProperty___local_class_t
)CALL(variable10
,COLOR_abstractmetamodel___MMGlobalProperty___local_class
))(variable10
) /*MMGlobalProperty::local_class*/;
1868 variable10
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable10
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable10
) /*MMLocalClass::module*/;
1869 variable11
= variable10
;
1870 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
1871 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
1872 variable12
= NEW_string___String___with_native(BOX_NativeString(" is invisible in "), TAG_Int(17)); /*new String*/
1873 variable13
= variable12
;
1874 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
1875 variable14
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
1876 variable15
= variable14
;
1877 variable15
= ((string___String___to_s_t
)CALL(variable15
,COLOR_string___Object___to_s
))(variable15
) /*String::to_s*/;
1878 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable15
) /*String::append*/;
1879 variable16
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1880 variable17
= variable16
;
1881 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable17
) /*String::append*/;
1882 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
1885 ATTR_typing___AAttrFormExpr____prop( self
) /*AAttrFormExpr::_prop*/ = variable3
/*prop*/;
1886 return_label71
: while(false);
1887 tracehead
= trace
.prev
;
1890 void typing___AAttrExpr___after_typing(val_t self
, val_t param0
) {
1891 struct trace_t trace
= {NULL
, LOCATE_typing___AAttrExpr___after_typing
, 741};
1895 trace
.prev
= tracehead
; tracehead
= &trace
;
1897 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrExpr::do_typing*/;
1898 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrExpr::prop*/;
1899 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*/) /*MMAttribute::==*/)))));
1900 if (UNTAG_Bool(variable1
)) { /*if*/
1901 goto return_label72
;
1903 variable2
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrExpr::prop*/;
1904 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMAttribute::signature*/;
1905 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
1906 variable1
= variable2
;
1907 variable2
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrExpr::n_expr*/;
1908 variable2
= ((typing___PExpr___is_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_self
))(variable2
) /*PExpr::is_self*/;
1909 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1910 variable2
= ((static_type___MMType___not_for_self_t
)CALL( variable1
/*attr_type*/,COLOR_static_type___MMType___not_for_self
))( variable1
/*attr_type*/) /*MMType::not_for_self*/;
1911 variable1
= variable2
/*attr_type=*/;
1913 ATTR_typing___PExpr____stype( self
) /*AAttrExpr::_stype*/ = variable1
/*attr_type*/;
1914 return_label72
: while(false);
1915 tracehead
= trace
.prev
;
1918 void typing___AAttrAssignExpr___after_typing(val_t self
, val_t param0
) {
1919 struct trace_t trace
= {NULL
, LOCATE_typing___AAttrAssignExpr___after_typing
, 754};
1923 trace
.prev
= tracehead
; tracehead
= &trace
;
1925 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrAssignExpr::do_typing*/;
1926 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrAssignExpr::prop*/;
1927 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*/) /*MMAttribute::==*/)))));
1928 if (UNTAG_Bool(variable1
)) { /*if*/
1929 goto return_label73
;
1931 variable2
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrAssignExpr::prop*/;
1932 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMAttribute::signature*/;
1933 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
1934 variable1
= variable2
;
1935 variable2
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrAssignExpr::n_expr*/;
1936 variable2
= ((typing___PExpr___is_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_self
))(variable2
) /*PExpr::is_self*/;
1937 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1938 variable2
= ((static_type___MMType___not_for_self_t
)CALL( variable1
/*attr_type*/,COLOR_static_type___MMType___not_for_self
))( variable1
/*attr_type*/) /*MMType::not_for_self*/;
1939 variable1
= variable2
/*attr_type=*/;
1941 variable2
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAttrAssignExpr::n_value*/;
1942 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1943 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable1
/*attr_type*/) /*TypingVisitor::check_conform*/;
1944 return_label73
: while(false);
1945 tracehead
= trace
.prev
;
1948 void typing___AAttrReassignExpr___after_typing(val_t self
, val_t param0
) {
1949 struct trace_t trace
= {NULL
, LOCATE_typing___AAttrReassignExpr___after_typing
, 767};
1953 trace
.prev
= tracehead
; tracehead
= &trace
;
1955 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrReassignExpr::do_typing*/;
1956 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrReassignExpr::prop*/;
1957 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*/) /*MMAttribute::==*/)))));
1958 if (UNTAG_Bool(variable1
)) { /*if*/
1959 goto return_label74
;
1961 variable2
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrReassignExpr::prop*/;
1962 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMAttribute::signature*/;
1963 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
1964 variable1
= variable2
;
1965 variable2
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrReassignExpr::n_expr*/;
1966 variable2
= ((typing___PExpr___is_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_self
))(variable2
) /*PExpr::is_self*/;
1967 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1968 variable2
= ((static_type___MMType___not_for_self_t
)CALL( variable1
/*attr_type*/,COLOR_static_type___MMType___not_for_self
))( variable1
/*attr_type*/) /*MMType::not_for_self*/;
1969 variable1
= variable2
/*attr_type=*/;
1971 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable1
/*attr_type*/) /*AAttrReassignExpr::do_lvalue_typing*/;
1972 return_label74
: while(false);
1973 tracehead
= trace
.prev
;
1976 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
) {
1977 struct trace_t trace
= {NULL
, LOCATE_typing___AAbsSendExpr___do_typing
, 781};
1987 trace
.prev
= tracehead
; tracehead
= &trace
;
1994 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*/;
1995 variable6
= variable7
;
1996 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*/) /*MMMethod::==*/)))));
1997 if (UNTAG_Bool(variable7
)) { /*if*/
1998 goto return_label75
;
2000 variable8
= ((typing___AAbsSendExpr___process_signature_t
)CALL( self
,COLOR_typing___AAbsSendExpr___process_signature
))( self
, variable0
/*v*/, variable6
/*prop*/, variable3
/*recv_is_self*/, variable5
/*raw_args*/) /*AAbsSendExpr::process_signature*/;
2001 variable7
= variable8
;
2002 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*/) /*Array::==*/)));
2003 if (UNTAG_Bool(variable8
)) { /*if*/
2004 goto return_label75
;
2006 ATTR_typing___AAbsSendExpr____prop( self
) /*AAbsSendExpr::_prop*/ = variable6
/*prop*/;
2007 ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/ = variable7
/*args*/;
2008 return_label75
: while(false);
2009 tracehead
= trace
.prev
;
2012 val_t
typing___AAbsSendExpr___get_property(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
2013 struct trace_t trace
= {NULL
, LOCATE_typing___AAbsSendExpr___get_property
, 792};
2030 trace
.prev
= tracehead
; tracehead
= &trace
;
2035 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*/) /*MMType::==*/)))));
2036 if (UNTAG_Bool(variable4
)) { /*if*/
2037 variable4
= NIT_NULL
/*null*/;
2038 goto return_label76
;
2040 variable5
= ((static_type___MMType___select_method_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___select_method
))( variable1
/*type_recv*/, variable3
/*name*/) /*MMType::select_method*/;
2041 variable4
= variable5
;
2042 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*/) /*MMMethod::==*/)))));
2043 variable6
= variable5
;
2044 if (UNTAG_Bool(variable6
)) { /* and */
2045 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
2046 variable6
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable6
) /*MMSrcLocalProperty::global*/;
2047 variable6
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable6
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable6
) /*MMGlobalProperty::is_init*/;
2049 variable5
= variable6
;
2050 if (UNTAG_Bool(variable5
)) { /*if*/
2051 variable6
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_recv*/) /*MMType::local_class*/;
2052 variable6
= ((abstractmetamodel___MMLocalClass___super_methods_named_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___super_methods_named
))(variable6
, variable3
/*name*/) /*MMLocalClass::super_methods_named*/;
2053 variable5
= variable6
;
2054 variable6
= ((array___AbstractArray___length_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___length
))( variable5
/*props*/) /*Array::length*/;
2055 variable6
= TAG_Bool(UNTAG_Int(variable6
)>UNTAG_Int( TAG_Int(1)));
2056 if (UNTAG_Bool(variable6
)) { /*if*/
2057 variable6
= NEW_string___String___init(); /*new String*/
2058 variable7
= NEW_string___String___with_native(BOX_NativeString("Error: Ambigous method name '"), TAG_Int(29)); /*new String*/
2059 variable8
= variable7
;
2060 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
2061 variable9
= variable3
/*name*/;
2062 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
2063 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable9
) /*String::append*/;
2064 variable10
= NEW_string___String___with_native(BOX_NativeString("' for "), TAG_Int(6)); /*new String*/
2065 variable11
= variable10
;
2066 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable11
) /*String::append*/;
2067 variable12
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2068 variable12
= ((string___Collection___join_t
)CALL( variable5
/*props*/,COLOR_string___Collection___join
))( variable5
/*props*/, variable12
) /*Array::join*/;
2069 variable13
= variable12
;
2070 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable13
) /*String::append*/;
2071 variable14
= NEW_string___String___with_native(BOX_NativeString(". Use explicit designation."), TAG_Int(27)); /*new String*/
2072 variable15
= variable14
;
2073 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable15
) /*String::append*/;
2074 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable6
) /*TypingVisitor::error*/;
2075 variable4
= NIT_NULL
/*null*/;
2076 goto return_label76
;
2078 variable6
= ((array___AbstractArray___length_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___length
))( variable5
/*props*/) /*Array::length*/;
2079 variable6
= TAG_Bool((variable6
)==( TAG_Int(1)));
2080 if (UNTAG_Bool(variable6
)) { /*if*/
2081 variable7
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___first
))( variable5
/*props*/) /*Array::first*/;
2082 variable7
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable7
) /*MMLocalProperty::global*/;
2083 variable7
= ((static_type___MMType___select_property_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___select_property
))( variable1
/*type_recv*/, variable7
) /*MMType::select_property*/;
2084 variable6
= variable7
;
2085 variable7
= TAG_Bool(( variable6
/*p*/==NIT_NULL
) || VAL_ISA( variable6
/*p*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
2086 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___AAbsSendExpr___get_property
, 803); nit_exit(1);}
2087 variable4
= variable6
/*p*/ /*prop=*/;
2091 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*/) /*MMMethod::==*/)))));
2092 if (UNTAG_Bool(variable5
)) { /*if*/
2093 if (UNTAG_Bool( variable2
/*is_implicit_self*/)) { /*if*/
2094 variable5
= NEW_string___String___init(); /*new String*/
2095 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Method or variable '"), TAG_Int(27)); /*new String*/
2096 variable7
= variable6
;
2097 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2098 variable8
= variable3
/*name*/;
2099 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2100 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2101 variable9
= NEW_string___String___with_native(BOX_NativeString("' unknown in "), TAG_Int(13)); /*new String*/
2102 variable10
= variable9
;
2103 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2104 variable11
= variable1
/*type_recv*/;
2105 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2106 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
2107 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2108 variable13
= variable12
;
2109 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable13
) /*String::append*/;
2110 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*TypingVisitor::error*/;
2112 variable5
= NEW_string___String___init(); /*new String*/
2113 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
2114 variable7
= variable6
;
2115 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2116 variable8
= variable3
/*name*/;
2117 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2118 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2119 variable9
= NEW_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
2120 variable10
= variable9
;
2121 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2122 variable11
= variable1
/*type_recv*/;
2123 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2124 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
2125 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2126 variable13
= variable12
;
2127 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable13
) /*String::append*/;
2128 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*TypingVisitor::error*/;
2130 variable4
= NIT_NULL
/*null*/;
2131 goto return_label76
;
2133 variable4
= variable4
/*prop*/;
2134 goto return_label76
;
2135 return_label76
: while(false);
2136 tracehead
= trace
.prev
;
2139 val_t
typing___AAbsSendExpr___process_signature(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
2140 struct trace_t trace
= {NULL
, LOCATE_typing___AAbsSendExpr___process_signature
, 819};
2161 trace
.prev
= tracehead
; tracehead
= &trace
;
2166 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable1
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable1
/*prop*/) /*MMMethod::global*/;
2167 variable5
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
2168 ((syntax_base___MMGlobalProperty___check_visibility_t
)CALL(variable4
,COLOR_syntax_base___MMGlobalProperty___check_visibility
))(variable4
, variable0
/*v*/, self
, variable5
, variable2
/*recv_is_self*/) /*MMGlobalProperty::check_visibility*/;
2169 variable5
= ((genericity___MMLocalProperty___signature_t
)CALL( variable1
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable1
/*prop*/) /*MMMethod::signature*/;
2170 variable4
= variable5
;
2171 variable6
= ((vararg___MMSignature___vararg_rank_t
)CALL( variable4
/*psig*/,COLOR_vararg___MMSignature___vararg_rank
))( variable4
/*psig*/) /*MMSignature::vararg_rank*/;
2172 variable5
= variable6
;
2173 variable7
= ((static_type___MMSignature___arity_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature___arity
))( variable4
/*psig*/) /*MMSignature::arity*/;
2174 variable6
= variable7
;
2175 variable7
= TAG_Int((int)0) /*decl variable raw_arity*/;
2176 variable8
= TAG_Bool(( variable3
/*raw_args*/ == NIT_NULL
/*null*/) || (( variable3
/*raw_args*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable3
/*raw_args*/,COLOR_kernel___Object_____eqeq
))( variable3
/*raw_args*/, NIT_NULL
/*null*/) /*Array::==*/)));
2177 if (UNTAG_Bool(variable8
)) { /*if*/
2178 variable7
= TAG_Int(0) /*raw_arity=*/;
2180 variable8
= ((array___AbstractArray___length_t
)CALL( variable3
/*raw_args*/,COLOR_abstract_collection___Collection___length
))( variable3
/*raw_args*/) /*Array::length*/;
2181 variable7
= variable8
/*raw_arity=*/;
2183 variable8
= TAG_Bool(UNTAG_Int( variable6
/*par_arity*/)>UNTAG_Int( variable7
/*raw_arity*/));
2184 variable9
= variable8
;
2185 if (!UNTAG_Bool(variable9
)) { /* or */
2186 variable9
= TAG_Bool(( variable6
/*par_arity*/)!=( variable7
/*raw_arity*/));
2187 variable10
= variable9
;
2188 if (UNTAG_Bool(variable10
)) { /* and */
2189 variable10
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
2190 variable10
= TAG_Bool(( variable5
/*par_vararg*/)==(variable10
));
2192 variable9
= variable10
;
2194 variable8
= variable9
;
2195 if (UNTAG_Bool(variable8
)) { /*if*/
2196 variable8
= NEW_string___String___init(); /*new String*/
2197 variable9
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
2198 variable10
= variable9
;
2199 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
2200 variable11
= variable1
/*prop*/;
2201 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2202 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable11
) /*String::append*/;
2203 variable12
= NEW_string___String___with_native(BOX_NativeString("' arity missmatch."), TAG_Int(18)); /*new String*/
2204 variable13
= variable12
;
2205 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable13
) /*String::append*/;
2206 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable8
) /*TypingVisitor::error*/;
2207 variable4
= NIT_NULL
/*null*/;
2208 goto return_label77
;
2210 variable8
= TAG_Int(0);
2211 variable10
= NEW_array___Array___init(); /*new Array[PExpr]*/
2212 variable9
= variable10
;
2213 variable10
= NEW_range___Range___without_last( TAG_Int(0), variable6
/*par_arity*/); /*new Range[Int]*/
2214 variable10
= ((range___Range___iterator_t
)CALL(variable10
,COLOR_abstract_collection___Collection___iterator
))(variable10
) /*Range::iterator*/;
2215 while (true) { /*for*/
2216 variable11
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___is_ok
))(variable10
) /*Iterator::is_ok*/;
2217 if (!UNTAG_Bool(variable11
)) break; /*for*/
2218 variable11
= ((abstract_collection___Iterator___item_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___item
))(variable10
) /*Iterator::item*/;
2219 variable12
= NIT_NULL
/*decl variable a*/;
2220 variable14
= ((static_type___MMSignature_____bra_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature_____bra
))( variable4
/*psig*/, variable11
/*par_idx*/) /*MMSignature::[]*/;
2221 variable13
= variable14
;
2222 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable2
/*recv_is_self*/)))) { /*if*/
2223 variable14
= ((static_type___MMType___not_for_self_t
)CALL( variable13
/*par_type*/,COLOR_static_type___MMType___not_for_self
))( variable13
/*par_type*/) /*MMType::not_for_self*/;
2224 variable13
= variable14
/*par_type=*/;
2226 variable14
= TAG_Bool(( variable11
/*par_idx*/)==( variable5
/*par_vararg*/));
2227 if (UNTAG_Bool(variable14
)) { /*if*/
2228 variable15
= NEW_array___Array___init(); /*new Array[PExpr]*/
2229 variable14
= variable15
;
2230 variable15
= TAG_Int(UNTAG_Int( variable7
/*raw_arity*/)-UNTAG_Int( variable6
/*par_arity*/));
2231 variable16
= NEW_range___Range___init( TAG_Int(0), variable15
); /*new Range[Int]*/
2232 variable15
= variable16
;
2233 variable15
= ((range___Range___iterator_t
)CALL(variable15
,COLOR_abstract_collection___Collection___iterator
))(variable15
) /*Range::iterator*/;
2234 while (true) { /*for*/
2235 variable16
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___is_ok
))(variable15
) /*Iterator::is_ok*/;
2236 if (!UNTAG_Bool(variable16
)) break; /*for*/
2237 variable16
= ((abstract_collection___Iterator___item_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___item
))(variable15
) /*Iterator::item*/;
2238 variable17
= variable8
/*arg_idx*/;
2239 variable18
= TAG_Bool(UNTAG_Int( variable17
/*index*/)>=UNTAG_Int( TAG_Int(0)));
2240 variable19
= variable18
;
2241 if (UNTAG_Bool(variable19
)) { /* and */
2242 variable19
= ATTR_array___AbstractArray____length( variable3
/*raw_args*/) /*Array::_length*/;
2243 variable19
= TAG_Bool(UNTAG_Int( variable17
/*index*/)<UNTAG_Int(variable19
));
2245 variable18
= variable19
;
2246 if (!UNTAG_Bool(variable18
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra
, 229); nit_exit(1);}
2247 variable18
= ATTR_array___Array____items( variable3
/*raw_args*/) /*Array::_items*/;
2248 variable18
= UNBOX_NativeArray(variable18
)[UNTAG_Int( variable17
/*index*/)];
2249 goto return_label80
;
2250 return_label80
: while(false);
2251 variable17
= variable18
;
2252 variable12
= variable17
/*a=*/;
2253 variable17
= ((typing___PExpr___stype_t
)CALL( variable12
/*a*/,COLOR_syntax_base___PExpr___stype
))( variable12
/*a*/) /*PExpr::stype*/;
2254 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable17
, variable13
/*par_type*/) /*TypingVisitor::check_conform*/;
2255 ((array___AbstractArray___add_t
)CALL( variable14
/*star*/,COLOR_abstract_collection___SimpleCollection___add
))( variable14
/*star*/, variable12
/*a*/) /*Array::add*/;
2256 variable17
= TAG_Int(UNTAG_Int( variable8
/*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
2257 variable8
= variable17
/*arg_idx=*/;
2258 continue_79
: while(0);
2259 ((abstract_collection___Iterator___next_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___next
))(variable15
) /*Iterator::next*/;
2262 variable16
= NEW_parser_prod___AArrayExpr___init_aarrayexpr( variable14
/*star*/); /*new AArrayExpr*/
2263 variable15
= variable16
;
2264 variable16
= ((syntax_base___AbsSyntaxVisitor___type_array_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array
))( variable0
/*v*/, variable13
/*par_type*/) /*TypingVisitor::type_array*/;
2265 ((typing___AArrayExpr___stype__eq_t
)CALL( variable15
/*aa*/,COLOR_typing___AArrayExpr___stype__eq
))( variable15
/*aa*/, variable16
) /*AArrayExpr::stype=*/;
2266 variable12
= variable15
/*aa*/ /*a=*/;
2268 variable14
= variable8
/*arg_idx*/;
2269 variable15
= TAG_Bool(UNTAG_Int( variable14
/*index*/)>=UNTAG_Int( TAG_Int(0)));
2270 variable16
= variable15
;
2271 if (UNTAG_Bool(variable16
)) { /* and */
2272 variable16
= ATTR_array___AbstractArray____length( variable3
/*raw_args*/) /*Array::_length*/;
2273 variable16
= TAG_Bool(UNTAG_Int( variable14
/*index*/)<UNTAG_Int(variable16
));
2275 variable15
= variable16
;
2276 if (!UNTAG_Bool(variable15
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", " 'index' ", LOCATE_array___Array_____bra
, 229); nit_exit(1);}
2277 variable15
= ATTR_array___Array____items( variable3
/*raw_args*/) /*Array::_items*/;
2278 variable15
= UNBOX_NativeArray(variable15
)[UNTAG_Int( variable14
/*index*/)];
2279 goto return_label81
;
2280 return_label81
: while(false);
2281 variable14
= variable15
;
2282 variable12
= variable14
/*a=*/;
2283 variable14
= ((typing___PExpr___stype_t
)CALL( variable12
/*a*/,COLOR_syntax_base___PExpr___stype
))( variable12
/*a*/) /*PExpr::stype*/;
2284 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable14
, variable13
/*par_type*/) /*TypingVisitor::check_conform*/;
2285 variable14
= TAG_Int(UNTAG_Int( variable8
/*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
2286 variable8
= variable14
/*arg_idx=*/;
2288 ((array___AbstractArray___add_t
)CALL( variable9
/*args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable9
/*args*/, variable12
/*a*/) /*Array::add*/;
2289 continue_78
: while(0);
2290 ((abstract_collection___Iterator___next_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___next
))(variable10
) /*Iterator::next*/;
2293 variable4
= variable9
/*args*/;
2294 goto return_label77
;
2295 return_label77
: while(false);
2296 tracehead
= trace
.prev
;
2299 val_t
typing___AAbsSendExpr___prop(val_t self
) {
2300 struct trace_t trace
= {NULL
, LOCATE_typing___AAbsSendExpr___prop
, 858};
2301 trace
.prev
= tracehead
; tracehead
= &trace
;
2302 tracehead
= trace
.prev
;
2303 return ATTR_typing___AAbsSendExpr____prop( self
) /*AAbsSendExpr::_prop*/;
2305 val_t
typing___AAbsSendExpr___arguments(val_t self
) {
2306 struct trace_t trace
= {NULL
, LOCATE_typing___AAbsSendExpr___arguments
, 861};
2307 trace
.prev
= tracehead
; tracehead
= &trace
;
2308 tracehead
= trace
.prev
;
2309 return ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/;
2311 void typing___ASuperInitCall___register_super_init_call(val_t self
, val_t param0
, val_t param1
) {
2312 struct trace_t trace
= {NULL
, LOCATE_typing___ASuperInitCall___register_super_init_call
, 869};
2330 trace
.prev
= tracehead
; tracehead
= &trace
;
2333 variable2
= ((parser_prod___PNode___parent_t
)CALL( self
,COLOR_parser_prod___PNode___parent
))( self
) /*ASuperInitCall::parent*/;
2334 variable3
= ((typing___TypingVisitor___top_block_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block
))( variable0
/*v*/) /*TypingVisitor::top_block*/;
2335 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
) /*PNode::==*/)))))));
2336 variable3
= variable2
;
2337 if (UNTAG_Bool(variable3
)) { /* and */
2338 variable3
= ((typing___TypingVisitor___top_block_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block
))( variable0
/*v*/) /*TypingVisitor::top_block*/;
2339 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
) /*ASuperInitCall::==*/)))))));
2341 variable2
= variable3
;
2342 if (UNTAG_Bool(variable2
)) { /*if*/
2343 variable2
= NEW_string___String___init(); /*new String*/
2344 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor invocation "), TAG_Int(30)); /*new String*/
2345 variable4
= variable3
;
2346 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2347 variable5
= variable1
/*property*/;
2348 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2349 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable5
) /*String::append*/;
2350 variable6
= NEW_string___String___with_native(BOX_NativeString(" must not be in nested block."), TAG_Int(29)); /*new String*/
2351 variable7
= variable6
;
2352 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable7
) /*String::append*/;
2353 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
2355 variable3
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
2356 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable1
/*property*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable1
/*property*/) /*MMMethod::global*/;
2357 variable4
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable4
) /*MMGlobalProperty::intro*/;
2358 variable4
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable4
) /*MMConcreteProperty::local_class*/;
2359 variable4
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable4
) /*MMLocalClass::global*/;
2360 variable3
= ((abstractmetamodel___MMModule_____bra_t
)CALL(variable3
,COLOR_abstractmetamodel___MMModule_____bra
))(variable3
, variable4
) /*MMSrcModule::[]*/;
2361 variable2
= variable3
;
2362 variable3
= NIT_NULL
/*decl variable prev_class*/;
2363 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*/;
2364 variable4
= ((array___AbstractArray___is_empty_t
)CALL(variable4
,COLOR_abstract_collection___Collection___is_empty
))(variable4
) /*Array::is_empty*/;
2365 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2366 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*/;
2367 variable4
= ((abstract_collection___IndexedCollection___last_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___last
))(variable4
) /*Array::last*/;
2368 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMMethod::global*/;
2369 variable4
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable4
) /*MMGlobalProperty::intro*/;
2370 variable4
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable4
) /*MMConcreteProperty::local_class*/;
2371 variable3
= variable4
/*prev_class=*/;
2373 variable5
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*TypingVisitor::local_class*/;
2374 variable5
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable5
) /*MMSrcLocalClass::cshe*/;
2375 variable5
= ((partial_order___PartialOrderElement___reverse_linear_extension_t
)CALL(variable5
,COLOR_partial_order___PartialOrderElement___reverse_linear_extension
))(variable5
) /*PartialOrderElement::reverse_linear_extension*/;
2376 variable4
= variable5
;
2377 variable5
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*TypingVisitor::local_class*/;
2378 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
) /*MMLocalClass::==*/)))));
2379 if (UNTAG_Bool(variable5
)) { /*if*/
2380 ((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=*/;
2382 variable5
= ((array___AbstractArray___has_t
)CALL( variable4
/*order*/,COLOR_abstract_collection___Collection___has
))( variable4
/*order*/, variable2
/*cla*/) /*Array::has*/;
2383 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5
)))) { /*if*/
2384 variable5
= NEW_string___String___init(); /*new String*/
2385 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor of class "), TAG_Int(28)); /*new String*/
2386 variable7
= variable6
;
2387 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2388 variable8
= variable2
/*cla*/;
2389 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2390 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2391 variable9
= NEW_string___String___with_native(BOX_NativeString(" must be one in "), TAG_Int(16)); /*new String*/
2392 variable10
= variable9
;
2393 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2394 variable11
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2395 variable11
= ((string___Collection___join_t
)CALL( variable4
/*order*/,COLOR_string___Collection___join
))( variable4
/*order*/, variable11
) /*Array::join*/;
2396 variable12
= variable11
;
2397 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable12
) /*String::append*/;
2398 variable13
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2399 variable14
= variable13
;
2400 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable14
) /*String::append*/;
2401 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*TypingVisitor::error*/;
2403 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*/) /*MMLocalClass::==*/)))));
2404 if (UNTAG_Bool(variable5
)) { /*if*/
2405 variable5
= NEW_string___String___init(); /*new String*/
2406 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Only one super constructor invocation of class "), TAG_Int(54)); /*new String*/
2407 variable7
= variable6
;
2408 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2409 variable8
= variable2
/*cla*/;
2410 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2411 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2412 variable9
= NEW_string___String___with_native(BOX_NativeString(" is allowed."), TAG_Int(12)); /*new String*/
2413 variable10
= variable9
;
2414 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2415 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*TypingVisitor::error*/;
2417 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*/) /*MMLocalClass::==*/)))));
2418 variable5
= variable6
;
2419 variable6
= ((array___AbstractArray___iterator_t
)CALL( variable4
/*order*/,COLOR_abstract_collection___Collection___iterator
))( variable4
/*order*/) /*Array::iterator*/;
2420 while (true) { /*for*/
2421 variable7
= ((array___ArrayIterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*ArrayIterator::is_ok*/;
2422 if (!UNTAG_Bool(variable7
)) break; /*for*/
2423 variable7
= ((array___ArrayIterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*ArrayIterator::item*/;
2424 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*/) /*MMLocalClass::==*/)))));
2425 if (UNTAG_Bool(variable8
)) { /*if*/
2426 variable5
= TAG_Bool(true) /*last_is_found=*/;
2428 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*/) /*MMLocalClass::==*/)))));
2429 if (UNTAG_Bool(variable8
)) { /*if*/
2430 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable5
/*last_is_found*/)))) { /*if*/
2431 variable8
= NEW_string___String___init(); /*new String*/
2432 variable9
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor of "), TAG_Int(22)); /*new String*/
2433 variable10
= variable9
;
2434 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
2435 variable11
= variable7
/*c*/;
2436 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2437 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable11
) /*String::append*/;
2438 variable12
= NEW_string___String___with_native(BOX_NativeString(" must be invoked before constructor of "), TAG_Int(39)); /*new String*/
2439 variable13
= variable12
;
2440 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable13
) /*String::append*/;
2441 variable14
= variable3
/*prev_class*/;
2442 variable14
= ((string___String___to_s_t
)CALL(variable14
,COLOR_string___Object___to_s
))(variable14
) /*String::to_s*/;
2443 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
2444 variable15
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2445 variable16
= variable15
;
2446 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable16
) /*String::append*/;
2447 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable8
) /*TypingVisitor::error*/;
2449 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*/;
2450 ((array___AbstractArray___add_t
)CALL(variable8
,COLOR_abstract_collection___SimpleCollection___add
))(variable8
, variable1
/*property*/) /*Array::add*/;
2454 continue_83
: while(0);
2455 ((array___ArrayIterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*ArrayIterator::next*/;
2461 tracehead
= trace
.prev
;
2464 void typing___ANewExpr___after_typing(val_t self
, val_t param0
) {
2465 struct trace_t trace
= {NULL
, LOCATE_typing___ANewExpr___after_typing
, 906};
2475 static val_t once_value_variable3_85
; static int once_bool_variable3_85
;
2477 trace
.prev
= tracehead
; tracehead
= &trace
;
2479 variable2
= ((parser_nodes___ANewExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_type
))( self
) /*ANewExpr::n_type*/;
2480 variable2
= ((typing___PType___stype_t
)CALL(variable2
,COLOR_typing___PType___stype
))(variable2
) /*PType::stype*/;
2481 variable1
= variable2
;
2482 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*/) /*MMType::==*/)))));
2483 if (UNTAG_Bool(variable2
)) { /*if*/
2484 goto return_label84
;
2486 variable2
= ((static_type___MMType___local_class_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___local_class
))( variable1
/*t*/) /*MMType::local_class*/;
2487 variable2
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable2
) /*MMLocalClass::global*/;
2488 variable2
= ((abstractmetamodel___MMGlobalClass___is_abstract_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalClass___is_abstract
))(variable2
) /*MMGlobalClass::is_abstract*/;
2489 if (UNTAG_Bool(variable2
)) { /*if*/
2490 variable2
= NEW_string___String___init(); /*new String*/
2491 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: try to instantiate abstract class "), TAG_Int(41)); /*new String*/
2492 variable4
= variable3
;
2493 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2494 variable5
= ((static_type___MMType___local_class_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___local_class
))( variable1
/*t*/) /*MMType::local_class*/;
2495 variable6
= variable5
;
2496 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2497 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2498 variable7
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2499 variable8
= variable7
;
2500 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2501 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
2502 goto return_label84
;
2504 variable2
= NIT_NULL
/*decl variable name*/;
2505 variable3
= ((parser_nodes___ANewExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_id
))( self
) /*ANewExpr::n_id*/;
2506 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*/) /*TId::==*/)))));
2507 if (UNTAG_Bool(variable3
)) { /*if*/
2508 if (once_bool_variable3_85
) variable3
= once_value_variable3_85
;
2510 variable3
= NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
2511 variable3
= ((symbol___String___to_symbol_t
)CALL(variable3
,COLOR_symbol___String___to_symbol
))(variable3
) /*String::to_symbol*/;
2512 once_value_variable3_85
= variable3
;
2513 once_bool_variable3_85
= true;
2515 variable2
= variable3
/*name=*/;
2517 variable3
= ((parser_nodes___ANewExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_id
))( self
) /*ANewExpr::n_id*/;
2518 variable3
= ((syntax_base___Token___to_symbol_t
)CALL(variable3
,COLOR_syntax_base___Token___to_symbol
))(variable3
) /*TId::to_symbol*/;
2519 variable2
= variable3
/*name=*/;
2521 variable3
= ((parser_nodes___ANewExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_args
))( self
) /*ANewExpr::n_args*/;
2522 variable3
= ((array___Collection___to_a_t
)CALL(variable3
,COLOR_array___Collection___to_a
))(variable3
) /*List::to_a*/;
2523 ((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
) /*ANewExpr::do_typing*/;
2524 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ANewExpr::prop*/;
2525 variable3
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable3
) /*MMMethod::global*/;
2526 variable3
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable3
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable3
) /*MMGlobalProperty::is_init*/;
2527 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
2528 variable3
= NEW_string___String___init(); /*new String*/
2529 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
2530 variable5
= variable4
;
2531 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
2532 variable6
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ANewExpr::prop*/;
2533 variable7
= variable6
;
2534 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
2535 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
2536 variable8
= NEW_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
2537 variable9
= variable8
;
2538 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
2539 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*TypingVisitor::error*/;
2541 ATTR_typing___PExpr____stype( self
) /*ANewExpr::_stype*/ = variable1
/*t*/;
2542 return_label84
: while(false);
2543 tracehead
= trace
.prev
;
2546 val_t
typing___ASendExpr___name(val_t self
) {
2547 struct trace_t trace
= {NULL
, LOCATE_typing___ASendExpr___name
, 932};
2548 trace
.prev
= tracehead
; tracehead
= &trace
;
2549 fprintf(stderr
, "Deferred method %s called (%s: %d)\n", "name", LOCATE_typing___ANewExpr___after_typing
, 932);
2551 tracehead
= trace
.prev
;
2554 val_t
typing___ASendExpr___raw_arguments(val_t self
) {
2555 struct trace_t trace
= {NULL
, LOCATE_typing___ASendExpr___raw_arguments
, 935};
2556 trace
.prev
= tracehead
; tracehead
= &trace
;
2557 fprintf(stderr
, "Deferred method %s called (%s: %d)\n", "raw_arguments", LOCATE_typing___ANewExpr___after_typing
, 935);
2559 tracehead
= trace
.prev
;
2562 void typing___ASendExpr___after_typing(val_t self
, val_t param0
) {
2563 struct trace_t trace
= {NULL
, LOCATE_typing___ASendExpr___after_typing
, 938};
2565 trace
.prev
= tracehead
; tracehead
= &trace
;
2567 ((typing___ASendExpr___do_all_typing_t
)CALL( self
,COLOR_typing___ASendExpr___do_all_typing
))( self
, variable0
/*v*/) /*ASendExpr::do_all_typing*/;
2568 tracehead
= trace
.prev
;
2571 void typing___ASendExpr___do_all_typing(val_t self
, val_t param0
) {
2572 struct trace_t trace
= {NULL
, LOCATE_typing___ASendExpr___do_all_typing
, 943};
2581 trace
.prev
= tracehead
; tracehead
= &trace
;
2583 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2584 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
2585 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2586 variable2
= ((typing___PExpr___is_implicit_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_implicit_self
))(variable2
) /*PExpr::is_implicit_self*/;
2587 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2588 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2589 variable4
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendExpr::name*/;
2590 variable5
= ((typing___ASendExpr___raw_arguments_t
)CALL( self
,COLOR_typing___ASendExpr___raw_arguments
))( self
) /*ASendExpr::raw_arguments*/;
2591 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable1
, variable2
, variable3
, variable4
, variable5
) /*ASendExpr::do_typing*/;
2592 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2593 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*/) /*MMMethod::==*/)))));
2594 if (UNTAG_Bool(variable1
)) { /*if*/
2595 goto return_label87
;
2597 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2598 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable1
) /*MMMethod::global*/;
2599 variable1
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable1
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable1
) /*MMGlobalProperty::is_init*/;
2600 if (UNTAG_Bool(variable1
)) { /*if*/
2601 variable1
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
2602 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable1
) /*MMSrcLocalProperty::global*/;
2603 variable1
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable1
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable1
) /*MMGlobalProperty::is_init*/;
2604 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
2605 variable1
= NEW_string___String___init(); /*new String*/
2606 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2607 variable3
= variable2
;
2608 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2609 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2610 variable5
= variable4
;
2611 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2612 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2613 variable6
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2614 variable7
= variable6
;
2615 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2616 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable1
) /*TypingVisitor::error*/;
2618 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2619 variable1
= ((typing___PExpr___is_self_t
)CALL(variable1
,COLOR_typing___PExpr___is_self
))(variable1
) /*PExpr::is_self*/;
2620 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
2621 variable1
= NEW_string___String___init(); /*new String*/
2622 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2623 variable3
= variable2
;
2624 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2625 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2626 variable5
= variable4
;
2627 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2628 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2629 variable6
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2630 variable7
= variable6
;
2631 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2632 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable1
) /*TypingVisitor::error*/;
2634 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2635 ((typing___ASuperInitCall___register_super_init_call_t
)CALL( self
,COLOR_typing___ASuperInitCall___register_super_init_call
))( self
, variable0
/*v*/, variable1
) /*ASendExpr::register_super_init_call*/;
2639 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2640 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMMethod::signature*/;
2641 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
2642 variable1
= variable2
;
2643 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*MMType::==*/)))))));
2644 variable3
= variable2
;
2645 if (UNTAG_Bool(variable3
)) { /* and */
2646 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2647 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2648 variable3
= TAG_Bool(!UNTAG_Bool(variable3
));
2650 variable2
= variable3
;
2651 if (UNTAG_Bool(variable2
)) { /*if*/
2652 variable2
= ((static_type___MMType___not_for_self_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable1
/*t*/) /*MMType::not_for_self*/;
2653 variable1
= variable2
/*t=*/;
2655 ATTR_typing___PExpr____stype( self
) /*ASendExpr::_stype*/ = variable1
/*t*/;
2656 return_label87
: while(false);
2657 tracehead
= trace
.prev
;
2660 val_t
typing___ASendReassignExpr___read_prop(val_t self
) {
2661 struct trace_t trace
= {NULL
, LOCATE_typing___ASendReassignExpr___read_prop
, 965};
2662 trace
.prev
= tracehead
; tracehead
= &trace
;
2663 tracehead
= trace
.prev
;
2664 return ATTR_typing___ASendReassignExpr____read_prop( self
) /*ASendReassignExpr::_read_prop*/;
2666 void typing___ASendReassignExpr___do_all_typing(val_t self
, val_t param0
) {
2667 struct trace_t trace
= {NULL
, LOCATE_typing___ASendReassignExpr___do_all_typing
, 966};
2682 trace
.prev
= tracehead
; tracehead
= &trace
;
2684 variable2
= ((typing___ASendExpr___raw_arguments_t
)CALL( self
,COLOR_typing___ASendExpr___raw_arguments
))( self
) /*ASendReassignExpr::raw_arguments*/;
2685 variable1
= variable2
;
2686 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2687 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
2688 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2689 variable3
= ((typing___PExpr___is_implicit_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_implicit_self
))(variable3
) /*PExpr::is_implicit_self*/;
2690 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2691 variable4
= ((typing___PExpr___is_self_t
)CALL(variable4
,COLOR_typing___PExpr___is_self
))(variable4
) /*PExpr::is_self*/;
2692 variable5
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendReassignExpr::name*/;
2693 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable2
, variable3
, variable4
, variable5
, variable1
/*raw_args*/) /*ASendReassignExpr::do_typing*/;
2694 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2695 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*/) /*MMMethod::==*/)))));
2696 if (UNTAG_Bool(variable2
)) { /*if*/
2697 goto return_label88
;
2699 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2700 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMMethod::global*/;
2701 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
2702 if (UNTAG_Bool(variable2
)) { /*if*/
2703 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
2704 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMSrcLocalProperty::global*/;
2705 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
2706 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
2707 variable2
= NEW_string___String___init(); /*new String*/
2708 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2709 variable4
= variable3
;
2710 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2711 variable5
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2712 variable6
= variable5
;
2713 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2714 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2715 variable7
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2716 variable8
= variable7
;
2717 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2718 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
2720 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2721 variable2
= ((typing___PExpr___is_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_self
))(variable2
) /*PExpr::is_self*/;
2722 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
2723 variable2
= NEW_string___String___init(); /*new String*/
2724 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2725 variable4
= variable3
;
2726 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2727 variable5
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2728 variable6
= variable5
;
2729 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2730 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2731 variable7
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2732 variable8
= variable7
;
2733 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2734 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
2738 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2739 variable3
= ((genericity___MMLocalProperty___signature_t
)CALL(variable3
,COLOR_static_type___MMLocalProperty___signature
))(variable3
) /*MMMethod::signature*/;
2740 variable3
= ((static_type___MMSignature___return_type_t
)CALL(variable3
,COLOR_static_type___MMSignature___return_type
))(variable3
) /*MMSignature::return_type*/;
2741 variable2
= variable3
;
2742 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2743 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2744 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
2745 variable3
= ((static_type___MMType___not_for_self_t
)CALL( variable2
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable2
/*t*/) /*MMType::not_for_self*/;
2746 variable2
= variable3
/*t=*/;
2748 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable2
/*t*/) /*ASendReassignExpr::do_lvalue_typing*/;
2749 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2750 ATTR_typing___ASendReassignExpr____read_prop( self
) /*ASendReassignExpr::_read_prop*/ = variable3
;
2751 variable4
= ((typing___AAbsSendExpr___arguments_t
)CALL( self
,COLOR_typing___AAbsSendExpr___arguments
))( self
) /*ASendReassignExpr::arguments*/;
2752 variable3
= variable4
;
2753 variable4
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*ASendReassignExpr::n_value*/;
2754 ((array___AbstractArray___add_t
)CALL( variable1
/*raw_args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*raw_args*/, variable4
) /*Array::add*/;
2755 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2756 variable4
= ((typing___PExpr___stype_t
)CALL(variable4
,COLOR_syntax_base___PExpr___stype
))(variable4
) /*PExpr::stype*/;
2757 variable5
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2758 variable5
= ((typing___PExpr___is_implicit_self_t
)CALL(variable5
,COLOR_typing___PExpr___is_implicit_self
))(variable5
) /*PExpr::is_implicit_self*/;
2759 variable6
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2760 variable6
= ((typing___PExpr___is_self_t
)CALL(variable6
,COLOR_typing___PExpr___is_self
))(variable6
) /*PExpr::is_self*/;
2761 variable7
= NEW_string___String___init(); /*new String*/
2762 variable8
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2763 variable9
= variable8
;
2764 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
2765 variable10
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendReassignExpr::name*/;
2766 variable11
= variable10
;
2767 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2768 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable11
) /*String::append*/;
2769 variable12
= NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
2770 variable13
= variable12
;
2771 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable13
) /*String::append*/;
2772 variable7
= ((symbol___String___to_symbol_t
)CALL(variable7
,COLOR_symbol___String___to_symbol
))(variable7
) /*String::to_symbol*/;
2773 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable4
, variable5
, variable6
, variable7
, variable1
/*raw_args*/) /*ASendReassignExpr::do_typing*/;
2774 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2775 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*/) /*MMMethod::==*/)))));
2776 if (UNTAG_Bool(variable4
)) { /*if*/
2777 goto return_label88
;
2779 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2780 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMMethod::global*/;
2781 variable4
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable4
) /*MMGlobalProperty::is_init*/;
2782 if (UNTAG_Bool(variable4
)) { /*if*/
2783 variable4
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
2784 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMSrcLocalProperty::global*/;
2785 variable4
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable4
) /*MMGlobalProperty::is_init*/;
2786 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2787 variable4
= NEW_string___String___init(); /*new String*/
2788 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2789 variable6
= variable5
;
2790 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2791 variable7
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2792 variable8
= variable7
;
2793 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2794 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2795 variable9
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2796 variable10
= variable9
;
2797 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2798 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
2800 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2801 variable4
= ((typing___PExpr___is_self_t
)CALL(variable4
,COLOR_typing___PExpr___is_self
))(variable4
) /*PExpr::is_self*/;
2802 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2803 variable4
= NEW_string___String___init(); /*new String*/
2804 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2805 variable6
= variable5
;
2806 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2807 variable7
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2808 variable8
= variable7
;
2809 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2810 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2811 variable9
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2812 variable10
= variable9
;
2813 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2814 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
2818 ATTR_typing___AAbsSendExpr____arguments( self
) /*ASendReassignExpr::_arguments*/ = variable3
/*old_args*/;
2819 return_label88
: while(false);
2820 tracehead
= trace
.prev
;
2823 val_t
typing___ABinopExpr___raw_arguments(val_t self
) {
2824 struct trace_t trace
= {NULL
, LOCATE_typing___ABinopExpr___raw_arguments
, 1002};
2827 trace
.prev
= tracehead
; tracehead
= &trace
;
2828 variable0
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[PExpr]*/
2829 variable1
= ((parser_nodes___ABinopExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___ABinopExpr___n_expr2
))( self
) /*ABinopExpr::n_expr2*/;
2830 ((array___AbstractArray___add_t
)CALL(variable0
,COLOR_abstract_collection___SimpleCollection___add
))(variable0
, variable1
) /*Array::add*/;
2831 goto return_label89
;
2832 return_label89
: while(false);
2833 tracehead
= trace
.prev
;
2836 val_t
typing___AEqExpr___name(val_t self
) {
2837 struct trace_t trace
= {NULL
, LOCATE_typing___AEqExpr___name
, 1005};
2839 static val_t once_value_variable0_91
; static int once_bool_variable0_91
;
2840 trace
.prev
= tracehead
; tracehead
= &trace
;
2841 if (once_bool_variable0_91
) variable0
= once_value_variable0_91
;
2843 variable0
= NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
2844 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2845 once_value_variable0_91
= variable0
;
2846 once_bool_variable0_91
= true;
2848 goto return_label90
;
2849 return_label90
: while(false);
2850 tracehead
= trace
.prev
;
2853 val_t
typing___ANeExpr___name(val_t self
) {
2854 struct trace_t trace
= {NULL
, LOCATE_typing___ANeExpr___name
, 1008};
2856 static val_t once_value_variable0_93
; static int once_bool_variable0_93
;
2857 trace
.prev
= tracehead
; tracehead
= &trace
;
2858 if (once_bool_variable0_93
) variable0
= once_value_variable0_93
;
2860 variable0
= NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
2861 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2862 once_value_variable0_93
= variable0
;
2863 once_bool_variable0_93
= true;
2865 goto return_label92
;
2866 return_label92
: while(false);
2867 tracehead
= trace
.prev
;
2870 val_t
typing___ALtExpr___name(val_t self
) {
2871 struct trace_t trace
= {NULL
, LOCATE_typing___ALtExpr___name
, 1011};
2873 static val_t once_value_variable0_95
; static int once_bool_variable0_95
;
2874 trace
.prev
= tracehead
; tracehead
= &trace
;
2875 if (once_bool_variable0_95
) variable0
= once_value_variable0_95
;
2877 variable0
= NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
2878 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2879 once_value_variable0_95
= variable0
;
2880 once_bool_variable0_95
= true;
2882 goto return_label94
;
2883 return_label94
: while(false);
2884 tracehead
= trace
.prev
;
2887 val_t
typing___ALeExpr___name(val_t self
) {
2888 struct trace_t trace
= {NULL
, LOCATE_typing___ALeExpr___name
, 1014};
2890 static val_t once_value_variable0_97
; static int once_bool_variable0_97
;
2891 trace
.prev
= tracehead
; tracehead
= &trace
;
2892 if (once_bool_variable0_97
) variable0
= once_value_variable0_97
;
2894 variable0
= NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
2895 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2896 once_value_variable0_97
= variable0
;
2897 once_bool_variable0_97
= true;
2899 goto return_label96
;
2900 return_label96
: while(false);
2901 tracehead
= trace
.prev
;
2904 val_t
typing___AGtExpr___name(val_t self
) {
2905 struct trace_t trace
= {NULL
, LOCATE_typing___AGtExpr___name
, 1017};
2907 static val_t once_value_variable0_99
; static int once_bool_variable0_99
;
2908 trace
.prev
= tracehead
; tracehead
= &trace
;
2909 if (once_bool_variable0_99
) variable0
= once_value_variable0_99
;
2911 variable0
= NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
2912 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2913 once_value_variable0_99
= variable0
;
2914 once_bool_variable0_99
= true;
2916 goto return_label98
;
2917 return_label98
: while(false);
2918 tracehead
= trace
.prev
;
2921 val_t
typing___AGeExpr___name(val_t self
) {
2922 struct trace_t trace
= {NULL
, LOCATE_typing___AGeExpr___name
, 1020};
2924 static val_t once_value_variable0_101
; static int once_bool_variable0_101
;
2925 trace
.prev
= tracehead
; tracehead
= &trace
;
2926 if (once_bool_variable0_101
) variable0
= once_value_variable0_101
;
2928 variable0
= NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
2929 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2930 once_value_variable0_101
= variable0
;
2931 once_bool_variable0_101
= true;
2933 goto return_label100
;
2934 return_label100
: while(false);
2935 tracehead
= trace
.prev
;
2938 val_t
typing___APlusExpr___name(val_t self
) {
2939 struct trace_t trace
= {NULL
, LOCATE_typing___APlusExpr___name
, 1023};
2941 static val_t once_value_variable0_103
; static int once_bool_variable0_103
;
2942 trace
.prev
= tracehead
; tracehead
= &trace
;
2943 if (once_bool_variable0_103
) variable0
= once_value_variable0_103
;
2945 variable0
= NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
2946 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2947 once_value_variable0_103
= variable0
;
2948 once_bool_variable0_103
= true;
2950 goto return_label102
;
2951 return_label102
: while(false);
2952 tracehead
= trace
.prev
;
2955 val_t
typing___AMinusExpr___name(val_t self
) {
2956 struct trace_t trace
= {NULL
, LOCATE_typing___AMinusExpr___name
, 1026};
2958 static val_t once_value_variable0_105
; static int once_bool_variable0_105
;
2959 trace
.prev
= tracehead
; tracehead
= &trace
;
2960 if (once_bool_variable0_105
) variable0
= once_value_variable0_105
;
2962 variable0
= NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
2963 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2964 once_value_variable0_105
= variable0
;
2965 once_bool_variable0_105
= true;
2967 goto return_label104
;
2968 return_label104
: while(false);
2969 tracehead
= trace
.prev
;
2972 val_t
typing___AStarshipExpr___name(val_t self
) {
2973 struct trace_t trace
= {NULL
, LOCATE_typing___AStarshipExpr___name
, 1029};
2975 static val_t once_value_variable0_107
; static int once_bool_variable0_107
;
2976 trace
.prev
= tracehead
; tracehead
= &trace
;
2977 if (once_bool_variable0_107
) variable0
= once_value_variable0_107
;
2979 variable0
= NEW_string___String___with_native(BOX_NativeString("<=>"), TAG_Int(3)); /*new String*/
2980 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2981 once_value_variable0_107
= variable0
;
2982 once_bool_variable0_107
= true;
2984 goto return_label106
;
2985 return_label106
: while(false);
2986 tracehead
= trace
.prev
;
2989 val_t
typing___AStarExpr___name(val_t self
) {
2990 struct trace_t trace
= {NULL
, LOCATE_typing___AStarExpr___name
, 1032};
2992 static val_t once_value_variable0_109
; static int once_bool_variable0_109
;
2993 trace
.prev
= tracehead
; tracehead
= &trace
;
2994 if (once_bool_variable0_109
) variable0
= once_value_variable0_109
;
2996 variable0
= NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
2997 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2998 once_value_variable0_109
= variable0
;
2999 once_bool_variable0_109
= true;
3001 goto return_label108
;
3002 return_label108
: while(false);
3003 tracehead
= trace
.prev
;
3006 val_t
typing___ASlashExpr___name(val_t self
) {
3007 struct trace_t trace
= {NULL
, LOCATE_typing___ASlashExpr___name
, 1035};
3009 static val_t once_value_variable0_111
; static int once_bool_variable0_111
;
3010 trace
.prev
= tracehead
; tracehead
= &trace
;
3011 if (once_bool_variable0_111
) variable0
= once_value_variable0_111
;
3013 variable0
= NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
3014 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3015 once_value_variable0_111
= variable0
;
3016 once_bool_variable0_111
= true;
3018 goto return_label110
;
3019 return_label110
: while(false);
3020 tracehead
= trace
.prev
;
3023 val_t
typing___APercentExpr___name(val_t self
) {
3024 struct trace_t trace
= {NULL
, LOCATE_typing___APercentExpr___name
, 1038};
3026 static val_t once_value_variable0_113
; static int once_bool_variable0_113
;
3027 trace
.prev
= tracehead
; tracehead
= &trace
;
3028 if (once_bool_variable0_113
) variable0
= once_value_variable0_113
;
3030 variable0
= NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
3031 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3032 once_value_variable0_113
= variable0
;
3033 once_bool_variable0_113
= true;
3035 goto return_label112
;
3036 return_label112
: while(false);
3037 tracehead
= trace
.prev
;
3040 val_t
typing___AUminusExpr___name(val_t self
) {
3041 struct trace_t trace
= {NULL
, LOCATE_typing___AUminusExpr___name
, 1042};
3043 static val_t once_value_variable0_115
; static int once_bool_variable0_115
;
3044 trace
.prev
= tracehead
; tracehead
= &trace
;
3045 if (once_bool_variable0_115
) variable0
= once_value_variable0_115
;
3047 variable0
= NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
3048 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3049 once_value_variable0_115
= variable0
;
3050 once_bool_variable0_115
= true;
3052 goto return_label114
;
3053 return_label114
: while(false);
3054 tracehead
= trace
.prev
;
3057 val_t
typing___AUminusExpr___raw_arguments(val_t self
) {
3058 struct trace_t trace
= {NULL
, LOCATE_typing___AUminusExpr___raw_arguments
, 1043};
3060 trace
.prev
= tracehead
; tracehead
= &trace
;
3061 variable0
= NIT_NULL
/*null*/;
3062 goto return_label116
;
3063 return_label116
: while(false);
3064 tracehead
= trace
.prev
;
3067 void typing___ACallFormExpr___after_typing(val_t self
, val_t param0
) {
3068 struct trace_t trace
= {NULL
, LOCATE_typing___ACallFormExpr___after_typing
, 1047};
3078 trace
.prev
= tracehead
; tracehead
= &trace
;
3080 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ACallFormExpr::n_expr*/;
3081 variable1
= ((typing___PExpr___is_implicit_self_t
)CALL(variable1
,COLOR_typing___PExpr___is_implicit_self
))(variable1
) /*PExpr::is_implicit_self*/;
3082 if (UNTAG_Bool(variable1
)) { /*if*/
3083 variable2
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3084 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*TId::to_symbol*/;
3085 variable1
= variable2
;
3086 variable3
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
3087 variable3
= ((typing___VariableContext_____bra_t
)CALL(variable3
,COLOR_typing___VariableContext_____bra
))(variable3
, variable1
/*name*/) /*VariableContext::[]*/;
3088 variable2
= variable3
;
3089 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*/) /*Variable::==*/)))))));
3090 if (UNTAG_Bool(variable3
)) { /*if*/
3091 variable3
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallFormExpr::n_args*/;
3092 variable3
= ((list___List___is_empty_t
)CALL(variable3
,COLOR_abstract_collection___Collection___is_empty
))(variable3
) /*List::is_empty*/;
3093 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
3094 variable3
= NEW_string___String___init(); /*new String*/
3095 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
3096 variable5
= variable4
;
3097 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
3098 variable6
= variable1
/*name*/;
3099 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
3100 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable6
) /*String::append*/;
3101 variable7
= NEW_string___String___with_native(BOX_NativeString(" is variable, not a function."), TAG_Int(29)); /*new String*/
3102 variable8
= variable7
;
3103 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable8
) /*String::append*/;
3104 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*TypingVisitor::error*/;
3106 variable4
= ((typing___ACallFormExpr___variable_create_t
)CALL( self
,COLOR_typing___ACallFormExpr___variable_create
))( self
, variable2
/*variable*/) /*ACallFormExpr::variable_create*/;
3107 variable3
= variable4
;
3108 ((typing___AVarFormExpr___variable__eq_t
)CALL( variable3
/*vform*/,COLOR_typing___AVarFormExpr___variable__eq
))( variable3
/*vform*/, variable2
/*variable*/) /*AVarFormExpr::variable=*/;
3109 ((parser_prod___Prod___replace_with_t
)CALL( self
,COLOR_parser_prod___PNode___replace_with
))( self
, variable3
/*vform*/) /*ACallFormExpr::replace_with*/;
3110 ((typing___PNode___after_typing_t
)CALL( variable3
/*vform*/,COLOR_typing___PNode___after_typing
))( variable3
/*vform*/, variable0
/*v*/) /*AVarFormExpr::after_typing*/;
3111 goto return_label117
;
3114 ((typing___ACallFormExpr___after_typing_t
)CALL( self
,COLOR_SUPER_typing___ACallFormExpr___after_typing
))( self
, param0
) /*super ACallFormExpr::after_typing*/;
3115 return_label117
: while(false);
3116 tracehead
= trace
.prev
;
3119 val_t
typing___ACallFormExpr___variable_create(val_t self
, val_t param0
) {
3120 struct trace_t trace
= {NULL
, LOCATE_typing___ACallFormExpr___variable_create
, 1066};
3121 trace
.prev
= tracehead
; tracehead
= &trace
;
3122 fprintf(stderr
, "Deferred method %s called (%s: %d)\n", "variable_create", LOCATE_typing___ACallFormExpr___after_typing
, 1066);
3124 tracehead
= trace
.prev
;
3127 val_t
typing___ACallExpr___variable_create(val_t self
, val_t param0
) {
3128 struct trace_t trace
= {NULL
, LOCATE_typing___ACallExpr___variable_create
, 1071};
3132 trace
.prev
= tracehead
; tracehead
= &trace
;
3134 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallExpr::n_id*/;
3135 variable2
= NEW_parser_prod___AVarExpr___init_avarexpr(variable1
); /*new AVarExpr*/
3136 variable1
= variable2
;
3137 goto return_label118
;
3138 return_label118
: while(false);
3139 tracehead
= trace
.prev
;
3142 val_t
typing___ACallExpr___name(val_t self
) {
3143 struct trace_t trace
= {NULL
, LOCATE_typing___ACallExpr___name
, 1076};
3145 trace
.prev
= tracehead
; tracehead
= &trace
;
3146 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallExpr::n_id*/;
3147 variable0
= ((syntax_base___Token___to_symbol_t
)CALL(variable0
,COLOR_syntax_base___Token___to_symbol
))(variable0
) /*TId::to_symbol*/;
3148 goto return_label119
;
3149 return_label119
: while(false);
3150 tracehead
= trace
.prev
;
3153 val_t
typing___ACallExpr___raw_arguments(val_t self
) {
3154 struct trace_t trace
= {NULL
, LOCATE_typing___ACallExpr___raw_arguments
, 1077};
3156 trace
.prev
= tracehead
; tracehead
= &trace
;
3157 variable0
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallExpr::n_args*/;
3158 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*List::to_a*/;
3159 goto return_label120
;
3160 return_label120
: while(false);
3161 tracehead
= trace
.prev
;
3164 val_t
typing___ACallAssignExpr___variable_create(val_t self
, val_t param0
) {
3165 struct trace_t trace
= {NULL
, LOCATE_typing___ACallAssignExpr___variable_create
, 1081};
3171 trace
.prev
= tracehead
; tracehead
= &trace
;
3173 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallAssignExpr::n_id*/;
3174 variable2
= ((parser_nodes___AAssignFormExpr___n_assign_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_assign
))( self
) /*ACallAssignExpr::n_assign*/;
3175 variable3
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*ACallAssignExpr::n_value*/;
3176 variable4
= NEW_parser_prod___AVarAssignExpr___init_avarassignexpr(variable1
, variable2
, variable3
); /*new AVarAssignExpr*/
3177 variable1
= variable4
;
3178 goto return_label121
;
3179 return_label121
: while(false);
3180 tracehead
= trace
.prev
;
3183 val_t
typing___ACallAssignExpr___name(val_t self
) {
3184 struct trace_t trace
= {NULL
, LOCATE_typing___ACallAssignExpr___name
, 1086};
3187 trace
.prev
= tracehead
; tracehead
= &trace
;
3188 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallAssignExpr::n_id*/;
3189 variable0
= ((lexer___Token___text_t
)CALL(variable0
,COLOR_lexer___Token___text
))(variable0
) /*TId::text*/;
3190 variable1
= NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
3191 variable0
= ((string___String_____plus_t
)CALL(variable0
,COLOR_string___String_____plus
))(variable0
, variable1
) /*String::+*/;
3192 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3193 goto return_label122
;
3194 return_label122
: while(false);
3195 tracehead
= trace
.prev
;
3198 val_t
typing___ACallAssignExpr___raw_arguments(val_t self
) {
3199 struct trace_t trace
= {NULL
, LOCATE_typing___ACallAssignExpr___raw_arguments
, 1087};
3202 trace
.prev
= tracehead
; tracehead
= &trace
;
3203 variable1
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallAssignExpr::n_args*/;
3204 variable1
= ((array___Collection___to_a_t
)CALL(variable1
,COLOR_array___Collection___to_a
))(variable1
) /*List::to_a*/;
3205 variable0
= variable1
;
3206 variable1
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*ACallAssignExpr::n_value*/;
3207 ((array___AbstractArray___add_t
)CALL( variable0
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable0
/*res*/, variable1
) /*Array::add*/;
3208 variable0
= variable0
/*res*/;
3209 goto return_label123
;
3210 return_label123
: while(false);
3211 tracehead
= trace
.prev
;
3214 val_t
typing___ACallReassignExpr___variable_create(val_t self
, val_t param0
) {
3215 struct trace_t trace
= {NULL
, LOCATE_typing___ACallReassignExpr___variable_create
, 1096};
3221 trace
.prev
= tracehead
; tracehead
= &trace
;
3223 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallReassignExpr::n_id*/;
3224 variable2
= ((parser_nodes___AReassignFormExpr___n_assign_op_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_assign_op
))( self
) /*ACallReassignExpr::n_assign_op*/;
3225 variable3
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*ACallReassignExpr::n_value*/;
3226 variable4
= NEW_parser_prod___AVarReassignExpr___init_avarreassignexpr(variable1
, variable2
, variable3
); /*new AVarReassignExpr*/
3227 variable1
= variable4
;
3228 goto return_label124
;
3229 return_label124
: while(false);
3230 tracehead
= trace
.prev
;
3233 val_t
typing___ACallReassignExpr___name(val_t self
) {
3234 struct trace_t trace
= {NULL
, LOCATE_typing___ACallReassignExpr___name
, 1101};
3236 trace
.prev
= tracehead
; tracehead
= &trace
;
3237 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallReassignExpr::n_id*/;
3238 variable0
= ((syntax_base___Token___to_symbol_t
)CALL(variable0
,COLOR_syntax_base___Token___to_symbol
))(variable0
) /*TId::to_symbol*/;
3239 goto return_label125
;
3240 return_label125
: while(false);
3241 tracehead
= trace
.prev
;
3244 val_t
typing___ACallReassignExpr___raw_arguments(val_t self
) {
3245 struct trace_t trace
= {NULL
, LOCATE_typing___ACallReassignExpr___raw_arguments
, 1102};
3247 trace
.prev
= tracehead
; tracehead
= &trace
;
3248 variable0
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallReassignExpr::n_args*/;
3249 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*List::to_a*/;
3250 goto return_label126
;
3251 return_label126
: while(false);
3252 tracehead
= trace
.prev
;
3255 val_t
typing___ABraExpr___name(val_t self
) {
3256 struct trace_t trace
= {NULL
, LOCATE_typing___ABraExpr___name
, 1106};
3258 static val_t once_value_variable0_128
; static int once_bool_variable0_128
;
3259 trace
.prev
= tracehead
; tracehead
= &trace
;
3260 if (once_bool_variable0_128
) variable0
= once_value_variable0_128
;
3262 variable0
= NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
3263 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3264 once_value_variable0_128
= variable0
;
3265 once_bool_variable0_128
= true;
3267 goto return_label127
;
3268 return_label127
: while(false);
3269 tracehead
= trace
.prev
;
3272 val_t
typing___ABraExpr___raw_arguments(val_t self
) {
3273 struct trace_t trace
= {NULL
, LOCATE_typing___ABraExpr___raw_arguments
, 1107};
3275 trace
.prev
= tracehead
; tracehead
= &trace
;
3276 variable0
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraExpr::n_args*/;
3277 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*List::to_a*/;
3278 goto return_label129
;
3279 return_label129
: while(false);
3280 tracehead
= trace
.prev
;
3283 val_t
typing___ABraAssignExpr___name(val_t self
) {
3284 struct trace_t trace
= {NULL
, LOCATE_typing___ABraAssignExpr___name
, 1111};
3286 static val_t once_value_variable0_131
; static int once_bool_variable0_131
;
3287 trace
.prev
= tracehead
; tracehead
= &trace
;
3288 if (once_bool_variable0_131
) variable0
= once_value_variable0_131
;
3290 variable0
= NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
3291 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3292 once_value_variable0_131
= variable0
;
3293 once_bool_variable0_131
= true;
3295 goto return_label130
;
3296 return_label130
: while(false);
3297 tracehead
= trace
.prev
;
3300 val_t
typing___ABraAssignExpr___raw_arguments(val_t self
) {
3301 struct trace_t trace
= {NULL
, LOCATE_typing___ABraAssignExpr___raw_arguments
, 1112};
3304 trace
.prev
= tracehead
; tracehead
= &trace
;
3305 variable1
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraAssignExpr::n_args*/;
3306 variable1
= ((array___Collection___to_a_t
)CALL(variable1
,COLOR_array___Collection___to_a
))(variable1
) /*List::to_a*/;
3307 variable0
= variable1
;
3308 variable1
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*ABraAssignExpr::n_value*/;
3309 ((array___AbstractArray___add_t
)CALL( variable0
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable0
/*res*/, variable1
) /*Array::add*/;
3310 variable0
= variable0
/*res*/;
3311 goto return_label132
;
3312 return_label132
: while(false);
3313 tracehead
= trace
.prev
;
3316 val_t
typing___ABraReassignExpr___name(val_t self
) {
3317 struct trace_t trace
= {NULL
, LOCATE_typing___ABraReassignExpr___name
, 1121};
3319 static val_t once_value_variable0_134
; static int once_bool_variable0_134
;
3320 trace
.prev
= tracehead
; tracehead
= &trace
;
3321 if (once_bool_variable0_134
) variable0
= once_value_variable0_134
;
3323 variable0
= NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
3324 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3325 once_value_variable0_134
= variable0
;
3326 once_bool_variable0_134
= true;
3328 goto return_label133
;
3329 return_label133
: while(false);
3330 tracehead
= trace
.prev
;
3333 val_t
typing___ABraReassignExpr___raw_arguments(val_t self
) {
3334 struct trace_t trace
= {NULL
, LOCATE_typing___ABraReassignExpr___raw_arguments
, 1122};
3336 trace
.prev
= tracehead
; tracehead
= &trace
;
3337 variable0
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraReassignExpr::n_args*/;
3338 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*List::to_a*/;
3339 goto return_label135
;
3340 return_label135
: while(false);
3341 tracehead
= trace
.prev
;
3344 val_t
typing___AInitExpr___name(val_t self
) {
3345 struct trace_t trace
= {NULL
, LOCATE_typing___AInitExpr___name
, 1126};
3347 static val_t once_value_variable0_137
; static int once_bool_variable0_137
;
3348 trace
.prev
= tracehead
; tracehead
= &trace
;
3349 if (once_bool_variable0_137
) variable0
= once_value_variable0_137
;
3351 variable0
= NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
3352 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3353 once_value_variable0_137
= variable0
;
3354 once_bool_variable0_137
= true;
3356 goto return_label136
;
3357 return_label136
: while(false);
3358 tracehead
= trace
.prev
;
3361 val_t
typing___AInitExpr___raw_arguments(val_t self
) {
3362 struct trace_t trace
= {NULL
, LOCATE_typing___AInitExpr___raw_arguments
, 1127};
3364 trace
.prev
= tracehead
; tracehead
= &trace
;
3365 variable0
= ((parser_nodes___AInitExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___AInitExpr___n_args
))( self
) /*AInitExpr::n_args*/;
3366 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*List::to_a*/;
3367 goto return_label138
;
3368 return_label138
: while(false);
3369 tracehead
= trace
.prev
;
3372 void typing___AIsaExpr___after_typing(val_t self
, val_t param0
) {
3373 struct trace_t trace
= {NULL
, LOCATE_typing___AIsaExpr___after_typing
, 1131};
3379 trace
.prev
= tracehead
; tracehead
= &trace
;
3381 variable1
= ((parser_nodes___AIsaExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_expr
))( self
) /*AIsaExpr::n_expr*/;
3382 variable1
= ((typing___PExpr___is_variable_t
)CALL(variable1
,COLOR_typing___PExpr___is_variable
))(variable1
) /*PExpr::is_variable*/;
3383 if (UNTAG_Bool(variable1
)) { /*if*/
3384 variable2
= ((parser_nodes___AIsaExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_expr
))( self
) /*AIsaExpr::n_expr*/;
3385 variable1
= variable2
;
3386 variable2
= TAG_Bool(( variable1
/*n*/==NIT_NULL
) || VAL_ISA( variable1
/*n*/, COLOR_AVarExpr
, ID_AVarExpr
)) /*cast AVarExpr*/;
3387 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed (%s: %d)\n", "", LOCATE_typing___AIsaExpr___after_typing
, 1135); nit_exit(1);}
3388 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
3389 variable3
= ((typing___AVarFormExpr___variable_t
)CALL( variable1
/*n*/,COLOR_typing___AVarFormExpr___variable
))( variable1
/*n*/) /*AVarExpr::variable*/;
3390 variable4
= ((parser_nodes___AIsaExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_type
))( self
) /*AIsaExpr::n_type*/;
3391 variable4
= ((typing___PType___stype_t
)CALL(variable4
,COLOR_typing___PType___stype
))(variable4
) /*PType::stype*/;
3392 variable2
= ((typing___VariableContext___sub_with_t
)CALL(variable2
,COLOR_typing___VariableContext___sub_with
))(variable2
, variable3
, variable4
) /*VariableContext::sub_with*/;
3393 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*AIsaExpr::_if_true_variable_ctx*/ = variable2
;
3395 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
3396 ATTR_typing___PExpr____stype( self
) /*AIsaExpr::_stype*/ = variable1
;
3397 tracehead
= trace
.prev
;
3400 void typing___AProxyExpr___after_typing(val_t self
, val_t param0
) {
3401 struct trace_t trace
= {NULL
, LOCATE_typing___AProxyExpr___after_typing
, 1143};
3404 trace
.prev
= tracehead
; tracehead
= &trace
;
3406 variable1
= ((parser_nodes___AProxyExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AProxyExpr___n_expr
))( self
) /*AProxyExpr::n_expr*/;
3407 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
3408 ATTR_typing___PExpr____stype( self
) /*AProxyExpr::_stype*/ = variable1
;
3409 tracehead
= trace
.prev
;