1 #include "typing._sep.h"
2 void typing___MMSrcModule___do_typing(val_t self
, val_t param0
) {
3 struct trace_t trace
= {NULL
, "typing::MMSrcModule::do_typing (src/syntax//typing.nit:23,2--28:15)"};
7 trace
.prev
= tracehead
; tracehead
= &trace
;
9 variable2
= NEW_typing___TypingVisitor___init( variable0
/*tc*/, self
); /*new TypingVisitor*/
10 variable1
= variable2
;
11 variable2
= ((syntax_base___MMSrcModule___node_t
)CALL( self
,COLOR_syntax_base___MMSrcModule___node
))( self
) /*MMSrcModule::node*/;
12 ((typing___TypingVisitor___visit_t
)CALL( variable1
/*tv*/,COLOR_parser_prod___Visitor___visit
))( variable1
/*tv*/, variable2
) /*TypingVisitor::visit*/;
13 tracehead
= trace
.prev
;
16 void typing___TypingVisitor___visit(val_t self
, val_t param0
) {
17 struct trace_t trace
= {NULL
, "typing::TypingVisitor::visit (src/syntax//typing.nit:39,2--41:40)"};
20 trace
.prev
= tracehead
; tracehead
= &trace
;
22 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::==*/)))))));
23 if (UNTAG_Bool(variable1
)) { /*if*/
24 ((typing___PNode___accept_typing_t
)CALL( variable0
/*n*/,COLOR_typing___PNode___accept_typing
))( variable0
/*n*/, self
) /*PNode::accept_typing*/;
26 tracehead
= trace
.prev
;
29 val_t
typing___TypingVisitor___variable_ctx(val_t self
) {
30 struct trace_t trace
= {NULL
, "typing::TypingVisitor::variable_ctx (src/syntax//typing.nit:44,2--45:54)"};
31 trace
.prev
= tracehead
; tracehead
= &trace
;
32 tracehead
= trace
.prev
;
33 return ATTR_typing___TypingVisitor____variable_ctx( self
) /*TypingVisitor::_variable_ctx*/;
35 void typing___TypingVisitor___variable_ctx__eq(val_t self
, val_t param0
) {
36 struct trace_t trace
= {NULL
, "typing::TypingVisitor::variable_ctx= (src/syntax//typing.nit:44,2--45:54)"};
37 trace
.prev
= tracehead
; tracehead
= &trace
;
38 ATTR_typing___TypingVisitor____variable_ctx( self
) /*TypingVisitor::_variable_ctx*/ = param0
;
39 tracehead
= trace
.prev
;
42 val_t
typing___TypingVisitor___self_type(val_t self
) {
43 struct trace_t trace
= {NULL
, "typing::TypingVisitor::self_type (src/syntax//typing.nit:47,2--48:42)"};
44 trace
.prev
= tracehead
; tracehead
= &trace
;
45 tracehead
= trace
.prev
;
46 return ATTR_typing___TypingVisitor____self_type( self
) /*TypingVisitor::_self_type*/;
48 void typing___TypingVisitor___self_type__eq(val_t self
, val_t param0
) {
49 struct trace_t trace
= {NULL
, "typing::TypingVisitor::self_type= (src/syntax//typing.nit:47,2--48:42)"};
50 trace
.prev
= tracehead
; tracehead
= &trace
;
51 ATTR_typing___TypingVisitor____self_type( self
) /*TypingVisitor::_self_type*/ = param0
;
52 tracehead
= trace
.prev
;
55 val_t
typing___TypingVisitor___top_block(val_t self
) {
56 struct trace_t trace
= {NULL
, "typing::TypingVisitor::top_block (src/syntax//typing.nit:50,2--51:41)"};
57 trace
.prev
= tracehead
; tracehead
= &trace
;
58 tracehead
= trace
.prev
;
59 return ATTR_typing___TypingVisitor____top_block( self
) /*TypingVisitor::_top_block*/;
61 void typing___TypingVisitor___top_block__eq(val_t self
, val_t param0
) {
62 struct trace_t trace
= {NULL
, "typing::TypingVisitor::top_block= (src/syntax//typing.nit:50,2--51:41)"};
63 trace
.prev
= tracehead
; tracehead
= &trace
;
64 ATTR_typing___TypingVisitor____top_block( self
) /*TypingVisitor::_top_block*/ = param0
;
65 tracehead
= trace
.prev
;
68 val_t
typing___TypingVisitor___explicit_super_init_calls(val_t self
) {
69 struct trace_t trace
= {NULL
, "typing::TypingVisitor::explicit_super_init_calls (src/syntax//typing.nit:53,2--54:66)"};
70 trace
.prev
= tracehead
; tracehead
= &trace
;
71 tracehead
= trace
.prev
;
72 return ATTR_typing___TypingVisitor____explicit_super_init_calls( self
) /*TypingVisitor::_explicit_super_init_calls*/;
74 void typing___TypingVisitor___explicit_super_init_calls__eq(val_t self
, val_t param0
) {
75 struct trace_t trace
= {NULL
, "typing::TypingVisitor::explicit_super_init_calls= (src/syntax//typing.nit:53,2--54:66)"};
76 trace
.prev
= tracehead
; tracehead
= &trace
;
77 ATTR_typing___TypingVisitor____explicit_super_init_calls( self
) /*TypingVisitor::_explicit_super_init_calls*/ = param0
;
78 tracehead
= trace
.prev
;
81 val_t
typing___TypingVisitor___explicit_other_init_call(val_t self
) {
82 struct trace_t trace
= {NULL
, "typing::TypingVisitor::explicit_other_init_call (src/syntax//typing.nit:56,2--57:55)"};
83 trace
.prev
= tracehead
; tracehead
= &trace
;
84 tracehead
= trace
.prev
;
85 return ATTR_typing___TypingVisitor____explicit_other_init_call( self
) /*TypingVisitor::_explicit_other_init_call*/;
87 void typing___TypingVisitor___explicit_other_init_call__eq(val_t self
, val_t param0
) {
88 struct trace_t trace
= {NULL
, "typing::TypingVisitor::explicit_other_init_call= (src/syntax//typing.nit:56,2--57:55)"};
89 trace
.prev
= tracehead
; tracehead
= &trace
;
90 ATTR_typing___TypingVisitor____explicit_other_init_call( self
) /*TypingVisitor::_explicit_other_init_call*/ = param0
;
91 tracehead
= trace
.prev
;
94 void typing___TypingVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
95 struct trace_t trace
= {NULL
, "typing::TypingVisitor::init (src/syntax//typing.nit:59,2--26)"};
98 trace
.prev
= tracehead
; tracehead
= &trace
;
101 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TypingVisitor
].i
]) return;
102 ((syntax_base___AbsSyntaxVisitor___init_t
)CALL( self
,COLOR_syntax_base___AbsSyntaxVisitor___init
))( self
, param0
, param1
, init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
103 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TypingVisitor
].i
] = 1;
104 tracehead
= trace
.prev
;
107 val_t
typing___TypingVisitor___get_default_constructor_for(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
108 struct trace_t trace
= {NULL
, "typing::TypingVisitor::get_default_constructor_for (src/syntax//typing.nit:61,2--96:14)"};
126 trace
.prev
= tracehead
; tracehead
= &trace
;
131 variable5
= NEW_array___Array___init(); /*new Array[MMMethod]*/
132 variable4
= variable5
;
133 variable6
= NEW_array___Array___init(); /*new Array[MMMethod]*/
134 variable5
= variable6
;
135 variable7
= ((genericity___MMLocalProperty___signature_t
)CALL( variable2
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable2
/*prop*/) /*MMMethod::signature*/;
136 variable7
= ((static_type___MMSignature___arity_t
)CALL(variable7
,COLOR_static_type___MMSignature___arity
))(variable7
) /*MMSignature::arity*/;
137 variable6
= variable7
;
138 variable7
= ((abstractmetamodel___MMLocalClass___global_properties_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global_properties
))( variable1
/*c*/) /*MMLocalClass::global_properties*/;
139 variable7
= ((abstract_collection___Collection___iterator_t
)CALL(variable7
,COLOR_abstract_collection___Collection___iterator
))(variable7
) /*Set::iterator*/;
140 while (true) { /*for*/
141 variable8
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___is_ok
))(variable7
) /*Iterator::is_ok*/;
142 if (!UNTAG_Bool(variable8
)) break; /*for*/
143 variable8
= ((abstract_collection___Iterator___item_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___item
))(variable7
) /*Iterator::item*/;
144 variable9
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))( variable8
/*g*/) /*MMGlobalProperty::is_init*/;
145 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable9
)))) { /*if*/
148 variable9
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*g*/) /*MMGlobalProperty::intro*/;
149 variable9
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable9
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable9
) /*MMConcreteProperty::local_class*/;
150 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::==*/)))))));
151 if (UNTAG_Bool(variable9
)) { /*if*/
154 variable10
= ((inheritance___MMLocalClass_____bra_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable1
/*c*/, variable8
/*g*/) /*MMLocalClass::[]*/;
155 variable9
= variable10
;
156 variable10
= TAG_Bool(( variable9
/*gp*/==NIT_NULL
) || VAL_ISA( variable9
/*gp*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
157 if (!UNTAG_Bool(variable10
)) { fprintf(stderr
, "Assert failed: src/syntax//typing.nit:73,4--25\n"); nit_exit(1);}
158 variable11
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*g*/) /*MMGlobalProperty::intro*/;
159 variable11
= ((genericity___MMLocalProperty___signature_t
)CALL(variable11
,COLOR_static_type___MMLocalProperty___signature
))(variable11
) /*MMConcreteProperty::signature*/;
160 variable11
= ((static_type___MMSignature___arity_t
)CALL(variable11
,COLOR_static_type___MMSignature___arity
))(variable11
) /*MMSignature::arity*/;
161 variable10
= variable11
;
162 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::==*/)))))));
163 variable12
= variable11
;
164 if (UNTAG_Bool(variable12
)) { /* and */
165 variable12
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*g*/) /*MMGlobalProperty::intro*/;
166 variable12
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable12
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable12
) /*MMConcreteProperty::name*/;
167 variable13
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( variable2
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name
))( variable2
/*prop*/) /*MMMethod::name*/;
168 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::==*/)))));
170 variable11
= variable12
;
171 if (UNTAG_Bool(variable11
)) { /*if*/
172 variable11
= TAG_Bool(( variable10
/*garity*/)==( TAG_Int(0)));
173 variable12
= variable11
;
174 if (!UNTAG_Bool(variable12
)) { /* or */
175 variable12
= TAG_Bool(( variable10
/*garity*/)==( variable6
/*parity*/));
177 variable11
= variable12
;
178 if (UNTAG_Bool(variable11
)) { /*if*/
179 variable3
= variable9
/*gp*/;
182 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*Array::add*/;
185 variable11
= TAG_Bool(( variable10
/*garity*/)==( TAG_Int(0)));
186 if (UNTAG_Bool(variable11
)) { /*if*/
187 ((array___AbstractArray___add_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*candidates*/, variable9
/*gp*/) /*Array::add*/;
188 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*Array::add*/;
190 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*Array::add*/;
193 continue_4
: while(0);
194 ((abstract_collection___Iterator___next_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___next
))(variable7
) /*Iterator::next*/;
197 variable7
= ((array___AbstractArray___length_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___Collection___length
))( variable4
/*candidates*/) /*Array::length*/;
198 variable7
= TAG_Bool((variable7
)==( TAG_Int(1)));
199 if (UNTAG_Bool(variable7
)) { /*if*/
200 variable7
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___Collection___first
))( variable4
/*candidates*/) /*Array::first*/;
201 variable3
= variable7
;
204 variable7
= ((array___AbstractArray___is_empty_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___Collection___is_empty
))( variable5
/*false_candidates*/) /*Array::is_empty*/;
205 if (UNTAG_Bool(variable7
)) { /*if*/
206 variable7
= NEW_string___String___init(); /*new String*/
207 variable8
= NEW_string___String___with_native(BOX_NativeString("Fatal error: there is no available constrctor in "), TAG_Int(49)); /*new String*/
208 variable9
= variable8
;
209 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
210 variable10
= variable1
/*c*/;
211 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
212 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable10
) /*String::append*/;
213 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
214 variable12
= variable11
;
215 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable12
) /*String::append*/;
216 ((syntax_base___AbsSyntaxVisitor___warning_t
)CALL( variable3
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning
))( variable3
/*v*/, variable0
/*n*/, variable7
) /*TypingVisitor::warning*/;
217 variable3
= NIT_NULL
/*null*/;
220 variable7
= NEW_string___String___init(); /*new String*/
221 variable8
= NEW_string___String___with_native(BOX_NativeString("Error: Conflicting default constructor to call for "), TAG_Int(51)); /*new String*/
222 variable9
= variable8
;
223 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
224 variable10
= variable1
/*c*/;
225 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
226 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable10
) /*String::append*/;
227 variable11
= NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
228 variable12
= variable11
;
229 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable12
) /*String::append*/;
230 variable13
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
231 variable13
= ((string___Collection___join_t
)CALL( variable5
/*false_candidates*/,COLOR_string___Collection___join
))( variable5
/*false_candidates*/, variable13
) /*Array::join*/;
232 variable14
= variable13
;
233 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable14
) /*String::append*/;
234 variable15
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
235 variable16
= variable15
;
236 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable16
) /*String::append*/;
237 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable3
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable3
/*v*/, variable0
/*n*/, variable7
) /*TypingVisitor::error*/;
238 variable3
= NIT_NULL
/*null*/;
242 return_label3
: while(false);
243 tracehead
= trace
.prev
;
246 val_t
typing___VariableContext_____bra(val_t self
, val_t param0
) {
247 struct trace_t trace
= {NULL
, "typing::VariableContext::[] (src/syntax//typing.nit:104,2--111:14)"};
250 trace
.prev
= tracehead
; tracehead
= &trace
;
252 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
253 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*s*/) /*Map::has_key*/;
254 if (UNTAG_Bool(variable1
)) { /*if*/
255 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
256 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*s*/) /*Map::[]*/;
259 variable1
= NIT_NULL
/*null*/;
262 return_label5
: while(false);
263 tracehead
= trace
.prev
;
266 void typing___VariableContext___add(val_t self
, val_t param0
) {
267 struct trace_t trace
= {NULL
, "typing::VariableContext::add (src/syntax//typing.nit:115,2--118:19)"};
271 trace
.prev
= tracehead
; tracehead
= &trace
;
273 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
274 variable2
= ((syntax_base___Variable___name_t
)CALL( variable0
/*v*/,COLOR_syntax_base___Variable___name
))( variable0
/*v*/) /*Variable::name*/;
275 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*v*/) /*Map::[]=*/;
276 tracehead
= trace
.prev
;
279 val_t
typing___VariableContext___stype(val_t self
, val_t param0
) {
280 struct trace_t trace
= {NULL
, "typing::VariableContext::stype (src/syntax//typing.nit:122,2--126:16)"};
283 trace
.prev
= tracehead
; tracehead
= &trace
;
285 variable1
= ((syntax_base___Variable___stype_t
)CALL( variable0
/*v*/,COLOR_syntax_base___Variable___stype
))( variable0
/*v*/) /*Variable::stype*/;
287 return_label7
: while(false);
288 tracehead
= trace
.prev
;
291 val_t
typing___VariableContext___sub(val_t self
) {
292 struct trace_t trace
= {NULL
, "typing::VariableContext::sub (src/syntax//typing.nit:132,2--135:53)"};
294 trace
.prev
= tracehead
; tracehead
= &trace
;
295 variable0
= NEW_typing___SubVariableContext___with( self
, NIT_NULL
/*null*/, NIT_NULL
/*null*/); /*new SubVariableContext*/
297 return_label8
: while(false);
298 tracehead
= trace
.prev
;
301 val_t
typing___VariableContext___sub_with(val_t self
, val_t param0
, val_t param1
) {
302 struct trace_t trace
= {NULL
, "typing::VariableContext::sub_with (src/syntax//typing.nit:138,2--141:47)"};
306 trace
.prev
= tracehead
; tracehead
= &trace
;
309 variable2
= NEW_typing___SubVariableContext___with( self
, variable0
/*v*/, variable1
/*t*/); /*new SubVariableContext*/
311 return_label9
: while(false);
312 tracehead
= trace
.prev
;
315 void typing___VariableContext___init(val_t self
, int* init_table
) {
316 struct trace_t trace
= {NULL
, "typing::VariableContext::init (src/syntax//typing.nit:144,2--146:38)"};
318 trace
.prev
= tracehead
; tracehead
= &trace
;
319 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_VariableContext
].i
]) return;
320 variable0
= NEW_hash___HashMap___init(); /*new HashMap[Symbol, Variable]*/
321 ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/ = variable0
;
322 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_VariableContext
].i
] = 1;
323 tracehead
= trace
.prev
;
326 val_t
typing___SubVariableContext___prev(val_t self
) {
327 struct trace_t trace
= {NULL
, "typing::SubVariableContext::prev (src/syntax//typing.nit:152,2--37)"};
328 trace
.prev
= tracehead
; tracehead
= &trace
;
329 tracehead
= trace
.prev
;
330 return ATTR_typing___SubVariableContext____prev( self
) /*SubVariableContext::_prev*/;
332 val_t
typing___SubVariableContext_____bra(val_t self
, val_t param0
) {
333 struct trace_t trace
= {NULL
, "typing::SubVariableContext::[] (src/syntax//typing.nit:156,2--161:16)"};
336 trace
.prev
= tracehead
; tracehead
= &trace
;
338 variable1
= ATTR_typing___VariableContext____dico( self
) /*SubVariableContext::_dico*/;
339 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*s*/) /*Map::has_key*/;
340 if (UNTAG_Bool(variable1
)) { /*if*/
341 variable1
= ATTR_typing___VariableContext____dico( self
) /*SubVariableContext::_dico*/;
342 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*s*/) /*Map::[]*/;
345 variable1
= ((typing___SubVariableContext___prev_t
)CALL( self
,COLOR_typing___SubVariableContext___prev
))( self
) /*SubVariableContext::prev*/;
346 variable1
= ((typing___VariableContext_____bra_t
)CALL(variable1
,COLOR_typing___VariableContext_____bra
))(variable1
, variable0
/*s*/) /*VariableContext::[]*/;
349 return_label11
: while(false);
350 tracehead
= trace
.prev
;
353 val_t
typing___SubVariableContext___stype(val_t self
, val_t param0
) {
354 struct trace_t trace
= {NULL
, "typing::SubVariableContext::stype (src/syntax//typing.nit:165,2--170:21)"};
357 trace
.prev
= tracehead
; tracehead
= &trace
;
359 variable1
= ATTR_typing___SubVariableContext____variable( self
) /*SubVariableContext::_variable*/;
360 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::==*/)))));
361 if (UNTAG_Bool(variable1
)) { /*if*/
362 variable1
= ATTR_typing___SubVariableContext____var_type( self
) /*SubVariableContext::_var_type*/;
365 variable1
= ((typing___SubVariableContext___prev_t
)CALL( self
,COLOR_typing___SubVariableContext___prev
))( self
) /*SubVariableContext::prev*/;
366 variable1
= ((typing___VariableContext___stype_t
)CALL(variable1
,COLOR_typing___VariableContext___stype
))(variable1
, variable0
/*v*/) /*VariableContext::stype*/;
368 return_label12
: while(false);
369 tracehead
= trace
.prev
;
372 void typing___SubVariableContext___with(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
373 struct trace_t trace
= {NULL
, "typing::SubVariableContext::with (src/syntax//typing.nit:173,2--178:14)"};
377 trace
.prev
= tracehead
; tracehead
= &trace
;
381 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_SubVariableContext
].i
]) return;
382 ((typing___VariableContext___init_t
)CALL( self
,COLOR_typing___VariableContext___init
))( self
, init_table
/*YYY*/) /*SubVariableContext::init*/;
383 ATTR_typing___SubVariableContext____prev( self
) /*SubVariableContext::_prev*/ = variable0
/*p*/;
384 ATTR_typing___SubVariableContext____variable( self
) /*SubVariableContext::_variable*/ = variable1
/*v*/;
385 ATTR_typing___SubVariableContext____var_type( self
) /*SubVariableContext::_var_type*/ = variable2
/*t*/;
386 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_SubVariableContext
].i
] = 1;
387 tracehead
= trace
.prev
;
390 void typing___PNode___accept_typing(val_t self
, val_t param0
) {
391 struct trace_t trace
= {NULL
, "typing::PNode::accept_typing (src/syntax//typing.nit:186,2--189:16)"};
393 trace
.prev
= tracehead
; tracehead
= &trace
;
395 ((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*/;
396 ((typing___PNode___after_typing_t
)CALL( self
,COLOR_typing___PNode___after_typing
))( self
, variable0
/*v*/) /*PNode::after_typing*/;
397 tracehead
= trace
.prev
;
400 void typing___PNode___after_typing(val_t self
, val_t param0
) {
401 struct trace_t trace
= {NULL
, "typing::PNode::after_typing (src/syntax//typing.nit:191,2--43)"};
403 trace
.prev
= tracehead
; tracehead
= &trace
;
405 tracehead
= trace
.prev
;
408 void typing___PClassdef___accept_typing(val_t self
, val_t param0
) {
409 struct trace_t trace
= {NULL
, "typing::PClassdef::accept_typing (src/syntax//typing.nit:195,2--198:7)"};
412 trace
.prev
= tracehead
; tracehead
= &trace
;
414 variable1
= ((syntax_base___PClassdef___local_class_t
)CALL( self
,COLOR_syntax_base___PClassdef___local_class
))( self
) /*PClassdef::local_class*/;
415 variable1
= ((genericity___MMLocalClass___get_type_t
)CALL(variable1
,COLOR_static_type___MMLocalClass___get_type
))(variable1
) /*MMSrcLocalClass::get_type*/;
416 ((typing___TypingVisitor___self_type__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::self_type=*/;
417 ((typing___PClassdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___PClassdef___accept_typing
))( self
, param0
) /*super PClassdef::accept_typing*/;
418 tracehead
= trace
.prev
;
421 void typing___AAttrPropdef___accept_typing(val_t self
, val_t param0
) {
422 struct trace_t trace
= {NULL
, "typing::AAttrPropdef::accept_typing (src/syntax//typing.nit:203,2--207:67)"};
427 trace
.prev
= tracehead
; tracehead
= &trace
;
429 ((typing___AAttrPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AAttrPropdef___accept_typing
))( self
, param0
) /*super AAttrPropdef::accept_typing*/;
430 variable1
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
431 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::==*/)))))));
432 if (UNTAG_Bool(variable1
)) { /*if*/
433 variable1
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
434 variable2
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
435 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
436 variable3
= ((syntax_base___AAttrPropdef___prop_t
)CALL( self
,COLOR_syntax_base___AAttrPropdef___prop
))( self
) /*AAttrPropdef::prop*/;
437 variable3
= ((genericity___MMLocalProperty___signature_t
)CALL(variable3
,COLOR_static_type___MMLocalProperty___signature
))(variable3
) /*MMSrcAttribute::signature*/;
438 variable3
= ((static_type___MMSignature___return_type_t
)CALL(variable3
,COLOR_static_type___MMSignature___return_type
))(variable3
) /*MMSignature::return_type*/;
439 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, variable1
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
441 tracehead
= trace
.prev
;
444 void typing___AMethPropdef___accept_typing(val_t self
, val_t param0
) {
445 struct trace_t trace
= {NULL
, "typing::AMethPropdef::accept_typing (src/syntax//typing.nit:213,2--216:7)"};
448 trace
.prev
= tracehead
; tracehead
= &trace
;
450 variable1
= NEW_typing___VariableContext___init(); /*new VariableContext*/
451 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
452 ((typing___AMethPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AMethPropdef___accept_typing
))( self
, param0
) /*super AMethPropdef::accept_typing*/;
453 tracehead
= trace
.prev
;
456 val_t
typing___AConcreteInitPropdef___super_init_calls(val_t self
) {
457 struct trace_t trace
= {NULL
, "typing::AConcreteInitPropdef::super_init_calls (src/syntax//typing.nit:221,2--70)"};
458 trace
.prev
= tracehead
; tracehead
= &trace
;
459 tracehead
= trace
.prev
;
460 return ATTR_typing___AConcreteInitPropdef____super_init_calls( self
) /*AConcreteInitPropdef::_super_init_calls*/;
462 val_t
typing___AConcreteInitPropdef___explicit_super_init_calls(val_t self
) {
463 struct trace_t trace
= {NULL
, "typing::AConcreteInitPropdef::explicit_super_init_calls (src/syntax//typing.nit:222,2--79)"};
464 trace
.prev
= tracehead
; tracehead
= &trace
;
465 tracehead
= trace
.prev
;
466 return ATTR_typing___AConcreteInitPropdef____explicit_super_init_calls( self
) /*AConcreteInitPropdef::_explicit_super_init_calls*/;
468 void typing___AConcreteInitPropdef___accept_typing(val_t self
, val_t param0
) {
469 struct trace_t trace
= {NULL
, "typing::AConcreteInitPropdef::accept_typing (src/syntax//typing.nit:223,2--259:11)"};
481 trace
.prev
= tracehead
; tracehead
= &trace
;
483 variable1
= ((parser_nodes___AConcreteMethPropdef___n_block_t
)CALL( self
,COLOR_parser_nodes___AConcreteMethPropdef___n_block
))( self
) /*AConcreteInitPropdef::n_block*/;
484 ((typing___TypingVisitor___top_block__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::top_block=*/;
485 variable1
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
486 ((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=*/;
487 ((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=*/;
488 ((typing___AConcreteInitPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AConcreteInitPropdef___accept_typing
))( self
, param0
) /*super AConcreteInitPropdef::accept_typing*/;
489 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*/;
490 if (UNTAG_Bool(variable1
)) { /*if*/
492 variable1
= TAG_Int(0);
493 variable3
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
494 variable3
= ((array___AbstractArray___length_t
)CALL(variable3
,COLOR_abstract_collection___Collection___length
))(variable3
) /*Array::length*/;
495 variable2
= variable3
;
496 variable3
= NIT_NULL
/*decl variable cur_m*/;
497 variable4
= NIT_NULL
/*decl variable cur_c*/;
498 variable5
= TAG_Bool(UNTAG_Int( variable1
/*i*/)<UNTAG_Int( variable2
/*l*/));
499 if (UNTAG_Bool(variable5
)) { /*if*/
500 variable5
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
501 variable6
= variable1
/*i*/;
502 variable7
= TAG_Bool(UNTAG_Int( variable6
/*index*/)>=UNTAG_Int( TAG_Int(0)));
503 variable8
= variable7
;
504 if (UNTAG_Bool(variable8
)) { /* and */
505 variable8
= variable5
;
506 variable8
= ATTR_array___AbstractArray____length(variable8
) /*Array::_length*/;
507 variable8
= TAG_Bool(UNTAG_Int( variable6
/*index*/)<UNTAG_Int(variable8
));
509 variable7
= variable8
;
510 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
511 variable7
= variable5
;
512 variable7
= ATTR_array___Array____items(variable7
) /*Array::_items*/;
513 variable7
= UNBOX_NativeArray(variable7
)[UNTAG_Int( variable6
/*index*/)];
515 return_label20
: while(false);
516 variable5
= variable7
;
517 variable3
= variable5
/*cur_m=*/;
518 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*cur_m*/) /*MMMethod::global*/;
519 variable5
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable5
) /*MMGlobalProperty::intro*/;
520 variable5
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable5
) /*MMConcreteProperty::local_class*/;
521 variable4
= variable5
/*cur_c=*/;
523 variable5
= TAG_Int(0);
524 while (true) { /*while*/
525 variable6
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*TypingVisitor::local_class*/;
526 variable6
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable6
) /*MMSrcLocalClass::cshe*/;
527 variable6
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable6
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable6
) /*PartialOrderElement::direct_greaters*/;
528 variable6
= ((array___AbstractArray___length_t
)CALL(variable6
,COLOR_abstract_collection___Collection___length
))(variable6
) /*Array::length*/;
529 variable6
= TAG_Bool(UNTAG_Int( variable5
/*j*/)<UNTAG_Int(variable6
));
530 if (!UNTAG_Bool(variable6
)) break; /* while*/
531 variable7
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*TypingVisitor::local_class*/;
532 variable7
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable7
) /*MMSrcLocalClass::cshe*/;
533 variable7
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable7
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable7
) /*PartialOrderElement::direct_greaters*/;
534 variable8
= variable5
/*j*/;
535 variable9
= TAG_Bool(UNTAG_Int( variable8
/*index*/)>=UNTAG_Int( TAG_Int(0)));
536 variable10
= variable9
;
537 if (UNTAG_Bool(variable10
)) { /* and */
538 variable10
= variable7
;
539 variable10
= ATTR_array___AbstractArray____length(variable10
) /*Array::_length*/;
540 variable10
= TAG_Bool(UNTAG_Int( variable8
/*index*/)<UNTAG_Int(variable10
));
542 variable9
= variable10
;
543 if (!UNTAG_Bool(variable9
)) { fprintf(stderr
, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
544 variable9
= variable7
;
545 variable9
= ATTR_array___Array____items(variable9
) /*Array::_items*/;
546 variable9
= UNBOX_NativeArray(variable9
)[UNTAG_Int( variable8
/*index*/)];
548 return_label22
: while(false);
549 variable7
= variable9
;
550 variable6
= variable7
;
551 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::==*/)))))));
552 variable8
= variable7
;
553 if (UNTAG_Bool(variable8
)) { /* and */
554 variable8
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable6
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable6
/*c*/) /*MMLocalClass::cshe*/;
555 variable8
= ((partial_order___PartialOrderElement_____leq_t
)CALL(variable8
,COLOR_partial_order___PartialOrderElement_____leq
))(variable8
, variable4
/*cur_c*/) /*PartialOrderElement::<=*/;
557 variable7
= variable8
;
558 if (UNTAG_Bool(variable7
)) { /*if*/
559 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::==*/)))));
560 if (UNTAG_Bool(variable7
)) { /*if*/
561 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*j*/;
563 variable7
= ((typing___AConcreteInitPropdef___super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___super_init_calls
))( self
) /*AConcreteInitPropdef::super_init_calls*/;
564 ((array___AbstractArray___add_t
)CALL(variable7
,COLOR_abstract_collection___SimpleCollection___add
))(variable7
, variable3
/*cur_m*/) /*Array::add*/;
565 variable1
= TAG_Int(UNTAG_Int(variable1
)+UNTAG_Int( TAG_Int(1))) /*i*/;
566 variable7
= TAG_Bool(UNTAG_Int( variable1
/*i*/)<UNTAG_Int( variable2
/*l*/));
567 if (UNTAG_Bool(variable7
)) { /*if*/
568 variable7
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
569 variable8
= variable1
/*i*/;
570 variable9
= TAG_Bool(UNTAG_Int( variable8
/*index*/)>=UNTAG_Int( TAG_Int(0)));
571 variable10
= variable9
;
572 if (UNTAG_Bool(variable10
)) { /* and */
573 variable10
= variable7
;
574 variable10
= ATTR_array___AbstractArray____length(variable10
) /*Array::_length*/;
575 variable10
= TAG_Bool(UNTAG_Int( variable8
/*index*/)<UNTAG_Int(variable10
));
577 variable9
= variable10
;
578 if (!UNTAG_Bool(variable9
)) { fprintf(stderr
, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
579 variable9
= variable7
;
580 variable9
= ATTR_array___Array____items(variable9
) /*Array::_items*/;
581 variable9
= UNBOX_NativeArray(variable9
)[UNTAG_Int( variable8
/*index*/)];
583 return_label23
: while(false);
584 variable7
= variable9
;
585 variable3
= variable7
/*cur_m=*/;
586 variable7
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*cur_m*/) /*MMMethod::global*/;
587 variable7
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable7
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable7
) /*MMGlobalProperty::intro*/;
588 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable7
) /*MMConcreteProperty::local_class*/;
589 variable4
= variable7
/*cur_c=*/;
591 variable3
= NIT_NULL
/*null*/ /*cur_m=*/;
592 variable4
= NIT_NULL
/*null*/ /*cur_c=*/;
595 variable8
= ((syntax_base___AMethPropdef___method_t
)CALL( self
,COLOR_syntax_base___AMethPropdef___method
))( self
) /*AConcreteInitPropdef::method*/;
596 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*/;
597 variable7
= variable8
;
598 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::==*/)))))));
599 if (UNTAG_Bool(variable8
)) { /*if*/
600 variable8
= ((typing___AConcreteInitPropdef___super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___super_init_calls
))( self
) /*AConcreteInitPropdef::super_init_calls*/;
601 ((array___AbstractArray___add_t
)CALL(variable8
,COLOR_abstract_collection___SimpleCollection___add
))(variable8
, variable7
/*p*/) /*Array::add*/;
603 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*j*/;
605 continue_21
: while(0);
609 tracehead
= trace
.prev
;
612 void typing___PParam___after_typing(val_t self
, val_t param0
) {
613 struct trace_t trace
= {NULL
, "typing::PParam::after_typing (src/syntax//typing.nit:267,2--270:30)"};
617 trace
.prev
= tracehead
; tracehead
= &trace
;
619 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
620 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::==*/)))))));
621 if (UNTAG_Bool(variable1
)) { /*if*/
622 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
623 variable2
= ((syntax_base___PParam___variable_t
)CALL( self
,COLOR_syntax_base___PParam___variable
))( self
) /*PParam::variable*/;
624 ((typing___VariableContext___add_t
)CALL(variable1
,COLOR_typing___VariableContext___add
))(variable1
, variable2
) /*VariableContext::add*/;
626 tracehead
= trace
.prev
;
629 val_t
typing___PType___stype(val_t self
) {
630 struct trace_t trace
= {NULL
, "typing::PType::stype (src/syntax//typing.nit:276,2--29)"};
631 trace
.prev
= tracehead
; tracehead
= &trace
;
632 tracehead
= trace
.prev
;
633 return ATTR_typing___PType____stype( self
) /*PType::_stype*/;
635 void typing___PType___after_typing(val_t self
, val_t param0
) {
636 struct trace_t trace
= {NULL
, "typing::PType::after_typing (src/syntax//typing.nit:277,2--279:22)"};
639 trace
.prev
= tracehead
; tracehead
= &trace
;
641 variable1
= ((syntax_base___PType___get_stype_t
)CALL( self
,COLOR_syntax_base___PType___get_stype
))( self
, variable0
/*v*/) /*PType::get_stype*/;
642 ATTR_typing___PType____stype( self
) /*PType::_stype*/ = variable1
;
643 tracehead
= trace
.prev
;
646 val_t
typing___PExpr___stype(val_t self
) {
647 struct trace_t trace
= {NULL
, "typing::PExpr::stype (src/syntax//typing.nit:284,2--35)"};
648 trace
.prev
= tracehead
; tracehead
= &trace
;
649 tracehead
= trace
.prev
;
650 return ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/;
652 val_t
typing___PExpr___is_implicit_self(val_t self
) {
653 struct trace_t trace
= {NULL
, "typing::PExpr::is_implicit_self (src/syntax//typing.nit:286,2--287:44)"};
655 trace
.prev
= tracehead
; tracehead
= &trace
;
656 variable0
= TAG_Bool(false);
658 return_label26
: while(false);
659 tracehead
= trace
.prev
;
662 val_t
typing___PExpr___is_self(val_t self
) {
663 struct trace_t trace
= {NULL
, "typing::PExpr::is_self (src/syntax//typing.nit:289,2--290:35)"};
665 trace
.prev
= tracehead
; tracehead
= &trace
;
666 variable0
= TAG_Bool(false);
668 return_label27
: while(false);
669 tracehead
= trace
.prev
;
672 val_t
typing___PExpr___is_variable(val_t self
) {
673 struct trace_t trace
= {NULL
, "typing::PExpr::is_variable (src/syntax//typing.nit:292,2--293:39)"};
675 trace
.prev
= tracehead
; tracehead
= &trace
;
676 variable0
= TAG_Bool(false);
678 return_label28
: while(false);
679 tracehead
= trace
.prev
;
682 val_t
typing___PExpr___if_true_variable_ctx(val_t self
) {
683 struct trace_t trace
= {NULL
, "typing::PExpr::if_true_variable_ctx (src/syntax//typing.nit:295,2--296:61)"};
684 trace
.prev
= tracehead
; tracehead
= &trace
;
685 tracehead
= trace
.prev
;
686 return ATTR_typing___PExpr____if_true_variable_ctx( self
) /*PExpr::_if_true_variable_ctx*/;
688 val_t
typing___AVardeclExpr___variable(val_t self
) {
689 struct trace_t trace
= {NULL
, "typing::AVardeclExpr::variable (src/syntax//typing.nit:300,2--301:41)"};
690 trace
.prev
= tracehead
; tracehead
= &trace
;
691 tracehead
= trace
.prev
;
692 return ATTR_typing___AVardeclExpr____variable( self
) /*AVardeclExpr::_variable*/;
694 void typing___AVardeclExpr___after_typing(val_t self
, val_t param0
) {
695 struct trace_t trace
= {NULL
, "typing::AVardeclExpr::after_typing (src/syntax//typing.nit:303,2--315:26)"};
700 trace
.prev
= tracehead
; tracehead
= &trace
;
702 variable2
= ((parser_nodes___AVardeclExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_id
))( self
) /*AVardeclExpr::n_id*/;
703 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*TId::to_symbol*/;
704 variable3
= NEW_syntax_base___Variable___init(variable2
, self
); /*new Variable*/
705 variable2
= variable3
;
706 variable1
= variable2
;
707 ATTR_typing___AVardeclExpr____variable( self
) /*AVardeclExpr::_variable*/ = variable1
/*va*/;
708 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
709 ((typing___VariableContext___add_t
)CALL(variable2
,COLOR_typing___VariableContext___add
))(variable2
, variable1
/*va*/) /*VariableContext::add*/;
710 variable2
= ((parser_nodes___AVardeclExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_type
))( self
) /*AVardeclExpr::n_type*/;
711 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::==*/)))))));
712 if (UNTAG_Bool(variable2
)) { /*if*/
713 variable2
= ((parser_nodes___AVardeclExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_type
))( self
) /*AVardeclExpr::n_type*/;
714 variable2
= ((typing___PType___stype_t
)CALL(variable2
,COLOR_typing___PType___stype
))(variable2
) /*PType::stype*/;
715 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*va*/, variable2
) /*Variable::stype=*/;
716 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
717 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::==*/)))))));
718 if (UNTAG_Bool(variable2
)) { /*if*/
719 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
720 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
721 variable3
= ((syntax_base___Variable___stype_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype
))( variable1
/*va*/) /*Variable::stype*/;
722 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
725 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
726 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
727 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*va*/, variable2
) /*Variable::stype=*/;
729 tracehead
= trace
.prev
;
732 void typing___ABlockExpr___accept_typing(val_t self
, val_t param0
) {
733 struct trace_t trace
= {NULL
, "typing::ABlockExpr::accept_typing (src/syntax//typing.nit:321,2--328:30)"};
737 trace
.prev
= tracehead
; tracehead
= &trace
;
739 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
740 variable1
= variable2
;
741 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
742 variable2
= ((typing___VariableContext___sub_t
)CALL(variable2
,COLOR_typing___VariableContext___sub
))(variable2
) /*VariableContext::sub*/;
743 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
744 ((typing___ABlockExpr___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___ABlockExpr___accept_typing
))( self
, param0
) /*super ABlockExpr::accept_typing*/;
745 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
746 tracehead
= trace
.prev
;
749 void typing___AReturnExpr___after_typing(val_t self
, val_t param0
) {
750 struct trace_t trace
= {NULL
, "typing::AReturnExpr::after_typing (src/syntax//typing.nit:333,2--341:40)"};
755 trace
.prev
= tracehead
; tracehead
= &trace
;
757 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
758 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMSrcLocalProperty::signature*/;
759 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
760 variable1
= variable2
;
761 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
762 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::==*/)))));
763 variable3
= variable2
;
764 if (UNTAG_Bool(variable3
)) { /* and */
765 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::==*/)))))));
767 variable2
= variable3
;
768 if (UNTAG_Bool(variable2
)) { /*if*/
769 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: Return without value in a function."), TAG_Int(42)); /*new String*/
770 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
772 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
773 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::==*/)))))));
774 variable3
= variable2
;
775 if (UNTAG_Bool(variable3
)) { /* and */
776 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::==*/)))));
778 variable2
= variable3
;
779 if (UNTAG_Bool(variable2
)) { /*if*/
780 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: Return with value in a procedure."), TAG_Int(40)); /*new String*/
781 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
783 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
784 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::==*/)))))));
785 variable3
= variable2
;
786 if (UNTAG_Bool(variable3
)) { /* and */
787 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::==*/)))))));
789 variable2
= variable3
;
790 if (UNTAG_Bool(variable2
)) { /*if*/
791 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
792 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
793 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable1
/*t*/) /*TypingVisitor::check_conform*/;
797 tracehead
= trace
.prev
;
800 void typing___AIfExpr___accept_typing(val_t self
, val_t param0
) {
801 struct trace_t trace
= {NULL
, "typing::AIfExpr::accept_typing (src/syntax//typing.nit:347,2--363:31)"};
806 trace
.prev
= tracehead
; tracehead
= &trace
;
808 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
809 variable1
= variable2
;
810 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
811 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
812 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
813 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
814 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
815 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
816 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
817 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
818 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::==*/)))))));
819 if (UNTAG_Bool(variable2
)) { /*if*/
820 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
821 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
822 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
824 variable2
= ((parser_nodes___AIfExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_then
))( self
) /*AIfExpr::n_then*/;
825 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
826 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
827 variable2
= ((parser_nodes___AIfExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_else
))( self
) /*AIfExpr::n_else*/;
828 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::==*/)))))));
829 if (UNTAG_Bool(variable2
)) { /*if*/
830 variable2
= ((parser_nodes___AIfExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_else
))( self
) /*AIfExpr::n_else*/;
831 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
832 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
834 tracehead
= trace
.prev
;
837 void typing___AWhileExpr___after_typing(val_t self
, val_t param0
) {
838 struct trace_t trace
= {NULL
, "typing::AWhileExpr::after_typing (src/syntax//typing.nit:369,2--371:49)"};
842 trace
.prev
= tracehead
; tracehead
= &trace
;
844 variable1
= ((parser_nodes___AWhileExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AWhileExpr___n_expr
))( self
) /*AWhileExpr::n_expr*/;
845 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
846 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
847 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*TypingVisitor::check_conform*/;
848 tracehead
= trace
.prev
;
851 void typing___AForExpr___after_typing(val_t self
, val_t param0
) {
852 struct trace_t trace
= {NULL
, "typing::AForExpr::after_typing (src/syntax//typing.nit:376,2--381:30)"};
856 trace
.prev
= tracehead
; tracehead
= &trace
;
858 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
859 variable1
= variable2
;
860 variable2
= TAG_Bool(( variable1
/*varctx*/==NIT_NULL
) || VAL_ISA( variable1
/*varctx*/, COLOR_SubVariableContext
, ID_SubVariableContext
)) /*cast SubVariableContext*/;
861 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert failed: src/syntax//typing.nit:380,3--38\n"); nit_exit(1);}
862 variable2
= ((typing___SubVariableContext___prev_t
)CALL( variable1
/*varctx*/,COLOR_typing___SubVariableContext___prev
))( variable1
/*varctx*/) /*SubVariableContext::prev*/;
863 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
864 tracehead
= trace
.prev
;
867 val_t
typing___AForVardeclExpr___variable(val_t self
) {
868 struct trace_t trace
= {NULL
, "typing::AForVardeclExpr::variable (src/syntax//typing.nit:386,2--387:34)"};
869 trace
.prev
= tracehead
; tracehead
= &trace
;
870 tracehead
= trace
.prev
;
871 return ATTR_typing___AForVardeclExpr____variable( self
) /*AForVardeclExpr::_variable*/;
873 void typing___AForVardeclExpr___after_typing(val_t self
, val_t param0
) {
874 struct trace_t trace
= {NULL
, "typing::AForVardeclExpr::after_typing (src/syntax//typing.nit:389,2--413:20)"};
880 static val_t once_value_variable4_36
; static int once_bool_variable4_36
;
883 static val_t once_value_variable6_37
; static int once_bool_variable6_37
;
889 trace
.prev
= tracehead
; tracehead
= &trace
;
891 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
892 variable1
= ((typing___VariableContext___sub_t
)CALL(variable1
,COLOR_typing___VariableContext___sub
))(variable1
) /*VariableContext::sub*/;
893 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
894 variable2
= ((parser_nodes___AForVardeclExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_id
))( self
) /*AForVardeclExpr::n_id*/;
895 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*TId::to_symbol*/;
896 variable3
= NEW_syntax_base___Variable___init(variable2
, self
); /*new Variable*/
897 variable2
= variable3
;
898 variable1
= variable2
;
899 ATTR_typing___AForVardeclExpr____variable( self
) /*AForVardeclExpr::_variable*/ = variable1
/*variable*/;
900 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
901 ((typing___VariableContext___add_t
)CALL(variable2
,COLOR_typing___VariableContext___add
))(variable2
, variable1
/*variable*/) /*VariableContext::add*/;
902 variable3
= ((parser_nodes___AForVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_expr
))( self
) /*AForVardeclExpr::n_expr*/;
903 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
904 variable2
= variable3
;
905 variable3
= ((syntax_base___AbsSyntaxVisitor___type_collection_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_collection
))( variable0
/*v*/) /*TypingVisitor::type_collection*/;
906 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*/;
907 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
910 if (once_bool_variable4_36
) variable4
= once_value_variable4_36
;
912 variable4
= NEW_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
913 variable4
= ((symbol___String___to_symbol_t
)CALL(variable4
,COLOR_symbol___String___to_symbol
))(variable4
) /*String::to_symbol*/;
914 once_value_variable4_36
= variable4
;
915 once_bool_variable4_36
= true;
917 variable4
= ((static_type___MMType___select_method_t
)CALL( variable2
/*expr_type*/,COLOR_static_type___MMType___select_method
))( variable2
/*expr_type*/, variable4
) /*MMType::select_method*/;
918 variable3
= variable4
;
919 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::==*/)))));
920 if (UNTAG_Bool(variable4
)) { /*if*/
921 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: Collection MUST have an iterate method"), TAG_Int(45)); /*new String*/
922 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
925 variable5
= ((genericity___MMLocalProperty___signature_t
)CALL( variable3
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable3
/*prop*/) /*MMMethod::signature*/;
926 variable5
= ((static_type___MMSignature___return_type_t
)CALL(variable5
,COLOR_static_type___MMSignature___return_type
))(variable5
) /*MMSignature::return_type*/;
927 variable4
= variable5
;
928 if (once_bool_variable6_37
) variable6
= once_value_variable6_37
;
930 variable6
= NEW_string___String___with_native(BOX_NativeString("item"), TAG_Int(4)); /*new String*/
931 variable6
= ((symbol___String___to_symbol_t
)CALL(variable6
,COLOR_symbol___String___to_symbol
))(variable6
) /*String::to_symbol*/;
932 once_value_variable6_37
= variable6
;
933 once_bool_variable6_37
= true;
935 variable6
= ((static_type___MMType___select_method_t
)CALL( variable4
/*iter_type*/,COLOR_static_type___MMType___select_method
))( variable4
/*iter_type*/, variable6
) /*MMType::select_method*/;
936 variable5
= variable6
;
937 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::==*/)))));
938 if (UNTAG_Bool(variable6
)) { /*if*/
939 variable6
= NEW_string___String___init(); /*new String*/
940 variable7
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
941 variable8
= variable7
;
942 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
943 variable9
= variable4
/*iter_type*/;
944 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
945 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable9
) /*String::append*/;
946 variable10
= NEW_string___String___with_native(BOX_NativeString(" MUST have an item method"), TAG_Int(25)); /*new String*/
947 variable11
= variable10
;
948 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable11
) /*String::append*/;
949 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable6
) /*TypingVisitor::error*/;
952 variable7
= ((genericity___MMLocalProperty___signature_t
)CALL( variable5
/*prop2*/,COLOR_static_type___MMLocalProperty___signature
))( variable5
/*prop2*/) /*MMMethod::signature*/;
953 variable7
= ((static_type___MMSignature___return_type_t
)CALL(variable7
,COLOR_static_type___MMSignature___return_type
))(variable7
) /*MMSignature::return_type*/;
954 variable6
= variable7
;
955 variable7
= ((parser_nodes___AForVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_expr
))( self
) /*AForVardeclExpr::n_expr*/;
956 variable7
= ((typing___PExpr___is_self_t
)CALL(variable7
,COLOR_typing___PExpr___is_self
))(variable7
) /*PExpr::is_self*/;
957 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable7
)))) { /*if*/
958 variable7
= ((static_type___MMType___not_for_self_t
)CALL( variable6
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable6
/*t*/) /*MMType::not_for_self*/;
959 variable6
= variable7
/*t=*/;
961 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*variable*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*variable*/, variable6
/*t*/) /*Variable::stype=*/;
962 return_label35
: while(false);
963 tracehead
= trace
.prev
;
966 void typing___AAssertExpr___after_typing(val_t self
, val_t param0
) {
967 struct trace_t trace
= {NULL
, "typing::AAssertExpr::after_typing (src/syntax//typing.nit:418,2--421:90)"};
971 trace
.prev
= tracehead
; tracehead
= &trace
;
973 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
974 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
975 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
976 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*TypingVisitor::check_conform*/;
977 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
978 variable1
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable1
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable1
) /*PExpr::if_true_variable_ctx*/;
979 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::==*/)))))));
980 if (UNTAG_Bool(variable1
)) { /*if*/
981 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
982 variable1
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable1
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable1
) /*PExpr::if_true_variable_ctx*/;
983 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
985 tracehead
= trace
.prev
;
988 val_t
typing___AVarFormExpr___variable(val_t self
) {
989 struct trace_t trace
= {NULL
, "typing::AVarFormExpr::variable (src/syntax//typing.nit:426,2--427:50)"};
990 trace
.prev
= tracehead
; tracehead
= &trace
;
991 tracehead
= trace
.prev
;
992 return ATTR_typing___AVarFormExpr____variable( self
) /*AVarFormExpr::_variable*/;
994 void typing___AVarFormExpr___variable__eq(val_t self
, val_t param0
) {
995 struct trace_t trace
= {NULL
, "typing::AVarFormExpr::variable= (src/syntax//typing.nit:426,2--427:50)"};
996 trace
.prev
= tracehead
; tracehead
= &trace
;
997 ATTR_typing___AVarFormExpr____variable( self
) /*AVarFormExpr::_variable*/ = param0
;
998 tracehead
= trace
.prev
;
1001 val_t
typing___AVarExpr___is_variable(val_t self
) {
1002 struct trace_t trace
= {NULL
, "typing::AVarExpr::is_variable (src/syntax//typing.nit:431,2--38)"};
1004 trace
.prev
= tracehead
; tracehead
= &trace
;
1005 variable0
= TAG_Bool(true);
1006 goto return_label39
;
1007 return_label39
: while(false);
1008 tracehead
= trace
.prev
;
1011 void typing___AVarExpr___after_typing(val_t self
, val_t param0
) {
1012 struct trace_t trace
= {NULL
, "typing::AVarExpr::after_typing (src/syntax//typing.nit:433,2--435:40)"};
1016 trace
.prev
= tracehead
; tracehead
= &trace
;
1018 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1019 variable2
= ((typing___AVarFormExpr___variable_t
)CALL( self
,COLOR_typing___AVarFormExpr___variable
))( self
) /*AVarExpr::variable*/;
1020 variable1
= ((typing___VariableContext___stype_t
)CALL(variable1
,COLOR_typing___VariableContext___stype
))(variable1
, variable2
) /*VariableContext::stype*/;
1021 ATTR_typing___PExpr____stype( self
) /*AVarExpr::_stype*/ = variable1
;
1022 tracehead
= trace
.prev
;
1025 void typing___AVarAssignExpr___after_typing(val_t self
, val_t param0
) {
1026 struct trace_t trace
= {NULL
, "typing::AVarAssignExpr::after_typing (src/syntax//typing.nit:440,2--443:40)"};
1031 trace
.prev
= tracehead
; tracehead
= &trace
;
1033 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1034 variable3
= ((typing___AVarFormExpr___variable_t
)CALL( self
,COLOR_typing___AVarFormExpr___variable
))( self
) /*AVarAssignExpr::variable*/;
1035 variable2
= ((typing___VariableContext___stype_t
)CALL(variable2
,COLOR_typing___VariableContext___stype
))(variable2
, variable3
) /*VariableContext::stype*/;
1036 variable1
= variable2
;
1037 variable2
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AVarAssignExpr::n_value*/;
1038 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1039 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable1
/*t*/) /*TypingVisitor::check_conform*/;
1040 tracehead
= trace
.prev
;
1043 void typing___AReassignFormExpr___do_lvalue_typing(val_t self
, val_t param0
, val_t param1
) {
1044 struct trace_t trace
= {NULL
, "typing::AReassignFormExpr::do_lvalue_typing (src/syntax//typing.nit:448,2--464:68)"};
1058 trace
.prev
= tracehead
; tracehead
= &trace
;
1061 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::==*/)))));
1062 if (UNTAG_Bool(variable2
)) { /*if*/
1063 goto return_label42
;
1065 variable3
= ((parser_nodes___AReassignFormExpr___n_assign_op_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_assign_op
))( self
) /*AReassignFormExpr::n_assign_op*/;
1066 variable3
= ((typing___PAssignOp___method_name_t
)CALL(variable3
,COLOR_typing___PAssignOp___method_name
))(variable3
) /*PAssignOp::method_name*/;
1067 variable2
= variable3
;
1068 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*/;
1069 variable3
= variable4
;
1070 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::==*/)))));
1071 if (UNTAG_Bool(variable4
)) { /*if*/
1072 variable4
= NEW_string___String___init(); /*new String*/
1073 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
1074 variable6
= variable5
;
1075 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1076 variable7
= variable2
/*name*/;
1077 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1078 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1079 variable8
= NEW_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
1080 variable9
= variable8
;
1081 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1082 variable10
= variable1
/*type_lvalue*/;
1083 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1084 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1085 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1086 variable12
= variable11
;
1087 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1088 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
1089 goto return_label42
;
1091 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMMethod::global*/;
1092 variable5
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
1093 ((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*/;
1094 variable5
= ((genericity___MMLocalProperty___signature_t
)CALL( variable3
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable3
/*prop*/) /*MMMethod::signature*/;
1095 variable4
= variable5
;
1096 ATTR_typing___AReassignFormExpr____assign_method( self
) /*AReassignFormExpr::_assign_method*/ = variable3
/*prop*/;
1097 variable5
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
1098 variable5
= ((typing___PExpr___stype_t
)CALL(variable5
,COLOR_syntax_base___PExpr___stype
))(variable5
) /*PExpr::stype*/;
1099 variable6
= ((static_type___MMSignature_____bra_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature_____bra
))( variable4
/*psig*/, TAG_Int(0)) /*MMSignature::[]*/;
1100 variable6
= ((static_type___MMType___not_for_self_t
)CALL(variable6
,COLOR_static_type___MMType___not_for_self
))(variable6
) /*MMType::not_for_self*/;
1101 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable5
, variable6
) /*TypingVisitor::check_conform*/;
1102 variable5
= ((static_type___MMSignature___return_type_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature___return_type
))( variable4
/*psig*/) /*MMSignature::return_type*/;
1103 variable5
= ((static_type___MMType___not_for_self_t
)CALL(variable5
,COLOR_static_type___MMType___not_for_self
))(variable5
) /*MMType::not_for_self*/;
1104 variable6
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
1105 variable6
= ((typing___PExpr___stype_t
)CALL(variable6
,COLOR_syntax_base___PExpr___stype
))(variable6
) /*PExpr::stype*/;
1106 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable5
, variable6
) /*TypingVisitor::check_conform*/;
1107 return_label42
: while(false);
1108 tracehead
= trace
.prev
;
1111 val_t
typing___AReassignFormExpr___assign_method(val_t self
) {
1112 struct trace_t trace
= {NULL
, "typing::AReassignFormExpr::assign_method (src/syntax//typing.nit:467,2--468:39)"};
1113 trace
.prev
= tracehead
; tracehead
= &trace
;
1114 tracehead
= trace
.prev
;
1115 return ATTR_typing___AReassignFormExpr____assign_method( self
) /*AReassignFormExpr::_assign_method*/;
1117 val_t
typing___PAssignOp___method_name(val_t self
) {
1118 struct trace_t trace
= {NULL
, "typing::PAssignOp::method_name (src/syntax//typing.nit:472,2--25)"};
1119 trace
.prev
= tracehead
; tracehead
= &trace
;
1120 fprintf(stderr
, "Deferred method method_name called (src/syntax//typing.nit:472,2)\n");
1122 tracehead
= trace
.prev
;
1125 val_t
typing___APlusAssignOp___method_name(val_t self
) {
1126 struct trace_t trace
= {NULL
, "typing::APlusAssignOp::method_name (src/syntax//typing.nit:475,2--52)"};
1128 static val_t once_value_variable0_44
; static int once_bool_variable0_44
;
1129 trace
.prev
= tracehead
; tracehead
= &trace
;
1130 if (once_bool_variable0_44
) variable0
= once_value_variable0_44
;
1132 variable0
= NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
1133 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
1134 once_value_variable0_44
= variable0
;
1135 once_bool_variable0_44
= true;
1137 goto return_label43
;
1138 return_label43
: while(false);
1139 tracehead
= trace
.prev
;
1142 val_t
typing___AMinusAssignOp___method_name(val_t self
) {
1143 struct trace_t trace
= {NULL
, "typing::AMinusAssignOp::method_name (src/syntax//typing.nit:478,2--52)"};
1145 static val_t once_value_variable0_46
; static int once_bool_variable0_46
;
1146 trace
.prev
= tracehead
; tracehead
= &trace
;
1147 if (once_bool_variable0_46
) variable0
= once_value_variable0_46
;
1149 variable0
= NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
1150 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
1151 once_value_variable0_46
= variable0
;
1152 once_bool_variable0_46
= true;
1154 goto return_label45
;
1155 return_label45
: while(false);
1156 tracehead
= trace
.prev
;
1159 void typing___AVarReassignExpr___after_typing(val_t self
, val_t param0
) {
1160 struct trace_t trace
= {NULL
, "typing::AVarReassignExpr::after_typing (src/syntax//typing.nit:482,2--485:23)"};
1165 trace
.prev
= tracehead
; tracehead
= &trace
;
1167 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1168 variable3
= ((typing___AVarFormExpr___variable_t
)CALL( self
,COLOR_typing___AVarFormExpr___variable
))( self
) /*AVarReassignExpr::variable*/;
1169 variable2
= ((typing___VariableContext___stype_t
)CALL(variable2
,COLOR_typing___VariableContext___stype
))(variable2
, variable3
) /*VariableContext::stype*/;
1170 variable1
= variable2
;
1171 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable1
/*t*/) /*AVarReassignExpr::do_lvalue_typing*/;
1172 tracehead
= trace
.prev
;
1175 void typing___ASelfExpr___after_typing(val_t self
, val_t param0
) {
1176 struct trace_t trace
= {NULL
, "typing::ASelfExpr::after_typing (src/syntax//typing.nit:490,2--493:22)"};
1179 trace
.prev
= tracehead
; tracehead
= &trace
;
1181 variable1
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1182 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::==*/)))))));
1183 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: src/syntax//typing.nit:492,3--28\n"); nit_exit(1);}
1184 variable1
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1185 ATTR_typing___PExpr____stype( self
) /*ASelfExpr::_stype*/ = variable1
;
1186 tracehead
= trace
.prev
;
1189 val_t
typing___ASelfExpr___is_self(val_t self
) {
1190 struct trace_t trace
= {NULL
, "typing::ASelfExpr::is_self (src/syntax//typing.nit:496,9--41)"};
1192 trace
.prev
= tracehead
; tracehead
= &trace
;
1193 variable0
= TAG_Bool(true);
1194 goto return_label49
;
1195 return_label49
: while(false);
1196 tracehead
= trace
.prev
;
1199 val_t
typing___AImplicitSelfExpr___is_implicit_self(val_t self
) {
1200 struct trace_t trace
= {NULL
, "typing::AImplicitSelfExpr::is_implicit_self (src/syntax//typing.nit:500,9--50)"};
1202 trace
.prev
= tracehead
; tracehead
= &trace
;
1203 variable0
= TAG_Bool(true);
1204 goto return_label50
;
1205 return_label50
: while(false);
1206 tracehead
= trace
.prev
;
1209 void typing___AIfexprExpr___accept_typing(val_t self
, val_t param0
) {
1210 struct trace_t trace
= {NULL
, "typing::AIfexprExpr::accept_typing (src/syntax//typing.nit:504,2--525:12)"};
1224 trace
.prev
= tracehead
; tracehead
= &trace
;
1226 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1227 variable1
= variable2
;
1228 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1229 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1230 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1231 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1232 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::==*/)))))));
1233 if (UNTAG_Bool(variable2
)) { /*if*/
1234 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1235 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1236 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
1238 variable2
= ((parser_nodes___AIfexprExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_then
))( self
) /*AIfexprExpr::n_then*/;
1239 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1240 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
1241 variable2
= ((parser_nodes___AIfexprExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_else
))( self
) /*AIfexprExpr::n_else*/;
1242 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1243 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1244 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1245 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1246 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
1247 variable3
= ((parser_nodes___AIfexprExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_then
))( self
) /*AIfexprExpr::n_then*/;
1248 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
1249 variable2
= variable3
;
1250 variable4
= ((parser_nodes___AIfexprExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_else
))( self
) /*AIfexprExpr::n_else*/;
1251 variable4
= ((typing___PExpr___stype_t
)CALL(variable4
,COLOR_syntax_base___PExpr___stype
))(variable4
) /*PExpr::stype*/;
1252 variable3
= variable4
;
1253 variable4
= ((static_type___MMType_____l_t
)CALL( variable2
/*t*/,COLOR_static_type___MMType_____l
))( variable2
/*t*/, variable3
/*te*/) /*MMType::<*/;
1254 if (UNTAG_Bool(variable4
)) { /*if*/
1255 variable2
= variable3
/*te*/ /*t=*/;
1257 variable4
= ((static_type___MMType_____l_t
)CALL( variable3
/*te*/,COLOR_static_type___MMType_____l
))( variable3
/*te*/, variable2
/*t*/) /*MMType::<*/;
1258 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
1259 variable4
= NEW_string___String___init(); /*new String*/
1260 variable5
= NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
1261 variable6
= variable5
;
1262 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1263 variable7
= variable3
/*te*/;
1264 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1265 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1266 variable8
= NEW_string___String___with_native(BOX_NativeString(" is not a subtype of "), TAG_Int(21)); /*new String*/
1267 variable9
= variable8
;
1268 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1269 variable10
= variable2
/*t*/;
1270 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1271 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1272 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1273 variable12
= variable11
;
1274 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1275 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
1276 goto return_label51
;
1279 ATTR_typing___PExpr____stype( self
) /*AIfexprExpr::_stype*/ = variable2
/*t*/;
1280 return_label51
: while(false);
1281 tracehead
= trace
.prev
;
1284 void typing___ABoolExpr___after_typing(val_t self
, val_t param0
) {
1285 struct trace_t trace
= {NULL
, "typing::ABoolExpr::after_typing (src/syntax//typing.nit:530,2--532:22)"};
1288 trace
.prev
= tracehead
; tracehead
= &trace
;
1290 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1291 ATTR_typing___PExpr____stype( self
) /*ABoolExpr::_stype*/ = variable1
;
1292 tracehead
= trace
.prev
;
1295 void typing___AOrExpr___after_typing(val_t self
, val_t param0
) {
1296 struct trace_t trace
= {NULL
, "typing::AOrExpr::after_typing (src/syntax//typing.nit:537,2--541:22)"};
1300 trace
.prev
= tracehead
; tracehead
= &trace
;
1302 variable1
= ((parser_nodes___AOrExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AOrExpr___n_expr
))( self
) /*AOrExpr::n_expr*/;
1303 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1304 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1305 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*TypingVisitor::check_conform*/;
1306 variable1
= ((parser_nodes___AOrExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AOrExpr___n_expr2
))( self
) /*AOrExpr::n_expr2*/;
1307 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1308 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1309 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*TypingVisitor::check_conform*/;
1310 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1311 ATTR_typing___PExpr____stype( self
) /*AOrExpr::_stype*/ = variable1
;
1312 tracehead
= trace
.prev
;
1315 void typing___AAndExpr___accept_typing(val_t self
, val_t param0
) {
1316 struct trace_t trace
= {NULL
, "typing::AAndExpr::accept_typing (src/syntax//typing.nit:546,2--564:22)"};
1321 trace
.prev
= tracehead
; tracehead
= &trace
;
1323 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1324 variable1
= variable2
;
1325 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1326 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1327 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1328 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1329 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::==*/)))))));
1330 if (UNTAG_Bool(variable2
)) { /*if*/
1331 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1332 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1333 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
1335 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1336 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1337 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1338 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1339 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::==*/)))))));
1340 if (UNTAG_Bool(variable2
)) { /*if*/
1341 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1342 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1343 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*AAndExpr::_if_true_variable_ctx*/ = variable2
;
1345 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1346 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*AAndExpr::_if_true_variable_ctx*/ = variable2
;
1348 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
1349 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1350 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1351 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1352 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
1353 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1354 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1355 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1356 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*TypingVisitor::check_conform*/;
1357 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1358 ATTR_typing___PExpr____stype( self
) /*AAndExpr::_stype*/ = variable2
;
1359 tracehead
= trace
.prev
;
1362 void typing___ANotExpr___after_typing(val_t self
, val_t param0
) {
1363 struct trace_t trace
= {NULL
, "typing::ANotExpr::after_typing (src/syntax//typing.nit:569,2--572:22)"};
1367 trace
.prev
= tracehead
; tracehead
= &trace
;
1369 variable1
= ((parser_nodes___ANotExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ANotExpr___n_expr
))( self
) /*ANotExpr::n_expr*/;
1370 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1371 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1372 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*TypingVisitor::check_conform*/;
1373 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
1374 ATTR_typing___PExpr____stype( self
) /*ANotExpr::_stype*/ = variable1
;
1375 tracehead
= trace
.prev
;
1378 void typing___AIntExpr___after_typing(val_t self
, val_t param0
) {
1379 struct trace_t trace
= {NULL
, "typing::AIntExpr::after_typing (src/syntax//typing.nit:577,2--579:21)"};
1382 trace
.prev
= tracehead
; tracehead
= &trace
;
1384 variable1
= ((syntax_base___AbsSyntaxVisitor___type_int_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_int
))( variable0
/*v*/) /*TypingVisitor::type_int*/;
1385 ATTR_typing___PExpr____stype( self
) /*AIntExpr::_stype*/ = variable1
;
1386 tracehead
= trace
.prev
;
1389 void typing___AFloatExpr___after_typing(val_t self
, val_t param0
) {
1390 struct trace_t trace
= {NULL
, "typing::AFloatExpr::after_typing (src/syntax//typing.nit:585,2--587:23)"};
1393 trace
.prev
= tracehead
; tracehead
= &trace
;
1395 variable1
= ((syntax_base___AbsSyntaxVisitor___type_float_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_float
))( variable0
/*v*/) /*TypingVisitor::type_float*/;
1396 ATTR_typing___PExpr____stype( self
) /*AFloatExpr::_stype*/ = variable1
;
1397 tracehead
= trace
.prev
;
1400 void typing___ACharExpr___after_typing(val_t self
, val_t param0
) {
1401 struct trace_t trace
= {NULL
, "typing::ACharExpr::after_typing (src/syntax//typing.nit:592,2--594:22)"};
1404 trace
.prev
= tracehead
; tracehead
= &trace
;
1406 variable1
= ((syntax_base___AbsSyntaxVisitor___type_char_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_char
))( variable0
/*v*/) /*TypingVisitor::type_char*/;
1407 ATTR_typing___PExpr____stype( self
) /*ACharExpr::_stype*/ = variable1
;
1408 tracehead
= trace
.prev
;
1411 void typing___AStringFormExpr___after_typing(val_t self
, val_t param0
) {
1412 struct trace_t trace
= {NULL
, "typing::AStringFormExpr::after_typing (src/syntax//typing.nit:599,2--601:24)"};
1415 trace
.prev
= tracehead
; tracehead
= &trace
;
1417 variable1
= ((syntax_base___AbsSyntaxVisitor___type_string_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string
))( variable0
/*v*/) /*TypingVisitor::type_string*/;
1418 ATTR_typing___PExpr____stype( self
) /*AStringFormExpr::_stype*/ = variable1
;
1419 tracehead
= trace
.prev
;
1422 void typing___ASuperstringExpr___after_typing(val_t self
, val_t param0
) {
1423 struct trace_t trace
= {NULL
, "typing::ASuperstringExpr::after_typing (src/syntax//typing.nit:606,2--608:24)"};
1426 trace
.prev
= tracehead
; tracehead
= &trace
;
1428 variable1
= ((syntax_base___AbsSyntaxVisitor___type_string_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string
))( variable0
/*v*/) /*TypingVisitor::type_string*/;
1429 ATTR_typing___PExpr____stype( self
) /*ASuperstringExpr::_stype*/ = variable1
;
1430 tracehead
= trace
.prev
;
1433 void typing___ANullExpr___after_typing(val_t self
, val_t param0
) {
1434 struct trace_t trace
= {NULL
, "typing::ANullExpr::after_typing (src/syntax//typing.nit:613,2--615:22)"};
1437 trace
.prev
= tracehead
; tracehead
= &trace
;
1439 variable1
= ((syntax_base___AbsSyntaxVisitor___type_none_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_none
))( variable0
/*v*/) /*TypingVisitor::type_none*/;
1440 ATTR_typing___PExpr____stype( self
) /*ANullExpr::_stype*/ = variable1
;
1441 tracehead
= trace
.prev
;
1444 void typing___AArrayExpr___stype__eq(val_t self
, val_t param0
) {
1445 struct trace_t trace
= {NULL
, "typing::AArrayExpr::stype= (src/syntax//typing.nit:620,2--45)"};
1447 trace
.prev
= tracehead
; tracehead
= &trace
;
1449 ATTR_typing___PExpr____stype( self
) /*AArrayExpr::_stype*/ = variable0
/*t*/;
1450 tracehead
= trace
.prev
;
1453 void typing___AArrayExpr___after_typing(val_t self
, val_t param0
) {
1454 struct trace_t trace
= {NULL
, "typing::AArrayExpr::after_typing (src/syntax//typing.nit:622,2--634:29)"};
1463 trace
.prev
= tracehead
; tracehead
= &trace
;
1465 variable1
= NIT_NULL
/*decl variable stype*/;
1466 variable2
= ((parser_nodes___AArrayExpr___n_exprs_t
)CALL( self
,COLOR_parser_nodes___AArrayExpr___n_exprs
))( self
) /*AArrayExpr::n_exprs*/;
1467 variable2
= ((list___List___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*List::iterator*/;
1468 while (true) { /*for*/
1469 variable3
= ((list___ListIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ListIterator::is_ok*/;
1470 if (!UNTAG_Bool(variable3
)) break; /*for*/
1471 variable3
= ((list___ListIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ListIterator::item*/;
1472 variable5
= ((typing___PExpr___stype_t
)CALL( variable3
/*n*/,COLOR_syntax_base___PExpr___stype
))( variable3
/*n*/) /*PExpr::stype*/;
1473 variable4
= variable5
;
1474 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::==*/)))));
1475 variable6
= variable5
;
1476 if (!UNTAG_Bool(variable6
)) { /* or */
1477 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::==*/)))))));
1478 variable7
= variable6
;
1479 if (UNTAG_Bool(variable7
)) { /* and */
1480 variable7
= ((static_type___MMType_____l_t
)CALL( variable1
/*stype*/,COLOR_static_type___MMType_____l
))( variable1
/*stype*/, variable4
/*ntype*/) /*MMType::<*/;
1482 variable6
= variable7
;
1484 variable5
= variable6
;
1485 if (UNTAG_Bool(variable5
)) { /*if*/
1486 variable1
= variable4
/*ntype*/ /*stype=*/;
1488 continue_64
: while(0);
1489 ((list___ListIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ListIterator::next*/;
1492 variable2
= ((parser_nodes___AArrayExpr___n_exprs_t
)CALL( self
,COLOR_parser_nodes___AArrayExpr___n_exprs
))( self
) /*AArrayExpr::n_exprs*/;
1493 variable2
= ((list___List___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*List::iterator*/;
1494 while (true) { /*for*/
1495 variable3
= ((list___ListIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ListIterator::is_ok*/;
1496 if (!UNTAG_Bool(variable3
)) break; /*for*/
1497 variable3
= ((list___ListIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ListIterator::item*/;
1498 variable4
= ((typing___PExpr___stype_t
)CALL( variable3
/*n*/,COLOR_syntax_base___PExpr___stype
))( variable3
/*n*/) /*PExpr::stype*/;
1499 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable4
, variable1
/*stype*/) /*TypingVisitor::check_conform*/;
1500 continue_65
: while(0);
1501 ((list___ListIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ListIterator::next*/;
1504 variable2
= ((syntax_base___AbsSyntaxVisitor___type_array_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array
))( variable0
/*v*/, variable1
/*stype*/) /*TypingVisitor::type_array*/;
1505 ATTR_typing___PExpr____stype( self
) /*AArrayExpr::_stype*/ = variable2
;
1506 tracehead
= trace
.prev
;
1509 void typing___ARangeExpr___after_typing(val_t self
, val_t param0
) {
1510 struct trace_t trace
= {NULL
, "typing::ARangeExpr::after_typing (src/syntax//typing.nit:639,2--654:29)"};
1523 trace
.prev
= tracehead
; tracehead
= &trace
;
1525 variable2
= ((parser_nodes___ARangeExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ARangeExpr___n_expr
))( self
) /*ARangeExpr::n_expr*/;
1526 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1527 variable1
= variable2
;
1528 variable3
= ((parser_nodes___ARangeExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___ARangeExpr___n_expr2
))( self
) /*ARangeExpr::n_expr2*/;
1529 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
1530 variable2
= variable3
;
1531 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::==*/)))));
1532 variable4
= variable3
;
1533 if (!UNTAG_Bool(variable4
)) { /* or */
1534 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::==*/)))));
1536 variable3
= variable4
;
1537 if (UNTAG_Bool(variable3
)) { /*if*/
1538 goto return_label66
;
1540 variable3
= ((static_type___MMType_____l_t
)CALL( variable1
/*ntype*/,COLOR_static_type___MMType_____l
))( variable1
/*ntype*/, variable2
/*ntype2*/) /*MMType::<*/;
1541 if (UNTAG_Bool(variable3
)) { /*if*/
1542 variable1
= variable2
/*ntype2*/ /*ntype=*/;
1544 variable3
= ((static_type___MMType_____l_t
)CALL( variable2
/*ntype2*/,COLOR_static_type___MMType_____l
))( variable2
/*ntype2*/, variable1
/*ntype*/) /*MMType::<*/;
1545 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
1546 variable3
= NEW_string___String___init(); /*new String*/
1547 variable4
= NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
1548 variable5
= variable4
;
1549 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1550 variable6
= variable1
/*ntype*/;
1551 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
1552 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable6
) /*String::append*/;
1553 variable7
= NEW_string___String___with_native(BOX_NativeString(" incompatible with "), TAG_Int(19)); /*new String*/
1554 variable8
= variable7
;
1555 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable8
) /*String::append*/;
1556 variable9
= variable2
/*ntype2*/;
1557 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1558 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1559 variable10
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1560 variable11
= variable10
;
1561 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable11
) /*String::append*/;
1562 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*TypingVisitor::error*/;
1563 goto return_label66
;
1566 variable4
= ((syntax_base___AbsSyntaxVisitor___type_discrete_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_discrete
))( variable0
/*v*/) /*TypingVisitor::type_discrete*/;
1567 variable3
= variable4
;
1568 ((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*/;
1569 variable4
= ((syntax_base___AbsSyntaxVisitor___type_range_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_range
))( variable0
/*v*/, variable1
/*ntype*/) /*TypingVisitor::type_range*/;
1570 ATTR_typing___PExpr____stype( self
) /*ARangeExpr::_stype*/ = variable4
;
1571 return_label66
: while(false);
1572 tracehead
= trace
.prev
;
1575 val_t
typing___ASuperExpr___init_in_superclass(val_t self
) {
1576 struct trace_t trace
= {NULL
, "typing::ASuperExpr::init_in_superclass (src/syntax//typing.nit:660,2--661:44)"};
1577 trace
.prev
= tracehead
; tracehead
= &trace
;
1578 tracehead
= trace
.prev
;
1579 return ATTR_typing___ASuperExpr____init_in_superclass( self
) /*ASuperExpr::_init_in_superclass*/;
1581 void typing___ASuperExpr___after_typing(val_t self
, val_t param0
) {
1582 struct trace_t trace
= {NULL
, "typing::ASuperExpr::after_typing (src/syntax//typing.nit:662,2--713:11)"};
1598 trace
.prev
= tracehead
; tracehead
= &trace
;
1600 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1601 variable2
= ((abstractmetamodel___MMConcreteProperty___cprhe_t
)CALL(variable2
,COLOR_abstractmetamodel___MMConcreteProperty___cprhe
))(variable2
) /*MMSrcLocalProperty::cprhe*/;
1602 variable2
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable2
) /*PartialOrderElement::direct_greaters*/;
1603 variable1
= variable2
;
1604 variable2
= ((array___AbstractArray___is_empty_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___is_empty
))( variable1
/*precs*/) /*Array::is_empty*/;
1605 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1606 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1607 ((abstractmetamodel___MMConcreteProperty___need_super__eq_t
)CALL(variable2
,COLOR_abstractmetamodel___MMConcreteProperty___need_super__eq
))(variable2
, TAG_Bool(true)) /*MMSrcLocalProperty::need_super=*/;
1609 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1610 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMSrcLocalProperty::global*/;
1611 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
1612 if (UNTAG_Bool(variable2
)) { /*if*/
1613 variable3
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*TypingVisitor::local_class*/;
1614 variable4
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1615 variable4
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable4
) /*MMSrcLocalProperty::name*/;
1616 variable3
= ((abstractmetamodel___MMLocalClass___super_methods_named_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___super_methods_named
))(variable3
, variable4
) /*MMSrcLocalClass::super_methods_named*/;
1617 variable2
= variable3
;
1618 variable3
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*base_precs*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*base_precs*/) /*Array::iterator*/;
1619 while (true) { /*for*/
1620 variable4
= ((array___ArrayIterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*ArrayIterator::is_ok*/;
1621 if (!UNTAG_Bool(variable4
)) break; /*for*/
1622 variable4
= ((array___ArrayIterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*ArrayIterator::item*/;
1623 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable4
/*p*/) /*MMLocalProperty::global*/;
1624 variable5
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable5
) /*MMGlobalProperty::is_init*/;
1625 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5
)))) { /*if*/
1626 variable5
= NEW_string___String___init(); /*new String*/
1627 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
1628 variable7
= variable6
;
1629 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
1630 variable8
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( variable4
/*p*/) /*MMLocalProperty::local_class*/;
1631 variable9
= variable8
;
1632 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1633 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable9
) /*String::append*/;
1634 variable10
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1635 variable11
= variable10
;
1636 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
1637 variable12
= variable4
/*p*/;
1638 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1639 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable12
) /*String::append*/;
1640 variable13
= NEW_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
1641 variable14
= variable13
;
1642 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable14
) /*String::append*/;
1643 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*TypingVisitor::error*/;
1645 variable5
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1646 variable6
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable4
/*p*/) /*MMLocalProperty::global*/;
1647 variable5
= ((static_type___MMType___select_property_t
)CALL(variable5
,COLOR_static_type___MMType___select_property
))(variable5
, variable6
) /*MMType::select_property*/;
1648 ((array___AbstractArray___add_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*precs*/, variable5
) /*Array::add*/;
1650 continue_68
: while(0);
1651 ((array___ArrayIterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*ArrayIterator::next*/;
1654 variable3
= ((array___AbstractArray___is_empty_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___is_empty
))( variable1
/*precs*/) /*Array::is_empty*/;
1655 if (UNTAG_Bool(variable3
)) { /*if*/
1656 variable3
= NEW_string___String___init(); /*new String*/
1657 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: No contructor named "), TAG_Int(27)); /*new String*/
1658 variable5
= variable4
;
1659 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1660 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1661 variable6
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable6
) /*MMSrcLocalProperty::name*/;
1662 variable7
= variable6
;
1663 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1664 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
1665 variable8
= NEW_string___String___with_native(BOX_NativeString(" in superclasses."), TAG_Int(17)); /*new String*/
1666 variable9
= variable8
;
1667 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1668 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*TypingVisitor::error*/;
1669 goto return_label67
;
1671 variable3
= ((array___AbstractArray___length_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___length
))( variable1
/*precs*/) /*Array::length*/;
1672 variable3
= TAG_Bool(UNTAG_Int(variable3
)>UNTAG_Int( TAG_Int(1)));
1673 if (UNTAG_Bool(variable3
)) { /*if*/
1674 variable3
= NEW_string___String___init(); /*new String*/
1675 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: Conflicting contructors named "), TAG_Int(37)); /*new String*/
1676 variable5
= variable4
;
1677 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1678 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1679 variable6
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable6
) /*MMSrcLocalProperty::name*/;
1680 variable7
= variable6
;
1681 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1682 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
1683 variable8
= NEW_string___String___with_native(BOX_NativeString(" in superclasses: "), TAG_Int(18)); /*new String*/
1684 variable9
= variable8
;
1685 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1686 variable10
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1687 variable10
= ((string___Collection___join_t
)CALL( variable1
/*precs*/,COLOR_string___Collection___join
))( variable1
/*precs*/, variable10
) /*Array::join*/;
1688 variable11
= variable10
;
1689 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable11
) /*String::append*/;
1690 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1691 variable13
= variable12
;
1692 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable13
) /*String::append*/;
1693 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*TypingVisitor::error*/;
1694 goto return_label67
;
1697 variable4
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable2
/*base_precs*/,COLOR_abstract_collection___Collection___first
))( variable2
/*base_precs*/) /*Array::first*/;
1698 variable3
= variable4
;
1699 variable4
= TAG_Bool(( variable3
/*p*/==NIT_NULL
) || VAL_ISA( variable3
/*p*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1700 if (!UNTAG_Bool(variable4
)) { fprintf(stderr
, "Assert failed: src/syntax//typing.nit:684,4--24\n"); nit_exit(1);}
1701 ATTR_typing___ASuperExpr____init_in_superclass( self
) /*ASuperExpr::_init_in_superclass*/ = variable3
/*p*/;
1702 ((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*/;
1703 variable4
= ((parser_nodes___ASuperExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ASuperExpr___n_args
))( self
) /*ASuperExpr::n_args*/;
1704 variable4
= ((list___List___length_t
)CALL(variable4
,COLOR_abstract_collection___Collection___length
))(variable4
) /*List::length*/;
1705 variable4
= TAG_Bool(UNTAG_Int(variable4
)>UNTAG_Int( TAG_Int(0)));
1706 if (UNTAG_Bool(variable4
)) { /*if*/
1707 variable4
= ((parser_nodes___ASuperExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ASuperExpr___n_args
))( self
) /*ASuperExpr::n_args*/;
1708 variable4
= ((array___Collection___to_a_t
)CALL(variable4
,COLOR_array___Collection___to_a
))(variable4
) /*List::to_a*/;
1709 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*/;
1710 ATTR_typing___AAbsSendExpr____arguments( self
) /*ASuperExpr::_arguments*/ = variable4
;
1713 variable2
= NEW_string___String___init(); /*new String*/
1714 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: No super method to call for "), TAG_Int(35)); /*new String*/
1715 variable4
= variable3
;
1716 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
1717 variable5
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1718 variable6
= variable5
;
1719 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
1720 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
1721 variable7
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1722 variable8
= variable7
;
1723 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
1724 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
1725 goto return_label67
;
1728 variable2
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___first
))( variable1
/*precs*/) /*Array::first*/;
1729 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMLocalProperty::signature*/;
1730 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
1731 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::==*/)))))));
1732 if (UNTAG_Bool(variable2
)) { /*if*/
1733 variable3
= NEW_array___Array___init(); /*new Array[MMType]*/
1734 variable2
= variable3
;
1735 variable3
= NIT_NULL
/*decl variable stype*/;
1736 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*precs*/) /*Array::iterator*/;
1737 while (true) { /*for*/
1738 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
1739 if (!UNTAG_Bool(variable5
)) break; /*for*/
1740 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
1741 variable6
= TAG_Bool(( variable5
/*prop*/==NIT_NULL
) || VAL_ISA( variable5
/*prop*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1742 if (!UNTAG_Bool(variable6
)) { fprintf(stderr
, "Assert failed: src/syntax//typing.nit:699,5--28\n"); nit_exit(1);}
1743 variable7
= ((genericity___MMLocalProperty___signature_t
)CALL( variable5
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable5
/*prop*/) /*MMMethod::signature*/;
1744 variable7
= ((static_type___MMSignature___return_type_t
)CALL(variable7
,COLOR_static_type___MMSignature___return_type
))(variable7
) /*MMSignature::return_type*/;
1745 variable8
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
1746 variable7
= ((static_type___MMType___for_module_t
)CALL(variable7
,COLOR_static_type___MMType___for_module
))(variable7
, variable8
) /*MMType::for_module*/;
1747 variable8
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1748 variable8
= ((genericity___MMLocalProperty___signature_t
)CALL(variable8
,COLOR_static_type___MMLocalProperty___signature
))(variable8
) /*MMSrcLocalProperty::signature*/;
1749 variable8
= ((static_type___MMSignature___recv_t
)CALL(variable8
,COLOR_static_type___MMSignature___recv
))(variable8
) /*MMSignature::recv*/;
1750 variable7
= ((static_type___MMType___adapt_to_t
)CALL(variable7
,COLOR_static_type___MMType___adapt_to
))(variable7
, variable8
) /*MMType::adapt_to*/;
1751 variable6
= variable7
;
1752 ((array___AbstractArray___add_t
)CALL( variable2
/*stypes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*stypes*/, variable6
/*t*/) /*Array::add*/;
1753 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::==*/)))));
1754 variable8
= variable7
;
1755 if (!UNTAG_Bool(variable8
)) { /* or */
1756 variable8
= ((static_type___MMType_____l_t
)CALL( variable3
/*stype*/,COLOR_static_type___MMType_____l
))( variable3
/*stype*/, variable6
/*t*/) /*MMType::<*/;
1758 variable7
= variable8
;
1759 if (UNTAG_Bool(variable7
)) { /*if*/
1760 variable3
= variable6
/*t*/ /*stype=*/;
1762 continue_69
: while(0);
1763 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
1766 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*stypes*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*stypes*/) /*Array::iterator*/;
1767 while (true) { /*for*/
1768 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
1769 if (!UNTAG_Bool(variable5
)) break; /*for*/
1770 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
1771 ((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*/;
1772 continue_70
: while(0);
1773 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
1776 ATTR_typing___PExpr____stype( self
) /*ASuperExpr::_stype*/ = variable3
/*stype*/;
1778 variable3
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
1779 variable2
= variable3
;
1780 variable3
= TAG_Bool(( variable2
/*p*/==NIT_NULL
) || VAL_ISA( variable2
/*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
1781 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert failed: src/syntax//typing.nit:712,3--26\n"); nit_exit(1);}
1782 ATTR_typing___AAbsSendExpr____prop( self
) /*ASuperExpr::_prop*/ = variable2
/*p*/;
1783 return_label67
: while(false);
1784 tracehead
= trace
.prev
;
1787 val_t
typing___AAttrFormExpr___prop(val_t self
) {
1788 struct trace_t trace
= {NULL
, "typing::AAttrFormExpr::prop (src/syntax//typing.nit:718,2--719:33)"};
1789 trace
.prev
= tracehead
; tracehead
= &trace
;
1790 tracehead
= trace
.prev
;
1791 return ATTR_typing___AAttrFormExpr____prop( self
) /*AAttrFormExpr::_prop*/;
1793 void typing___AAttrFormExpr___do_typing(val_t self
, val_t param0
) {
1794 struct trace_t trace
= {NULL
, "typing::AAttrFormExpr::do_typing (src/syntax//typing.nit:721,2--736:14)"};
1813 trace
.prev
= tracehead
; tracehead
= &trace
;
1815 variable2
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrFormExpr::n_expr*/;
1816 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1817 variable1
= variable2
;
1818 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::==*/)))));
1819 if (UNTAG_Bool(variable2
)) { /*if*/
1820 goto return_label71
;
1822 variable3
= ((parser_nodes___AAttrFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_id
))( self
) /*AAttrFormExpr::n_id*/;
1823 variable3
= ((syntax_base___Token___to_symbol_t
)CALL(variable3
,COLOR_syntax_base___Token___to_symbol
))(variable3
) /*TAttrid::to_symbol*/;
1824 variable2
= variable3
;
1825 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*/;
1826 variable3
= variable4
;
1827 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::==*/)))));
1828 if (UNTAG_Bool(variable4
)) { /*if*/
1829 variable4
= NEW_string___String___init(); /*new String*/
1830 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
1831 variable6
= variable5
;
1832 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1833 variable7
= variable2
/*name*/;
1834 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1835 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1836 variable8
= NEW_string___String___with_native(BOX_NativeString(" doesn't exists in "), TAG_Int(19)); /*new String*/
1837 variable9
= variable8
;
1838 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1839 variable10
= variable1
/*type_recv*/;
1840 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1841 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1842 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1843 variable12
= variable11
;
1844 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1845 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
1846 goto return_label71
;
1848 variable4
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
1849 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMAttribute::global*/;
1850 variable5
= ((abstractmetamodel___MMGlobalProperty___local_class_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___local_class
))(variable5
) /*MMGlobalProperty::local_class*/;
1851 variable5
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable5
) /*MMLocalClass::module*/;
1852 variable4
= ((abstractmetamodel___MMModule___visibility_for_t
)CALL(variable4
,COLOR_abstractmetamodel___MMModule___visibility_for
))(variable4
, variable5
) /*MMSrcModule::visibility_for*/;
1853 variable4
= TAG_Bool(UNTAG_Int(variable4
)<UNTAG_Int( TAG_Int(3)));
1854 if (UNTAG_Bool(variable4
)) { /*if*/
1855 variable4
= NEW_string___String___init(); /*new String*/
1856 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
1857 variable6
= variable5
;
1858 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1859 variable7
= variable2
/*name*/;
1860 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1861 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1862 variable8
= NEW_string___String___with_native(BOX_NativeString(" from "), TAG_Int(6)); /*new String*/
1863 variable9
= variable8
;
1864 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1865 variable10
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMAttribute::global*/;
1866 variable10
= ((abstractmetamodel___MMGlobalProperty___local_class_t
)CALL(variable10
,COLOR_abstractmetamodel___MMGlobalProperty___local_class
))(variable10
) /*MMGlobalProperty::local_class*/;
1867 variable10
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable10
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable10
) /*MMLocalClass::module*/;
1868 variable11
= variable10
;
1869 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
1870 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
1871 variable12
= NEW_string___String___with_native(BOX_NativeString(" is invisible in "), TAG_Int(17)); /*new String*/
1872 variable13
= variable12
;
1873 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
1874 variable14
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
1875 variable15
= variable14
;
1876 variable15
= ((string___String___to_s_t
)CALL(variable15
,COLOR_string___Object___to_s
))(variable15
) /*String::to_s*/;
1877 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable15
) /*String::append*/;
1878 variable16
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1879 variable17
= variable16
;
1880 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable17
) /*String::append*/;
1881 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
1884 ATTR_typing___AAttrFormExpr____prop( self
) /*AAttrFormExpr::_prop*/ = variable3
/*prop*/;
1885 return_label71
: while(false);
1886 tracehead
= trace
.prev
;
1889 void typing___AAttrExpr___after_typing(val_t self
, val_t param0
) {
1890 struct trace_t trace
= {NULL
, "typing::AAttrExpr::after_typing (src/syntax//typing.nit:741,2--749:20)"};
1894 trace
.prev
= tracehead
; tracehead
= &trace
;
1896 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrExpr::do_typing*/;
1897 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrExpr::prop*/;
1898 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::==*/)))));
1899 if (UNTAG_Bool(variable1
)) { /*if*/
1900 goto return_label72
;
1902 variable2
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrExpr::prop*/;
1903 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMAttribute::signature*/;
1904 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
1905 variable1
= variable2
;
1906 variable2
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrExpr::n_expr*/;
1907 variable2
= ((typing___PExpr___is_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_self
))(variable2
) /*PExpr::is_self*/;
1908 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1909 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*/;
1910 variable1
= variable2
/*attr_type=*/;
1912 ATTR_typing___PExpr____stype( self
) /*AAttrExpr::_stype*/ = variable1
/*attr_type*/;
1913 return_label72
: while(false);
1914 tracehead
= trace
.prev
;
1917 void typing___AAttrAssignExpr___after_typing(val_t self
, val_t param0
) {
1918 struct trace_t trace
= {NULL
, "typing::AAttrAssignExpr::after_typing (src/syntax//typing.nit:754,2--762:48)"};
1922 trace
.prev
= tracehead
; tracehead
= &trace
;
1924 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrAssignExpr::do_typing*/;
1925 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrAssignExpr::prop*/;
1926 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::==*/)))));
1927 if (UNTAG_Bool(variable1
)) { /*if*/
1928 goto return_label73
;
1930 variable2
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrAssignExpr::prop*/;
1931 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMAttribute::signature*/;
1932 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
1933 variable1
= variable2
;
1934 variable2
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrAssignExpr::n_expr*/;
1935 variable2
= ((typing___PExpr___is_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_self
))(variable2
) /*PExpr::is_self*/;
1936 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1937 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*/;
1938 variable1
= variable2
/*attr_type=*/;
1940 variable2
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAttrAssignExpr::n_value*/;
1941 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1942 ((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*/;
1943 return_label73
: while(false);
1944 tracehead
= trace
.prev
;
1947 void typing___AAttrReassignExpr___after_typing(val_t self
, val_t param0
) {
1948 struct trace_t trace
= {NULL
, "typing::AAttrReassignExpr::after_typing (src/syntax//typing.nit:767,2--775:31)"};
1952 trace
.prev
= tracehead
; tracehead
= &trace
;
1954 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrReassignExpr::do_typing*/;
1955 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrReassignExpr::prop*/;
1956 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::==*/)))));
1957 if (UNTAG_Bool(variable1
)) { /*if*/
1958 goto return_label74
;
1960 variable2
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrReassignExpr::prop*/;
1961 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMAttribute::signature*/;
1962 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
1963 variable1
= variable2
;
1964 variable2
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrReassignExpr::n_expr*/;
1965 variable2
= ((typing___PExpr___is_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_self
))(variable2
) /*PExpr::is_self*/;
1966 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1967 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*/;
1968 variable1
= variable2
/*attr_type=*/;
1970 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable1
/*attr_type*/) /*AAttrReassignExpr::do_lvalue_typing*/;
1971 return_label74
: while(false);
1972 tracehead
= trace
.prev
;
1975 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
) {
1976 struct trace_t trace
= {NULL
, "typing::AAbsSendExpr::do_typing (src/syntax//typing.nit:781,2--789:19)"};
1986 trace
.prev
= tracehead
; tracehead
= &trace
;
1993 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*/;
1994 variable6
= variable7
;
1995 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::==*/)))));
1996 if (UNTAG_Bool(variable7
)) { /*if*/
1997 goto return_label75
;
1999 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*/;
2000 variable7
= variable8
;
2001 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::==*/)));
2002 if (UNTAG_Bool(variable8
)) { /*if*/
2003 goto return_label75
;
2005 ATTR_typing___AAbsSendExpr____prop( self
) /*AAbsSendExpr::_prop*/ = variable6
/*prop*/;
2006 ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/ = variable7
/*args*/;
2007 return_label75
: while(false);
2008 tracehead
= trace
.prev
;
2011 val_t
typing___AAbsSendExpr___get_property(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
2012 struct trace_t trace
= {NULL
, "typing::AAbsSendExpr::get_property (src/syntax//typing.nit:792,2--816:13)"};
2029 trace
.prev
= tracehead
; tracehead
= &trace
;
2034 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::==*/)))));
2035 if (UNTAG_Bool(variable4
)) { /*if*/
2036 variable4
= NIT_NULL
/*null*/;
2037 goto return_label76
;
2039 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*/;
2040 variable4
= variable5
;
2041 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::==*/)))));
2042 variable6
= variable5
;
2043 if (UNTAG_Bool(variable6
)) { /* and */
2044 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
2045 variable6
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable6
) /*MMSrcLocalProperty::global*/;
2046 variable6
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable6
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable6
) /*MMGlobalProperty::is_init*/;
2048 variable5
= variable6
;
2049 if (UNTAG_Bool(variable5
)) { /*if*/
2050 variable6
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_recv*/) /*MMType::local_class*/;
2051 variable6
= ((abstractmetamodel___MMLocalClass___super_methods_named_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___super_methods_named
))(variable6
, variable3
/*name*/) /*MMLocalClass::super_methods_named*/;
2052 variable5
= variable6
;
2053 variable6
= ((array___AbstractArray___length_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___length
))( variable5
/*props*/) /*Array::length*/;
2054 variable6
= TAG_Bool(UNTAG_Int(variable6
)>UNTAG_Int( TAG_Int(1)));
2055 if (UNTAG_Bool(variable6
)) { /*if*/
2056 variable6
= NEW_string___String___init(); /*new String*/
2057 variable7
= NEW_string___String___with_native(BOX_NativeString("Error: Ambigous method name '"), TAG_Int(29)); /*new String*/
2058 variable8
= variable7
;
2059 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
2060 variable9
= variable3
/*name*/;
2061 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
2062 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable9
) /*String::append*/;
2063 variable10
= NEW_string___String___with_native(BOX_NativeString("' for "), TAG_Int(6)); /*new String*/
2064 variable11
= variable10
;
2065 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable11
) /*String::append*/;
2066 variable12
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2067 variable12
= ((string___Collection___join_t
)CALL( variable5
/*props*/,COLOR_string___Collection___join
))( variable5
/*props*/, variable12
) /*Array::join*/;
2068 variable13
= variable12
;
2069 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable13
) /*String::append*/;
2070 variable14
= NEW_string___String___with_native(BOX_NativeString(". Use explicit designation."), TAG_Int(27)); /*new String*/
2071 variable15
= variable14
;
2072 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable15
) /*String::append*/;
2073 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable6
) /*TypingVisitor::error*/;
2074 variable4
= NIT_NULL
/*null*/;
2075 goto return_label76
;
2077 variable6
= ((array___AbstractArray___length_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___length
))( variable5
/*props*/) /*Array::length*/;
2078 variable6
= TAG_Bool((variable6
)==( TAG_Int(1)));
2079 if (UNTAG_Bool(variable6
)) { /*if*/
2080 variable7
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___first
))( variable5
/*props*/) /*Array::first*/;
2081 variable7
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable7
) /*MMLocalProperty::global*/;
2082 variable7
= ((static_type___MMType___select_property_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___select_property
))( variable1
/*type_recv*/, variable7
) /*MMType::select_property*/;
2083 variable6
= variable7
;
2084 variable7
= TAG_Bool(( variable6
/*p*/==NIT_NULL
) || VAL_ISA( variable6
/*p*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
2085 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert failed: src/syntax//typing.nit:803,5--25\n"); nit_exit(1);}
2086 variable4
= variable6
/*p*/ /*prop=*/;
2090 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::==*/)))));
2091 if (UNTAG_Bool(variable5
)) { /*if*/
2092 if (UNTAG_Bool( variable2
/*is_implicit_self*/)) { /*if*/
2093 variable5
= NEW_string___String___init(); /*new String*/
2094 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Method or variable '"), TAG_Int(27)); /*new String*/
2095 variable7
= variable6
;
2096 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2097 variable8
= variable3
/*name*/;
2098 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2099 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2100 variable9
= NEW_string___String___with_native(BOX_NativeString("' unknown in "), TAG_Int(13)); /*new String*/
2101 variable10
= variable9
;
2102 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2103 variable11
= variable1
/*type_recv*/;
2104 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2105 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
2106 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2107 variable13
= variable12
;
2108 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable13
) /*String::append*/;
2109 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*TypingVisitor::error*/;
2111 variable5
= NEW_string___String___init(); /*new String*/
2112 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
2113 variable7
= variable6
;
2114 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2115 variable8
= variable3
/*name*/;
2116 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2117 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2118 variable9
= NEW_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
2119 variable10
= variable9
;
2120 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2121 variable11
= variable1
/*type_recv*/;
2122 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2123 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
2124 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2125 variable13
= variable12
;
2126 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable13
) /*String::append*/;
2127 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*TypingVisitor::error*/;
2129 variable4
= NIT_NULL
/*null*/;
2130 goto return_label76
;
2132 variable4
= variable4
/*prop*/;
2133 goto return_label76
;
2134 return_label76
: while(false);
2135 tracehead
= trace
.prev
;
2138 val_t
typing___AAbsSendExpr___process_signature(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
2139 struct trace_t trace
= {NULL
, "typing::AAbsSendExpr::process_signature (src/syntax//typing.nit:819,2--855:13)"};
2160 trace
.prev
= tracehead
; tracehead
= &trace
;
2165 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable1
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable1
/*prop*/) /*MMMethod::global*/;
2166 variable5
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
2167 ((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*/;
2168 variable5
= ((genericity___MMLocalProperty___signature_t
)CALL( variable1
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable1
/*prop*/) /*MMMethod::signature*/;
2169 variable4
= variable5
;
2170 variable6
= ((vararg___MMSignature___vararg_rank_t
)CALL( variable4
/*psig*/,COLOR_vararg___MMSignature___vararg_rank
))( variable4
/*psig*/) /*MMSignature::vararg_rank*/;
2171 variable5
= variable6
;
2172 variable7
= ((static_type___MMSignature___arity_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature___arity
))( variable4
/*psig*/) /*MMSignature::arity*/;
2173 variable6
= variable7
;
2174 variable7
= TAG_Int((int)0) /*decl variable raw_arity*/;
2175 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::==*/)));
2176 if (UNTAG_Bool(variable8
)) { /*if*/
2177 variable7
= TAG_Int(0) /*raw_arity=*/;
2179 variable8
= ((array___AbstractArray___length_t
)CALL( variable3
/*raw_args*/,COLOR_abstract_collection___Collection___length
))( variable3
/*raw_args*/) /*Array::length*/;
2180 variable7
= variable8
/*raw_arity=*/;
2182 variable8
= TAG_Bool(UNTAG_Int( variable6
/*par_arity*/)>UNTAG_Int( variable7
/*raw_arity*/));
2183 variable9
= variable8
;
2184 if (!UNTAG_Bool(variable9
)) { /* or */
2185 variable9
= TAG_Bool(( variable6
/*par_arity*/)!=( variable7
/*raw_arity*/));
2186 variable10
= variable9
;
2187 if (UNTAG_Bool(variable10
)) { /* and */
2188 variable10
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
2189 variable10
= TAG_Bool(( variable5
/*par_vararg*/)==(variable10
));
2191 variable9
= variable10
;
2193 variable8
= variable9
;
2194 if (UNTAG_Bool(variable8
)) { /*if*/
2195 variable8
= NEW_string___String___init(); /*new String*/
2196 variable9
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
2197 variable10
= variable9
;
2198 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
2199 variable11
= variable1
/*prop*/;
2200 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2201 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable11
) /*String::append*/;
2202 variable12
= NEW_string___String___with_native(BOX_NativeString("' arity missmatch."), TAG_Int(18)); /*new String*/
2203 variable13
= variable12
;
2204 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable13
) /*String::append*/;
2205 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable8
) /*TypingVisitor::error*/;
2206 variable4
= NIT_NULL
/*null*/;
2207 goto return_label77
;
2209 variable8
= TAG_Int(0);
2210 variable10
= NEW_array___Array___init(); /*new Array[PExpr]*/
2211 variable9
= variable10
;
2212 variable10
= NEW_range___Range___without_last( TAG_Int(0), variable6
/*par_arity*/); /*new Range[Int]*/
2213 variable10
= ((range___Range___iterator_t
)CALL(variable10
,COLOR_abstract_collection___Collection___iterator
))(variable10
) /*Range::iterator*/;
2214 while (true) { /*for*/
2215 variable11
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___is_ok
))(variable10
) /*Iterator::is_ok*/;
2216 if (!UNTAG_Bool(variable11
)) break; /*for*/
2217 variable11
= ((abstract_collection___Iterator___item_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___item
))(variable10
) /*Iterator::item*/;
2218 variable12
= NIT_NULL
/*decl variable a*/;
2219 variable14
= ((static_type___MMSignature_____bra_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature_____bra
))( variable4
/*psig*/, variable11
/*par_idx*/) /*MMSignature::[]*/;
2220 variable13
= variable14
;
2221 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable2
/*recv_is_self*/)))) { /*if*/
2222 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*/;
2223 variable13
= variable14
/*par_type=*/;
2225 variable14
= TAG_Bool(( variable11
/*par_idx*/)==( variable5
/*par_vararg*/));
2226 if (UNTAG_Bool(variable14
)) { /*if*/
2227 variable15
= NEW_array___Array___init(); /*new Array[PExpr]*/
2228 variable14
= variable15
;
2229 variable15
= TAG_Int(UNTAG_Int( variable7
/*raw_arity*/)-UNTAG_Int( variable6
/*par_arity*/));
2230 variable16
= NEW_range___Range___init( TAG_Int(0), variable15
); /*new Range[Int]*/
2231 variable15
= variable16
;
2232 variable15
= ((range___Range___iterator_t
)CALL(variable15
,COLOR_abstract_collection___Collection___iterator
))(variable15
) /*Range::iterator*/;
2233 while (true) { /*for*/
2234 variable16
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___is_ok
))(variable15
) /*Iterator::is_ok*/;
2235 if (!UNTAG_Bool(variable16
)) break; /*for*/
2236 variable16
= ((abstract_collection___Iterator___item_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___item
))(variable15
) /*Iterator::item*/;
2237 variable17
= variable8
/*arg_idx*/;
2238 variable18
= TAG_Bool(UNTAG_Int( variable17
/*index*/)>=UNTAG_Int( TAG_Int(0)));
2239 variable19
= variable18
;
2240 if (UNTAG_Bool(variable19
)) { /* and */
2241 variable19
= ATTR_array___AbstractArray____length( variable3
/*raw_args*/) /*Array::_length*/;
2242 variable19
= TAG_Bool(UNTAG_Int( variable17
/*index*/)<UNTAG_Int(variable19
));
2244 variable18
= variable19
;
2245 if (!UNTAG_Bool(variable18
)) { fprintf(stderr
, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2246 variable18
= ATTR_array___Array____items( variable3
/*raw_args*/) /*Array::_items*/;
2247 variable18
= UNBOX_NativeArray(variable18
)[UNTAG_Int( variable17
/*index*/)];
2248 goto return_label80
;
2249 return_label80
: while(false);
2250 variable17
= variable18
;
2251 variable12
= variable17
/*a=*/;
2252 variable17
= ((typing___PExpr___stype_t
)CALL( variable12
/*a*/,COLOR_syntax_base___PExpr___stype
))( variable12
/*a*/) /*PExpr::stype*/;
2253 ((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*/;
2254 ((array___AbstractArray___add_t
)CALL( variable14
/*star*/,COLOR_abstract_collection___SimpleCollection___add
))( variable14
/*star*/, variable12
/*a*/) /*Array::add*/;
2255 variable17
= TAG_Int(UNTAG_Int( variable8
/*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
2256 variable8
= variable17
/*arg_idx=*/;
2257 continue_79
: while(0);
2258 ((abstract_collection___Iterator___next_t
)CALL(variable15
,COLOR_abstract_collection___Iterator___next
))(variable15
) /*Iterator::next*/;
2261 variable16
= NEW_parser_prod___AArrayExpr___init_aarrayexpr( variable14
/*star*/); /*new AArrayExpr*/
2262 variable15
= variable16
;
2263 variable16
= ((syntax_base___AbsSyntaxVisitor___type_array_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array
))( variable0
/*v*/, variable13
/*par_type*/) /*TypingVisitor::type_array*/;
2264 ((typing___AArrayExpr___stype__eq_t
)CALL( variable15
/*aa*/,COLOR_typing___AArrayExpr___stype__eq
))( variable15
/*aa*/, variable16
) /*AArrayExpr::stype=*/;
2265 variable12
= variable15
/*aa*/ /*a=*/;
2267 variable14
= variable8
/*arg_idx*/;
2268 variable15
= TAG_Bool(UNTAG_Int( variable14
/*index*/)>=UNTAG_Int( TAG_Int(0)));
2269 variable16
= variable15
;
2270 if (UNTAG_Bool(variable16
)) { /* and */
2271 variable16
= ATTR_array___AbstractArray____length( variable3
/*raw_args*/) /*Array::_length*/;
2272 variable16
= TAG_Bool(UNTAG_Int( variable14
/*index*/)<UNTAG_Int(variable16
));
2274 variable15
= variable16
;
2275 if (!UNTAG_Bool(variable15
)) { fprintf(stderr
, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2276 variable15
= ATTR_array___Array____items( variable3
/*raw_args*/) /*Array::_items*/;
2277 variable15
= UNBOX_NativeArray(variable15
)[UNTAG_Int( variable14
/*index*/)];
2278 goto return_label81
;
2279 return_label81
: while(false);
2280 variable14
= variable15
;
2281 variable12
= variable14
/*a=*/;
2282 variable14
= ((typing___PExpr___stype_t
)CALL( variable12
/*a*/,COLOR_syntax_base___PExpr___stype
))( variable12
/*a*/) /*PExpr::stype*/;
2283 ((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*/;
2284 variable14
= TAG_Int(UNTAG_Int( variable8
/*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
2285 variable8
= variable14
/*arg_idx=*/;
2287 ((array___AbstractArray___add_t
)CALL( variable9
/*args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable9
/*args*/, variable12
/*a*/) /*Array::add*/;
2288 continue_78
: while(0);
2289 ((abstract_collection___Iterator___next_t
)CALL(variable10
,COLOR_abstract_collection___Iterator___next
))(variable10
) /*Iterator::next*/;
2292 variable4
= variable9
/*args*/;
2293 goto return_label77
;
2294 return_label77
: while(false);
2295 tracehead
= trace
.prev
;
2298 val_t
typing___AAbsSendExpr___prop(val_t self
) {
2299 struct trace_t trace
= {NULL
, "typing::AAbsSendExpr::prop (src/syntax//typing.nit:858,2--859:30)"};
2300 trace
.prev
= tracehead
; tracehead
= &trace
;
2301 tracehead
= trace
.prev
;
2302 return ATTR_typing___AAbsSendExpr____prop( self
) /*AAbsSendExpr::_prop*/;
2304 val_t
typing___AAbsSendExpr___arguments(val_t self
) {
2305 struct trace_t trace
= {NULL
, "typing::AAbsSendExpr::arguments (src/syntax//typing.nit:861,2--862:38)"};
2306 trace
.prev
= tracehead
; tracehead
= &trace
;
2307 tracehead
= trace
.prev
;
2308 return ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/;
2310 void typing___ASuperInitCall___register_super_init_call(val_t self
, val_t param0
, val_t param1
) {
2311 struct trace_t trace
= {NULL
, "typing::ASuperInitCall::register_super_init_call (src/syntax//typing.nit:869,2--896:10)"};
2329 trace
.prev
= tracehead
; tracehead
= &trace
;
2332 variable2
= ((parser_prod___PNode___parent_t
)CALL( self
,COLOR_parser_prod___PNode___parent
))( self
) /*ASuperInitCall::parent*/;
2333 variable3
= ((typing___TypingVisitor___top_block_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block
))( variable0
/*v*/) /*TypingVisitor::top_block*/;
2334 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::==*/)))))));
2335 variable3
= variable2
;
2336 if (UNTAG_Bool(variable3
)) { /* and */
2337 variable3
= ((typing___TypingVisitor___top_block_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block
))( variable0
/*v*/) /*TypingVisitor::top_block*/;
2338 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::==*/)))))));
2340 variable2
= variable3
;
2341 if (UNTAG_Bool(variable2
)) { /*if*/
2342 variable2
= NEW_string___String___init(); /*new String*/
2343 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor invocation "), TAG_Int(30)); /*new String*/
2344 variable4
= variable3
;
2345 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2346 variable5
= variable1
/*property*/;
2347 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2348 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable5
) /*String::append*/;
2349 variable6
= NEW_string___String___with_native(BOX_NativeString(" must not be in nested block."), TAG_Int(29)); /*new String*/
2350 variable7
= variable6
;
2351 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable7
) /*String::append*/;
2352 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
2354 variable3
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*TypingVisitor::module*/;
2355 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable1
/*property*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable1
/*property*/) /*MMMethod::global*/;
2356 variable4
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable4
) /*MMGlobalProperty::intro*/;
2357 variable4
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable4
) /*MMConcreteProperty::local_class*/;
2358 variable4
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable4
) /*MMLocalClass::global*/;
2359 variable3
= ((abstractmetamodel___MMModule_____bra_t
)CALL(variable3
,COLOR_abstractmetamodel___MMModule_____bra
))(variable3
, variable4
) /*MMSrcModule::[]*/;
2360 variable2
= variable3
;
2361 variable3
= NIT_NULL
/*decl variable prev_class*/;
2362 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*/;
2363 variable4
= ((array___AbstractArray___is_empty_t
)CALL(variable4
,COLOR_abstract_collection___Collection___is_empty
))(variable4
) /*Array::is_empty*/;
2364 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2365 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*/;
2366 variable4
= ((abstract_collection___IndexedCollection___last_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___last
))(variable4
) /*Array::last*/;
2367 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMMethod::global*/;
2368 variable4
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable4
) /*MMGlobalProperty::intro*/;
2369 variable4
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable4
) /*MMConcreteProperty::local_class*/;
2370 variable3
= variable4
/*prev_class=*/;
2372 variable5
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*TypingVisitor::local_class*/;
2373 variable5
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable5
) /*MMSrcLocalClass::cshe*/;
2374 variable5
= ((partial_order___PartialOrderElement___reverse_linear_extension_t
)CALL(variable5
,COLOR_partial_order___PartialOrderElement___reverse_linear_extension
))(variable5
) /*PartialOrderElement::reverse_linear_extension*/;
2375 variable4
= variable5
;
2376 variable5
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*TypingVisitor::local_class*/;
2377 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::==*/)))));
2378 if (UNTAG_Bool(variable5
)) { /*if*/
2379 ((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=*/;
2381 variable5
= ((array___AbstractArray___has_t
)CALL( variable4
/*order*/,COLOR_abstract_collection___Collection___has
))( variable4
/*order*/, variable2
/*cla*/) /*Array::has*/;
2382 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5
)))) { /*if*/
2383 variable5
= NEW_string___String___init(); /*new String*/
2384 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor of class "), TAG_Int(28)); /*new String*/
2385 variable7
= variable6
;
2386 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2387 variable8
= variable2
/*cla*/;
2388 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2389 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2390 variable9
= NEW_string___String___with_native(BOX_NativeString(" must be one in "), TAG_Int(16)); /*new String*/
2391 variable10
= variable9
;
2392 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2393 variable11
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2394 variable11
= ((string___Collection___join_t
)CALL( variable4
/*order*/,COLOR_string___Collection___join
))( variable4
/*order*/, variable11
) /*Array::join*/;
2395 variable12
= variable11
;
2396 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable12
) /*String::append*/;
2397 variable13
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2398 variable14
= variable13
;
2399 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable14
) /*String::append*/;
2400 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*TypingVisitor::error*/;
2402 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::==*/)))));
2403 if (UNTAG_Bool(variable5
)) { /*if*/
2404 variable5
= NEW_string___String___init(); /*new String*/
2405 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Only one super constructor invocation of class "), TAG_Int(54)); /*new String*/
2406 variable7
= variable6
;
2407 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2408 variable8
= variable2
/*cla*/;
2409 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2410 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2411 variable9
= NEW_string___String___with_native(BOX_NativeString(" is allowed."), TAG_Int(12)); /*new String*/
2412 variable10
= variable9
;
2413 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2414 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*TypingVisitor::error*/;
2416 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::==*/)))));
2417 variable5
= variable6
;
2418 variable6
= ((array___AbstractArray___iterator_t
)CALL( variable4
/*order*/,COLOR_abstract_collection___Collection___iterator
))( variable4
/*order*/) /*Array::iterator*/;
2419 while (true) { /*for*/
2420 variable7
= ((array___ArrayIterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*ArrayIterator::is_ok*/;
2421 if (!UNTAG_Bool(variable7
)) break; /*for*/
2422 variable7
= ((array___ArrayIterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*ArrayIterator::item*/;
2423 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::==*/)))));
2424 if (UNTAG_Bool(variable8
)) { /*if*/
2425 variable5
= TAG_Bool(true) /*last_is_found=*/;
2427 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::==*/)))));
2428 if (UNTAG_Bool(variable8
)) { /*if*/
2429 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable5
/*last_is_found*/)))) { /*if*/
2430 variable8
= NEW_string___String___init(); /*new String*/
2431 variable9
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor of "), TAG_Int(22)); /*new String*/
2432 variable10
= variable9
;
2433 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
2434 variable11
= variable7
/*c*/;
2435 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2436 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable11
) /*String::append*/;
2437 variable12
= NEW_string___String___with_native(BOX_NativeString(" must be invoked before constructor of "), TAG_Int(39)); /*new String*/
2438 variable13
= variable12
;
2439 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable13
) /*String::append*/;
2440 variable14
= variable3
/*prev_class*/;
2441 variable14
= ((string___String___to_s_t
)CALL(variable14
,COLOR_string___Object___to_s
))(variable14
) /*String::to_s*/;
2442 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
2443 variable15
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2444 variable16
= variable15
;
2445 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable16
) /*String::append*/;
2446 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable8
) /*TypingVisitor::error*/;
2448 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*/;
2449 ((array___AbstractArray___add_t
)CALL(variable8
,COLOR_abstract_collection___SimpleCollection___add
))(variable8
, variable1
/*property*/) /*Array::add*/;
2453 continue_83
: while(0);
2454 ((array___ArrayIterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*ArrayIterator::next*/;
2460 tracehead
= trace
.prev
;
2463 void typing___ANewExpr___after_typing(val_t self
, val_t param0
) {
2464 struct trace_t trace
= {NULL
, "typing::ANewExpr::after_typing (src/syntax//typing.nit:906,2--925:12)"};
2474 static val_t once_value_variable3_85
; static int once_bool_variable3_85
;
2476 trace
.prev
= tracehead
; tracehead
= &trace
;
2478 variable2
= ((parser_nodes___ANewExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_type
))( self
) /*ANewExpr::n_type*/;
2479 variable2
= ((typing___PType___stype_t
)CALL(variable2
,COLOR_typing___PType___stype
))(variable2
) /*PType::stype*/;
2480 variable1
= variable2
;
2481 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::==*/)))));
2482 if (UNTAG_Bool(variable2
)) { /*if*/
2483 goto return_label84
;
2485 variable2
= ((static_type___MMType___local_class_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___local_class
))( variable1
/*t*/) /*MMType::local_class*/;
2486 variable2
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable2
) /*MMLocalClass::global*/;
2487 variable2
= ((abstractmetamodel___MMGlobalClass___is_abstract_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalClass___is_abstract
))(variable2
) /*MMGlobalClass::is_abstract*/;
2488 if (UNTAG_Bool(variable2
)) { /*if*/
2489 variable2
= NEW_string___String___init(); /*new String*/
2490 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: try to instantiate abstract class "), TAG_Int(41)); /*new String*/
2491 variable4
= variable3
;
2492 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2493 variable5
= ((static_type___MMType___local_class_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___local_class
))( variable1
/*t*/) /*MMType::local_class*/;
2494 variable6
= variable5
;
2495 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2496 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2497 variable7
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2498 variable8
= variable7
;
2499 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2500 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
2501 goto return_label84
;
2503 variable2
= NIT_NULL
/*decl variable name*/;
2504 variable3
= ((parser_nodes___ANewExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_id
))( self
) /*ANewExpr::n_id*/;
2505 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::==*/)))));
2506 if (UNTAG_Bool(variable3
)) { /*if*/
2507 if (once_bool_variable3_85
) variable3
= once_value_variable3_85
;
2509 variable3
= NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
2510 variable3
= ((symbol___String___to_symbol_t
)CALL(variable3
,COLOR_symbol___String___to_symbol
))(variable3
) /*String::to_symbol*/;
2511 once_value_variable3_85
= variable3
;
2512 once_bool_variable3_85
= true;
2514 variable2
= variable3
/*name=*/;
2516 variable3
= ((parser_nodes___ANewExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_id
))( self
) /*ANewExpr::n_id*/;
2517 variable3
= ((syntax_base___Token___to_symbol_t
)CALL(variable3
,COLOR_syntax_base___Token___to_symbol
))(variable3
) /*TId::to_symbol*/;
2518 variable2
= variable3
/*name=*/;
2520 variable3
= ((parser_nodes___ANewExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_args
))( self
) /*ANewExpr::n_args*/;
2521 variable3
= ((array___Collection___to_a_t
)CALL(variable3
,COLOR_array___Collection___to_a
))(variable3
) /*List::to_a*/;
2522 ((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*/;
2523 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ANewExpr::prop*/;
2524 variable3
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable3
) /*MMMethod::global*/;
2525 variable3
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable3
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable3
) /*MMGlobalProperty::is_init*/;
2526 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
2527 variable3
= NEW_string___String___init(); /*new String*/
2528 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
2529 variable5
= variable4
;
2530 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
2531 variable6
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ANewExpr::prop*/;
2532 variable7
= variable6
;
2533 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
2534 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
2535 variable8
= NEW_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
2536 variable9
= variable8
;
2537 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
2538 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*TypingVisitor::error*/;
2540 ATTR_typing___PExpr____stype( self
) /*ANewExpr::_stype*/ = variable1
/*t*/;
2541 return_label84
: while(false);
2542 tracehead
= trace
.prev
;
2545 val_t
typing___ASendExpr___name(val_t self
) {
2546 struct trace_t trace
= {NULL
, "typing::ASendExpr::name (src/syntax//typing.nit:932,2--933:18)"};
2547 trace
.prev
= tracehead
; tracehead
= &trace
;
2548 fprintf(stderr
, "Deferred method name called (src/syntax//typing.nit:932,2)\n");
2550 tracehead
= trace
.prev
;
2553 val_t
typing___ASendExpr___raw_arguments(val_t self
) {
2554 struct trace_t trace
= {NULL
, "typing::ASendExpr::raw_arguments (src/syntax//typing.nit:935,2--936:32)"};
2555 trace
.prev
= tracehead
; tracehead
= &trace
;
2556 fprintf(stderr
, "Deferred method raw_arguments called (src/syntax//typing.nit:935,2)\n");
2558 tracehead
= trace
.prev
;
2561 void typing___ASendExpr___after_typing(val_t self
, val_t param0
) {
2562 struct trace_t trace
= {NULL
, "typing::ASendExpr::after_typing (src/syntax//typing.nit:938,2--940:17)"};
2564 trace
.prev
= tracehead
; tracehead
= &trace
;
2566 ((typing___ASendExpr___do_all_typing_t
)CALL( self
,COLOR_typing___ASendExpr___do_all_typing
))( self
, variable0
/*v*/) /*ASendExpr::do_all_typing*/;
2567 tracehead
= trace
.prev
;
2570 void typing___ASendExpr___do_all_typing(val_t self
, val_t param0
) {
2571 struct trace_t trace
= {NULL
, "typing::ASendExpr::do_all_typing (src/syntax//typing.nit:943,2--958:12)"};
2580 trace
.prev
= tracehead
; tracehead
= &trace
;
2582 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2583 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
2584 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2585 variable2
= ((typing___PExpr___is_implicit_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_implicit_self
))(variable2
) /*PExpr::is_implicit_self*/;
2586 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2587 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2588 variable4
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendExpr::name*/;
2589 variable5
= ((typing___ASendExpr___raw_arguments_t
)CALL( self
,COLOR_typing___ASendExpr___raw_arguments
))( self
) /*ASendExpr::raw_arguments*/;
2590 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable1
, variable2
, variable3
, variable4
, variable5
) /*ASendExpr::do_typing*/;
2591 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2592 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::==*/)))));
2593 if (UNTAG_Bool(variable1
)) { /*if*/
2594 goto return_label87
;
2596 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2597 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable1
) /*MMMethod::global*/;
2598 variable1
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable1
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable1
) /*MMGlobalProperty::is_init*/;
2599 if (UNTAG_Bool(variable1
)) { /*if*/
2600 variable1
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
2601 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable1
) /*MMSrcLocalProperty::global*/;
2602 variable1
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable1
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable1
) /*MMGlobalProperty::is_init*/;
2603 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
2604 variable1
= NEW_string___String___init(); /*new String*/
2605 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2606 variable3
= variable2
;
2607 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2608 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2609 variable5
= variable4
;
2610 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2611 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2612 variable6
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2613 variable7
= variable6
;
2614 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2615 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable1
) /*TypingVisitor::error*/;
2617 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2618 variable1
= ((typing___PExpr___is_self_t
)CALL(variable1
,COLOR_typing___PExpr___is_self
))(variable1
) /*PExpr::is_self*/;
2619 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
2620 variable1
= NEW_string___String___init(); /*new String*/
2621 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2622 variable3
= variable2
;
2623 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2624 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2625 variable5
= variable4
;
2626 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2627 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2628 variable6
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2629 variable7
= variable6
;
2630 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2631 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable1
) /*TypingVisitor::error*/;
2633 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2634 ((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*/;
2638 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendExpr::prop*/;
2639 variable2
= ((genericity___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMMethod::signature*/;
2640 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
2641 variable1
= variable2
;
2642 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::==*/)))))));
2643 variable3
= variable2
;
2644 if (UNTAG_Bool(variable3
)) { /* and */
2645 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2646 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2647 variable3
= TAG_Bool(!UNTAG_Bool(variable3
));
2649 variable2
= variable3
;
2650 if (UNTAG_Bool(variable2
)) { /*if*/
2651 variable2
= ((static_type___MMType___not_for_self_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable1
/*t*/) /*MMType::not_for_self*/;
2652 variable1
= variable2
/*t=*/;
2654 ATTR_typing___PExpr____stype( self
) /*ASendExpr::_stype*/ = variable1
/*t*/;
2655 return_label87
: while(false);
2656 tracehead
= trace
.prev
;
2659 val_t
typing___ASendReassignExpr___read_prop(val_t self
) {
2660 struct trace_t trace
= {NULL
, "typing::ASendReassignExpr::read_prop (src/syntax//typing.nit:965,2--35)"};
2661 trace
.prev
= tracehead
; tracehead
= &trace
;
2662 tracehead
= trace
.prev
;
2663 return ATTR_typing___ASendReassignExpr____read_prop( self
) /*ASendReassignExpr::_read_prop*/;
2665 void typing___ASendReassignExpr___do_all_typing(val_t self
, val_t param0
) {
2666 struct trace_t trace
= {NULL
, "typing::ASendReassignExpr::do_all_typing (src/syntax//typing.nit:966,2--997:23)"};
2681 trace
.prev
= tracehead
; tracehead
= &trace
;
2683 variable2
= ((typing___ASendExpr___raw_arguments_t
)CALL( self
,COLOR_typing___ASendExpr___raw_arguments
))( self
) /*ASendReassignExpr::raw_arguments*/;
2684 variable1
= variable2
;
2685 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2686 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
2687 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2688 variable3
= ((typing___PExpr___is_implicit_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_implicit_self
))(variable3
) /*PExpr::is_implicit_self*/;
2689 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2690 variable4
= ((typing___PExpr___is_self_t
)CALL(variable4
,COLOR_typing___PExpr___is_self
))(variable4
) /*PExpr::is_self*/;
2691 variable5
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendReassignExpr::name*/;
2692 ((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*/;
2693 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2694 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::==*/)))));
2695 if (UNTAG_Bool(variable2
)) { /*if*/
2696 goto return_label88
;
2698 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2699 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMMethod::global*/;
2700 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
2701 if (UNTAG_Bool(variable2
)) { /*if*/
2702 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
2703 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMSrcLocalProperty::global*/;
2704 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
2705 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
2706 variable2
= NEW_string___String___init(); /*new String*/
2707 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2708 variable4
= variable3
;
2709 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2710 variable5
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2711 variable6
= variable5
;
2712 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2713 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2714 variable7
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2715 variable8
= variable7
;
2716 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2717 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
2719 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2720 variable2
= ((typing___PExpr___is_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_self
))(variable2
) /*PExpr::is_self*/;
2721 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
2722 variable2
= NEW_string___String___init(); /*new String*/
2723 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2724 variable4
= variable3
;
2725 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2726 variable5
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2727 variable6
= variable5
;
2728 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2729 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2730 variable7
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2731 variable8
= variable7
;
2732 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2733 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*TypingVisitor::error*/;
2737 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2738 variable3
= ((genericity___MMLocalProperty___signature_t
)CALL(variable3
,COLOR_static_type___MMLocalProperty___signature
))(variable3
) /*MMMethod::signature*/;
2739 variable3
= ((static_type___MMSignature___return_type_t
)CALL(variable3
,COLOR_static_type___MMSignature___return_type
))(variable3
) /*MMSignature::return_type*/;
2740 variable2
= variable3
;
2741 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2742 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2743 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
2744 variable3
= ((static_type___MMType___not_for_self_t
)CALL( variable2
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable2
/*t*/) /*MMType::not_for_self*/;
2745 variable2
= variable3
/*t=*/;
2747 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable2
/*t*/) /*ASendReassignExpr::do_lvalue_typing*/;
2748 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2749 ATTR_typing___ASendReassignExpr____read_prop( self
) /*ASendReassignExpr::_read_prop*/ = variable3
;
2750 variable4
= ((typing___AAbsSendExpr___arguments_t
)CALL( self
,COLOR_typing___AAbsSendExpr___arguments
))( self
) /*ASendReassignExpr::arguments*/;
2751 variable3
= variable4
;
2752 variable4
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*ASendReassignExpr::n_value*/;
2753 ((array___AbstractArray___add_t
)CALL( variable1
/*raw_args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*raw_args*/, variable4
) /*Array::add*/;
2754 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2755 variable4
= ((typing___PExpr___stype_t
)CALL(variable4
,COLOR_syntax_base___PExpr___stype
))(variable4
) /*PExpr::stype*/;
2756 variable5
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2757 variable5
= ((typing___PExpr___is_implicit_self_t
)CALL(variable5
,COLOR_typing___PExpr___is_implicit_self
))(variable5
) /*PExpr::is_implicit_self*/;
2758 variable6
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2759 variable6
= ((typing___PExpr___is_self_t
)CALL(variable6
,COLOR_typing___PExpr___is_self
))(variable6
) /*PExpr::is_self*/;
2760 variable7
= NEW_string___String___init(); /*new String*/
2761 variable8
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2762 variable9
= variable8
;
2763 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
2764 variable10
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendReassignExpr::name*/;
2765 variable11
= variable10
;
2766 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2767 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable11
) /*String::append*/;
2768 variable12
= NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
2769 variable13
= variable12
;
2770 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable13
) /*String::append*/;
2771 variable7
= ((symbol___String___to_symbol_t
)CALL(variable7
,COLOR_symbol___String___to_symbol
))(variable7
) /*String::to_symbol*/;
2772 ((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*/;
2773 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2774 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::==*/)))));
2775 if (UNTAG_Bool(variable4
)) { /*if*/
2776 goto return_label88
;
2778 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2779 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMMethod::global*/;
2780 variable4
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable4
) /*MMGlobalProperty::is_init*/;
2781 if (UNTAG_Bool(variable4
)) { /*if*/
2782 variable4
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*TypingVisitor::local_property*/;
2783 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMSrcLocalProperty::global*/;
2784 variable4
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable4
) /*MMGlobalProperty::is_init*/;
2785 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2786 variable4
= NEW_string___String___init(); /*new String*/
2787 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2788 variable6
= variable5
;
2789 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2790 variable7
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2791 variable8
= variable7
;
2792 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2793 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2794 variable9
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2795 variable10
= variable9
;
2796 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2797 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
2799 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendReassignExpr::n_expr*/;
2800 variable4
= ((typing___PExpr___is_self_t
)CALL(variable4
,COLOR_typing___PExpr___is_self
))(variable4
) /*PExpr::is_self*/;
2801 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2802 variable4
= NEW_string___String___init(); /*new String*/
2803 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2804 variable6
= variable5
;
2805 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2806 variable7
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*ASendReassignExpr::prop*/;
2807 variable8
= variable7
;
2808 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2809 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2810 variable9
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2811 variable10
= variable9
;
2812 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2813 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*TypingVisitor::error*/;
2817 ATTR_typing___AAbsSendExpr____arguments( self
) /*ASendReassignExpr::_arguments*/ = variable3
/*old_args*/;
2818 return_label88
: while(false);
2819 tracehead
= trace
.prev
;
2822 val_t
typing___ABinopExpr___raw_arguments(val_t self
) {
2823 struct trace_t trace
= {NULL
, "typing::ABinopExpr::raw_arguments (src/syntax//typing.nit:1002,2--44)"};
2826 trace
.prev
= tracehead
; tracehead
= &trace
;
2827 variable0
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[PExpr]*/
2828 variable1
= ((parser_nodes___ABinopExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___ABinopExpr___n_expr2
))( self
) /*ABinopExpr::n_expr2*/;
2829 ((array___AbstractArray___add_t
)CALL(variable0
,COLOR_abstract_collection___SimpleCollection___add
))(variable0
, variable1
) /*Array::add*/;
2830 goto return_label89
;
2831 return_label89
: while(false);
2832 tracehead
= trace
.prev
;
2835 val_t
typing___AEqExpr___name(val_t self
) {
2836 struct trace_t trace
= {NULL
, "typing::AEqExpr::name (src/syntax//typing.nit:1005,2--46)"};
2838 static val_t once_value_variable0_91
; static int once_bool_variable0_91
;
2839 trace
.prev
= tracehead
; tracehead
= &trace
;
2840 if (once_bool_variable0_91
) variable0
= once_value_variable0_91
;
2842 variable0
= NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
2843 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2844 once_value_variable0_91
= variable0
;
2845 once_bool_variable0_91
= true;
2847 goto return_label90
;
2848 return_label90
: while(false);
2849 tracehead
= trace
.prev
;
2852 val_t
typing___ANeExpr___name(val_t self
) {
2853 struct trace_t trace
= {NULL
, "typing::ANeExpr::name (src/syntax//typing.nit:1008,2--46)"};
2855 static val_t once_value_variable0_93
; static int once_bool_variable0_93
;
2856 trace
.prev
= tracehead
; tracehead
= &trace
;
2857 if (once_bool_variable0_93
) variable0
= once_value_variable0_93
;
2859 variable0
= NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
2860 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2861 once_value_variable0_93
= variable0
;
2862 once_bool_variable0_93
= true;
2864 goto return_label92
;
2865 return_label92
: while(false);
2866 tracehead
= trace
.prev
;
2869 val_t
typing___ALtExpr___name(val_t self
) {
2870 struct trace_t trace
= {NULL
, "typing::ALtExpr::name (src/syntax//typing.nit:1011,2--45)"};
2872 static val_t once_value_variable0_95
; static int once_bool_variable0_95
;
2873 trace
.prev
= tracehead
; tracehead
= &trace
;
2874 if (once_bool_variable0_95
) variable0
= once_value_variable0_95
;
2876 variable0
= NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
2877 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2878 once_value_variable0_95
= variable0
;
2879 once_bool_variable0_95
= true;
2881 goto return_label94
;
2882 return_label94
: while(false);
2883 tracehead
= trace
.prev
;
2886 val_t
typing___ALeExpr___name(val_t self
) {
2887 struct trace_t trace
= {NULL
, "typing::ALeExpr::name (src/syntax//typing.nit:1014,2--46)"};
2889 static val_t once_value_variable0_97
; static int once_bool_variable0_97
;
2890 trace
.prev
= tracehead
; tracehead
= &trace
;
2891 if (once_bool_variable0_97
) variable0
= once_value_variable0_97
;
2893 variable0
= NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
2894 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2895 once_value_variable0_97
= variable0
;
2896 once_bool_variable0_97
= true;
2898 goto return_label96
;
2899 return_label96
: while(false);
2900 tracehead
= trace
.prev
;
2903 val_t
typing___AGtExpr___name(val_t self
) {
2904 struct trace_t trace
= {NULL
, "typing::AGtExpr::name (src/syntax//typing.nit:1017,2--45)"};
2906 static val_t once_value_variable0_99
; static int once_bool_variable0_99
;
2907 trace
.prev
= tracehead
; tracehead
= &trace
;
2908 if (once_bool_variable0_99
) variable0
= once_value_variable0_99
;
2910 variable0
= NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
2911 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2912 once_value_variable0_99
= variable0
;
2913 once_bool_variable0_99
= true;
2915 goto return_label98
;
2916 return_label98
: while(false);
2917 tracehead
= trace
.prev
;
2920 val_t
typing___AGeExpr___name(val_t self
) {
2921 struct trace_t trace
= {NULL
, "typing::AGeExpr::name (src/syntax//typing.nit:1020,2--46)"};
2923 static val_t once_value_variable0_101
; static int once_bool_variable0_101
;
2924 trace
.prev
= tracehead
; tracehead
= &trace
;
2925 if (once_bool_variable0_101
) variable0
= once_value_variable0_101
;
2927 variable0
= NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
2928 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2929 once_value_variable0_101
= variable0
;
2930 once_bool_variable0_101
= true;
2932 goto return_label100
;
2933 return_label100
: while(false);
2934 tracehead
= trace
.prev
;
2937 val_t
typing___APlusExpr___name(val_t self
) {
2938 struct trace_t trace
= {NULL
, "typing::APlusExpr::name (src/syntax//typing.nit:1023,2--45)"};
2940 static val_t once_value_variable0_103
; static int once_bool_variable0_103
;
2941 trace
.prev
= tracehead
; tracehead
= &trace
;
2942 if (once_bool_variable0_103
) variable0
= once_value_variable0_103
;
2944 variable0
= NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
2945 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2946 once_value_variable0_103
= variable0
;
2947 once_bool_variable0_103
= true;
2949 goto return_label102
;
2950 return_label102
: while(false);
2951 tracehead
= trace
.prev
;
2954 val_t
typing___AMinusExpr___name(val_t self
) {
2955 struct trace_t trace
= {NULL
, "typing::AMinusExpr::name (src/syntax//typing.nit:1026,2--45)"};
2957 static val_t once_value_variable0_105
; static int once_bool_variable0_105
;
2958 trace
.prev
= tracehead
; tracehead
= &trace
;
2959 if (once_bool_variable0_105
) variable0
= once_value_variable0_105
;
2961 variable0
= NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
2962 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2963 once_value_variable0_105
= variable0
;
2964 once_bool_variable0_105
= true;
2966 goto return_label104
;
2967 return_label104
: while(false);
2968 tracehead
= trace
.prev
;
2971 val_t
typing___AStarshipExpr___name(val_t self
) {
2972 struct trace_t trace
= {NULL
, "typing::AStarshipExpr::name (src/syntax//typing.nit:1029,2--47)"};
2974 static val_t once_value_variable0_107
; static int once_bool_variable0_107
;
2975 trace
.prev
= tracehead
; tracehead
= &trace
;
2976 if (once_bool_variable0_107
) variable0
= once_value_variable0_107
;
2978 variable0
= NEW_string___String___with_native(BOX_NativeString("<=>"), TAG_Int(3)); /*new String*/
2979 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2980 once_value_variable0_107
= variable0
;
2981 once_bool_variable0_107
= true;
2983 goto return_label106
;
2984 return_label106
: while(false);
2985 tracehead
= trace
.prev
;
2988 val_t
typing___AStarExpr___name(val_t self
) {
2989 struct trace_t trace
= {NULL
, "typing::AStarExpr::name (src/syntax//typing.nit:1032,2--45)"};
2991 static val_t once_value_variable0_109
; static int once_bool_variable0_109
;
2992 trace
.prev
= tracehead
; tracehead
= &trace
;
2993 if (once_bool_variable0_109
) variable0
= once_value_variable0_109
;
2995 variable0
= NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
2996 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2997 once_value_variable0_109
= variable0
;
2998 once_bool_variable0_109
= true;
3000 goto return_label108
;
3001 return_label108
: while(false);
3002 tracehead
= trace
.prev
;
3005 val_t
typing___ASlashExpr___name(val_t self
) {
3006 struct trace_t trace
= {NULL
, "typing::ASlashExpr::name (src/syntax//typing.nit:1035,2--45)"};
3008 static val_t once_value_variable0_111
; static int once_bool_variable0_111
;
3009 trace
.prev
= tracehead
; tracehead
= &trace
;
3010 if (once_bool_variable0_111
) variable0
= once_value_variable0_111
;
3012 variable0
= NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
3013 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3014 once_value_variable0_111
= variable0
;
3015 once_bool_variable0_111
= true;
3017 goto return_label110
;
3018 return_label110
: while(false);
3019 tracehead
= trace
.prev
;
3022 val_t
typing___APercentExpr___name(val_t self
) {
3023 struct trace_t trace
= {NULL
, "typing::APercentExpr::name (src/syntax//typing.nit:1038,2--45)"};
3025 static val_t once_value_variable0_113
; static int once_bool_variable0_113
;
3026 trace
.prev
= tracehead
; tracehead
= &trace
;
3027 if (once_bool_variable0_113
) variable0
= once_value_variable0_113
;
3029 variable0
= NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
3030 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3031 once_value_variable0_113
= variable0
;
3032 once_bool_variable0_113
= true;
3034 goto return_label112
;
3035 return_label112
: while(false);
3036 tracehead
= trace
.prev
;
3039 val_t
typing___AUminusExpr___name(val_t self
) {
3040 struct trace_t trace
= {NULL
, "typing::AUminusExpr::name (src/syntax//typing.nit:1042,2--51)"};
3042 static val_t once_value_variable0_115
; static int once_bool_variable0_115
;
3043 trace
.prev
= tracehead
; tracehead
= &trace
;
3044 if (once_bool_variable0_115
) variable0
= once_value_variable0_115
;
3046 variable0
= NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
3047 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3048 once_value_variable0_115
= variable0
;
3049 once_bool_variable0_115
= true;
3051 goto return_label114
;
3052 return_label114
: while(false);
3053 tracehead
= trace
.prev
;
3056 val_t
typing___AUminusExpr___raw_arguments(val_t self
) {
3057 struct trace_t trace
= {NULL
, "typing::AUminusExpr::raw_arguments (src/syntax//typing.nit:1043,2--40)"};
3059 trace
.prev
= tracehead
; tracehead
= &trace
;
3060 variable0
= NIT_NULL
/*null*/;
3061 goto return_label116
;
3062 return_label116
: while(false);
3063 tracehead
= trace
.prev
;
3066 void typing___ACallFormExpr___after_typing(val_t self
, val_t param0
) {
3067 struct trace_t trace
= {NULL
, "typing::ACallFormExpr::after_typing (src/syntax//typing.nit:1047,2--1063:7)"};
3077 trace
.prev
= tracehead
; tracehead
= &trace
;
3079 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ACallFormExpr::n_expr*/;
3080 variable1
= ((typing___PExpr___is_implicit_self_t
)CALL(variable1
,COLOR_typing___PExpr___is_implicit_self
))(variable1
) /*PExpr::is_implicit_self*/;
3081 if (UNTAG_Bool(variable1
)) { /*if*/
3082 variable2
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3083 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*TId::to_symbol*/;
3084 variable1
= variable2
;
3085 variable3
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
3086 variable3
= ((typing___VariableContext_____bra_t
)CALL(variable3
,COLOR_typing___VariableContext_____bra
))(variable3
, variable1
/*name*/) /*VariableContext::[]*/;
3087 variable2
= variable3
;
3088 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::==*/)))))));
3089 if (UNTAG_Bool(variable3
)) { /*if*/
3090 variable3
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallFormExpr::n_args*/;
3091 variable3
= ((list___List___is_empty_t
)CALL(variable3
,COLOR_abstract_collection___Collection___is_empty
))(variable3
) /*List::is_empty*/;
3092 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
3093 variable3
= NEW_string___String___init(); /*new String*/
3094 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
3095 variable5
= variable4
;
3096 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
3097 variable6
= variable1
/*name*/;
3098 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
3099 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable6
) /*String::append*/;
3100 variable7
= NEW_string___String___with_native(BOX_NativeString(" is variable, not a function."), TAG_Int(29)); /*new String*/
3101 variable8
= variable7
;
3102 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable8
) /*String::append*/;
3103 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*TypingVisitor::error*/;
3105 variable4
= ((typing___ACallFormExpr___variable_create_t
)CALL( self
,COLOR_typing___ACallFormExpr___variable_create
))( self
, variable2
/*variable*/) /*ACallFormExpr::variable_create*/;
3106 variable3
= variable4
;
3107 ((typing___AVarFormExpr___variable__eq_t
)CALL( variable3
/*vform*/,COLOR_typing___AVarFormExpr___variable__eq
))( variable3
/*vform*/, variable2
/*variable*/) /*AVarFormExpr::variable=*/;
3108 ((parser_prod___Prod___replace_with_t
)CALL( self
,COLOR_parser_prod___PNode___replace_with
))( self
, variable3
/*vform*/) /*ACallFormExpr::replace_with*/;
3109 ((typing___PNode___after_typing_t
)CALL( variable3
/*vform*/,COLOR_typing___PNode___after_typing
))( variable3
/*vform*/, variable0
/*v*/) /*AVarFormExpr::after_typing*/;
3110 goto return_label117
;
3113 ((typing___ACallFormExpr___after_typing_t
)CALL( self
,COLOR_SUPER_typing___ACallFormExpr___after_typing
))( self
, param0
) /*super ACallFormExpr::after_typing*/;
3114 return_label117
: while(false);
3115 tracehead
= trace
.prev
;
3118 val_t
typing___ACallFormExpr___variable_create(val_t self
, val_t param0
) {
3119 struct trace_t trace
= {NULL
, "typing::ACallFormExpr::variable_create (src/syntax//typing.nit:1066,2--1067:55)"};
3120 trace
.prev
= tracehead
; tracehead
= &trace
;
3121 fprintf(stderr
, "Deferred method variable_create called (src/syntax//typing.nit:1066,2)\n");
3123 tracehead
= trace
.prev
;
3126 val_t
typing___ACallExpr___variable_create(val_t self
, val_t param0
) {
3127 struct trace_t trace
= {NULL
, "typing::ACallExpr::variable_create (src/syntax//typing.nit:1071,2--1073:40)"};
3131 trace
.prev
= tracehead
; tracehead
= &trace
;
3133 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallExpr::n_id*/;
3134 variable2
= NEW_parser_prod___AVarExpr___init_avarexpr(variable1
); /*new AVarExpr*/
3135 variable1
= variable2
;
3136 goto return_label118
;
3137 return_label118
: while(false);
3138 tracehead
= trace
.prev
;
3141 val_t
typing___ACallExpr___name(val_t self
) {
3142 struct trace_t trace
= {NULL
, "typing::ACallExpr::name (src/syntax//typing.nit:1076,2--41)"};
3144 trace
.prev
= tracehead
; tracehead
= &trace
;
3145 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallExpr::n_id*/;
3146 variable0
= ((syntax_base___Token___to_symbol_t
)CALL(variable0
,COLOR_syntax_base___Token___to_symbol
))(variable0
) /*TId::to_symbol*/;
3147 goto return_label119
;
3148 return_label119
: while(false);
3149 tracehead
= trace
.prev
;
3152 val_t
typing___ACallExpr___raw_arguments(val_t self
) {
3153 struct trace_t trace
= {NULL
, "typing::ACallExpr::raw_arguments (src/syntax//typing.nit:1077,2--47)"};
3155 trace
.prev
= tracehead
; tracehead
= &trace
;
3156 variable0
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallExpr::n_args*/;
3157 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*List::to_a*/;
3158 goto return_label120
;
3159 return_label120
: while(false);
3160 tracehead
= trace
.prev
;
3163 val_t
typing___ACallAssignExpr___variable_create(val_t self
, val_t param0
) {
3164 struct trace_t trace
= {NULL
, "typing::ACallAssignExpr::variable_create (src/syntax//typing.nit:1081,2--1083:71)"};
3170 trace
.prev
= tracehead
; tracehead
= &trace
;
3172 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallAssignExpr::n_id*/;
3173 variable2
= ((parser_nodes___AAssignFormExpr___n_assign_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_assign
))( self
) /*ACallAssignExpr::n_assign*/;
3174 variable3
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*ACallAssignExpr::n_value*/;
3175 variable4
= NEW_parser_prod___AVarAssignExpr___init_avarassignexpr(variable1
, variable2
, variable3
); /*new AVarAssignExpr*/
3176 variable1
= variable4
;
3177 goto return_label121
;
3178 return_label121
: while(false);
3179 tracehead
= trace
.prev
;
3182 val_t
typing___ACallAssignExpr___name(val_t self
) {
3183 struct trace_t trace
= {NULL
, "typing::ACallAssignExpr::name (src/syntax//typing.nit:1086,2--54)"};
3186 trace
.prev
= tracehead
; tracehead
= &trace
;
3187 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallAssignExpr::n_id*/;
3188 variable0
= ((lexer___Token___text_t
)CALL(variable0
,COLOR_lexer___Token___text
))(variable0
) /*TId::text*/;
3189 variable1
= NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
3190 variable0
= ((string___String_____plus_t
)CALL(variable0
,COLOR_string___String_____plus
))(variable0
, variable1
) /*String::+*/;
3191 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3192 goto return_label122
;
3193 return_label122
: while(false);
3194 tracehead
= trace
.prev
;
3197 val_t
typing___ACallAssignExpr___raw_arguments(val_t self
) {
3198 struct trace_t trace
= {NULL
, "typing::ACallAssignExpr::raw_arguments (src/syntax//typing.nit:1087,2--1090:12)"};
3201 trace
.prev
= tracehead
; tracehead
= &trace
;
3202 variable1
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallAssignExpr::n_args*/;
3203 variable1
= ((array___Collection___to_a_t
)CALL(variable1
,COLOR_array___Collection___to_a
))(variable1
) /*List::to_a*/;
3204 variable0
= variable1
;
3205 variable1
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*ACallAssignExpr::n_value*/;
3206 ((array___AbstractArray___add_t
)CALL( variable0
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable0
/*res*/, variable1
) /*Array::add*/;
3207 variable0
= variable0
/*res*/;
3208 goto return_label123
;
3209 return_label123
: while(false);
3210 tracehead
= trace
.prev
;
3213 val_t
typing___ACallReassignExpr___variable_create(val_t self
, val_t param0
) {
3214 struct trace_t trace
= {NULL
, "typing::ACallReassignExpr::variable_create (src/syntax//typing.nit:1096,2--1098:78)"};
3220 trace
.prev
= tracehead
; tracehead
= &trace
;
3222 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallReassignExpr::n_id*/;
3223 variable2
= ((parser_nodes___AReassignFormExpr___n_assign_op_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_assign_op
))( self
) /*ACallReassignExpr::n_assign_op*/;
3224 variable3
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*ACallReassignExpr::n_value*/;
3225 variable4
= NEW_parser_prod___AVarReassignExpr___init_avarreassignexpr(variable1
, variable2
, variable3
); /*new AVarReassignExpr*/
3226 variable1
= variable4
;
3227 goto return_label124
;
3228 return_label124
: while(false);
3229 tracehead
= trace
.prev
;
3232 val_t
typing___ACallReassignExpr___name(val_t self
) {
3233 struct trace_t trace
= {NULL
, "typing::ACallReassignExpr::name (src/syntax//typing.nit:1101,2--41)"};
3235 trace
.prev
= tracehead
; tracehead
= &trace
;
3236 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallReassignExpr::n_id*/;
3237 variable0
= ((syntax_base___Token___to_symbol_t
)CALL(variable0
,COLOR_syntax_base___Token___to_symbol
))(variable0
) /*TId::to_symbol*/;
3238 goto return_label125
;
3239 return_label125
: while(false);
3240 tracehead
= trace
.prev
;
3243 val_t
typing___ACallReassignExpr___raw_arguments(val_t self
) {
3244 struct trace_t trace
= {NULL
, "typing::ACallReassignExpr::raw_arguments (src/syntax//typing.nit:1102,2--47)"};
3246 trace
.prev
= tracehead
; tracehead
= &trace
;
3247 variable0
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallReassignExpr::n_args*/;
3248 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*List::to_a*/;
3249 goto return_label126
;
3250 return_label126
: while(false);
3251 tracehead
= trace
.prev
;
3254 val_t
typing___ABraExpr___name(val_t self
) {
3255 struct trace_t trace
= {NULL
, "typing::ABraExpr::name (src/syntax//typing.nit:1106,2--46)"};
3257 static val_t once_value_variable0_128
; static int once_bool_variable0_128
;
3258 trace
.prev
= tracehead
; tracehead
= &trace
;
3259 if (once_bool_variable0_128
) variable0
= once_value_variable0_128
;
3261 variable0
= NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
3262 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3263 once_value_variable0_128
= variable0
;
3264 once_bool_variable0_128
= true;
3266 goto return_label127
;
3267 return_label127
: while(false);
3268 tracehead
= trace
.prev
;
3271 val_t
typing___ABraExpr___raw_arguments(val_t self
) {
3272 struct trace_t trace
= {NULL
, "typing::ABraExpr::raw_arguments (src/syntax//typing.nit:1107,2--47)"};
3274 trace
.prev
= tracehead
; tracehead
= &trace
;
3275 variable0
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraExpr::n_args*/;
3276 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*List::to_a*/;
3277 goto return_label129
;
3278 return_label129
: while(false);
3279 tracehead
= trace
.prev
;
3282 val_t
typing___ABraAssignExpr___name(val_t self
) {
3283 struct trace_t trace
= {NULL
, "typing::ABraAssignExpr::name (src/syntax//typing.nit:1111,2--47)"};
3285 static val_t once_value_variable0_131
; static int once_bool_variable0_131
;
3286 trace
.prev
= tracehead
; tracehead
= &trace
;
3287 if (once_bool_variable0_131
) variable0
= once_value_variable0_131
;
3289 variable0
= NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
3290 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3291 once_value_variable0_131
= variable0
;
3292 once_bool_variable0_131
= true;
3294 goto return_label130
;
3295 return_label130
: while(false);
3296 tracehead
= trace
.prev
;
3299 val_t
typing___ABraAssignExpr___raw_arguments(val_t self
) {
3300 struct trace_t trace
= {NULL
, "typing::ABraAssignExpr::raw_arguments (src/syntax//typing.nit:1112,2--1115:12)"};
3303 trace
.prev
= tracehead
; tracehead
= &trace
;
3304 variable1
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraAssignExpr::n_args*/;
3305 variable1
= ((array___Collection___to_a_t
)CALL(variable1
,COLOR_array___Collection___to_a
))(variable1
) /*List::to_a*/;
3306 variable0
= variable1
;
3307 variable1
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*ABraAssignExpr::n_value*/;
3308 ((array___AbstractArray___add_t
)CALL( variable0
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable0
/*res*/, variable1
) /*Array::add*/;
3309 variable0
= variable0
/*res*/;
3310 goto return_label132
;
3311 return_label132
: while(false);
3312 tracehead
= trace
.prev
;
3315 val_t
typing___ABraReassignExpr___name(val_t self
) {
3316 struct trace_t trace
= {NULL
, "typing::ABraReassignExpr::name (src/syntax//typing.nit:1121,2--46)"};
3318 static val_t once_value_variable0_134
; static int once_bool_variable0_134
;
3319 trace
.prev
= tracehead
; tracehead
= &trace
;
3320 if (once_bool_variable0_134
) variable0
= once_value_variable0_134
;
3322 variable0
= NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
3323 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3324 once_value_variable0_134
= variable0
;
3325 once_bool_variable0_134
= true;
3327 goto return_label133
;
3328 return_label133
: while(false);
3329 tracehead
= trace
.prev
;
3332 val_t
typing___ABraReassignExpr___raw_arguments(val_t self
) {
3333 struct trace_t trace
= {NULL
, "typing::ABraReassignExpr::raw_arguments (src/syntax//typing.nit:1122,2--47)"};
3335 trace
.prev
= tracehead
; tracehead
= &trace
;
3336 variable0
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraReassignExpr::n_args*/;
3337 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*List::to_a*/;
3338 goto return_label135
;
3339 return_label135
: while(false);
3340 tracehead
= trace
.prev
;
3343 val_t
typing___AInitExpr___name(val_t self
) {
3344 struct trace_t trace
= {NULL
, "typing::AInitExpr::name (src/syntax//typing.nit:1126,2--48)"};
3346 static val_t once_value_variable0_137
; static int once_bool_variable0_137
;
3347 trace
.prev
= tracehead
; tracehead
= &trace
;
3348 if (once_bool_variable0_137
) variable0
= once_value_variable0_137
;
3350 variable0
= NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
3351 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3352 once_value_variable0_137
= variable0
;
3353 once_bool_variable0_137
= true;
3355 goto return_label136
;
3356 return_label136
: while(false);
3357 tracehead
= trace
.prev
;
3360 val_t
typing___AInitExpr___raw_arguments(val_t self
) {
3361 struct trace_t trace
= {NULL
, "typing::AInitExpr::raw_arguments (src/syntax//typing.nit:1127,2--47)"};
3363 trace
.prev
= tracehead
; tracehead
= &trace
;
3364 variable0
= ((parser_nodes___AInitExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___AInitExpr___n_args
))( self
) /*AInitExpr::n_args*/;
3365 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*List::to_a*/;
3366 goto return_label138
;
3367 return_label138
: while(false);
3368 tracehead
= trace
.prev
;
3371 void typing___AIsaExpr___after_typing(val_t self
, val_t param0
) {
3372 struct trace_t trace
= {NULL
, "typing::AIsaExpr::after_typing (src/syntax//typing.nit:1131,2--1138:22)"};
3378 trace
.prev
= tracehead
; tracehead
= &trace
;
3380 variable1
= ((parser_nodes___AIsaExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_expr
))( self
) /*AIsaExpr::n_expr*/;
3381 variable1
= ((typing___PExpr___is_variable_t
)CALL(variable1
,COLOR_typing___PExpr___is_variable
))(variable1
) /*PExpr::is_variable*/;
3382 if (UNTAG_Bool(variable1
)) { /*if*/
3383 variable2
= ((parser_nodes___AIsaExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_expr
))( self
) /*AIsaExpr::n_expr*/;
3384 variable1
= variable2
;
3385 variable2
= TAG_Bool(( variable1
/*n*/==NIT_NULL
) || VAL_ISA( variable1
/*n*/, COLOR_AVarExpr
, ID_AVarExpr
)) /*cast AVarExpr*/;
3386 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert failed: src/syntax//typing.nit:1135,4--24\n"); nit_exit(1);}
3387 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
3388 variable3
= ((typing___AVarFormExpr___variable_t
)CALL( variable1
/*n*/,COLOR_typing___AVarFormExpr___variable
))( variable1
/*n*/) /*AVarExpr::variable*/;
3389 variable4
= ((parser_nodes___AIsaExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_type
))( self
) /*AIsaExpr::n_type*/;
3390 variable4
= ((typing___PType___stype_t
)CALL(variable4
,COLOR_typing___PType___stype
))(variable4
) /*PType::stype*/;
3391 variable2
= ((typing___VariableContext___sub_with_t
)CALL(variable2
,COLOR_typing___VariableContext___sub_with
))(variable2
, variable3
, variable4
) /*VariableContext::sub_with*/;
3392 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*AIsaExpr::_if_true_variable_ctx*/ = variable2
;
3394 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*TypingVisitor::type_bool*/;
3395 ATTR_typing___PExpr____stype( self
) /*AIsaExpr::_stype*/ = variable1
;
3396 tracehead
= trace
.prev
;
3399 void typing___AProxyExpr___after_typing(val_t self
, val_t param0
) {
3400 struct trace_t trace
= {NULL
, "typing::AProxyExpr::after_typing (src/syntax//typing.nit:1143,2--1145:23)"};
3403 trace
.prev
= tracehead
; tracehead
= &trace
;
3405 variable1
= ((parser_nodes___AProxyExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AProxyExpr___n_expr
))( self
) /*AProxyExpr::n_expr*/;
3406 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
3407 ATTR_typing___PExpr____stype( self
) /*AProxyExpr::_stype*/ = variable1
;
3408 tracehead
= trace
.prev
;