1 /* This C file is generated by NIT to compile module typing. */
2 #include "typing._sep.h"
3 void typing___MMSrcModule___do_typing(val_t self
, val_t param0
) {
4 struct trace_t trace
= {NULL
, LOCATE_typing
, 23, LOCATE_typing___MMSrcModule___do_typing
};
8 trace
.prev
= tracehead
; tracehead
= &trace
;
10 variable2
= NEW_typing___TypingVisitor___init( variable0
/*tc*/, self
); /*new TypingVisitor*/
11 variable1
= variable2
;
12 variable2
= ((syntax_base___MMSrcModule___node_t
)CALL( self
,COLOR_syntax_base___MMSrcModule___node
))( self
) /*MMSrcModule::node*/;
13 ((typing___TypingVisitor___visit_t
)CALL( variable1
/*tv*/,COLOR_parser_prod___Visitor___visit
))( variable1
/*tv*/, variable2
) /*TypingVisitor::visit*/;
14 tracehead
= trace
.prev
;
17 void typing___TypingVisitor___visit(val_t self
, val_t param0
) {
18 struct trace_t trace
= {NULL
, LOCATE_typing
, 39, LOCATE_typing___TypingVisitor___visit
};
21 trace
.prev
= tracehead
; tracehead
= &trace
;
23 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*n*/ == NIT_NULL
/*null*/) || (( variable0
/*n*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*n*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*n*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*n*/,COLOR_kernel___Object_____eqeq
))( variable0
/*n*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
24 if (UNTAG_Bool(variable1
)) { /*if*/
25 ((typing___PNode___accept_typing_t
)CALL( variable0
/*n*/,COLOR_typing___PNode___accept_typing
))( variable0
/*n*/, self
) /*PNode::accept_typing*/;
27 tracehead
= trace
.prev
;
30 val_t
typing___TypingVisitor___variable_ctx(val_t self
) {
31 struct trace_t trace
= {NULL
, LOCATE_typing
, 44, LOCATE_typing___TypingVisitor___variable_ctx
};
32 trace
.prev
= tracehead
; tracehead
= &trace
;
33 tracehead
= trace
.prev
;
34 return ATTR_typing___TypingVisitor____variable_ctx( self
) /*TypingVisitor::_variable_ctx*/;
36 void typing___TypingVisitor___variable_ctx__eq(val_t self
, val_t param0
) {
37 struct trace_t trace
= {NULL
, LOCATE_typing
, 44, LOCATE_typing___TypingVisitor___variable_ctx__eq
};
38 trace
.prev
= tracehead
; tracehead
= &trace
;
39 ATTR_typing___TypingVisitor____variable_ctx( self
) /*TypingVisitor::_variable_ctx*/ = param0
;
40 tracehead
= trace
.prev
;
43 val_t
typing___TypingVisitor___self_type(val_t self
) {
44 struct trace_t trace
= {NULL
, LOCATE_typing
, 47, LOCATE_typing___TypingVisitor___self_type
};
45 trace
.prev
= tracehead
; tracehead
= &trace
;
46 tracehead
= trace
.prev
;
47 return ATTR_typing___TypingVisitor____self_type( self
) /*TypingVisitor::_self_type*/;
49 void typing___TypingVisitor___self_type__eq(val_t self
, val_t param0
) {
50 struct trace_t trace
= {NULL
, LOCATE_typing
, 47, LOCATE_typing___TypingVisitor___self_type__eq
};
51 trace
.prev
= tracehead
; tracehead
= &trace
;
52 ATTR_typing___TypingVisitor____self_type( self
) /*TypingVisitor::_self_type*/ = param0
;
53 tracehead
= trace
.prev
;
56 val_t
typing___TypingVisitor___top_block(val_t self
) {
57 struct trace_t trace
= {NULL
, LOCATE_typing
, 50, LOCATE_typing___TypingVisitor___top_block
};
58 trace
.prev
= tracehead
; tracehead
= &trace
;
59 tracehead
= trace
.prev
;
60 return ATTR_typing___TypingVisitor____top_block( self
) /*TypingVisitor::_top_block*/;
62 void typing___TypingVisitor___top_block__eq(val_t self
, val_t param0
) {
63 struct trace_t trace
= {NULL
, LOCATE_typing
, 50, LOCATE_typing___TypingVisitor___top_block__eq
};
64 trace
.prev
= tracehead
; tracehead
= &trace
;
65 ATTR_typing___TypingVisitor____top_block( self
) /*TypingVisitor::_top_block*/ = param0
;
66 tracehead
= trace
.prev
;
69 val_t
typing___TypingVisitor___explicit_super_init_calls(val_t self
) {
70 struct trace_t trace
= {NULL
, LOCATE_typing
, 53, LOCATE_typing___TypingVisitor___explicit_super_init_calls
};
71 trace
.prev
= tracehead
; tracehead
= &trace
;
72 tracehead
= trace
.prev
;
73 return ATTR_typing___TypingVisitor____explicit_super_init_calls( self
) /*TypingVisitor::_explicit_super_init_calls*/;
75 void typing___TypingVisitor___explicit_super_init_calls__eq(val_t self
, val_t param0
) {
76 struct trace_t trace
= {NULL
, LOCATE_typing
, 53, LOCATE_typing___TypingVisitor___explicit_super_init_calls__eq
};
77 trace
.prev
= tracehead
; tracehead
= &trace
;
78 ATTR_typing___TypingVisitor____explicit_super_init_calls( self
) /*TypingVisitor::_explicit_super_init_calls*/ = param0
;
79 tracehead
= trace
.prev
;
82 val_t
typing___TypingVisitor___explicit_other_init_call(val_t self
) {
83 struct trace_t trace
= {NULL
, LOCATE_typing
, 56, LOCATE_typing___TypingVisitor___explicit_other_init_call
};
84 trace
.prev
= tracehead
; tracehead
= &trace
;
85 tracehead
= trace
.prev
;
86 return ATTR_typing___TypingVisitor____explicit_other_init_call( self
) /*TypingVisitor::_explicit_other_init_call*/;
88 void typing___TypingVisitor___explicit_other_init_call__eq(val_t self
, val_t param0
) {
89 struct trace_t trace
= {NULL
, LOCATE_typing
, 56, LOCATE_typing___TypingVisitor___explicit_other_init_call__eq
};
90 trace
.prev
= tracehead
; tracehead
= &trace
;
91 ATTR_typing___TypingVisitor____explicit_other_init_call( self
) /*TypingVisitor::_explicit_other_init_call*/ = param0
;
92 tracehead
= trace
.prev
;
95 void typing___TypingVisitor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
96 struct trace_t trace
= {NULL
, LOCATE_typing
, 59, LOCATE_typing___TypingVisitor___init
};
99 trace
.prev
= tracehead
; tracehead
= &trace
;
102 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TypingVisitor
].i
]) return;
103 ((syntax_base___AbsSyntaxVisitor___init_t
)CALL( self
,COLOR_syntax_base___AbsSyntaxVisitor___init
))( self
, param0
, param1
, init_table
/*YYY*/) /*AbsSyntaxVisitor::init*/;
104 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_TypingVisitor
].i
] = 1;
105 tracehead
= trace
.prev
;
108 val_t
typing___TypingVisitor___get_default_constructor_for(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
109 struct trace_t trace
= {NULL
, LOCATE_typing
, 61, LOCATE_typing___TypingVisitor___get_default_constructor_for
};
127 trace
.prev
= tracehead
; tracehead
= &trace
;
132 variable5
= NEW_array___Array___init(); /*new Array[E]*/
133 variable4
= variable5
;
134 variable6
= NEW_array___Array___init(); /*new Array[E]*/
135 variable5
= variable6
;
136 variable7
= ((static_type___MMLocalProperty___signature_t
)CALL( variable2
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable2
/*prop*/) /*MMLocalProperty::signature*/;
137 variable7
= ((static_type___MMSignature___arity_t
)CALL(variable7
,COLOR_static_type___MMSignature___arity
))(variable7
) /*MMSignature::arity*/;
138 variable6
= variable7
;
139 variable7
= ((abstractmetamodel___MMLocalClass___global_properties_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global_properties
))( variable1
/*c*/) /*MMLocalClass::global_properties*/;
140 variable7
= ((abstract_collection___Collection___iterator_t
)CALL(variable7
,COLOR_abstract_collection___Collection___iterator
))(variable7
) /*Collection::iterator*/;
141 while (true) { /*for*/
142 variable8
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___is_ok
))(variable7
) /*Iterator::is_ok*/;
143 if (!UNTAG_Bool(variable8
)) break; /*for*/
144 variable8
= ((abstract_collection___Iterator___item_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___item
))(variable7
) /*Iterator::item*/;
145 variable9
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))( variable8
/*g*/) /*MMGlobalProperty::is_init*/;
146 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable9
)))) { /*if*/
149 variable9
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL( variable8
/*g*/,COLOR_abstractmetamodel___MMGlobalProperty___intro
))( variable8
/*g*/) /*MMGlobalProperty::intro*/;
150 variable9
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable9
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable9
) /*MMLocalProperty::local_class*/;
151 variable9
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable9
== variable1
/*c*/) || ((variable9
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable9
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable9
, variable1
/*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable9
,COLOR_kernel___Object_____eqeq
))(variable9
, variable1
/*c*/) /*Object::==*/)))))));
152 if (UNTAG_Bool(variable9
)) { /*if*/
155 variable10
= ((inheritance___MMLocalClass_____bra_t
)CALL( variable1
/*c*/,COLOR_abstractmetamodel___MMLocalClass_____bra
))( variable1
/*c*/, variable8
/*g*/) /*MMLocalClass::[]*/;
156 variable9
= variable10
;
157 variable10
= TAG_Bool(( variable9
/*gp*/==NIT_NULL
) || VAL_ISA( variable9
/*gp*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
158 if (!UNTAG_Bool(variable10
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___TypingVisitor___get_default_constructor_for
, LOCATE_typing
, 73); nit_exit(1);}
159 variable11
= ((static_type___MMLocalProperty___signature_t
)CALL( variable9
/*gp*/,COLOR_static_type___MMLocalProperty___signature
))( variable9
/*gp*/) /*MMLocalProperty::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*/) /*Object::==*/)))))));
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
) /*MMLocalProperty::name*/;
167 variable13
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL( variable2
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___name
))( variable2
/*prop*/) /*MMLocalProperty::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
) /*Object::==*/)))));
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
= ((static_type___MMLocalProperty___signature_t
)CALL( variable2
/*prop*/,COLOR_static_type___MMLocalProperty___signature
))( variable2
/*prop*/) /*MMLocalProperty::signature*/;
176 variable13
= ((static_type___MMLocalProperty___signature_t
)CALL( variable9
/*gp*/,COLOR_static_type___MMLocalProperty___signature
))( variable9
/*gp*/) /*MMLocalProperty::signature*/;
177 variable12
= ((static_type___MMSignature_____l_t
)CALL(variable12
,COLOR_static_type___MMSignature_____l
))(variable12
, variable13
) /*MMSignature::<*/;
179 variable11
= variable12
;
180 if (UNTAG_Bool(variable11
)) { /*if*/
181 variable3
= variable9
/*gp*/;
184 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*AbstractArray::add*/;
187 variable11
= TAG_Bool(( variable10
/*garity*/)==( TAG_Int(0)));
188 if (UNTAG_Bool(variable11
)) { /*if*/
189 ((array___AbstractArray___add_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable4
/*candidates*/, variable9
/*gp*/) /*AbstractArray::add*/;
190 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*AbstractArray::add*/;
192 ((array___AbstractArray___add_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___SimpleCollection___add
))( variable5
/*false_candidates*/, variable9
/*gp*/) /*AbstractArray::add*/;
195 continue_4
: while(0);
196 ((abstract_collection___Iterator___next_t
)CALL(variable7
,COLOR_abstract_collection___Iterator___next
))(variable7
) /*Iterator::next*/;
199 variable7
= ((array___AbstractArray___length_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___Collection___length
))( variable4
/*candidates*/) /*AbstractArray::length*/;
200 variable7
= TAG_Bool((variable7
)==( TAG_Int(1)));
201 if (UNTAG_Bool(variable7
)) { /*if*/
202 variable7
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___Collection___first
))( variable4
/*candidates*/) /*IndexedCollection::first*/;
203 variable3
= variable7
;
206 variable7
= ((array___AbstractArray___length_t
)CALL( variable4
/*candidates*/,COLOR_abstract_collection___Collection___length
))( variable4
/*candidates*/) /*AbstractArray::length*/;
207 variable7
= TAG_Bool(UNTAG_Int(variable7
)>UNTAG_Int( TAG_Int(0)));
208 if (UNTAG_Bool(variable7
)) { /*if*/
209 variable7
= NEW_string___String___init(); /*new String*/
210 variable8
= NEW_string___String___with_native(BOX_NativeString("Error: Conflicting default constructor to call for "), TAG_Int(51)); /*new String*/
211 variable9
= variable8
;
212 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
213 variable10
= variable1
/*c*/;
214 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
215 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable10
) /*String::append*/;
216 variable11
= NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
217 variable12
= variable11
;
218 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable12
) /*String::append*/;
219 variable13
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
220 variable13
= ((string___Collection___join_t
)CALL( variable4
/*candidates*/,COLOR_string___Collection___join
))( variable4
/*candidates*/, variable13
) /*Collection::join*/;
221 variable14
= variable13
;
222 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable14
) /*String::append*/;
223 variable15
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
224 variable16
= variable15
;
225 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable16
) /*String::append*/;
226 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable3
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable3
/*v*/, variable0
/*n*/, variable7
) /*AbsSyntaxVisitor::error*/;
227 variable3
= NIT_NULL
/*null*/;
230 variable7
= ((array___AbstractArray___length_t
)CALL( variable5
/*false_candidates*/,COLOR_abstract_collection___Collection___length
))( variable5
/*false_candidates*/) /*AbstractArray::length*/;
231 variable7
= TAG_Bool(UNTAG_Int(variable7
)>UNTAG_Int( TAG_Int(0)));
232 if (UNTAG_Bool(variable7
)) { /*if*/
233 variable7
= NEW_string___String___init(); /*new String*/
234 variable8
= NEW_string___String___with_native(BOX_NativeString("Error: there is no available compatible constrctor in "), TAG_Int(54)); /*new String*/
235 variable9
= variable8
;
236 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
237 variable10
= variable1
/*c*/;
238 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
239 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable10
) /*String::append*/;
240 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
241 variable12
= variable11
;
242 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable12
) /*String::append*/;
243 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable3
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable3
/*v*/, variable0
/*n*/, variable7
) /*AbsSyntaxVisitor::error*/;
244 variable3
= NIT_NULL
/*null*/;
247 variable7
= NEW_string___String___init(); /*new String*/
248 variable8
= NEW_string___String___with_native(BOX_NativeString("Error: there is no available compatible constrctor in "), TAG_Int(54)); /*new String*/
249 variable9
= variable8
;
250 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
251 variable10
= variable1
/*c*/;
252 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
253 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable10
) /*String::append*/;
254 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
255 variable12
= variable11
;
256 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable12
) /*String::append*/;
257 ((syntax_base___AbsSyntaxVisitor___warning_t
)CALL( variable3
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___warning
))( variable3
/*v*/, variable0
/*n*/, variable7
) /*AbsSyntaxVisitor::warning*/;
258 variable3
= NIT_NULL
/*null*/;
263 return_label3
: while(false);
264 tracehead
= trace
.prev
;
267 val_t
typing___VariableContext_____bra(val_t self
, val_t param0
) {
268 struct trace_t trace
= {NULL
, LOCATE_typing
, 106, LOCATE_typing___VariableContext_____bra
};
271 trace
.prev
= tracehead
; tracehead
= &trace
;
273 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
274 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*s*/) /*Map::has_key*/;
275 if (UNTAG_Bool(variable1
)) { /*if*/
276 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
277 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*s*/) /*Map::[]*/;
280 variable1
= NIT_NULL
/*null*/;
283 return_label5
: while(false);
284 tracehead
= trace
.prev
;
287 void typing___VariableContext___add(val_t self
, val_t param0
) {
288 struct trace_t trace
= {NULL
, LOCATE_typing
, 117, LOCATE_typing___VariableContext___add
};
292 trace
.prev
= tracehead
; tracehead
= &trace
;
294 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
295 variable2
= ((syntax_base___Variable___name_t
)CALL( variable0
/*v*/,COLOR_syntax_base___Variable___name
))( variable0
/*v*/) /*Variable::name*/;
296 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*v*/) /*Map::[]=*/;
297 tracehead
= trace
.prev
;
300 val_t
typing___VariableContext___stype(val_t self
, val_t param0
) {
301 struct trace_t trace
= {NULL
, LOCATE_typing
, 124, LOCATE_typing___VariableContext___stype
};
304 trace
.prev
= tracehead
; tracehead
= &trace
;
306 variable1
= ((syntax_base___Variable___stype_t
)CALL( variable0
/*v*/,COLOR_syntax_base___Variable___stype
))( variable0
/*v*/) /*Variable::stype*/;
308 return_label7
: while(false);
309 tracehead
= trace
.prev
;
312 val_t
typing___VariableContext___sub(val_t self
) {
313 struct trace_t trace
= {NULL
, LOCATE_typing
, 134, LOCATE_typing___VariableContext___sub
};
315 trace
.prev
= tracehead
; tracehead
= &trace
;
316 variable0
= NEW_typing___SubVariableContext___with( self
, NIT_NULL
/*null*/, NIT_NULL
/*null*/); /*new SubVariableContext*/
318 return_label8
: while(false);
319 tracehead
= trace
.prev
;
322 val_t
typing___VariableContext___sub_with(val_t self
, val_t param0
, val_t param1
) {
323 struct trace_t trace
= {NULL
, LOCATE_typing
, 140, LOCATE_typing___VariableContext___sub_with
};
327 trace
.prev
= tracehead
; tracehead
= &trace
;
330 variable2
= NEW_typing___SubVariableContext___with( self
, variable0
/*v*/, variable1
/*t*/); /*new SubVariableContext*/
332 return_label9
: while(false);
333 tracehead
= trace
.prev
;
336 void typing___VariableContext___init(val_t self
, int* init_table
) {
337 struct trace_t trace
= {NULL
, LOCATE_typing
, 146, LOCATE_typing___VariableContext___init
};
339 trace
.prev
= tracehead
; tracehead
= &trace
;
340 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_VariableContext
].i
]) return;
341 variable0
= NEW_hash___HashMap___init(); /*new HashMap[K, V]*/
342 ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/ = variable0
;
343 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_VariableContext
].i
] = 1;
344 tracehead
= trace
.prev
;
347 val_t
typing___SubVariableContext___prev(val_t self
) {
348 struct trace_t trace
= {NULL
, LOCATE_typing
, 154, LOCATE_typing___SubVariableContext___prev
};
349 trace
.prev
= tracehead
; tracehead
= &trace
;
350 tracehead
= trace
.prev
;
351 return ATTR_typing___SubVariableContext____prev( self
) /*SubVariableContext::_prev*/;
353 val_t
typing___SubVariableContext_____bra(val_t self
, val_t param0
) {
354 struct trace_t trace
= {NULL
, LOCATE_typing
, 158, LOCATE_typing___SubVariableContext_____bra
};
357 trace
.prev
= tracehead
; tracehead
= &trace
;
359 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
360 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*s*/) /*Map::has_key*/;
361 if (UNTAG_Bool(variable1
)) { /*if*/
362 variable1
= ATTR_typing___VariableContext____dico( self
) /*VariableContext::_dico*/;
363 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*s*/) /*Map::[]*/;
366 variable1
= ((typing___SubVariableContext___prev_t
)CALL( self
,COLOR_typing___SubVariableContext___prev
))( self
) /*SubVariableContext::prev*/;
367 variable1
= ((typing___VariableContext_____bra_t
)CALL(variable1
,COLOR_typing___VariableContext_____bra
))(variable1
, variable0
/*s*/) /*VariableContext::[]*/;
370 return_label11
: while(false);
371 tracehead
= trace
.prev
;
374 val_t
typing___SubVariableContext___stype(val_t self
, val_t param0
) {
375 struct trace_t trace
= {NULL
, LOCATE_typing
, 167, LOCATE_typing___SubVariableContext___stype
};
378 trace
.prev
= tracehead
; tracehead
= &trace
;
380 variable1
= ATTR_typing___SubVariableContext____variable( self
) /*SubVariableContext::_variable*/;
381 variable1
= TAG_Bool((variable1
== variable0
/*v*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, variable0
/*v*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, variable0
/*v*/) /*Object::==*/)))));
382 if (UNTAG_Bool(variable1
)) { /*if*/
383 variable1
= ATTR_typing___SubVariableContext____var_type( self
) /*SubVariableContext::_var_type*/;
386 variable1
= ((typing___SubVariableContext___prev_t
)CALL( self
,COLOR_typing___SubVariableContext___prev
))( self
) /*SubVariableContext::prev*/;
387 variable1
= ((typing___VariableContext___stype_t
)CALL(variable1
,COLOR_typing___VariableContext___stype
))(variable1
, variable0
/*v*/) /*VariableContext::stype*/;
389 return_label12
: while(false);
390 tracehead
= trace
.prev
;
393 void typing___SubVariableContext___with(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
394 struct trace_t trace
= {NULL
, LOCATE_typing
, 175, LOCATE_typing___SubVariableContext___with
};
398 trace
.prev
= tracehead
; tracehead
= &trace
;
402 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_SubVariableContext
].i
]) return;
403 ((typing___VariableContext___init_t
)CALL( self
,COLOR_typing___VariableContext___init
))( self
, init_table
/*YYY*/) /*VariableContext::init*/;
404 ATTR_typing___SubVariableContext____prev( self
) /*SubVariableContext::_prev*/ = variable0
/*p*/;
405 ATTR_typing___SubVariableContext____variable( self
) /*SubVariableContext::_variable*/ = variable1
/*v*/;
406 ATTR_typing___SubVariableContext____var_type( self
) /*SubVariableContext::_var_type*/ = variable2
/*t*/;
407 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_SubVariableContext
].i
] = 1;
408 tracehead
= trace
.prev
;
411 void typing___PNode___accept_typing(val_t self
, val_t param0
) {
412 struct trace_t trace
= {NULL
, LOCATE_typing
, 188, LOCATE_typing___PNode___accept_typing
};
414 trace
.prev
= tracehead
; tracehead
= &trace
;
416 ((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*/;
417 ((typing___PNode___after_typing_t
)CALL( self
,COLOR_typing___PNode___after_typing
))( self
, variable0
/*v*/) /*PNode::after_typing*/;
418 tracehead
= trace
.prev
;
421 void typing___PNode___after_typing(val_t self
, val_t param0
) {
422 struct trace_t trace
= {NULL
, LOCATE_typing
, 193, LOCATE_typing___PNode___after_typing
};
424 trace
.prev
= tracehead
; tracehead
= &trace
;
426 tracehead
= trace
.prev
;
429 void typing___PClassdef___accept_typing(val_t self
, val_t param0
) {
430 struct trace_t trace
= {NULL
, LOCATE_typing
, 197, LOCATE_typing___PClassdef___accept_typing
};
433 trace
.prev
= tracehead
; tracehead
= &trace
;
435 variable1
= ((syntax_base___PClassdef___local_class_t
)CALL( self
,COLOR_syntax_base___PClassdef___local_class
))( self
) /*PClassdef::local_class*/;
436 variable1
= ((genericity___MMLocalClass___get_type_t
)CALL(variable1
,COLOR_static_type___MMLocalClass___get_type
))(variable1
) /*MMLocalClass::get_type*/;
437 ((typing___TypingVisitor___self_type__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::self_type=*/;
438 ((typing___PClassdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___PClassdef___accept_typing
))( self
, param0
) /*super PClassdef::accept_typing*/;
439 tracehead
= trace
.prev
;
442 void typing___AAttrPropdef___accept_typing(val_t self
, val_t param0
) {
443 struct trace_t trace
= {NULL
, LOCATE_typing
, 205, LOCATE_typing___AAttrPropdef___accept_typing
};
448 trace
.prev
= tracehead
; tracehead
= &trace
;
450 ((typing___AAttrPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AAttrPropdef___accept_typing
))( self
, param0
) /*super AAttrPropdef::accept_typing*/;
451 variable1
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
452 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))))));
453 if (UNTAG_Bool(variable1
)) { /*if*/
454 variable1
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
455 variable2
= ((parser_nodes___AAttrPropdef___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrPropdef___n_expr
))( self
) /*AAttrPropdef::n_expr*/;
456 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
457 variable3
= ((syntax_base___AAttrPropdef___prop_t
)CALL( self
,COLOR_syntax_base___AAttrPropdef___prop
))( self
) /*AAttrPropdef::prop*/;
458 variable3
= ((static_type___MMLocalProperty___signature_t
)CALL(variable3
,COLOR_static_type___MMLocalProperty___signature
))(variable3
) /*MMLocalProperty::signature*/;
459 variable3
= ((static_type___MMSignature___return_type_t
)CALL(variable3
,COLOR_static_type___MMSignature___return_type
))(variable3
) /*MMSignature::return_type*/;
460 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, variable1
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
462 tracehead
= trace
.prev
;
465 void typing___AMethPropdef___accept_typing(val_t self
, val_t param0
) {
466 struct trace_t trace
= {NULL
, LOCATE_typing
, 215, LOCATE_typing___AMethPropdef___accept_typing
};
469 trace
.prev
= tracehead
; tracehead
= &trace
;
471 variable1
= NEW_typing___VariableContext___init(); /*new VariableContext*/
472 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
473 ((typing___AMethPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AMethPropdef___accept_typing
))( self
, param0
) /*super AMethPropdef::accept_typing*/;
474 tracehead
= trace
.prev
;
477 val_t
typing___AConcreteInitPropdef___super_init_calls(val_t self
) {
478 struct trace_t trace
= {NULL
, LOCATE_typing
, 223, LOCATE_typing___AConcreteInitPropdef___super_init_calls
};
479 trace
.prev
= tracehead
; tracehead
= &trace
;
480 tracehead
= trace
.prev
;
481 return ATTR_typing___AConcreteInitPropdef____super_init_calls( self
) /*AConcreteInitPropdef::_super_init_calls*/;
483 val_t
typing___AConcreteInitPropdef___explicit_super_init_calls(val_t self
) {
484 struct trace_t trace
= {NULL
, LOCATE_typing
, 224, LOCATE_typing___AConcreteInitPropdef___explicit_super_init_calls
};
485 trace
.prev
= tracehead
; tracehead
= &trace
;
486 tracehead
= trace
.prev
;
487 return ATTR_typing___AConcreteInitPropdef____explicit_super_init_calls( self
) /*AConcreteInitPropdef::_explicit_super_init_calls*/;
489 void typing___AConcreteInitPropdef___accept_typing(val_t self
, val_t param0
) {
490 struct trace_t trace
= {NULL
, LOCATE_typing
, 225, LOCATE_typing___AConcreteInitPropdef___accept_typing
};
502 trace
.prev
= tracehead
; tracehead
= &trace
;
504 variable1
= ((parser_nodes___AConcreteMethPropdef___n_block_t
)CALL( self
,COLOR_parser_nodes___AConcreteMethPropdef___n_block
))( self
) /*AConcreteMethPropdef::n_block*/;
505 ((typing___TypingVisitor___top_block__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::top_block=*/;
506 variable1
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
507 ((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=*/;
508 ((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=*/;
509 ((typing___AConcreteInitPropdef___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___AConcreteInitPropdef___accept_typing
))( self
, param0
) /*super AConcreteInitPropdef::accept_typing*/;
510 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*/;
511 if (UNTAG_Bool(variable1
)) { /*if*/
513 variable1
= TAG_Int(0);
514 variable3
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
515 variable3
= ((array___AbstractArray___length_t
)CALL(variable3
,COLOR_abstract_collection___Collection___length
))(variable3
) /*AbstractArray::length*/;
516 variable2
= variable3
;
517 variable3
= NIT_NULL
/*null*/;
518 variable4
= NIT_NULL
/*null*/;
519 variable5
= TAG_Bool(UNTAG_Int( variable1
/*i*/)<UNTAG_Int( variable2
/*l*/));
520 if (UNTAG_Bool(variable5
)) { /*if*/
521 variable5
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
522 variable6
= variable1
/*i*/;
523 variable7
= TAG_Bool(UNTAG_Int( variable6
/*index*/)>=UNTAG_Int( TAG_Int(0)));
524 variable8
= variable7
;
525 if (UNTAG_Bool(variable8
)) { /* and */
526 variable8
= variable5
;
527 variable8
= ATTR_array___AbstractArray____length(variable8
) /*AbstractArray::_length*/;
528 variable8
= TAG_Bool(UNTAG_Int( variable6
/*index*/)<UNTAG_Int(variable8
));
530 variable7
= variable8
;
531 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_typing
, 229); nit_exit(1);}
532 variable7
= variable5
;
533 variable7
= ATTR_array___Array____items(variable7
) /*Array::_items*/;
534 variable7
= UNBOX_NativeArray(variable7
)[UNTAG_Int( variable6
/*index*/)];
536 return_label20
: while(false);
537 variable5
= variable7
;
538 variable3
= variable5
/*cur_m=*/;
539 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*cur_m*/) /*MMLocalProperty::global*/;
540 variable5
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable5
) /*MMGlobalProperty::intro*/;
541 variable5
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable5
) /*MMLocalProperty::local_class*/;
542 variable4
= variable5
/*cur_c=*/;
544 variable5
= TAG_Int(0);
545 while (true) { /*while*/
546 variable6
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
547 variable6
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable6
) /*MMLocalClass::cshe*/;
548 variable6
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable6
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable6
) /*PartialOrderElement::direct_greaters*/;
549 variable6
= ((array___AbstractArray___length_t
)CALL(variable6
,COLOR_abstract_collection___Collection___length
))(variable6
) /*AbstractArray::length*/;
550 variable6
= TAG_Bool(UNTAG_Int( variable5
/*j*/)<UNTAG_Int(variable6
));
551 if (!UNTAG_Bool(variable6
)) break; /* while*/
552 variable7
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
553 variable7
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable7
) /*MMLocalClass::cshe*/;
554 variable7
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable7
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable7
) /*PartialOrderElement::direct_greaters*/;
555 variable8
= variable5
/*j*/;
556 variable9
= TAG_Bool(UNTAG_Int( variable8
/*index*/)>=UNTAG_Int( TAG_Int(0)));
557 variable10
= variable9
;
558 if (UNTAG_Bool(variable10
)) { /* and */
559 variable10
= variable7
;
560 variable10
= ATTR_array___AbstractArray____length(variable10
) /*AbstractArray::_length*/;
561 variable10
= TAG_Bool(UNTAG_Int( variable8
/*index*/)<UNTAG_Int(variable10
));
563 variable9
= variable10
;
564 if (!UNTAG_Bool(variable9
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_typing
, 229); nit_exit(1);}
565 variable9
= variable7
;
566 variable9
= ATTR_array___Array____items(variable9
) /*Array::_items*/;
567 variable9
= UNBOX_NativeArray(variable9
)[UNTAG_Int( variable8
/*index*/)];
569 return_label22
: while(false);
570 variable7
= variable9
;
571 variable6
= variable7
;
572 variable7
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable6
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable6
/*c*/) /*MMLocalClass::global*/;
573 variable7
= ((abstractmetamodel___MMGlobalClass___is_interface_t
)CALL(variable7
,COLOR_abstractmetamodel___MMGlobalClass___is_interface
))(variable7
) /*MMGlobalClass::is_interface*/;
574 variable8
= variable7
;
575 if (!UNTAG_Bool(variable8
)) { /* or */
576 variable8
= ((abstractmetamodel___MMLocalClass___global_t
)CALL( variable6
/*c*/,COLOR_abstractmetamodel___MMLocalClass___global
))( variable6
/*c*/) /*MMLocalClass::global*/;
577 variable8
= ((abstractmetamodel___MMGlobalClass___is_universal_t
)CALL(variable8
,COLOR_abstractmetamodel___MMGlobalClass___is_universal
))(variable8
) /*MMGlobalClass::is_universal*/;
579 variable7
= variable8
;
580 if (UNTAG_Bool(variable7
)) { /*if*/
581 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*j*/;
583 variable7
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4
/*cur_c*/ == NIT_NULL
/*null*/) || (( variable4
/*cur_c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable4
/*cur_c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable4
/*cur_c*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable4
/*cur_c*/,COLOR_kernel___Object_____eqeq
))( variable4
/*cur_c*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
584 variable8
= variable7
;
585 if (UNTAG_Bool(variable8
)) { /* and */
586 variable8
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL( variable6
/*c*/,COLOR_abstractmetamodel___MMLocalClass___cshe
))( variable6
/*c*/) /*MMLocalClass::cshe*/;
587 variable8
= ((partial_order___PartialOrderElement_____leq_t
)CALL(variable8
,COLOR_partial_order___PartialOrderElement_____leq
))(variable8
, variable4
/*cur_c*/) /*PartialOrderElement::<=*/;
589 variable7
= variable8
;
590 if (UNTAG_Bool(variable7
)) { /*if*/
591 variable7
= TAG_Bool(( variable6
/*c*/ == variable4
/*cur_c*/) || (( variable6
/*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable6
/*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable6
/*c*/, variable4
/*cur_c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable6
/*c*/,COLOR_kernel___Object_____eqeq
))( variable6
/*c*/, variable4
/*cur_c*/) /*Object::==*/)))));
592 if (UNTAG_Bool(variable7
)) { /*if*/
593 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*j*/;
595 variable7
= ((typing___AConcreteInitPropdef___super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___super_init_calls
))( self
) /*AConcreteInitPropdef::super_init_calls*/;
596 ((array___AbstractArray___add_t
)CALL(variable7
,COLOR_abstract_collection___SimpleCollection___add
))(variable7
, variable3
/*cur_m*/) /*AbstractArray::add*/;
597 variable1
= TAG_Int(UNTAG_Int(variable1
)+UNTAG_Int( TAG_Int(1))) /*i*/;
598 variable7
= TAG_Bool(UNTAG_Int( variable1
/*i*/)<UNTAG_Int( variable2
/*l*/));
599 if (UNTAG_Bool(variable7
)) { /*if*/
600 variable7
= ((typing___AConcreteInitPropdef___explicit_super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls
))( self
) /*AConcreteInitPropdef::explicit_super_init_calls*/;
601 variable8
= variable1
/*i*/;
602 variable9
= TAG_Bool(UNTAG_Int( variable8
/*index*/)>=UNTAG_Int( TAG_Int(0)));
603 variable10
= variable9
;
604 if (UNTAG_Bool(variable10
)) { /* and */
605 variable10
= variable7
;
606 variable10
= ATTR_array___AbstractArray____length(variable10
) /*AbstractArray::_length*/;
607 variable10
= TAG_Bool(UNTAG_Int( variable8
/*index*/)<UNTAG_Int(variable10
));
609 variable9
= variable10
;
610 if (!UNTAG_Bool(variable9
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_typing
, 229); nit_exit(1);}
611 variable9
= variable7
;
612 variable9
= ATTR_array___Array____items(variable9
) /*Array::_items*/;
613 variable9
= UNBOX_NativeArray(variable9
)[UNTAG_Int( variable8
/*index*/)];
615 return_label23
: while(false);
616 variable7
= variable9
;
617 variable3
= variable7
/*cur_m=*/;
618 variable7
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*cur_m*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*cur_m*/) /*MMLocalProperty::global*/;
619 variable7
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable7
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable7
) /*MMGlobalProperty::intro*/;
620 variable7
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable7
) /*MMLocalProperty::local_class*/;
621 variable4
= variable7
/*cur_c=*/;
623 variable3
= NIT_NULL
/*null*/ /*cur_m=*/;
624 variable4
= NIT_NULL
/*null*/ /*cur_c=*/;
627 variable8
= ((syntax_base___AMethPropdef___method_t
)CALL( self
,COLOR_syntax_base___AMethPropdef___method
))( self
) /*AMethPropdef::method*/;
628 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*/;
629 variable7
= variable8
;
630 variable8
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable7
/*p*/ == NIT_NULL
/*null*/) || (( variable7
/*p*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable7
/*p*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable7
/*p*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable7
/*p*/,COLOR_kernel___Object_____eqeq
))( variable7
/*p*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
631 if (UNTAG_Bool(variable8
)) { /*if*/
632 variable8
= ((typing___AConcreteInitPropdef___super_init_calls_t
)CALL( self
,COLOR_typing___AConcreteInitPropdef___super_init_calls
))( self
) /*AConcreteInitPropdef::super_init_calls*/;
633 ((array___AbstractArray___add_t
)CALL(variable8
,COLOR_abstract_collection___SimpleCollection___add
))(variable8
, variable7
/*p*/) /*AbstractArray::add*/;
635 variable5
= TAG_Int(UNTAG_Int(variable5
)+UNTAG_Int( TAG_Int(1))) /*j*/;
638 continue_21
: while(0);
642 tracehead
= trace
.prev
;
645 void typing___PParam___after_typing(val_t self
, val_t param0
) {
646 struct trace_t trace
= {NULL
, LOCATE_typing
, 271, LOCATE_typing___PParam___after_typing
};
650 trace
.prev
= tracehead
; tracehead
= &trace
;
652 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
653 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))))));
654 if (UNTAG_Bool(variable1
)) { /*if*/
655 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
656 variable2
= ((syntax_base___PParam___variable_t
)CALL( self
,COLOR_syntax_base___PParam___variable
))( self
) /*PParam::variable*/;
657 ((typing___VariableContext___add_t
)CALL(variable1
,COLOR_typing___VariableContext___add
))(variable1
, variable2
) /*VariableContext::add*/;
659 tracehead
= trace
.prev
;
662 val_t
typing___PType___stype(val_t self
) {
663 struct trace_t trace
= {NULL
, LOCATE_typing
, 280, LOCATE_typing___PType___stype
};
664 trace
.prev
= tracehead
; tracehead
= &trace
;
665 tracehead
= trace
.prev
;
666 return ATTR_typing___PType____stype( self
) /*PType::_stype*/;
668 void typing___PType___after_typing(val_t self
, val_t param0
) {
669 struct trace_t trace
= {NULL
, LOCATE_typing
, 281, LOCATE_typing___PType___after_typing
};
672 trace
.prev
= tracehead
; tracehead
= &trace
;
674 variable1
= ((syntax_base___PType___get_stype_t
)CALL( self
,COLOR_syntax_base___PType___get_stype
))( self
, variable0
/*v*/) /*PType::get_stype*/;
675 ATTR_typing___PType____stype( self
) /*PType::_stype*/ = variable1
;
676 tracehead
= trace
.prev
;
679 val_t
typing___PExpr___stype(val_t self
) {
680 struct trace_t trace
= {NULL
, LOCATE_typing
, 288, LOCATE_typing___PExpr___stype
};
681 trace
.prev
= tracehead
; tracehead
= &trace
;
682 tracehead
= trace
.prev
;
683 return ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/;
685 val_t
typing___PExpr___is_implicit_self(val_t self
) {
686 struct trace_t trace
= {NULL
, LOCATE_typing
, 290, LOCATE_typing___PExpr___is_implicit_self
};
688 trace
.prev
= tracehead
; tracehead
= &trace
;
689 variable0
= TAG_Bool(false);
691 return_label26
: while(false);
692 tracehead
= trace
.prev
;
695 val_t
typing___PExpr___is_self(val_t self
) {
696 struct trace_t trace
= {NULL
, LOCATE_typing
, 293, LOCATE_typing___PExpr___is_self
};
698 trace
.prev
= tracehead
; tracehead
= &trace
;
699 variable0
= TAG_Bool(false);
701 return_label27
: while(false);
702 tracehead
= trace
.prev
;
705 val_t
typing___PExpr___is_variable(val_t self
) {
706 struct trace_t trace
= {NULL
, LOCATE_typing
, 296, LOCATE_typing___PExpr___is_variable
};
708 trace
.prev
= tracehead
; tracehead
= &trace
;
709 variable0
= TAG_Bool(false);
711 return_label28
: while(false);
712 tracehead
= trace
.prev
;
715 val_t
typing___PExpr___if_true_variable_ctx(val_t self
) {
716 struct trace_t trace
= {NULL
, LOCATE_typing
, 299, LOCATE_typing___PExpr___if_true_variable_ctx
};
717 trace
.prev
= tracehead
; tracehead
= &trace
;
718 tracehead
= trace
.prev
;
719 return ATTR_typing___PExpr____if_true_variable_ctx( self
) /*PExpr::_if_true_variable_ctx*/;
721 void typing___AVardeclExpr___after_typing(val_t self
, val_t param0
) {
722 struct trace_t trace
= {NULL
, LOCATE_typing
, 304, LOCATE_typing___AVardeclExpr___after_typing
};
727 trace
.prev
= tracehead
; tracehead
= &trace
;
729 variable2
= ((parser_nodes___AVardeclExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_id
))( self
) /*AVardeclExpr::n_id*/;
730 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*Token::to_symbol*/;
731 variable3
= NEW_syntax_base___Variable___init(variable2
, self
); /*new Variable*/
732 variable2
= variable3
;
733 variable1
= variable2
;
734 ((syntax_base___AVardeclExpr___variable__eq_t
)CALL( self
,COLOR_syntax_base___AVardeclExpr___variable__eq
))( self
, variable1
/*va*/) /*AVardeclExpr::variable=*/;
735 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
736 ((typing___VariableContext___add_t
)CALL(variable2
,COLOR_typing___VariableContext___add
))(variable2
, variable1
/*va*/) /*VariableContext::add*/;
737 variable2
= ((parser_nodes___AVardeclExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_type
))( self
) /*AVardeclExpr::n_type*/;
738 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
739 if (UNTAG_Bool(variable2
)) { /*if*/
740 variable2
= ((parser_nodes___AVardeclExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_type
))( self
) /*AVardeclExpr::n_type*/;
741 variable2
= ((typing___PType___stype_t
)CALL(variable2
,COLOR_typing___PType___stype
))(variable2
) /*PType::stype*/;
742 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*va*/, variable2
) /*Variable::stype=*/;
743 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
744 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
745 if (UNTAG_Bool(variable2
)) { /*if*/
746 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
747 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
748 variable3
= ((syntax_base___Variable___stype_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype
))( variable1
/*va*/) /*Variable::stype*/;
749 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
752 variable2
= ((parser_nodes___AVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AVardeclExpr___n_expr
))( self
) /*AVardeclExpr::n_expr*/;
753 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
754 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*va*/, variable2
) /*Variable::stype=*/;
756 tracehead
= trace
.prev
;
759 void typing___ABlockExpr___accept_typing(val_t self
, val_t param0
) {
760 struct trace_t trace
= {NULL
, LOCATE_typing
, 322, LOCATE_typing___ABlockExpr___accept_typing
};
764 trace
.prev
= tracehead
; tracehead
= &trace
;
766 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
767 variable1
= variable2
;
768 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
769 variable2
= ((typing___VariableContext___sub_t
)CALL(variable2
,COLOR_typing___VariableContext___sub
))(variable2
) /*VariableContext::sub*/;
770 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
771 ((typing___ABlockExpr___accept_typing_t
)CALL( self
,COLOR_SUPER_typing___ABlockExpr___accept_typing
))( self
, param0
) /*super ABlockExpr::accept_typing*/;
772 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
773 tracehead
= trace
.prev
;
776 void typing___AReturnExpr___after_typing(val_t self
, val_t param0
) {
777 struct trace_t trace
= {NULL
, LOCATE_typing
, 334, LOCATE_typing___AReturnExpr___after_typing
};
782 trace
.prev
= tracehead
; tracehead
= &trace
;
784 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
785 variable2
= ((static_type___MMLocalProperty___signature_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature
))(variable2
) /*MMLocalProperty::signature*/;
786 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
787 variable1
= variable2
;
788 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
789 variable2
= TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))));
790 variable3
= variable2
;
791 if (UNTAG_Bool(variable3
)) { /* and */
792 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
794 variable2
= variable3
;
795 if (UNTAG_Bool(variable2
)) { /*if*/
796 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: Return without value in a function."), TAG_Int(42)); /*new String*/
797 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
799 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
800 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
801 variable3
= variable2
;
802 if (UNTAG_Bool(variable3
)) { /* and */
803 variable3
= TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))));
805 variable2
= variable3
;
806 if (UNTAG_Bool(variable2
)) { /*if*/
807 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: Return with value in a procedure."), TAG_Int(40)); /*new String*/
808 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
810 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
811 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
812 variable3
= variable2
;
813 if (UNTAG_Bool(variable3
)) { /* and */
814 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
816 variable2
= variable3
;
817 if (UNTAG_Bool(variable2
)) { /*if*/
818 variable2
= ((parser_nodes___AReturnExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AReturnExpr___n_expr
))( self
) /*AReturnExpr::n_expr*/;
819 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
820 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable1
/*t*/) /*AbsSyntaxVisitor::check_conform*/;
824 tracehead
= trace
.prev
;
827 void typing___AIfExpr___accept_typing(val_t self
, val_t param0
) {
828 struct trace_t trace
= {NULL
, LOCATE_typing
, 348, LOCATE_typing___AIfExpr___accept_typing
};
833 trace
.prev
= tracehead
; tracehead
= &trace
;
835 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
836 variable1
= variable2
;
837 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
838 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
839 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
840 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
841 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
842 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
843 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
844 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
845 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
846 if (UNTAG_Bool(variable2
)) { /*if*/
847 variable2
= ((parser_nodes___AIfExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_expr
))( self
) /*AIfExpr::n_expr*/;
848 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
849 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
851 variable2
= ((parser_nodes___AIfExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_then
))( self
) /*AIfExpr::n_then*/;
852 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
853 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
854 variable2
= ((parser_nodes___AIfExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_else
))( self
) /*AIfExpr::n_else*/;
855 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
856 if (UNTAG_Bool(variable2
)) { /*if*/
857 variable2
= ((parser_nodes___AIfExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfExpr___n_else
))( self
) /*AIfExpr::n_else*/;
858 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
859 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
861 tracehead
= trace
.prev
;
864 void typing___AWhileExpr___after_typing(val_t self
, val_t param0
) {
865 struct trace_t trace
= {NULL
, LOCATE_typing
, 370, LOCATE_typing___AWhileExpr___after_typing
};
869 trace
.prev
= tracehead
; tracehead
= &trace
;
871 variable1
= ((parser_nodes___AWhileExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AWhileExpr___n_expr
))( self
) /*AWhileExpr::n_expr*/;
872 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
873 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
874 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
875 tracehead
= trace
.prev
;
878 void typing___AForExpr___after_typing(val_t self
, val_t param0
) {
879 struct trace_t trace
= {NULL
, LOCATE_typing
, 377, LOCATE_typing___AForExpr___after_typing
};
883 trace
.prev
= tracehead
; tracehead
= &trace
;
885 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
886 variable1
= variable2
;
887 variable2
= TAG_Bool(( variable1
/*varctx*/==NIT_NULL
) || VAL_ISA( variable1
/*varctx*/, COLOR_SubVariableContext
, ID_SubVariableContext
)) /*cast SubVariableContext*/;
888 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___AForExpr___after_typing
, LOCATE_typing
, 381); nit_exit(1);}
889 variable2
= ((typing___SubVariableContext___prev_t
)CALL( variable1
/*varctx*/,COLOR_typing___SubVariableContext___prev
))( variable1
/*varctx*/) /*SubVariableContext::prev*/;
890 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
891 tracehead
= trace
.prev
;
894 void typing___AForVardeclExpr___after_typing(val_t self
, val_t param0
) {
895 struct trace_t trace
= {NULL
, LOCATE_typing
, 387, LOCATE_typing___AForVardeclExpr___after_typing
};
902 static val_t once_value_variable5_36
; static int once_bool_variable5_36
;
905 static val_t once_value_variable7_37
; static int once_bool_variable7_37
;
910 trace
.prev
= tracehead
; tracehead
= &trace
;
912 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
913 variable1
= ((typing___VariableContext___sub_t
)CALL(variable1
,COLOR_typing___VariableContext___sub
))(variable1
) /*VariableContext::sub*/;
914 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
915 variable2
= ((parser_nodes___AForVardeclExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_id
))( self
) /*AForVardeclExpr::n_id*/;
916 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*Token::to_symbol*/;
917 variable3
= NEW_syntax_base___Variable___init(variable2
, self
); /*new Variable*/
918 variable2
= variable3
;
919 variable1
= variable2
;
920 ((syntax_base___AForVardeclExpr___variable__eq_t
)CALL( self
,COLOR_syntax_base___AForVardeclExpr___variable__eq
))( self
, variable1
/*va*/) /*AForVardeclExpr::variable=*/;
921 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
922 ((typing___VariableContext___add_t
)CALL(variable2
,COLOR_typing___VariableContext___add
))(variable2
, variable1
/*va*/) /*VariableContext::add*/;
923 variable3
= ((parser_nodes___AForVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_expr
))( self
) /*AForVardeclExpr::n_expr*/;
924 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
925 variable2
= variable3
;
926 variable3
= ((syntax_base___AbsSyntaxVisitor___type_collection_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_collection
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_collection*/;
927 variable3
= ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
/*expr_type*/, variable3
) /*AbsSyntaxVisitor::check_conform*/;
928 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
931 variable4
= ((static_type___MMType___local_class_t
)CALL( variable2
/*expr_type*/,COLOR_static_type___MMType___local_class
))( variable2
/*expr_type*/) /*MMType::local_class*/;
932 if (once_bool_variable5_36
) variable5
= once_value_variable5_36
;
934 variable5
= NEW_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
935 variable5
= ((symbol___String___to_symbol_t
)CALL(variable5
,COLOR_symbol___String___to_symbol
))(variable5
) /*String::to_symbol*/;
936 once_value_variable5_36
= variable5
;
937 once_bool_variable5_36
= true;
939 variable4
= ((abstractmetamodel___MMLocalClass___select_method_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalClass___select_method
))(variable4
, variable5
) /*MMLocalClass::select_method*/;
940 variable3
= variable4
;
941 variable4
= TAG_Bool(( variable3
/*prop*/ == NIT_NULL
/*null*/) || (( variable3
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable3
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
942 if (UNTAG_Bool(variable4
)) { /*if*/
943 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: Collection MUST have an iterate method"), TAG_Int(45)); /*new String*/
944 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
947 variable5
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable3
/*prop*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable3
/*prop*/, variable2
/*expr_type*/) /*MMLocalProperty::signature_for*/;
948 variable5
= ((static_type___MMSignature___return_type_t
)CALL(variable5
,COLOR_static_type___MMSignature___return_type
))(variable5
) /*MMSignature::return_type*/;
949 variable4
= variable5
;
950 variable6
= ((static_type___MMType___local_class_t
)CALL( variable4
/*iter_type*/,COLOR_static_type___MMType___local_class
))( variable4
/*iter_type*/) /*MMType::local_class*/;
951 if (once_bool_variable7_37
) variable7
= once_value_variable7_37
;
953 variable7
= NEW_string___String___with_native(BOX_NativeString("item"), TAG_Int(4)); /*new String*/
954 variable7
= ((symbol___String___to_symbol_t
)CALL(variable7
,COLOR_symbol___String___to_symbol
))(variable7
) /*String::to_symbol*/;
955 once_value_variable7_37
= variable7
;
956 once_bool_variable7_37
= true;
958 variable6
= ((abstractmetamodel___MMLocalClass___select_method_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___select_method
))(variable6
, variable7
) /*MMLocalClass::select_method*/;
959 variable5
= variable6
;
960 variable6
= TAG_Bool(( variable5
/*prop2*/ == NIT_NULL
/*null*/) || (( variable5
/*prop2*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable5
/*prop2*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable5
/*prop2*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable5
/*prop2*/,COLOR_kernel___Object_____eqeq
))( variable5
/*prop2*/, NIT_NULL
/*null*/) /*Object::==*/)))));
961 if (UNTAG_Bool(variable6
)) { /*if*/
962 variable6
= NEW_string___String___init(); /*new String*/
963 variable7
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
964 variable8
= variable7
;
965 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
966 variable9
= variable4
/*iter_type*/;
967 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
968 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable9
) /*String::append*/;
969 variable10
= NEW_string___String___with_native(BOX_NativeString(" MUST have an item method"), TAG_Int(25)); /*new String*/
970 variable11
= variable10
;
971 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable11
) /*String::append*/;
972 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable6
) /*AbsSyntaxVisitor::error*/;
975 variable7
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable5
/*prop2*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable5
/*prop2*/, variable4
/*iter_type*/) /*MMLocalProperty::signature_for*/;
976 variable7
= ((static_type___MMSignature___return_type_t
)CALL(variable7
,COLOR_static_type___MMSignature___return_type
))(variable7
) /*MMSignature::return_type*/;
977 variable6
= variable7
;
978 variable7
= ((parser_nodes___AForVardeclExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AForVardeclExpr___n_expr
))( self
) /*AForVardeclExpr::n_expr*/;
979 variable7
= ((typing___PExpr___is_self_t
)CALL(variable7
,COLOR_typing___PExpr___is_self
))(variable7
) /*PExpr::is_self*/;
980 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable7
)))) { /*if*/
981 variable7
= ((static_type___MMType___not_for_self_t
)CALL( variable6
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable6
/*t*/) /*MMType::not_for_self*/;
982 variable6
= variable7
/*t=*/;
984 ((syntax_base___Variable___stype__eq_t
)CALL( variable1
/*va*/,COLOR_syntax_base___Variable___stype__eq
))( variable1
/*va*/, variable6
/*t*/) /*Variable::stype=*/;
985 return_label35
: while(false);
986 tracehead
= trace
.prev
;
989 void typing___AAssertExpr___after_typing(val_t self
, val_t param0
) {
990 struct trace_t trace
= {NULL
, LOCATE_typing
, 416, LOCATE_typing___AAssertExpr___after_typing
};
994 trace
.prev
= tracehead
; tracehead
= &trace
;
996 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
997 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
998 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
999 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
1000 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
1001 variable1
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable1
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable1
) /*PExpr::if_true_variable_ctx*/;
1002 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1003 if (UNTAG_Bool(variable1
)) { /*if*/
1004 variable1
= ((parser_nodes___AAssertExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAssertExpr___n_expr
))( self
) /*AAssertExpr::n_expr*/;
1005 variable1
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable1
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable1
) /*PExpr::if_true_variable_ctx*/;
1006 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
) /*TypingVisitor::variable_ctx=*/;
1008 tracehead
= trace
.prev
;
1011 val_t
typing___AVarExpr___is_variable(val_t self
) {
1012 struct trace_t trace
= {NULL
, LOCATE_typing
, 424, LOCATE_typing___AVarExpr___is_variable
};
1014 trace
.prev
= tracehead
; tracehead
= &trace
;
1015 variable0
= TAG_Bool(true);
1016 goto return_label39
;
1017 return_label39
: while(false);
1018 tracehead
= trace
.prev
;
1021 void typing___AVarExpr___after_typing(val_t self
, val_t param0
) {
1022 struct trace_t trace
= {NULL
, LOCATE_typing
, 426, LOCATE_typing___AVarExpr___after_typing
};
1026 trace
.prev
= tracehead
; tracehead
= &trace
;
1028 variable1
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1029 variable2
= ((syntax_base___AVarFormExpr___variable_t
)CALL( self
,COLOR_syntax_base___AVarFormExpr___variable
))( self
) /*AVarFormExpr::variable*/;
1030 variable1
= ((typing___VariableContext___stype_t
)CALL(variable1
,COLOR_typing___VariableContext___stype
))(variable1
, variable2
) /*VariableContext::stype*/;
1031 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1032 tracehead
= trace
.prev
;
1035 void typing___AVarAssignExpr___after_typing(val_t self
, val_t param0
) {
1036 struct trace_t trace
= {NULL
, LOCATE_typing
, 433, LOCATE_typing___AVarAssignExpr___after_typing
};
1041 trace
.prev
= tracehead
; tracehead
= &trace
;
1043 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1044 variable3
= ((syntax_base___AVarFormExpr___variable_t
)CALL( self
,COLOR_syntax_base___AVarFormExpr___variable
))( self
) /*AVarFormExpr::variable*/;
1045 variable2
= ((typing___VariableContext___stype_t
)CALL(variable2
,COLOR_typing___VariableContext___stype
))(variable2
, variable3
) /*VariableContext::stype*/;
1046 variable1
= variable2
;
1047 variable2
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAssignFormExpr::n_value*/;
1048 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1049 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable1
/*t*/) /*AbsSyntaxVisitor::check_conform*/;
1050 tracehead
= trace
.prev
;
1053 void typing___AReassignFormExpr___do_lvalue_typing(val_t self
, val_t param0
, val_t param1
) {
1054 struct trace_t trace
= {NULL
, LOCATE_typing
, 441, LOCATE_typing___AReassignFormExpr___do_lvalue_typing
};
1068 trace
.prev
= tracehead
; tracehead
= &trace
;
1071 variable2
= TAG_Bool(( variable1
/*type_lvalue*/ == NIT_NULL
/*null*/) || (( variable1
/*type_lvalue*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*type_lvalue*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*type_lvalue*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*type_lvalue*/,COLOR_kernel___Object_____eqeq
))( variable1
/*type_lvalue*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1072 if (UNTAG_Bool(variable2
)) { /*if*/
1073 goto return_label42
;
1075 variable3
= ((parser_nodes___AReassignFormExpr___n_assign_op_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_assign_op
))( self
) /*AReassignFormExpr::n_assign_op*/;
1076 variable3
= ((typing___PAssignOp___method_name_t
)CALL(variable3
,COLOR_typing___PAssignOp___method_name
))(variable3
) /*PAssignOp::method_name*/;
1077 variable2
= variable3
;
1078 variable4
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_lvalue*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_lvalue*/) /*MMType::local_class*/;
1079 variable4
= ((abstractmetamodel___MMLocalClass___select_method_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalClass___select_method
))(variable4
, variable2
/*name*/) /*MMLocalClass::select_method*/;
1080 variable3
= variable4
;
1081 variable4
= TAG_Bool(( variable3
/*prop*/ == NIT_NULL
/*null*/) || (( variable3
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable3
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1082 if (UNTAG_Bool(variable4
)) { /*if*/
1083 variable4
= NEW_string___String___init(); /*new String*/
1084 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
1085 variable6
= variable5
;
1086 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1087 variable7
= variable2
/*name*/;
1088 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1089 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1090 variable8
= NEW_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
1091 variable9
= variable8
;
1092 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1093 variable10
= variable1
/*type_lvalue*/;
1094 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1095 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1096 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1097 variable12
= variable11
;
1098 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1099 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
1100 goto return_label42
;
1102 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMLocalProperty::global*/;
1103 variable5
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
1104 ((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*/;
1105 variable5
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable3
/*prop*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable3
/*prop*/, variable1
/*type_lvalue*/) /*MMLocalProperty::signature_for*/;
1106 variable4
= variable5
;
1107 ATTR_typing___AReassignFormExpr____assign_method( self
) /*AReassignFormExpr::_assign_method*/ = variable3
/*prop*/;
1108 variable5
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
1109 variable6
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
1110 variable6
= ((typing___PExpr___stype_t
)CALL(variable6
,COLOR_syntax_base___PExpr___stype
))(variable6
) /*PExpr::stype*/;
1111 variable7
= ((static_type___MMSignature_____bra_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature_____bra
))( variable4
/*psig*/, TAG_Int(0)) /*MMSignature::[]*/;
1112 variable7
= ((static_type___MMType___not_for_self_t
)CALL(variable7
,COLOR_static_type___MMType___not_for_self
))(variable7
) /*MMType::not_for_self*/;
1113 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, variable5
, variable6
, variable7
) /*AbsSyntaxVisitor::check_conform*/;
1114 variable5
= ((static_type___MMSignature___return_type_t
)CALL( variable4
/*psig*/,COLOR_static_type___MMSignature___return_type
))( variable4
/*psig*/) /*MMSignature::return_type*/;
1115 variable5
= ((static_type___MMType___not_for_self_t
)CALL(variable5
,COLOR_static_type___MMType___not_for_self
))(variable5
) /*MMType::not_for_self*/;
1116 variable6
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
1117 variable6
= ((typing___PExpr___stype_t
)CALL(variable6
,COLOR_syntax_base___PExpr___stype
))(variable6
) /*PExpr::stype*/;
1118 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable5
, variable6
) /*AbsSyntaxVisitor::check_conform*/;
1119 return_label42
: while(false);
1120 tracehead
= trace
.prev
;
1123 val_t
typing___AReassignFormExpr___assign_method(val_t self
) {
1124 struct trace_t trace
= {NULL
, LOCATE_typing
, 460, LOCATE_typing___AReassignFormExpr___assign_method
};
1125 trace
.prev
= tracehead
; tracehead
= &trace
;
1126 tracehead
= trace
.prev
;
1127 return ATTR_typing___AReassignFormExpr____assign_method( self
) /*AReassignFormExpr::_assign_method*/;
1129 void typing___AVarReassignExpr___after_typing(val_t self
, val_t param0
) {
1130 struct trace_t trace
= {NULL
, LOCATE_typing
, 465, LOCATE_typing___AVarReassignExpr___after_typing
};
1135 trace
.prev
= tracehead
; tracehead
= &trace
;
1137 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1138 variable3
= ((syntax_base___AVarFormExpr___variable_t
)CALL( self
,COLOR_syntax_base___AVarFormExpr___variable
))( self
) /*AVarFormExpr::variable*/;
1139 variable2
= ((typing___VariableContext___stype_t
)CALL(variable2
,COLOR_typing___VariableContext___stype
))(variable2
, variable3
) /*VariableContext::stype*/;
1140 variable1
= variable2
;
1141 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable1
/*t*/) /*AReassignFormExpr::do_lvalue_typing*/;
1142 tracehead
= trace
.prev
;
1145 val_t
typing___PAssignOp___method_name(val_t self
) {
1146 struct trace_t trace
= {NULL
, LOCATE_typing
, 473, LOCATE_typing___PAssignOp___method_name
};
1147 trace
.prev
= tracehead
; tracehead
= &trace
;
1148 fprintf(stderr
, "Deferred method %s called");
1149 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___AVarReassignExpr___after_typing
, LOCATE_typing
, 473);
1151 tracehead
= trace
.prev
;
1154 val_t
typing___APlusAssignOp___method_name(val_t self
) {
1155 struct trace_t trace
= {NULL
, LOCATE_typing
, 476, LOCATE_typing___APlusAssignOp___method_name
};
1157 static val_t once_value_variable0_45
; static int once_bool_variable0_45
;
1158 trace
.prev
= tracehead
; tracehead
= &trace
;
1159 if (once_bool_variable0_45
) variable0
= once_value_variable0_45
;
1161 variable0
= NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
1162 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
1163 once_value_variable0_45
= variable0
;
1164 once_bool_variable0_45
= true;
1166 goto return_label44
;
1167 return_label44
: while(false);
1168 tracehead
= trace
.prev
;
1171 val_t
typing___AMinusAssignOp___method_name(val_t self
) {
1172 struct trace_t trace
= {NULL
, LOCATE_typing
, 479, LOCATE_typing___AMinusAssignOp___method_name
};
1174 static val_t once_value_variable0_47
; static int once_bool_variable0_47
;
1175 trace
.prev
= tracehead
; tracehead
= &trace
;
1176 if (once_bool_variable0_47
) variable0
= once_value_variable0_47
;
1178 variable0
= NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
1179 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
1180 once_value_variable0_47
= variable0
;
1181 once_bool_variable0_47
= true;
1183 goto return_label46
;
1184 return_label46
: while(false);
1185 tracehead
= trace
.prev
;
1188 void typing___ASelfExpr___after_typing(val_t self
, val_t param0
) {
1189 struct trace_t trace
= {NULL
, LOCATE_typing
, 483, LOCATE_typing___ASelfExpr___after_typing
};
1192 trace
.prev
= tracehead
; tracehead
= &trace
;
1194 variable1
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1195 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1196 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ASelfExpr___after_typing
, LOCATE_typing
, 485); nit_exit(1);}
1197 variable1
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1198 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1199 tracehead
= trace
.prev
;
1202 val_t
typing___ASelfExpr___is_self(val_t self
) {
1203 struct trace_t trace
= {NULL
, LOCATE_typing
, 489, LOCATE_typing___ASelfExpr___is_self
};
1205 trace
.prev
= tracehead
; tracehead
= &trace
;
1206 variable0
= TAG_Bool(true);
1207 goto return_label49
;
1208 return_label49
: while(false);
1209 tracehead
= trace
.prev
;
1212 val_t
typing___AImplicitSelfExpr___is_implicit_self(val_t self
) {
1213 struct trace_t trace
= {NULL
, LOCATE_typing
, 493, LOCATE_typing___AImplicitSelfExpr___is_implicit_self
};
1215 trace
.prev
= tracehead
; tracehead
= &trace
;
1216 variable0
= TAG_Bool(true);
1217 goto return_label50
;
1218 return_label50
: while(false);
1219 tracehead
= trace
.prev
;
1222 void typing___AIfexprExpr___accept_typing(val_t self
, val_t param0
) {
1223 struct trace_t trace
= {NULL
, LOCATE_typing
, 497, LOCATE_typing___AIfexprExpr___accept_typing
};
1237 trace
.prev
= tracehead
; tracehead
= &trace
;
1239 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1240 variable1
= variable2
;
1241 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
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___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1245 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1246 if (UNTAG_Bool(variable2
)) { /*if*/
1247 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1248 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1249 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
1251 variable2
= ((parser_nodes___AIfexprExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_then
))( self
) /*AIfexprExpr::n_then*/;
1252 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1253 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
1254 variable2
= ((parser_nodes___AIfexprExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_else
))( self
) /*AIfexprExpr::n_else*/;
1255 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1256 variable2
= ((parser_nodes___AIfexprExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_expr
))( self
) /*AIfexprExpr::n_expr*/;
1257 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1258 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1259 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
1260 variable3
= ((parser_nodes___AIfexprExpr___n_then_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_then
))( self
) /*AIfexprExpr::n_then*/;
1261 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
1262 variable2
= variable3
;
1263 variable4
= ((parser_nodes___AIfexprExpr___n_else_t
)CALL( self
,COLOR_parser_nodes___AIfexprExpr___n_else
))( self
) /*AIfexprExpr::n_else*/;
1264 variable4
= ((typing___PExpr___stype_t
)CALL(variable4
,COLOR_syntax_base___PExpr___stype
))(variable4
) /*PExpr::stype*/;
1265 variable3
= variable4
;
1266 variable4
= ((static_type___MMType_____l_t
)CALL( variable2
/*t*/,COLOR_static_type___MMType_____l
))( variable2
/*t*/, variable3
/*te*/) /*MMType::<*/;
1267 if (UNTAG_Bool(variable4
)) { /*if*/
1268 variable2
= variable3
/*te*/ /*t=*/;
1270 variable4
= ((static_type___MMType_____l_t
)CALL( variable3
/*te*/,COLOR_static_type___MMType_____l
))( variable3
/*te*/, variable2
/*t*/) /*MMType::<*/;
1271 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
1272 variable4
= NEW_string___String___init(); /*new String*/
1273 variable5
= NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
1274 variable6
= variable5
;
1275 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1276 variable7
= variable3
/*te*/;
1277 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1278 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1279 variable8
= NEW_string___String___with_native(BOX_NativeString(" is not a subtype of "), TAG_Int(21)); /*new String*/
1280 variable9
= variable8
;
1281 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1282 variable10
= variable2
/*t*/;
1283 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1284 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1285 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1286 variable12
= variable11
;
1287 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1288 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
1289 goto return_label51
;
1292 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable2
/*t*/;
1293 return_label51
: while(false);
1294 tracehead
= trace
.prev
;
1297 void typing___ABoolExpr___after_typing(val_t self
, val_t param0
) {
1298 struct trace_t trace
= {NULL
, LOCATE_typing
, 523, LOCATE_typing___ABoolExpr___after_typing
};
1301 trace
.prev
= tracehead
; tracehead
= &trace
;
1303 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1304 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1305 tracehead
= trace
.prev
;
1308 void typing___AOrExpr___after_typing(val_t self
, val_t param0
) {
1309 struct trace_t trace
= {NULL
, LOCATE_typing
, 530, LOCATE_typing___AOrExpr___after_typing
};
1313 trace
.prev
= tracehead
; tracehead
= &trace
;
1315 variable1
= ((parser_nodes___AOrExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AOrExpr___n_expr
))( self
) /*AOrExpr::n_expr*/;
1316 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1317 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1318 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
1319 variable1
= ((parser_nodes___AOrExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AOrExpr___n_expr2
))( self
) /*AOrExpr::n_expr2*/;
1320 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1321 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1322 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
1323 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1324 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1325 tracehead
= trace
.prev
;
1328 void typing___AAndExpr___accept_typing(val_t self
, val_t param0
) {
1329 struct trace_t trace
= {NULL
, LOCATE_typing
, 539, LOCATE_typing___AAndExpr___accept_typing
};
1334 trace
.prev
= tracehead
; tracehead
= &trace
;
1336 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1337 variable1
= variable2
;
1338 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1339 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1340 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1341 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1342 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1343 if (UNTAG_Bool(variable2
)) { /*if*/
1344 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1345 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1346 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable2
) /*TypingVisitor::variable_ctx=*/;
1348 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1349 ((typing___TypingVisitor___visit_t
)CALL( variable0
/*v*/,COLOR_parser_prod___Visitor___visit
))( variable0
/*v*/, variable2
) /*TypingVisitor::visit*/;
1350 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1351 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1352 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1353 if (UNTAG_Bool(variable2
)) { /*if*/
1354 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1355 variable2
= ((typing___PExpr___if_true_variable_ctx_t
)CALL(variable2
,COLOR_typing___PExpr___if_true_variable_ctx
))(variable2
) /*PExpr::if_true_variable_ctx*/;
1356 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*PExpr::_if_true_variable_ctx*/ = variable2
;
1358 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
1359 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*PExpr::_if_true_variable_ctx*/ = variable2
;
1361 ((typing___TypingVisitor___variable_ctx__eq_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx__eq
))( variable0
/*v*/, variable1
/*old_var_ctx*/) /*TypingVisitor::variable_ctx=*/;
1362 variable2
= ((parser_nodes___AAndExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr
))( self
) /*AAndExpr::n_expr*/;
1363 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1364 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1365 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
1366 variable2
= ((parser_nodes___AAndExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___AAndExpr___n_expr2
))( self
) /*AAndExpr::n_expr2*/;
1367 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1368 variable3
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1369 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable2
, variable3
) /*AbsSyntaxVisitor::check_conform*/;
1370 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1371 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable2
;
1372 tracehead
= trace
.prev
;
1375 void typing___ANotExpr___after_typing(val_t self
, val_t param0
) {
1376 struct trace_t trace
= {NULL
, LOCATE_typing
, 562, LOCATE_typing___ANotExpr___after_typing
};
1380 trace
.prev
= tracehead
; tracehead
= &trace
;
1382 variable1
= ((parser_nodes___ANotExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ANotExpr___n_expr
))( self
) /*ANotExpr::n_expr*/;
1383 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1384 variable2
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1385 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
1386 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
1387 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1388 tracehead
= trace
.prev
;
1391 void typing___AIntExpr___after_typing(val_t self
, val_t param0
) {
1392 struct trace_t trace
= {NULL
, LOCATE_typing
, 570, LOCATE_typing___AIntExpr___after_typing
};
1395 trace
.prev
= tracehead
; tracehead
= &trace
;
1397 variable1
= ((syntax_base___AbsSyntaxVisitor___type_int_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_int
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_int*/;
1398 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1399 tracehead
= trace
.prev
;
1402 void typing___AFloatExpr___after_typing(val_t self
, val_t param0
) {
1403 struct trace_t trace
= {NULL
, LOCATE_typing
, 578, LOCATE_typing___AFloatExpr___after_typing
};
1406 trace
.prev
= tracehead
; tracehead
= &trace
;
1408 variable1
= ((syntax_base___AbsSyntaxVisitor___type_float_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_float
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_float*/;
1409 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1410 tracehead
= trace
.prev
;
1413 void typing___ACharExpr___after_typing(val_t self
, val_t param0
) {
1414 struct trace_t trace
= {NULL
, LOCATE_typing
, 585, LOCATE_typing___ACharExpr___after_typing
};
1417 trace
.prev
= tracehead
; tracehead
= &trace
;
1419 variable1
= ((syntax_base___AbsSyntaxVisitor___type_char_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_char
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_char*/;
1420 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1421 tracehead
= trace
.prev
;
1424 void typing___AStringFormExpr___after_typing(val_t self
, val_t param0
) {
1425 struct trace_t trace
= {NULL
, LOCATE_typing
, 592, LOCATE_typing___AStringFormExpr___after_typing
};
1428 trace
.prev
= tracehead
; tracehead
= &trace
;
1430 variable1
= ((syntax_base___AbsSyntaxVisitor___type_string_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_string*/;
1431 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1432 tracehead
= trace
.prev
;
1435 void typing___ASuperstringExpr___after_typing(val_t self
, val_t param0
) {
1436 struct trace_t trace
= {NULL
, LOCATE_typing
, 599, LOCATE_typing___ASuperstringExpr___after_typing
};
1439 trace
.prev
= tracehead
; tracehead
= &trace
;
1441 variable1
= ((syntax_base___AbsSyntaxVisitor___type_string_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_string
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_string*/;
1442 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1443 tracehead
= trace
.prev
;
1446 void typing___ANullExpr___after_typing(val_t self
, val_t param0
) {
1447 struct trace_t trace
= {NULL
, LOCATE_typing
, 606, LOCATE_typing___ANullExpr___after_typing
};
1450 trace
.prev
= tracehead
; tracehead
= &trace
;
1452 variable1
= ((syntax_base___AbsSyntaxVisitor___type_none_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_none
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_none*/;
1453 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1454 tracehead
= trace
.prev
;
1457 void typing___AArrayExpr___stype__eq(val_t self
, val_t param0
) {
1458 struct trace_t trace
= {NULL
, LOCATE_typing
, 613, LOCATE_typing___AArrayExpr___stype__eq
};
1460 trace
.prev
= tracehead
; tracehead
= &trace
;
1462 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable0
/*t*/;
1463 tracehead
= trace
.prev
;
1466 void typing___AArrayExpr___after_typing(val_t self
, val_t param0
) {
1467 struct trace_t trace
= {NULL
, LOCATE_typing
, 615, LOCATE_typing___AArrayExpr___after_typing
};
1476 trace
.prev
= tracehead
; tracehead
= &trace
;
1478 variable1
= NIT_NULL
/*null*/;
1479 variable2
= ((parser_nodes___AArrayExpr___n_exprs_t
)CALL( self
,COLOR_parser_nodes___AArrayExpr___n_exprs
))( self
) /*AArrayExpr::n_exprs*/;
1480 variable2
= ((list___List___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*List::iterator*/;
1481 while (true) { /*for*/
1482 variable3
= ((list___ListIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ListIterator::is_ok*/;
1483 if (!UNTAG_Bool(variable3
)) break; /*for*/
1484 variable3
= ((list___ListIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ListIterator::item*/;
1485 variable5
= ((typing___PExpr___stype_t
)CALL( variable3
/*n*/,COLOR_syntax_base___PExpr___stype
))( variable3
/*n*/) /*PExpr::stype*/;
1486 variable4
= variable5
;
1487 variable5
= TAG_Bool(( variable1
/*stype*/ == NIT_NULL
/*null*/) || (( variable1
/*stype*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*stype*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*stype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*stype*/,COLOR_kernel___Object_____eqeq
))( variable1
/*stype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1488 variable6
= variable5
;
1489 if (!UNTAG_Bool(variable6
)) { /* or */
1490 variable6
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable4
/*ntype*/ == NIT_NULL
/*null*/) || (( variable4
/*ntype*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable4
/*ntype*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable4
/*ntype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable4
/*ntype*/,COLOR_kernel___Object_____eqeq
))( variable4
/*ntype*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1491 variable7
= variable6
;
1492 if (UNTAG_Bool(variable7
)) { /* and */
1493 variable7
= ((static_type___MMType_____l_t
)CALL( variable1
/*stype*/,COLOR_static_type___MMType_____l
))( variable1
/*stype*/, variable4
/*ntype*/) /*MMType::<*/;
1495 variable6
= variable7
;
1497 variable5
= variable6
;
1498 if (UNTAG_Bool(variable5
)) { /*if*/
1499 variable1
= variable4
/*ntype*/ /*stype=*/;
1501 continue_64
: while(0);
1502 ((list___ListIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ListIterator::next*/;
1505 variable2
= ((parser_nodes___AArrayExpr___n_exprs_t
)CALL( self
,COLOR_parser_nodes___AArrayExpr___n_exprs
))( self
) /*AArrayExpr::n_exprs*/;
1506 variable2
= ((list___List___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*List::iterator*/;
1507 while (true) { /*for*/
1508 variable3
= ((list___ListIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ListIterator::is_ok*/;
1509 if (!UNTAG_Bool(variable3
)) break; /*for*/
1510 variable3
= ((list___ListIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ListIterator::item*/;
1511 variable4
= ((typing___PExpr___stype_t
)CALL( variable3
/*n*/,COLOR_syntax_base___PExpr___stype
))( variable3
/*n*/) /*PExpr::stype*/;
1512 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable4
, variable1
/*stype*/) /*AbsSyntaxVisitor::check_conform*/;
1513 continue_65
: while(0);
1514 ((list___ListIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ListIterator::next*/;
1517 variable2
= ((syntax_base___AbsSyntaxVisitor___type_array_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array
))( variable0
/*v*/, variable1
/*stype*/) /*AbsSyntaxVisitor::type_array*/;
1518 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable2
;
1519 tracehead
= trace
.prev
;
1522 void typing___ARangeExpr___after_typing(val_t self
, val_t param0
) {
1523 struct trace_t trace
= {NULL
, LOCATE_typing
, 632, LOCATE_typing___ARangeExpr___after_typing
};
1536 trace
.prev
= tracehead
; tracehead
= &trace
;
1538 variable2
= ((parser_nodes___ARangeExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ARangeExpr___n_expr
))( self
) /*ARangeExpr::n_expr*/;
1539 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1540 variable1
= variable2
;
1541 variable3
= ((parser_nodes___ARangeExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___ARangeExpr___n_expr2
))( self
) /*ARangeExpr::n_expr2*/;
1542 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
1543 variable2
= variable3
;
1544 variable3
= TAG_Bool(( variable1
/*ntype*/ == NIT_NULL
/*null*/) || (( variable1
/*ntype*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*ntype*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*ntype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*ntype*/,COLOR_kernel___Object_____eqeq
))( variable1
/*ntype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1545 variable4
= variable3
;
1546 if (!UNTAG_Bool(variable4
)) { /* or */
1547 variable4
= TAG_Bool(( variable1
/*ntype*/ == NIT_NULL
/*null*/) || (( variable1
/*ntype*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*ntype*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*ntype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*ntype*/,COLOR_kernel___Object_____eqeq
))( variable1
/*ntype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1549 variable3
= variable4
;
1550 if (UNTAG_Bool(variable3
)) { /*if*/
1551 goto return_label66
;
1553 variable3
= ((static_type___MMType_____l_t
)CALL( variable1
/*ntype*/,COLOR_static_type___MMType_____l
))( variable1
/*ntype*/, variable2
/*ntype2*/) /*MMType::<*/;
1554 if (UNTAG_Bool(variable3
)) { /*if*/
1555 variable1
= variable2
/*ntype2*/ /*ntype=*/;
1557 variable3
= ((static_type___MMType_____l_t
)CALL( variable2
/*ntype2*/,COLOR_static_type___MMType_____l
))( variable2
/*ntype2*/, variable1
/*ntype*/) /*MMType::<*/;
1558 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
1559 variable3
= NEW_string___String___init(); /*new String*/
1560 variable4
= NEW_string___String___with_native(BOX_NativeString("Type error: "), TAG_Int(12)); /*new String*/
1561 variable5
= variable4
;
1562 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1563 variable6
= variable1
/*ntype*/;
1564 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
1565 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable6
) /*String::append*/;
1566 variable7
= NEW_string___String___with_native(BOX_NativeString(" incompatible with "), TAG_Int(19)); /*new String*/
1567 variable8
= variable7
;
1568 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable8
) /*String::append*/;
1569 variable9
= variable2
/*ntype2*/;
1570 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1571 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1572 variable10
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1573 variable11
= variable10
;
1574 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable11
) /*String::append*/;
1575 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*AbsSyntaxVisitor::error*/;
1576 goto return_label66
;
1579 variable4
= ((syntax_base___AbsSyntaxVisitor___type_discrete_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_discrete
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_discrete*/;
1580 variable3
= variable4
;
1581 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
/*ntype*/, variable3
/*dtype*/) /*AbsSyntaxVisitor::check_conform*/;
1582 variable4
= ((syntax_base___AbsSyntaxVisitor___type_range_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_range
))( variable0
/*v*/, variable1
/*ntype*/) /*AbsSyntaxVisitor::type_range*/;
1583 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable4
;
1584 return_label66
: while(false);
1585 tracehead
= trace
.prev
;
1588 val_t
typing___ASuperExpr___init_in_superclass(val_t self
) {
1589 struct trace_t trace
= {NULL
, LOCATE_typing
, 653, LOCATE_typing___ASuperExpr___init_in_superclass
};
1590 trace
.prev
= tracehead
; tracehead
= &trace
;
1591 tracehead
= trace
.prev
;
1592 return ATTR_typing___ASuperExpr____init_in_superclass( self
) /*ASuperExpr::_init_in_superclass*/;
1594 void typing___ASuperExpr___after_typing(val_t self
, val_t param0
) {
1595 struct trace_t trace
= {NULL
, LOCATE_typing
, 655, LOCATE_typing___ASuperExpr___after_typing
};
1611 trace
.prev
= tracehead
; tracehead
= &trace
;
1613 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1614 variable2
= ((abstractmetamodel___MMLocalProperty___prhe_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___prhe
))(variable2
) /*MMLocalProperty::prhe*/;
1615 variable2
= ((partial_order___PartialOrderElement___direct_greaters_t
)CALL(variable2
,COLOR_partial_order___PartialOrderElement___direct_greaters
))(variable2
) /*PartialOrderElement::direct_greaters*/;
1616 variable1
= variable2
;
1617 variable2
= ((array___AbstractArray___is_empty_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___is_empty
))( variable1
/*precs*/) /*AbstractArray::is_empty*/;
1618 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
1619 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1620 ((abstractmetamodel___MMLocalProperty___need_super__eq_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___need_super__eq
))(variable2
, TAG_Bool(true)) /*MMLocalProperty::need_super=*/;
1622 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1623 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMLocalProperty::global*/;
1624 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
1625 if (UNTAG_Bool(variable2
)) { /*if*/
1626 variable3
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
1627 variable4
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1628 variable4
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable4
) /*MMLocalProperty::name*/;
1629 variable3
= ((abstractmetamodel___MMLocalClass___super_methods_named_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalClass___super_methods_named
))(variable3
, variable4
) /*MMLocalClass::super_methods_named*/;
1630 variable2
= variable3
;
1631 variable3
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*base_precs*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*base_precs*/) /*AbstractArray::iterator*/;
1632 while (true) { /*for*/
1633 variable4
= ((array___ArrayIterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*ArrayIterator::is_ok*/;
1634 if (!UNTAG_Bool(variable4
)) break; /*for*/
1635 variable4
= ((array___ArrayIterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*ArrayIterator::item*/;
1636 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable4
/*p*/) /*MMLocalProperty::global*/;
1637 variable5
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable5
) /*MMGlobalProperty::is_init*/;
1638 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5
)))) { /*if*/
1639 variable5
= NEW_string___String___init(); /*new String*/
1640 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
1641 variable7
= variable6
;
1642 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
1643 variable8
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( variable4
/*p*/) /*MMLocalProperty::local_class*/;
1644 variable9
= variable8
;
1645 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
1646 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable9
) /*String::append*/;
1647 variable10
= NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1648 variable11
= variable10
;
1649 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
1650 variable12
= variable4
/*p*/;
1651 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
1652 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable12
) /*String::append*/;
1653 variable13
= NEW_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
1654 variable14
= variable13
;
1655 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable14
) /*String::append*/;
1656 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*AbsSyntaxVisitor::error*/;
1658 variable5
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
1659 variable6
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable4
/*p*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable4
/*p*/) /*MMLocalProperty::global*/;
1660 variable5
= ((inheritance___MMLocalClass_____bra_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass_____bra
))(variable5
, variable6
) /*MMLocalClass::[]*/;
1661 ((array___AbstractArray___add_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*precs*/, variable5
) /*AbstractArray::add*/;
1663 continue_68
: while(0);
1664 ((array___ArrayIterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*ArrayIterator::next*/;
1667 variable3
= ((array___AbstractArray___is_empty_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___is_empty
))( variable1
/*precs*/) /*AbstractArray::is_empty*/;
1668 if (UNTAG_Bool(variable3
)) { /*if*/
1669 variable3
= NEW_string___String___init(); /*new String*/
1670 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: No contructor named "), TAG_Int(27)); /*new String*/
1671 variable5
= variable4
;
1672 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1673 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1674 variable6
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable6
) /*MMLocalProperty::name*/;
1675 variable7
= variable6
;
1676 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1677 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
1678 variable8
= NEW_string___String___with_native(BOX_NativeString(" in superclasses."), TAG_Int(17)); /*new String*/
1679 variable9
= variable8
;
1680 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1681 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*AbsSyntaxVisitor::error*/;
1682 goto return_label67
;
1684 variable3
= ((array___AbstractArray___length_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___length
))( variable1
/*precs*/) /*AbstractArray::length*/;
1685 variable3
= TAG_Bool(UNTAG_Int(variable3
)>UNTAG_Int( TAG_Int(1)));
1686 if (UNTAG_Bool(variable3
)) { /*if*/
1687 variable3
= NEW_string___String___init(); /*new String*/
1688 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: Conflicting contructors named "), TAG_Int(37)); /*new String*/
1689 variable5
= variable4
;
1690 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
1691 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1692 variable6
= ((abstractmetamodel___MMLocalProperty___name_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___name
))(variable6
) /*MMLocalProperty::name*/;
1693 variable7
= variable6
;
1694 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1695 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
1696 variable8
= NEW_string___String___with_native(BOX_NativeString(" in superclasses: "), TAG_Int(18)); /*new String*/
1697 variable9
= variable8
;
1698 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
1699 variable10
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1700 variable10
= ((string___Collection___join_t
)CALL( variable1
/*precs*/,COLOR_string___Collection___join
))( variable1
/*precs*/, variable10
) /*Collection::join*/;
1701 variable11
= variable10
;
1702 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable11
) /*String::append*/;
1703 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1704 variable13
= variable12
;
1705 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable13
) /*String::append*/;
1706 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*AbsSyntaxVisitor::error*/;
1707 goto return_label67
;
1710 variable4
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable2
/*base_precs*/,COLOR_abstract_collection___Collection___first
))( variable2
/*base_precs*/) /*IndexedCollection::first*/;
1711 variable3
= variable4
;
1712 variable4
= TAG_Bool(( variable3
/*p*/==NIT_NULL
) || VAL_ISA( variable3
/*p*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1713 if (!UNTAG_Bool(variable4
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ASuperExpr___after_typing
, LOCATE_typing
, 677); nit_exit(1);}
1714 ATTR_typing___ASuperExpr____init_in_superclass( self
) /*ASuperExpr::_init_in_superclass*/ = variable3
/*p*/;
1715 ((typing___ASuperInitCall___register_super_init_call_t
)CALL( self
,COLOR_typing___ASuperInitCall___register_super_init_call
))( self
, variable0
/*v*/, variable3
/*p*/) /*ASuperInitCall::register_super_init_call*/;
1716 variable4
= ((parser_nodes___ASuperExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ASuperExpr___n_args
))( self
) /*ASuperExpr::n_args*/;
1717 variable4
= ((list___List___length_t
)CALL(variable4
,COLOR_abstract_collection___Collection___length
))(variable4
) /*List::length*/;
1718 variable4
= TAG_Bool(UNTAG_Int(variable4
)>UNTAG_Int( TAG_Int(0)));
1719 if (UNTAG_Bool(variable4
)) { /*if*/
1720 variable4
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1721 variable5
= ((parser_nodes___ASuperExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ASuperExpr___n_args
))( self
) /*ASuperExpr::n_args*/;
1722 variable5
= ((array___Collection___to_a_t
)CALL(variable5
,COLOR_array___Collection___to_a
))(variable5
) /*Collection::to_a*/;
1723 variable4
= ((typing___AAbsSendExpr___process_signature_t
)CALL( self
,COLOR_typing___AAbsSendExpr___process_signature
))( self
, variable0
/*v*/, variable4
, variable3
/*p*/, TAG_Bool(true), variable5
) /*AAbsSendExpr::process_signature*/;
1724 ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/ = variable4
;
1727 variable2
= NEW_string___String___init(); /*new String*/
1728 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: No super method to call for "), TAG_Int(35)); /*new String*/
1729 variable4
= variable3
;
1730 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
1731 variable5
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1732 variable6
= variable5
;
1733 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
1734 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
1735 variable7
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1736 variable8
= variable7
;
1737 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
1738 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
1739 goto return_label67
;
1742 variable2
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___first
))( variable1
/*precs*/) /*IndexedCollection::first*/;
1743 variable3
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1744 variable2
= ((static_type___MMLocalProperty___signature_for_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature_for
))(variable2
, variable3
) /*MMLocalProperty::signature_for*/;
1745 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
1746 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))))));
1747 if (UNTAG_Bool(variable2
)) { /*if*/
1748 variable3
= NEW_array___Array___init(); /*new Array[E]*/
1749 variable2
= variable3
;
1750 variable3
= NIT_NULL
/*null*/;
1751 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable1
/*precs*/,COLOR_abstract_collection___Collection___iterator
))( variable1
/*precs*/) /*AbstractArray::iterator*/;
1752 while (true) { /*for*/
1753 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
1754 if (!UNTAG_Bool(variable5
)) break; /*for*/
1755 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
1756 variable6
= TAG_Bool(( variable5
/*prop*/==NIT_NULL
) || VAL_ISA( variable5
/*prop*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
1757 if (!UNTAG_Bool(variable6
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ASuperExpr___after_typing
, LOCATE_typing
, 692); nit_exit(1);}
1758 variable7
= ((typing___TypingVisitor___self_type_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___self_type
))( variable0
/*v*/) /*TypingVisitor::self_type*/;
1759 variable7
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable5
/*prop*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable5
/*prop*/, variable7
) /*MMLocalProperty::signature_for*/;
1760 variable7
= ((static_type___MMSignature___return_type_t
)CALL(variable7
,COLOR_static_type___MMSignature___return_type
))(variable7
) /*MMSignature::return_type*/;
1761 variable8
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
1762 variable7
= ((static_type___MMType___for_module_t
)CALL(variable7
,COLOR_static_type___MMType___for_module
))(variable7
, variable8
) /*MMType::for_module*/;
1763 variable8
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1764 variable8
= ((static_type___MMLocalProperty___signature_t
)CALL(variable8
,COLOR_static_type___MMLocalProperty___signature
))(variable8
) /*MMLocalProperty::signature*/;
1765 variable8
= ((static_type___MMSignature___recv_t
)CALL(variable8
,COLOR_static_type___MMSignature___recv
))(variable8
) /*MMSignature::recv*/;
1766 variable7
= ((static_type___MMType___adapt_to_t
)CALL(variable7
,COLOR_static_type___MMType___adapt_to
))(variable7
, variable8
) /*MMType::adapt_to*/;
1767 variable6
= variable7
;
1768 ((array___AbstractArray___add_t
)CALL( variable2
/*stypes*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*stypes*/, variable6
/*t*/) /*AbstractArray::add*/;
1769 variable7
= TAG_Bool(( variable3
/*stype*/ == NIT_NULL
/*null*/) || (( variable3
/*stype*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*stype*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*stype*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*stype*/,COLOR_kernel___Object_____eqeq
))( variable3
/*stype*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1770 variable8
= variable7
;
1771 if (!UNTAG_Bool(variable8
)) { /* or */
1772 variable8
= ((static_type___MMType_____l_t
)CALL( variable3
/*stype*/,COLOR_static_type___MMType_____l
))( variable3
/*stype*/, variable6
/*t*/) /*MMType::<*/;
1774 variable7
= variable8
;
1775 if (UNTAG_Bool(variable7
)) { /*if*/
1776 variable3
= variable6
/*t*/ /*stype=*/;
1778 continue_69
: while(0);
1779 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
1782 variable4
= ((array___AbstractArray___iterator_t
)CALL( variable2
/*stypes*/,COLOR_abstract_collection___Collection___iterator
))( variable2
/*stypes*/) /*AbstractArray::iterator*/;
1783 while (true) { /*for*/
1784 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
1785 if (!UNTAG_Bool(variable5
)) break; /*for*/
1786 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
1787 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable5
/*t*/, variable3
/*stype*/) /*AbsSyntaxVisitor::check_conform*/;
1788 continue_70
: while(0);
1789 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
1792 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable3
/*stype*/;
1794 variable3
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
1795 variable2
= variable3
;
1796 variable3
= TAG_Bool(( variable2
/*p*/==NIT_NULL
) || VAL_ISA( variable2
/*p*/, COLOR_MMSrcMethod
, ID_MMSrcMethod
)) /*cast MMSrcMethod*/;
1797 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ASuperExpr___after_typing
, LOCATE_typing
, 705); nit_exit(1);}
1798 ATTR_typing___AAbsSendExpr____prop( self
) /*AAbsSendExpr::_prop*/ = variable2
/*p*/;
1799 return_label67
: while(false);
1800 tracehead
= trace
.prev
;
1803 val_t
typing___AAttrFormExpr___prop(val_t self
) {
1804 struct trace_t trace
= {NULL
, LOCATE_typing
, 711, LOCATE_typing___AAttrFormExpr___prop
};
1805 trace
.prev
= tracehead
; tracehead
= &trace
;
1806 tracehead
= trace
.prev
;
1807 return ATTR_typing___AAttrFormExpr____prop( self
) /*AAttrFormExpr::_prop*/;
1809 val_t
typing___AAttrFormExpr___attr_type(val_t self
) {
1810 struct trace_t trace
= {NULL
, LOCATE_typing
, 714, LOCATE_typing___AAttrFormExpr___attr_type
};
1811 trace
.prev
= tracehead
; tracehead
= &trace
;
1812 tracehead
= trace
.prev
;
1813 return ATTR_typing___AAttrFormExpr____attr_type( self
) /*AAttrFormExpr::_attr_type*/;
1815 void typing___AAttrFormExpr___do_typing(val_t self
, val_t param0
) {
1816 struct trace_t trace
= {NULL
, LOCATE_typing
, 717, LOCATE_typing___AAttrFormExpr___do_typing
};
1835 trace
.prev
= tracehead
; tracehead
= &trace
;
1837 variable2
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrFormExpr::n_expr*/;
1838 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
1839 variable1
= variable2
;
1840 variable2
= TAG_Bool(( variable1
/*type_recv*/ == NIT_NULL
/*null*/) || (( variable1
/*type_recv*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*type_recv*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*type_recv*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*type_recv*/,COLOR_kernel___Object_____eqeq
))( variable1
/*type_recv*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1841 if (UNTAG_Bool(variable2
)) { /*if*/
1842 goto return_label71
;
1844 variable3
= ((parser_nodes___AAttrFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_id
))( self
) /*AAttrFormExpr::n_id*/;
1845 variable3
= ((syntax_base___Token___to_symbol_t
)CALL(variable3
,COLOR_syntax_base___Token___to_symbol
))(variable3
) /*Token::to_symbol*/;
1846 variable2
= variable3
;
1847 variable4
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_recv*/) /*MMType::local_class*/;
1848 variable4
= ((abstractmetamodel___MMLocalClass___select_attribute_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalClass___select_attribute
))(variable4
, variable2
/*name*/) /*MMLocalClass::select_attribute*/;
1849 variable3
= variable4
;
1850 variable4
= TAG_Bool(( variable3
/*prop*/ == NIT_NULL
/*null*/) || (( variable3
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable3
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
1851 if (UNTAG_Bool(variable4
)) { /*if*/
1852 variable4
= NEW_string___String___init(); /*new String*/
1853 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
1854 variable6
= variable5
;
1855 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1856 variable7
= variable2
/*name*/;
1857 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1858 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1859 variable8
= NEW_string___String___with_native(BOX_NativeString(" doesn't exists in "), TAG_Int(19)); /*new String*/
1860 variable9
= variable8
;
1861 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1862 variable10
= variable1
/*type_recv*/;
1863 variable10
= ((string___String___to_s_t
)CALL(variable10
,COLOR_string___Object___to_s
))(variable10
) /*String::to_s*/;
1864 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
1865 variable11
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1866 variable12
= variable11
;
1867 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable12
) /*String::append*/;
1868 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
1869 goto return_label71
;
1871 variable4
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
1872 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMLocalProperty::global*/;
1873 variable5
= ((abstractmetamodel___MMGlobalProperty___local_class_t
)CALL(variable5
,COLOR_abstractmetamodel___MMGlobalProperty___local_class
))(variable5
) /*MMGlobalProperty::local_class*/;
1874 variable5
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable5
) /*MMLocalClass::module*/;
1875 variable4
= ((abstractmetamodel___MMModule___visibility_for_t
)CALL(variable4
,COLOR_abstractmetamodel___MMModule___visibility_for
))(variable4
, variable5
) /*MMModule::visibility_for*/;
1876 variable4
= TAG_Bool(UNTAG_Int(variable4
)<UNTAG_Int( TAG_Int(3)));
1877 if (UNTAG_Bool(variable4
)) { /*if*/
1878 variable4
= NEW_string___String___init(); /*new String*/
1879 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: Attribute "), TAG_Int(17)); /*new String*/
1880 variable6
= variable5
;
1881 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
1882 variable7
= variable2
/*name*/;
1883 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
1884 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
1885 variable8
= NEW_string___String___with_native(BOX_NativeString(" from "), TAG_Int(6)); /*new String*/
1886 variable9
= variable8
;
1887 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
1888 variable10
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable3
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable3
/*prop*/) /*MMLocalProperty::global*/;
1889 variable10
= ((abstractmetamodel___MMGlobalProperty___local_class_t
)CALL(variable10
,COLOR_abstractmetamodel___MMGlobalProperty___local_class
))(variable10
) /*MMGlobalProperty::local_class*/;
1890 variable10
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable10
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable10
) /*MMLocalClass::module*/;
1891 variable11
= variable10
;
1892 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
1893 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
1894 variable12
= NEW_string___String___with_native(BOX_NativeString(" is invisible in "), TAG_Int(17)); /*new String*/
1895 variable13
= variable12
;
1896 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
1897 variable14
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
1898 variable15
= variable14
;
1899 variable15
= ((string___String___to_s_t
)CALL(variable15
,COLOR_string___Object___to_s
))(variable15
) /*String::to_s*/;
1900 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable15
) /*String::append*/;
1901 variable16
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1902 variable17
= variable16
;
1903 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable17
) /*String::append*/;
1904 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
1907 ATTR_typing___AAttrFormExpr____prop( self
) /*AAttrFormExpr::_prop*/ = variable3
/*prop*/;
1908 variable5
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable3
/*prop*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable3
/*prop*/, variable1
/*type_recv*/) /*MMLocalProperty::signature_for*/;
1909 variable5
= ((static_type___MMSignature___return_type_t
)CALL(variable5
,COLOR_static_type___MMSignature___return_type
))(variable5
) /*MMSignature::return_type*/;
1910 variable4
= variable5
;
1911 variable5
= ((parser_nodes___AAttrFormExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAttrFormExpr___n_expr
))( self
) /*AAttrFormExpr::n_expr*/;
1912 variable5
= ((typing___PExpr___is_self_t
)CALL(variable5
,COLOR_typing___PExpr___is_self
))(variable5
) /*PExpr::is_self*/;
1913 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5
)))) { /*if*/
1914 variable5
= ((static_type___MMType___not_for_self_t
)CALL( variable4
/*at*/,COLOR_static_type___MMType___not_for_self
))( variable4
/*at*/) /*MMType::not_for_self*/;
1915 variable4
= variable5
/*at=*/;
1917 ATTR_typing___AAttrFormExpr____attr_type( self
) /*AAttrFormExpr::_attr_type*/ = variable4
/*at*/;
1918 return_label71
: while(false);
1919 tracehead
= trace
.prev
;
1922 void typing___AAttrExpr___after_typing(val_t self
, val_t param0
) {
1923 struct trace_t trace
= {NULL
, LOCATE_typing
, 740, LOCATE_typing___AAttrExpr___after_typing
};
1926 trace
.prev
= tracehead
; tracehead
= &trace
;
1928 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrFormExpr::do_typing*/;
1929 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrFormExpr::prop*/;
1930 variable1
= TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))));
1931 if (UNTAG_Bool(variable1
)) { /*if*/
1932 goto return_label72
;
1934 variable1
= ((typing___AAttrFormExpr___attr_type_t
)CALL( self
,COLOR_typing___AAttrFormExpr___attr_type
))( self
) /*AAttrFormExpr::attr_type*/;
1935 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
1936 return_label72
: while(false);
1937 tracehead
= trace
.prev
;
1940 void typing___AAttrAssignExpr___after_typing(val_t self
, val_t param0
) {
1941 struct trace_t trace
= {NULL
, LOCATE_typing
, 751, LOCATE_typing___AAttrAssignExpr___after_typing
};
1945 trace
.prev
= tracehead
; tracehead
= &trace
;
1947 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrFormExpr::do_typing*/;
1948 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrFormExpr::prop*/;
1949 variable1
= TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))));
1950 if (UNTAG_Bool(variable1
)) { /*if*/
1951 goto return_label73
;
1953 variable1
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAssignFormExpr::n_value*/;
1954 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
1955 variable2
= ((typing___AAttrFormExpr___attr_type_t
)CALL( self
,COLOR_typing___AAttrFormExpr___attr_type
))( self
) /*AAttrFormExpr::attr_type*/;
1956 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable1
, variable2
) /*AbsSyntaxVisitor::check_conform*/;
1957 return_label73
: while(false);
1958 tracehead
= trace
.prev
;
1961 void typing___AAttrReassignExpr___after_typing(val_t self
, val_t param0
) {
1962 struct trace_t trace
= {NULL
, LOCATE_typing
, 762, LOCATE_typing___AAttrReassignExpr___after_typing
};
1965 trace
.prev
= tracehead
; tracehead
= &trace
;
1967 ((typing___AAttrFormExpr___do_typing_t
)CALL( self
,COLOR_typing___AAttrFormExpr___do_typing
))( self
, variable0
/*v*/) /*AAttrFormExpr::do_typing*/;
1968 variable1
= ((typing___AAttrFormExpr___prop_t
)CALL( self
,COLOR_typing___AAttrFormExpr___prop
))( self
) /*AAttrFormExpr::prop*/;
1969 variable1
= TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))));
1970 if (UNTAG_Bool(variable1
)) { /*if*/
1971 goto return_label74
;
1973 variable1
= ((typing___AAttrFormExpr___attr_type_t
)CALL( self
,COLOR_typing___AAttrFormExpr___attr_type
))( self
) /*AAttrFormExpr::attr_type*/;
1974 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable1
) /*AReassignFormExpr::do_lvalue_typing*/;
1975 return_label74
: while(false);
1976 tracehead
= trace
.prev
;
1979 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
) {
1980 struct trace_t trace
= {NULL
, LOCATE_typing
, 774, LOCATE_typing___AAbsSendExpr___do_typing
};
1990 trace
.prev
= tracehead
; tracehead
= &trace
;
1997 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*/;
1998 variable6
= variable7
;
1999 variable7
= TAG_Bool(( variable6
/*prop*/ == NIT_NULL
/*null*/) || (( variable6
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable6
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable6
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable6
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable6
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2000 if (UNTAG_Bool(variable7
)) { /*if*/
2001 goto return_label75
;
2003 variable8
= ((typing___AAbsSendExpr___process_signature_t
)CALL( self
,COLOR_typing___AAbsSendExpr___process_signature
))( self
, variable0
/*v*/, variable1
/*type_recv*/, variable6
/*prop*/, variable3
/*recv_is_self*/, variable5
/*raw_args*/) /*AAbsSendExpr::process_signature*/;
2004 variable7
= variable8
;
2005 variable8
= TAG_Bool(( variable7
/*args*/ == NIT_NULL
/*null*/) || (( variable7
/*args*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable7
/*args*/,COLOR_kernel___Object_____eqeq
))( variable7
/*args*/, NIT_NULL
/*null*/) /*AbstractArray::==*/)));
2006 if (UNTAG_Bool(variable8
)) { /*if*/
2007 goto return_label75
;
2009 ATTR_typing___AAbsSendExpr____prop( self
) /*AAbsSendExpr::_prop*/ = variable6
/*prop*/;
2010 ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/ = variable7
/*args*/;
2011 return_label75
: while(false);
2012 tracehead
= trace
.prev
;
2015 val_t
typing___AAbsSendExpr___get_property(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
2016 struct trace_t trace
= {NULL
, LOCATE_typing
, 785, LOCATE_typing___AAbsSendExpr___get_property
};
2033 trace
.prev
= tracehead
; tracehead
= &trace
;
2038 variable4
= TAG_Bool(( variable1
/*type_recv*/ == NIT_NULL
/*null*/) || (( variable1
/*type_recv*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*type_recv*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*type_recv*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*type_recv*/,COLOR_kernel___Object_____eqeq
))( variable1
/*type_recv*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2039 if (UNTAG_Bool(variable4
)) { /*if*/
2040 variable4
= NIT_NULL
/*null*/;
2041 goto return_label76
;
2043 variable5
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_recv*/) /*MMType::local_class*/;
2044 variable5
= ((abstractmetamodel___MMLocalClass___select_method_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___select_method
))(variable5
, variable3
/*name*/) /*MMLocalClass::select_method*/;
2045 variable4
= variable5
;
2046 variable5
= TAG_Bool(( variable4
/*prop*/ == NIT_NULL
/*null*/) || (( variable4
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable4
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable4
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable4
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable4
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2047 variable6
= variable5
;
2048 if (UNTAG_Bool(variable6
)) { /* and */
2049 variable6
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
2050 variable6
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable6
) /*MMLocalProperty::global*/;
2051 variable6
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable6
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable6
) /*MMGlobalProperty::is_init*/;
2053 variable5
= variable6
;
2054 if (UNTAG_Bool(variable5
)) { /*if*/
2055 variable6
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_recv*/) /*MMType::local_class*/;
2056 variable6
= ((abstractmetamodel___MMLocalClass___super_methods_named_t
)CALL(variable6
,COLOR_abstractmetamodel___MMLocalClass___super_methods_named
))(variable6
, variable3
/*name*/) /*MMLocalClass::super_methods_named*/;
2057 variable5
= variable6
;
2058 variable6
= ((array___AbstractArray___length_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___length
))( variable5
/*props*/) /*AbstractArray::length*/;
2059 variable6
= TAG_Bool(UNTAG_Int(variable6
)>UNTAG_Int( TAG_Int(1)));
2060 if (UNTAG_Bool(variable6
)) { /*if*/
2061 variable6
= NEW_string___String___init(); /*new String*/
2062 variable7
= NEW_string___String___with_native(BOX_NativeString("Error: Ambigous method name '"), TAG_Int(29)); /*new String*/
2063 variable8
= variable7
;
2064 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable8
) /*String::append*/;
2065 variable9
= variable3
/*name*/;
2066 variable9
= ((string___String___to_s_t
)CALL(variable9
,COLOR_string___Object___to_s
))(variable9
) /*String::to_s*/;
2067 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable9
) /*String::append*/;
2068 variable10
= NEW_string___String___with_native(BOX_NativeString("' for "), TAG_Int(6)); /*new String*/
2069 variable11
= variable10
;
2070 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable11
) /*String::append*/;
2071 variable12
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2072 variable12
= ((string___Collection___join_t
)CALL( variable5
/*props*/,COLOR_string___Collection___join
))( variable5
/*props*/, variable12
) /*Collection::join*/;
2073 variable13
= variable12
;
2074 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable13
) /*String::append*/;
2075 variable14
= NEW_string___String___with_native(BOX_NativeString(". Use explicit designation."), TAG_Int(27)); /*new String*/
2076 variable15
= variable14
;
2077 ((string___String___append_t
)CALL(variable6
,COLOR_abstract_collection___IndexedCollection___append
))(variable6
, variable15
) /*String::append*/;
2078 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable6
) /*AbsSyntaxVisitor::error*/;
2079 variable4
= NIT_NULL
/*null*/;
2080 goto return_label76
;
2082 variable6
= ((array___AbstractArray___length_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___length
))( variable5
/*props*/) /*AbstractArray::length*/;
2083 variable6
= TAG_Bool((variable6
)==( TAG_Int(1)));
2084 if (UNTAG_Bool(variable6
)) { /*if*/
2085 variable7
= ((static_type___MMType___local_class_t
)CALL( variable1
/*type_recv*/,COLOR_static_type___MMType___local_class
))( variable1
/*type_recv*/) /*MMType::local_class*/;
2086 variable8
= ((abstract_collection___IndexedCollection___first_t
)CALL( variable5
/*props*/,COLOR_abstract_collection___Collection___first
))( variable5
/*props*/) /*IndexedCollection::first*/;
2087 variable8
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable8
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable8
) /*MMLocalProperty::global*/;
2088 variable7
= ((inheritance___MMLocalClass_____bra_t
)CALL(variable7
,COLOR_abstractmetamodel___MMLocalClass_____bra
))(variable7
, variable8
) /*MMLocalClass::[]*/;
2089 variable6
= variable7
;
2090 variable7
= TAG_Bool(( variable6
/*p*/==NIT_NULL
) || VAL_ISA( variable6
/*p*/, COLOR_MMMethod
, ID_MMMethod
)) /*cast MMMethod*/;
2091 if (!UNTAG_Bool(variable7
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___AAbsSendExpr___get_property
, LOCATE_typing
, 796); nit_exit(1);}
2092 variable4
= variable6
/*p*/ /*prop=*/;
2096 variable5
= TAG_Bool(( variable4
/*prop*/ == NIT_NULL
/*null*/) || (( variable4
/*prop*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable4
/*prop*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable4
/*prop*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable4
/*prop*/,COLOR_kernel___Object_____eqeq
))( variable4
/*prop*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2097 if (UNTAG_Bool(variable5
)) { /*if*/
2098 if (UNTAG_Bool( variable2
/*is_implicit_self*/)) { /*if*/
2099 variable5
= NEW_string___String___init(); /*new String*/
2100 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Method or variable '"), TAG_Int(27)); /*new String*/
2101 variable7
= variable6
;
2102 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2103 variable8
= variable3
/*name*/;
2104 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2105 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2106 variable9
= NEW_string___String___with_native(BOX_NativeString("' unknown in "), TAG_Int(13)); /*new String*/
2107 variable10
= variable9
;
2108 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2109 variable11
= variable1
/*type_recv*/;
2110 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2111 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
2112 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2113 variable13
= variable12
;
2114 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable13
) /*String::append*/;
2115 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*AbsSyntaxVisitor::error*/;
2117 variable5
= NEW_string___String___init(); /*new String*/
2118 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
2119 variable7
= variable6
;
2120 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2121 variable8
= variable3
/*name*/;
2122 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2123 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2124 variable9
= NEW_string___String___with_native(BOX_NativeString("' doesn't exists in "), TAG_Int(20)); /*new String*/
2125 variable10
= variable9
;
2126 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2127 variable11
= variable1
/*type_recv*/;
2128 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2129 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable11
) /*String::append*/;
2130 variable12
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2131 variable13
= variable12
;
2132 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable13
) /*String::append*/;
2133 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*AbsSyntaxVisitor::error*/;
2135 variable4
= NIT_NULL
/*null*/;
2136 goto return_label76
;
2138 variable4
= variable4
/*prop*/;
2139 goto return_label76
;
2140 return_label76
: while(false);
2141 tracehead
= trace
.prev
;
2144 val_t
typing___AAbsSendExpr___process_signature(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
, val_t param4
) {
2145 struct trace_t trace
= {NULL
, LOCATE_typing
, 812, LOCATE_typing___AAbsSendExpr___process_signature
};
2167 trace
.prev
= tracehead
; tracehead
= &trace
;
2173 variable5
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable2
/*prop*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable2
/*prop*/) /*MMLocalProperty::global*/;
2174 variable6
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
2175 ((syntax_base___MMGlobalProperty___check_visibility_t
)CALL(variable5
,COLOR_syntax_base___MMGlobalProperty___check_visibility
))(variable5
, variable0
/*v*/, self
, variable6
, variable3
/*recv_is_self*/) /*MMGlobalProperty::check_visibility*/;
2176 variable6
= ((static_type___MMLocalProperty___signature_for_t
)CALL( variable2
/*prop*/,COLOR_static_type___MMLocalProperty___signature_for
))( variable2
/*prop*/, variable1
/*type_recv*/) /*MMLocalProperty::signature_for*/;
2177 variable5
= variable6
;
2178 variable7
= ((vararg___MMSignature___vararg_rank_t
)CALL( variable5
/*psig*/,COLOR_vararg___MMSignature___vararg_rank
))( variable5
/*psig*/) /*MMSignature::vararg_rank*/;
2179 variable6
= variable7
;
2180 variable8
= ((static_type___MMSignature___arity_t
)CALL( variable5
/*psig*/,COLOR_static_type___MMSignature___arity
))( variable5
/*psig*/) /*MMSignature::arity*/;
2181 variable7
= variable8
;
2182 variable8
= TAG_Int((bigint
)0) /*decl variable raw_arity*/;
2183 variable9
= TAG_Bool(( variable4
/*raw_args*/ == NIT_NULL
/*null*/) || (( variable4
/*raw_args*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable4
/*raw_args*/,COLOR_kernel___Object_____eqeq
))( variable4
/*raw_args*/, NIT_NULL
/*null*/) /*AbstractArray::==*/)));
2184 if (UNTAG_Bool(variable9
)) { /*if*/
2185 variable8
= TAG_Int(0) /*raw_arity=*/;
2187 variable9
= ((array___AbstractArray___length_t
)CALL( variable4
/*raw_args*/,COLOR_abstract_collection___Collection___length
))( variable4
/*raw_args*/) /*AbstractArray::length*/;
2188 variable8
= variable9
/*raw_arity=*/;
2190 variable9
= TAG_Bool(UNTAG_Int( variable7
/*par_arity*/)>UNTAG_Int( variable8
/*raw_arity*/));
2191 variable10
= variable9
;
2192 if (!UNTAG_Bool(variable10
)) { /* or */
2193 variable10
= TAG_Bool(( variable7
/*par_arity*/)!=( variable8
/*raw_arity*/));
2194 variable11
= variable10
;
2195 if (UNTAG_Bool(variable11
)) { /* and */
2196 variable11
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
2197 variable11
= TAG_Bool(( variable6
/*par_vararg*/)==(variable11
));
2199 variable10
= variable11
;
2201 variable9
= variable10
;
2202 if (UNTAG_Bool(variable9
)) { /*if*/
2203 variable9
= NEW_string___String___init(); /*new String*/
2204 variable10
= NEW_string___String___with_native(BOX_NativeString("Error: Method '"), TAG_Int(15)); /*new String*/
2205 variable11
= variable10
;
2206 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable11
) /*String::append*/;
2207 variable12
= variable2
/*prop*/;
2208 variable12
= ((string___String___to_s_t
)CALL(variable12
,COLOR_string___Object___to_s
))(variable12
) /*String::to_s*/;
2209 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable12
) /*String::append*/;
2210 variable13
= NEW_string___String___with_native(BOX_NativeString("' arity missmatch."), TAG_Int(18)); /*new String*/
2211 variable14
= variable13
;
2212 ((string___String___append_t
)CALL(variable9
,COLOR_abstract_collection___IndexedCollection___append
))(variable9
, variable14
) /*String::append*/;
2213 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable9
) /*AbsSyntaxVisitor::error*/;
2214 variable5
= NIT_NULL
/*null*/;
2215 goto return_label77
;
2217 variable9
= TAG_Int(0);
2218 variable11
= NEW_array___Array___init(); /*new Array[E]*/
2219 variable10
= variable11
;
2220 variable11
= NEW_range___Range___without_last( TAG_Int(0), variable7
/*par_arity*/); /*new Range[E]*/
2221 variable11
= ((range___Range___iterator_t
)CALL(variable11
,COLOR_abstract_collection___Collection___iterator
))(variable11
) /*Range::iterator*/;
2222 while (true) { /*for*/
2223 variable12
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___is_ok
))(variable11
) /*Iterator::is_ok*/;
2224 if (!UNTAG_Bool(variable12
)) break; /*for*/
2225 variable12
= ((abstract_collection___Iterator___item_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___item
))(variable11
) /*Iterator::item*/;
2226 variable13
= NIT_NULL
/*decl variable a*/;
2227 variable15
= ((static_type___MMSignature_____bra_t
)CALL( variable5
/*psig*/,COLOR_static_type___MMSignature_____bra
))( variable5
/*psig*/, variable12
/*par_idx*/) /*MMSignature::[]*/;
2228 variable14
= variable15
;
2229 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable3
/*recv_is_self*/)))) { /*if*/
2230 variable15
= ((static_type___MMType___not_for_self_t
)CALL( variable14
/*par_type*/,COLOR_static_type___MMType___not_for_self
))( variable14
/*par_type*/) /*MMType::not_for_self*/;
2231 variable14
= variable15
/*par_type=*/;
2233 variable15
= TAG_Bool(( variable12
/*par_idx*/)==( variable6
/*par_vararg*/));
2234 if (UNTAG_Bool(variable15
)) { /*if*/
2235 variable16
= NEW_array___Array___init(); /*new Array[E]*/
2236 variable15
= variable16
;
2237 variable16
= TAG_Int(UNTAG_Int( variable8
/*raw_arity*/)-UNTAG_Int( variable7
/*par_arity*/));
2238 variable17
= NEW_range___Range___init( TAG_Int(0), variable16
); /*new Range[E]*/
2239 variable16
= variable17
;
2240 variable16
= ((range___Range___iterator_t
)CALL(variable16
,COLOR_abstract_collection___Collection___iterator
))(variable16
) /*Range::iterator*/;
2241 while (true) { /*for*/
2242 variable17
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable16
,COLOR_abstract_collection___Iterator___is_ok
))(variable16
) /*Iterator::is_ok*/;
2243 if (!UNTAG_Bool(variable17
)) break; /*for*/
2244 variable17
= ((abstract_collection___Iterator___item_t
)CALL(variable16
,COLOR_abstract_collection___Iterator___item
))(variable16
) /*Iterator::item*/;
2245 variable18
= variable9
/*arg_idx*/;
2246 variable19
= TAG_Bool(UNTAG_Int( variable18
/*index*/)>=UNTAG_Int( TAG_Int(0)));
2247 variable20
= variable19
;
2248 if (UNTAG_Bool(variable20
)) { /* and */
2249 variable20
= ATTR_array___AbstractArray____length( variable4
/*raw_args*/) /*AbstractArray::_length*/;
2250 variable20
= TAG_Bool(UNTAG_Int( variable18
/*index*/)<UNTAG_Int(variable20
));
2252 variable19
= variable20
;
2253 if (!UNTAG_Bool(variable19
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_typing
, 229); nit_exit(1);}
2254 variable19
= ATTR_array___Array____items( variable4
/*raw_args*/) /*Array::_items*/;
2255 variable19
= UNBOX_NativeArray(variable19
)[UNTAG_Int( variable18
/*index*/)];
2256 goto return_label80
;
2257 return_label80
: while(false);
2258 variable18
= variable19
;
2259 variable13
= variable18
/*a=*/;
2260 variable18
= ((typing___PExpr___stype_t
)CALL( variable13
/*a*/,COLOR_syntax_base___PExpr___stype
))( variable13
/*a*/) /*PExpr::stype*/;
2261 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable18
, variable14
/*par_type*/) /*AbsSyntaxVisitor::check_conform*/;
2262 ((array___AbstractArray___add_t
)CALL( variable15
/*star*/,COLOR_abstract_collection___SimpleCollection___add
))( variable15
/*star*/, variable13
/*a*/) /*AbstractArray::add*/;
2263 variable18
= TAG_Int(UNTAG_Int( variable9
/*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
2264 variable9
= variable18
/*arg_idx=*/;
2265 continue_79
: while(0);
2266 ((abstract_collection___Iterator___next_t
)CALL(variable16
,COLOR_abstract_collection___Iterator___next
))(variable16
) /*Iterator::next*/;
2269 variable17
= NEW_parser_prod___AArrayExpr___init_aarrayexpr( variable15
/*star*/); /*new AArrayExpr*/
2270 variable16
= variable17
;
2271 variable17
= ((syntax_base___AbsSyntaxVisitor___type_array_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_array
))( variable0
/*v*/, variable14
/*par_type*/) /*AbsSyntaxVisitor::type_array*/;
2272 ((typing___AArrayExpr___stype__eq_t
)CALL( variable16
/*aa*/,COLOR_typing___AArrayExpr___stype__eq
))( variable16
/*aa*/, variable17
) /*AArrayExpr::stype=*/;
2273 variable13
= variable16
/*aa*/ /*a=*/;
2275 variable15
= variable9
/*arg_idx*/;
2276 variable16
= TAG_Bool(UNTAG_Int( variable15
/*index*/)>=UNTAG_Int( TAG_Int(0)));
2277 variable17
= variable16
;
2278 if (UNTAG_Bool(variable17
)) { /* and */
2279 variable17
= ATTR_array___AbstractArray____length( variable4
/*raw_args*/) /*AbstractArray::_length*/;
2280 variable17
= TAG_Bool(UNTAG_Int( variable15
/*index*/)<UNTAG_Int(variable17
));
2282 variable16
= variable17
;
2283 if (!UNTAG_Bool(variable16
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_typing
, 229); nit_exit(1);}
2284 variable16
= ATTR_array___Array____items( variable4
/*raw_args*/) /*Array::_items*/;
2285 variable16
= UNBOX_NativeArray(variable16
)[UNTAG_Int( variable15
/*index*/)];
2286 goto return_label81
;
2287 return_label81
: while(false);
2288 variable15
= variable16
;
2289 variable13
= variable15
/*a=*/;
2290 variable15
= ((typing___PExpr___stype_t
)CALL( variable13
/*a*/,COLOR_syntax_base___PExpr___stype
))( variable13
/*a*/) /*PExpr::stype*/;
2291 ((syntax_base___AbsSyntaxVisitor___check_conform_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___check_conform
))( variable0
/*v*/, self
, variable15
, variable14
/*par_type*/) /*AbsSyntaxVisitor::check_conform*/;
2292 variable15
= TAG_Int(UNTAG_Int( variable9
/*arg_idx*/)+UNTAG_Int( TAG_Int(1)));
2293 variable9
= variable15
/*arg_idx=*/;
2295 ((array___AbstractArray___add_t
)CALL( variable10
/*args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable10
/*args*/, variable13
/*a*/) /*AbstractArray::add*/;
2296 continue_78
: while(0);
2297 ((abstract_collection___Iterator___next_t
)CALL(variable11
,COLOR_abstract_collection___Iterator___next
))(variable11
) /*Iterator::next*/;
2300 variable5
= variable10
/*args*/;
2301 goto return_label77
;
2302 return_label77
: while(false);
2303 tracehead
= trace
.prev
;
2306 val_t
typing___AAbsSendExpr___prop(val_t self
) {
2307 struct trace_t trace
= {NULL
, LOCATE_typing
, 851, LOCATE_typing___AAbsSendExpr___prop
};
2308 trace
.prev
= tracehead
; tracehead
= &trace
;
2309 tracehead
= trace
.prev
;
2310 return ATTR_typing___AAbsSendExpr____prop( self
) /*AAbsSendExpr::_prop*/;
2312 val_t
typing___AAbsSendExpr___arguments(val_t self
) {
2313 struct trace_t trace
= {NULL
, LOCATE_typing
, 854, LOCATE_typing___AAbsSendExpr___arguments
};
2314 trace
.prev
= tracehead
; tracehead
= &trace
;
2315 tracehead
= trace
.prev
;
2316 return ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/;
2318 void typing___ASuperInitCall___register_super_init_call(val_t self
, val_t param0
, val_t param1
) {
2319 struct trace_t trace
= {NULL
, LOCATE_typing
, 862, LOCATE_typing___ASuperInitCall___register_super_init_call
};
2337 trace
.prev
= tracehead
; tracehead
= &trace
;
2340 variable2
= ((parser_prod___PNode___parent_t
)CALL( self
,COLOR_parser_prod___PNode___parent
))( self
) /*PNode::parent*/;
2341 variable3
= ((typing___TypingVisitor___top_block_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block
))( variable0
/*v*/) /*TypingVisitor::top_block*/;
2342 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== variable3
) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
,variable3
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, variable3
) /*Object::==*/)))))));
2343 variable3
= variable2
;
2344 if (UNTAG_Bool(variable3
)) { /* and */
2345 variable3
= ((typing___TypingVisitor___top_block_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___top_block
))( variable0
/*v*/) /*TypingVisitor::top_block*/;
2346 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( self
== variable3
) || (( self
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( self
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( self
,variable3
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( self
,COLOR_kernel___Object_____eqeq
))( self
, variable3
) /*Object::==*/)))))));
2348 variable2
= variable3
;
2349 if (UNTAG_Bool(variable2
)) { /*if*/
2350 variable2
= NEW_string___String___init(); /*new String*/
2351 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor invocation "), TAG_Int(30)); /*new String*/
2352 variable4
= variable3
;
2353 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2354 variable5
= variable1
/*property*/;
2355 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2356 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable5
) /*String::append*/;
2357 variable6
= NEW_string___String___with_native(BOX_NativeString(" must not be in nested block."), TAG_Int(29)); /*new String*/
2358 variable7
= variable6
;
2359 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable7
) /*String::append*/;
2360 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
2362 variable3
= ((syntax_base___AbsSyntaxVisitor___module_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___module
))( variable0
/*v*/) /*AbsSyntaxVisitor::module*/;
2363 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL( variable1
/*property*/,COLOR_abstractmetamodel___MMLocalProperty___global
))( variable1
/*property*/) /*MMLocalProperty::global*/;
2364 variable4
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable4
) /*MMGlobalProperty::intro*/;
2365 variable4
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable4
) /*MMLocalProperty::local_class*/;
2366 variable4
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable4
) /*MMLocalClass::global*/;
2367 variable3
= ((abstractmetamodel___MMModule_____bra_t
)CALL(variable3
,COLOR_abstractmetamodel___MMModule_____bra
))(variable3
, variable4
) /*MMModule::[]*/;
2368 variable2
= variable3
;
2369 variable3
= NIT_NULL
/*null*/;
2370 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*/;
2371 variable4
= ((array___AbstractArray___is_empty_t
)CALL(variable4
,COLOR_abstract_collection___Collection___is_empty
))(variable4
) /*AbstractArray::is_empty*/;
2372 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2373 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*/;
2374 variable4
= ((abstract_collection___IndexedCollection___last_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___last
))(variable4
) /*IndexedCollection::last*/;
2375 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMLocalProperty::global*/;
2376 variable4
= ((abstractmetamodel___MMGlobalProperty___intro_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___intro
))(variable4
) /*MMGlobalProperty::intro*/;
2377 variable4
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable4
) /*MMLocalProperty::local_class*/;
2378 variable3
= variable4
/*prev_class=*/;
2380 variable5
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
2381 variable5
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable5
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable5
) /*MMLocalClass::cshe*/;
2382 variable5
= ((partial_order___PartialOrderElement___reverse_linear_extension_t
)CALL(variable5
,COLOR_partial_order___PartialOrderElement___reverse_linear_extension
))(variable5
) /*PartialOrderElement::reverse_linear_extension*/;
2383 variable4
= variable5
;
2384 variable5
= ((syntax_base___AbsSyntaxVisitor___local_class_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_class
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_class*/;
2385 variable5
= TAG_Bool(( variable2
/*cla*/ == variable5
) || (( variable2
/*cla*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable2
/*cla*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable2
/*cla*/,variable5
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable2
/*cla*/,COLOR_kernel___Object_____eqeq
))( variable2
/*cla*/, variable5
) /*Object::==*/)))));
2386 if (UNTAG_Bool(variable5
)) { /*if*/
2387 ((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=*/;
2389 variable5
= ((array___AbstractArray___has_t
)CALL( variable4
/*order*/,COLOR_abstract_collection___Collection___has
))( variable4
/*order*/, variable2
/*cla*/) /*AbstractArray::has*/;
2390 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable5
)))) { /*if*/
2391 variable5
= NEW_string___String___init(); /*new String*/
2392 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor of class "), TAG_Int(28)); /*new String*/
2393 variable7
= variable6
;
2394 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2395 variable8
= variable2
/*cla*/;
2396 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2397 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2398 variable9
= NEW_string___String___with_native(BOX_NativeString(" must be one in "), TAG_Int(16)); /*new String*/
2399 variable10
= variable9
;
2400 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2401 variable11
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2402 variable11
= ((string___Collection___join_t
)CALL( variable4
/*order*/,COLOR_string___Collection___join
))( variable4
/*order*/, variable11
) /*Collection::join*/;
2403 variable12
= variable11
;
2404 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable12
) /*String::append*/;
2405 variable13
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2406 variable14
= variable13
;
2407 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable14
) /*String::append*/;
2408 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*AbsSyntaxVisitor::error*/;
2410 variable5
= TAG_Bool(( variable2
/*cla*/ == variable3
/*prev_class*/) || (( variable2
/*cla*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable2
/*cla*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable2
/*cla*/, variable3
/*prev_class*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable2
/*cla*/,COLOR_kernel___Object_____eqeq
))( variable2
/*cla*/, variable3
/*prev_class*/) /*Object::==*/)))));
2411 if (UNTAG_Bool(variable5
)) { /*if*/
2412 variable5
= NEW_string___String___init(); /*new String*/
2413 variable6
= NEW_string___String___with_native(BOX_NativeString("Error: Only one super constructor invocation of class "), TAG_Int(54)); /*new String*/
2414 variable7
= variable6
;
2415 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable7
) /*String::append*/;
2416 variable8
= variable2
/*cla*/;
2417 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2418 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable8
) /*String::append*/;
2419 variable9
= NEW_string___String___with_native(BOX_NativeString(" is allowed."), TAG_Int(12)); /*new String*/
2420 variable10
= variable9
;
2421 ((string___String___append_t
)CALL(variable5
,COLOR_abstract_collection___IndexedCollection___append
))(variable5
, variable10
) /*String::append*/;
2422 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable5
) /*AbsSyntaxVisitor::error*/;
2424 variable6
= TAG_Bool(( variable3
/*prev_class*/ == NIT_NULL
/*null*/) || (( variable3
/*prev_class*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*prev_class*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*prev_class*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*prev_class*/,COLOR_kernel___Object_____eqeq
))( variable3
/*prev_class*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2425 variable5
= variable6
;
2426 variable6
= ((array___AbstractArray___iterator_t
)CALL( variable4
/*order*/,COLOR_abstract_collection___Collection___iterator
))( variable4
/*order*/) /*AbstractArray::iterator*/;
2427 while (true) { /*for*/
2428 variable7
= ((array___ArrayIterator___is_ok_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___is_ok
))(variable6
) /*ArrayIterator::is_ok*/;
2429 if (!UNTAG_Bool(variable7
)) break; /*for*/
2430 variable7
= ((array___ArrayIterator___item_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___item
))(variable6
) /*ArrayIterator::item*/;
2431 variable8
= TAG_Bool(( variable7
/*c*/ == variable3
/*prev_class*/) || (( variable7
/*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable7
/*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable7
/*c*/, variable3
/*prev_class*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable7
/*c*/,COLOR_kernel___Object_____eqeq
))( variable7
/*c*/, variable3
/*prev_class*/) /*Object::==*/)))));
2432 if (UNTAG_Bool(variable8
)) { /*if*/
2433 variable5
= TAG_Bool(true) /*last_is_found=*/;
2435 variable8
= TAG_Bool(( variable7
/*c*/ == variable2
/*cla*/) || (( variable7
/*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable7
/*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable7
/*c*/, variable2
/*cla*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable7
/*c*/,COLOR_kernel___Object_____eqeq
))( variable7
/*c*/, variable2
/*cla*/) /*Object::==*/)))));
2436 if (UNTAG_Bool(variable8
)) { /*if*/
2437 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable5
/*last_is_found*/)))) { /*if*/
2438 variable8
= NEW_string___String___init(); /*new String*/
2439 variable9
= NEW_string___String___with_native(BOX_NativeString("Error: Constructor of "), TAG_Int(22)); /*new String*/
2440 variable10
= variable9
;
2441 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable10
) /*String::append*/;
2442 variable11
= variable7
/*c*/;
2443 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2444 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable11
) /*String::append*/;
2445 variable12
= NEW_string___String___with_native(BOX_NativeString(" must be invoked before constructor of "), TAG_Int(39)); /*new String*/
2446 variable13
= variable12
;
2447 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable13
) /*String::append*/;
2448 variable14
= variable3
/*prev_class*/;
2449 variable14
= ((string___String___to_s_t
)CALL(variable14
,COLOR_string___Object___to_s
))(variable14
) /*String::to_s*/;
2450 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable14
) /*String::append*/;
2451 variable15
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2452 variable16
= variable15
;
2453 ((string___String___append_t
)CALL(variable8
,COLOR_abstract_collection___IndexedCollection___append
))(variable8
, variable16
) /*String::append*/;
2454 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable8
) /*AbsSyntaxVisitor::error*/;
2456 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*/;
2457 ((array___AbstractArray___add_t
)CALL(variable8
,COLOR_abstract_collection___SimpleCollection___add
))(variable8
, variable1
/*property*/) /*AbstractArray::add*/;
2461 continue_83
: while(0);
2462 ((array___ArrayIterator___next_t
)CALL(variable6
,COLOR_abstract_collection___Iterator___next
))(variable6
) /*ArrayIterator::next*/;
2468 tracehead
= trace
.prev
;
2471 void typing___ANewExpr___after_typing(val_t self
, val_t param0
) {
2472 struct trace_t trace
= {NULL
, LOCATE_typing
, 899, LOCATE_typing___ANewExpr___after_typing
};
2482 static val_t once_value_variable3_85
; static int once_bool_variable3_85
;
2484 trace
.prev
= tracehead
; tracehead
= &trace
;
2486 variable2
= ((parser_nodes___ANewExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_type
))( self
) /*ANewExpr::n_type*/;
2487 variable2
= ((typing___PType___stype_t
)CALL(variable2
,COLOR_typing___PType___stype
))(variable2
) /*PType::stype*/;
2488 variable1
= variable2
;
2489 variable2
= TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))));
2490 if (UNTAG_Bool(variable2
)) { /*if*/
2491 goto return_label84
;
2493 variable2
= ((static_type___MMType___local_class_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___local_class
))( variable1
/*t*/) /*MMType::local_class*/;
2494 variable2
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable2
) /*MMLocalClass::global*/;
2495 variable2
= ((abstractmetamodel___MMGlobalClass___is_abstract_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalClass___is_abstract
))(variable2
) /*MMGlobalClass::is_abstract*/;
2496 if (UNTAG_Bool(variable2
)) { /*if*/
2497 variable2
= NEW_string___String___init(); /*new String*/
2498 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: try to instantiate abstract class "), TAG_Int(41)); /*new String*/
2499 variable4
= variable3
;
2500 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2501 variable5
= ((static_type___MMType___local_class_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___local_class
))( variable1
/*t*/) /*MMType::local_class*/;
2502 variable6
= variable5
;
2503 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2504 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2505 variable7
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
2506 variable8
= variable7
;
2507 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2508 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
2509 goto return_label84
;
2511 variable2
= NIT_NULL
/*decl variable name*/;
2512 variable3
= ((parser_nodes___ANewExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_id
))( self
) /*ANewExpr::n_id*/;
2513 variable3
= TAG_Bool((variable3
== NIT_NULL
/*null*/) || ((variable3
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable3
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable3
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable3
,COLOR_kernel___Object_____eqeq
))(variable3
, NIT_NULL
/*null*/) /*Object::==*/)))));
2514 if (UNTAG_Bool(variable3
)) { /*if*/
2515 if (once_bool_variable3_85
) variable3
= once_value_variable3_85
;
2517 variable3
= NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
2518 variable3
= ((symbol___String___to_symbol_t
)CALL(variable3
,COLOR_symbol___String___to_symbol
))(variable3
) /*String::to_symbol*/;
2519 once_value_variable3_85
= variable3
;
2520 once_bool_variable3_85
= true;
2522 variable2
= variable3
/*name=*/;
2524 variable3
= ((parser_nodes___ANewExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_id
))( self
) /*ANewExpr::n_id*/;
2525 variable3
= ((syntax_base___Token___to_symbol_t
)CALL(variable3
,COLOR_syntax_base___Token___to_symbol
))(variable3
) /*Token::to_symbol*/;
2526 variable2
= variable3
/*name=*/;
2528 variable3
= ((parser_nodes___ANewExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ANewExpr___n_args
))( self
) /*ANewExpr::n_args*/;
2529 variable3
= ((array___Collection___to_a_t
)CALL(variable3
,COLOR_array___Collection___to_a
))(variable3
) /*Collection::to_a*/;
2530 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable1
/*t*/, TAG_Bool(false), TAG_Bool(false), variable2
/*name*/, variable3
) /*AAbsSendExpr::do_typing*/;
2531 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2532 variable3
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable3
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable3
) /*MMLocalProperty::global*/;
2533 variable3
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable3
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable3
) /*MMGlobalProperty::is_init*/;
2534 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
2535 variable3
= NEW_string___String___init(); /*new String*/
2536 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
2537 variable5
= variable4
;
2538 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
2539 variable6
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2540 variable7
= variable6
;
2541 variable7
= ((string___String___to_s_t
)CALL(variable7
,COLOR_string___Object___to_s
))(variable7
) /*String::to_s*/;
2542 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
2543 variable8
= NEW_string___String___with_native(BOX_NativeString(" is not a constructor."), TAG_Int(22)); /*new String*/
2544 variable9
= variable8
;
2545 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
2546 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*AbsSyntaxVisitor::error*/;
2548 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
/*t*/;
2549 return_label84
: while(false);
2550 tracehead
= trace
.prev
;
2553 val_t
typing___ASendExpr___name(val_t self
) {
2554 struct trace_t trace
= {NULL
, LOCATE_typing
, 925, LOCATE_typing___ASendExpr___name
};
2555 trace
.prev
= tracehead
; tracehead
= &trace
;
2556 fprintf(stderr
, "Deferred method %s called");
2557 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing
, LOCATE_typing
, 925);
2559 tracehead
= trace
.prev
;
2562 val_t
typing___ASendExpr___raw_arguments(val_t self
) {
2563 struct trace_t trace
= {NULL
, LOCATE_typing
, 928, LOCATE_typing___ASendExpr___raw_arguments
};
2564 trace
.prev
= tracehead
; tracehead
= &trace
;
2565 fprintf(stderr
, "Deferred method %s called");
2566 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ANewExpr___after_typing
, LOCATE_typing
, 928);
2568 tracehead
= trace
.prev
;
2571 void typing___ASendExpr___after_typing(val_t self
, val_t param0
) {
2572 struct trace_t trace
= {NULL
, LOCATE_typing
, 931, LOCATE_typing___ASendExpr___after_typing
};
2574 trace
.prev
= tracehead
; tracehead
= &trace
;
2576 ((typing___ASendExpr___do_all_typing_t
)CALL( self
,COLOR_typing___ASendExpr___do_all_typing
))( self
, variable0
/*v*/) /*ASendExpr::do_all_typing*/;
2577 tracehead
= trace
.prev
;
2580 void typing___ASendExpr___do_all_typing(val_t self
, val_t param0
) {
2581 struct trace_t trace
= {NULL
, LOCATE_typing
, 936, LOCATE_typing___ASendExpr___do_all_typing
};
2590 trace
.prev
= tracehead
; tracehead
= &trace
;
2592 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2593 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
2594 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2595 variable2
= ((typing___PExpr___is_implicit_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_implicit_self
))(variable2
) /*PExpr::is_implicit_self*/;
2596 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2597 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2598 variable4
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendExpr::name*/;
2599 variable5
= ((typing___ASendExpr___raw_arguments_t
)CALL( self
,COLOR_typing___ASendExpr___raw_arguments
))( self
) /*ASendExpr::raw_arguments*/;
2600 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable1
, variable2
, variable3
, variable4
, variable5
) /*AAbsSendExpr::do_typing*/;
2601 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2602 variable1
= TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*Object::==*/)))));
2603 if (UNTAG_Bool(variable1
)) { /*if*/
2604 goto return_label87
;
2606 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2607 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable1
) /*MMLocalProperty::global*/;
2608 variable1
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable1
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable1
) /*MMGlobalProperty::is_init*/;
2609 if (UNTAG_Bool(variable1
)) { /*if*/
2610 variable1
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
2611 variable1
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable1
) /*MMLocalProperty::global*/;
2612 variable1
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable1
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable1
) /*MMGlobalProperty::is_init*/;
2613 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
2614 variable1
= NEW_string___String___init(); /*new String*/
2615 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2616 variable3
= variable2
;
2617 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2618 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2619 variable5
= variable4
;
2620 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2621 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2622 variable6
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2623 variable7
= variable6
;
2624 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2625 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable1
) /*AbsSyntaxVisitor::error*/;
2627 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2628 variable1
= ((typing___PExpr___is_self_t
)CALL(variable1
,COLOR_typing___PExpr___is_self
))(variable1
) /*PExpr::is_self*/;
2629 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { /*if*/
2630 variable1
= NEW_string___String___init(); /*new String*/
2631 variable2
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2632 variable3
= variable2
;
2633 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
2634 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2635 variable5
= variable4
;
2636 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
2637 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
2638 variable6
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2639 variable7
= variable6
;
2640 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
2641 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable1
) /*AbsSyntaxVisitor::error*/;
2643 variable1
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2644 ((typing___ASuperInitCall___register_super_init_call_t
)CALL( self
,COLOR_typing___ASuperInitCall___register_super_init_call
))( self
, variable0
/*v*/, variable1
) /*ASuperInitCall::register_super_init_call*/;
2648 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2649 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2650 variable3
= ((typing___PExpr___stype_t
)CALL(variable3
,COLOR_syntax_base___PExpr___stype
))(variable3
) /*PExpr::stype*/;
2651 variable2
= ((static_type___MMLocalProperty___signature_for_t
)CALL(variable2
,COLOR_static_type___MMLocalProperty___signature_for
))(variable2
, variable3
) /*MMLocalProperty::signature_for*/;
2652 variable2
= ((static_type___MMSignature___return_type_t
)CALL(variable2
,COLOR_static_type___MMSignature___return_type
))(variable2
) /*MMSignature::return_type*/;
2653 variable1
= variable2
;
2654 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1
/*t*/ == NIT_NULL
/*null*/) || (( variable1
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable1
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable1
/*t*/,COLOR_kernel___Object_____eqeq
))( variable1
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
2655 variable3
= variable2
;
2656 if (UNTAG_Bool(variable3
)) { /* and */
2657 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2658 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2659 variable3
= TAG_Bool(!UNTAG_Bool(variable3
));
2661 variable2
= variable3
;
2662 if (UNTAG_Bool(variable2
)) { /*if*/
2663 variable2
= ((static_type___MMType___not_for_self_t
)CALL( variable1
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable1
/*t*/) /*MMType::not_for_self*/;
2664 variable1
= variable2
/*t=*/;
2666 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
/*t*/;
2667 return_label87
: while(false);
2668 tracehead
= trace
.prev
;
2671 val_t
typing___ASendReassignExpr___read_prop(val_t self
) {
2672 struct trace_t trace
= {NULL
, LOCATE_typing
, 958, LOCATE_typing___ASendReassignExpr___read_prop
};
2673 trace
.prev
= tracehead
; tracehead
= &trace
;
2674 tracehead
= trace
.prev
;
2675 return ATTR_typing___ASendReassignExpr____read_prop( self
) /*ASendReassignExpr::_read_prop*/;
2677 void typing___ASendReassignExpr___do_all_typing(val_t self
, val_t param0
) {
2678 struct trace_t trace
= {NULL
, LOCATE_typing
, 959, LOCATE_typing___ASendReassignExpr___do_all_typing
};
2693 trace
.prev
= tracehead
; tracehead
= &trace
;
2695 variable2
= ((typing___ASendExpr___raw_arguments_t
)CALL( self
,COLOR_typing___ASendExpr___raw_arguments
))( self
) /*ASendExpr::raw_arguments*/;
2696 variable1
= variable2
;
2697 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2698 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
2699 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2700 variable3
= ((typing___PExpr___is_implicit_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_implicit_self
))(variable3
) /*PExpr::is_implicit_self*/;
2701 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2702 variable4
= ((typing___PExpr___is_self_t
)CALL(variable4
,COLOR_typing___PExpr___is_self
))(variable4
) /*PExpr::is_self*/;
2703 variable5
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendExpr::name*/;
2704 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable2
, variable3
, variable4
, variable5
, variable1
/*raw_args*/) /*AAbsSendExpr::do_typing*/;
2705 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2706 variable2
= TAG_Bool((variable2
== NIT_NULL
/*null*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, NIT_NULL
/*null*/) /*Object::==*/)))));
2707 if (UNTAG_Bool(variable2
)) { /*if*/
2708 goto return_label88
;
2710 variable2
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2711 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMLocalProperty::global*/;
2712 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
2713 if (UNTAG_Bool(variable2
)) { /*if*/
2714 variable2
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
2715 variable2
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable2
) /*MMLocalProperty::global*/;
2716 variable2
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable2
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable2
) /*MMGlobalProperty::is_init*/;
2717 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
2718 variable2
= NEW_string___String___init(); /*new String*/
2719 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2720 variable4
= variable3
;
2721 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2722 variable5
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2723 variable6
= variable5
;
2724 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2725 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2726 variable7
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2727 variable8
= variable7
;
2728 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2729 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
2731 variable2
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2732 variable2
= ((typing___PExpr___is_self_t
)CALL(variable2
,COLOR_typing___PExpr___is_self
))(variable2
) /*PExpr::is_self*/;
2733 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable2
)))) { /*if*/
2734 variable2
= NEW_string___String___init(); /*new String*/
2735 variable3
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2736 variable4
= variable3
;
2737 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable4
) /*String::append*/;
2738 variable5
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2739 variable6
= variable5
;
2740 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
2741 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable6
) /*String::append*/;
2742 variable7
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2743 variable8
= variable7
;
2744 ((string___String___append_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___append
))(variable2
, variable8
) /*String::append*/;
2745 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable2
) /*AbsSyntaxVisitor::error*/;
2749 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2750 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2751 variable4
= ((typing___PExpr___stype_t
)CALL(variable4
,COLOR_syntax_base___PExpr___stype
))(variable4
) /*PExpr::stype*/;
2752 variable3
= ((static_type___MMLocalProperty___signature_for_t
)CALL(variable3
,COLOR_static_type___MMLocalProperty___signature_for
))(variable3
, variable4
) /*MMLocalProperty::signature_for*/;
2753 variable3
= ((static_type___MMSignature___return_type_t
)CALL(variable3
,COLOR_static_type___MMSignature___return_type
))(variable3
) /*MMSignature::return_type*/;
2754 variable2
= variable3
;
2755 variable3
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2756 variable3
= ((typing___PExpr___is_self_t
)CALL(variable3
,COLOR_typing___PExpr___is_self
))(variable3
) /*PExpr::is_self*/;
2757 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
2758 variable3
= ((static_type___MMType___not_for_self_t
)CALL( variable2
/*t*/,COLOR_static_type___MMType___not_for_self
))( variable2
/*t*/) /*MMType::not_for_self*/;
2759 variable2
= variable3
/*t=*/;
2761 ((typing___AReassignFormExpr___do_lvalue_typing_t
)CALL( self
,COLOR_typing___AReassignFormExpr___do_lvalue_typing
))( self
, variable0
/*v*/, variable2
/*t*/) /*AReassignFormExpr::do_lvalue_typing*/;
2762 variable3
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2763 ATTR_typing___ASendReassignExpr____read_prop( self
) /*ASendReassignExpr::_read_prop*/ = variable3
;
2764 variable4
= ((typing___AAbsSendExpr___arguments_t
)CALL( self
,COLOR_typing___AAbsSendExpr___arguments
))( self
) /*AAbsSendExpr::arguments*/;
2765 variable3
= variable4
;
2766 variable4
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
2767 ((array___AbstractArray___add_t
)CALL( variable1
/*raw_args*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*raw_args*/, variable4
) /*AbstractArray::add*/;
2768 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2769 variable4
= ((typing___PExpr___stype_t
)CALL(variable4
,COLOR_syntax_base___PExpr___stype
))(variable4
) /*PExpr::stype*/;
2770 variable5
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2771 variable5
= ((typing___PExpr___is_implicit_self_t
)CALL(variable5
,COLOR_typing___PExpr___is_implicit_self
))(variable5
) /*PExpr::is_implicit_self*/;
2772 variable6
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2773 variable6
= ((typing___PExpr___is_self_t
)CALL(variable6
,COLOR_typing___PExpr___is_self
))(variable6
) /*PExpr::is_self*/;
2774 variable7
= NEW_string___String___init(); /*new String*/
2775 variable8
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2776 variable9
= variable8
;
2777 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable9
) /*String::append*/;
2778 variable10
= ((typing___ASendExpr___name_t
)CALL( self
,COLOR_typing___ASendExpr___name
))( self
) /*ASendExpr::name*/;
2779 variable11
= variable10
;
2780 variable11
= ((string___String___to_s_t
)CALL(variable11
,COLOR_string___Object___to_s
))(variable11
) /*String::to_s*/;
2781 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable11
) /*String::append*/;
2782 variable12
= NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
2783 variable13
= variable12
;
2784 ((string___String___append_t
)CALL(variable7
,COLOR_abstract_collection___IndexedCollection___append
))(variable7
, variable13
) /*String::append*/;
2785 variable7
= ((symbol___String___to_symbol_t
)CALL(variable7
,COLOR_symbol___String___to_symbol
))(variable7
) /*String::to_symbol*/;
2786 ((typing___AAbsSendExpr___do_typing_t
)CALL( self
,COLOR_typing___AAbsSendExpr___do_typing
))( self
, variable0
/*v*/, variable4
, variable5
, variable6
, variable7
, variable1
/*raw_args*/) /*AAbsSendExpr::do_typing*/;
2787 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2788 variable4
= TAG_Bool((variable4
== NIT_NULL
/*null*/) || ((variable4
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable4
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable4
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable4
,COLOR_kernel___Object_____eqeq
))(variable4
, NIT_NULL
/*null*/) /*Object::==*/)))));
2789 if (UNTAG_Bool(variable4
)) { /*if*/
2790 goto return_label88
;
2792 variable4
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2793 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMLocalProperty::global*/;
2794 variable4
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable4
) /*MMGlobalProperty::is_init*/;
2795 if (UNTAG_Bool(variable4
)) { /*if*/
2796 variable4
= ((syntax_base___AbsSyntaxVisitor___local_property_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___local_property
))( variable0
/*v*/) /*AbsSyntaxVisitor::local_property*/;
2797 variable4
= ((abstractmetamodel___MMLocalProperty___global_t
)CALL(variable4
,COLOR_abstractmetamodel___MMLocalProperty___global
))(variable4
) /*MMLocalProperty::global*/;
2798 variable4
= ((abstractmetamodel___MMGlobalProperty___is_init_t
)CALL(variable4
,COLOR_abstractmetamodel___MMGlobalProperty___is_init
))(variable4
) /*MMGlobalProperty::is_init*/;
2799 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2800 variable4
= NEW_string___String___init(); /*new String*/
2801 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: try to invoke constructor "), TAG_Int(33)); /*new String*/
2802 variable6
= variable5
;
2803 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2804 variable7
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2805 variable8
= variable7
;
2806 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2807 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2808 variable9
= NEW_string___String___with_native(BOX_NativeString(" in a method."), TAG_Int(13)); /*new String*/
2809 variable10
= variable9
;
2810 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2811 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
2813 variable4
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
2814 variable4
= ((typing___PExpr___is_self_t
)CALL(variable4
,COLOR_typing___PExpr___is_self
))(variable4
) /*PExpr::is_self*/;
2815 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable4
)))) { /*if*/
2816 variable4
= NEW_string___String___init(); /*new String*/
2817 variable5
= NEW_string___String___with_native(BOX_NativeString("Error: constructor "), TAG_Int(19)); /*new String*/
2818 variable6
= variable5
;
2819 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
2820 variable7
= ((typing___AAbsSendExpr___prop_t
)CALL( self
,COLOR_typing___AAbsSendExpr___prop
))( self
) /*AAbsSendExpr::prop*/;
2821 variable8
= variable7
;
2822 variable8
= ((string___String___to_s_t
)CALL(variable8
,COLOR_string___Object___to_s
))(variable8
) /*String::to_s*/;
2823 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable8
) /*String::append*/;
2824 variable9
= NEW_string___String___with_native(BOX_NativeString(" is not invoken on 'self'."), TAG_Int(26)); /*new String*/
2825 variable10
= variable9
;
2826 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable10
) /*String::append*/;
2827 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable4
) /*AbsSyntaxVisitor::error*/;
2831 ATTR_typing___AAbsSendExpr____arguments( self
) /*AAbsSendExpr::_arguments*/ = variable3
/*old_args*/;
2832 return_label88
: while(false);
2833 tracehead
= trace
.prev
;
2836 val_t
typing___ABinopExpr___raw_arguments(val_t self
) {
2837 struct trace_t trace
= {NULL
, LOCATE_typing
, 995, LOCATE_typing___ABinopExpr___raw_arguments
};
2840 trace
.prev
= tracehead
; tracehead
= &trace
;
2841 variable0
= NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[E]*/
2842 variable1
= ((parser_nodes___ABinopExpr___n_expr2_t
)CALL( self
,COLOR_parser_nodes___ABinopExpr___n_expr2
))( self
) /*ABinopExpr::n_expr2*/;
2843 ((array___AbstractArray___add_t
)CALL(variable0
,COLOR_abstract_collection___SimpleCollection___add
))(variable0
, variable1
) /*AbstractArray::add*/;
2844 goto return_label89
;
2845 return_label89
: while(false);
2846 tracehead
= trace
.prev
;
2849 val_t
typing___AEqExpr___name(val_t self
) {
2850 struct trace_t trace
= {NULL
, LOCATE_typing
, 998, LOCATE_typing___AEqExpr___name
};
2852 static val_t once_value_variable0_91
; static int once_bool_variable0_91
;
2853 trace
.prev
= tracehead
; tracehead
= &trace
;
2854 if (once_bool_variable0_91
) variable0
= once_value_variable0_91
;
2856 variable0
= NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
2857 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2858 once_value_variable0_91
= variable0
;
2859 once_bool_variable0_91
= true;
2861 goto return_label90
;
2862 return_label90
: while(false);
2863 tracehead
= trace
.prev
;
2866 val_t
typing___ANeExpr___name(val_t self
) {
2867 struct trace_t trace
= {NULL
, LOCATE_typing
, 1001, LOCATE_typing___ANeExpr___name
};
2869 static val_t once_value_variable0_93
; static int once_bool_variable0_93
;
2870 trace
.prev
= tracehead
; tracehead
= &trace
;
2871 if (once_bool_variable0_93
) variable0
= once_value_variable0_93
;
2873 variable0
= NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
2874 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2875 once_value_variable0_93
= variable0
;
2876 once_bool_variable0_93
= true;
2878 goto return_label92
;
2879 return_label92
: while(false);
2880 tracehead
= trace
.prev
;
2883 val_t
typing___ALtExpr___name(val_t self
) {
2884 struct trace_t trace
= {NULL
, LOCATE_typing
, 1004, LOCATE_typing___ALtExpr___name
};
2886 static val_t once_value_variable0_95
; static int once_bool_variable0_95
;
2887 trace
.prev
= tracehead
; tracehead
= &trace
;
2888 if (once_bool_variable0_95
) variable0
= once_value_variable0_95
;
2890 variable0
= NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
2891 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2892 once_value_variable0_95
= variable0
;
2893 once_bool_variable0_95
= true;
2895 goto return_label94
;
2896 return_label94
: while(false);
2897 tracehead
= trace
.prev
;
2900 val_t
typing___ALeExpr___name(val_t self
) {
2901 struct trace_t trace
= {NULL
, LOCATE_typing
, 1007, LOCATE_typing___ALeExpr___name
};
2903 static val_t once_value_variable0_97
; static int once_bool_variable0_97
;
2904 trace
.prev
= tracehead
; tracehead
= &trace
;
2905 if (once_bool_variable0_97
) variable0
= once_value_variable0_97
;
2907 variable0
= NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
2908 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2909 once_value_variable0_97
= variable0
;
2910 once_bool_variable0_97
= true;
2912 goto return_label96
;
2913 return_label96
: while(false);
2914 tracehead
= trace
.prev
;
2917 val_t
typing___AGtExpr___name(val_t self
) {
2918 struct trace_t trace
= {NULL
, LOCATE_typing
, 1010, LOCATE_typing___AGtExpr___name
};
2920 static val_t once_value_variable0_99
; static int once_bool_variable0_99
;
2921 trace
.prev
= tracehead
; tracehead
= &trace
;
2922 if (once_bool_variable0_99
) variable0
= once_value_variable0_99
;
2924 variable0
= NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
2925 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2926 once_value_variable0_99
= variable0
;
2927 once_bool_variable0_99
= true;
2929 goto return_label98
;
2930 return_label98
: while(false);
2931 tracehead
= trace
.prev
;
2934 val_t
typing___AGeExpr___name(val_t self
) {
2935 struct trace_t trace
= {NULL
, LOCATE_typing
, 1013, LOCATE_typing___AGeExpr___name
};
2937 static val_t once_value_variable0_101
; static int once_bool_variable0_101
;
2938 trace
.prev
= tracehead
; tracehead
= &trace
;
2939 if (once_bool_variable0_101
) variable0
= once_value_variable0_101
;
2941 variable0
= NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
2942 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2943 once_value_variable0_101
= variable0
;
2944 once_bool_variable0_101
= true;
2946 goto return_label100
;
2947 return_label100
: while(false);
2948 tracehead
= trace
.prev
;
2951 val_t
typing___APlusExpr___name(val_t self
) {
2952 struct trace_t trace
= {NULL
, LOCATE_typing
, 1016, LOCATE_typing___APlusExpr___name
};
2954 static val_t once_value_variable0_103
; static int once_bool_variable0_103
;
2955 trace
.prev
= tracehead
; tracehead
= &trace
;
2956 if (once_bool_variable0_103
) variable0
= once_value_variable0_103
;
2958 variable0
= NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
2959 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2960 once_value_variable0_103
= variable0
;
2961 once_bool_variable0_103
= true;
2963 goto return_label102
;
2964 return_label102
: while(false);
2965 tracehead
= trace
.prev
;
2968 val_t
typing___AMinusExpr___name(val_t self
) {
2969 struct trace_t trace
= {NULL
, LOCATE_typing
, 1019, LOCATE_typing___AMinusExpr___name
};
2971 static val_t once_value_variable0_105
; static int once_bool_variable0_105
;
2972 trace
.prev
= tracehead
; tracehead
= &trace
;
2973 if (once_bool_variable0_105
) variable0
= once_value_variable0_105
;
2975 variable0
= NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
2976 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2977 once_value_variable0_105
= variable0
;
2978 once_bool_variable0_105
= true;
2980 goto return_label104
;
2981 return_label104
: while(false);
2982 tracehead
= trace
.prev
;
2985 val_t
typing___AStarshipExpr___name(val_t self
) {
2986 struct trace_t trace
= {NULL
, LOCATE_typing
, 1022, LOCATE_typing___AStarshipExpr___name
};
2988 static val_t once_value_variable0_107
; static int once_bool_variable0_107
;
2989 trace
.prev
= tracehead
; tracehead
= &trace
;
2990 if (once_bool_variable0_107
) variable0
= once_value_variable0_107
;
2992 variable0
= NEW_string___String___with_native(BOX_NativeString("<=>"), TAG_Int(3)); /*new String*/
2993 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
2994 once_value_variable0_107
= variable0
;
2995 once_bool_variable0_107
= true;
2997 goto return_label106
;
2998 return_label106
: while(false);
2999 tracehead
= trace
.prev
;
3002 val_t
typing___AStarExpr___name(val_t self
) {
3003 struct trace_t trace
= {NULL
, LOCATE_typing
, 1025, LOCATE_typing___AStarExpr___name
};
3005 static val_t once_value_variable0_109
; static int once_bool_variable0_109
;
3006 trace
.prev
= tracehead
; tracehead
= &trace
;
3007 if (once_bool_variable0_109
) variable0
= once_value_variable0_109
;
3009 variable0
= NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
3010 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3011 once_value_variable0_109
= variable0
;
3012 once_bool_variable0_109
= true;
3014 goto return_label108
;
3015 return_label108
: while(false);
3016 tracehead
= trace
.prev
;
3019 val_t
typing___ASlashExpr___name(val_t self
) {
3020 struct trace_t trace
= {NULL
, LOCATE_typing
, 1028, LOCATE_typing___ASlashExpr___name
};
3022 static val_t once_value_variable0_111
; static int once_bool_variable0_111
;
3023 trace
.prev
= tracehead
; tracehead
= &trace
;
3024 if (once_bool_variable0_111
) variable0
= once_value_variable0_111
;
3026 variable0
= NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
3027 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3028 once_value_variable0_111
= variable0
;
3029 once_bool_variable0_111
= true;
3031 goto return_label110
;
3032 return_label110
: while(false);
3033 tracehead
= trace
.prev
;
3036 val_t
typing___APercentExpr___name(val_t self
) {
3037 struct trace_t trace
= {NULL
, LOCATE_typing
, 1031, LOCATE_typing___APercentExpr___name
};
3039 static val_t once_value_variable0_113
; static int once_bool_variable0_113
;
3040 trace
.prev
= tracehead
; tracehead
= &trace
;
3041 if (once_bool_variable0_113
) variable0
= once_value_variable0_113
;
3043 variable0
= NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
3044 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3045 once_value_variable0_113
= variable0
;
3046 once_bool_variable0_113
= true;
3048 goto return_label112
;
3049 return_label112
: while(false);
3050 tracehead
= trace
.prev
;
3053 val_t
typing___AUminusExpr___name(val_t self
) {
3054 struct trace_t trace
= {NULL
, LOCATE_typing
, 1035, LOCATE_typing___AUminusExpr___name
};
3056 static val_t once_value_variable0_115
; static int once_bool_variable0_115
;
3057 trace
.prev
= tracehead
; tracehead
= &trace
;
3058 if (once_bool_variable0_115
) variable0
= once_value_variable0_115
;
3060 variable0
= NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
3061 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3062 once_value_variable0_115
= variable0
;
3063 once_bool_variable0_115
= true;
3065 goto return_label114
;
3066 return_label114
: while(false);
3067 tracehead
= trace
.prev
;
3070 val_t
typing___AUminusExpr___raw_arguments(val_t self
) {
3071 struct trace_t trace
= {NULL
, LOCATE_typing
, 1036, LOCATE_typing___AUminusExpr___raw_arguments
};
3073 trace
.prev
= tracehead
; tracehead
= &trace
;
3074 variable0
= NIT_NULL
/*null*/;
3075 goto return_label116
;
3076 return_label116
: while(false);
3077 tracehead
= trace
.prev
;
3080 void typing___ACallFormExpr___after_typing(val_t self
, val_t param0
) {
3081 struct trace_t trace
= {NULL
, LOCATE_typing
, 1040, LOCATE_typing___ACallFormExpr___after_typing
};
3091 trace
.prev
= tracehead
; tracehead
= &trace
;
3093 variable1
= ((parser_nodes___ASendExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___ASendExpr___n_expr
))( self
) /*ASendExpr::n_expr*/;
3094 variable1
= ((typing___PExpr___is_implicit_self_t
)CALL(variable1
,COLOR_typing___PExpr___is_implicit_self
))(variable1
) /*PExpr::is_implicit_self*/;
3095 if (UNTAG_Bool(variable1
)) { /*if*/
3096 variable2
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3097 variable2
= ((syntax_base___Token___to_symbol_t
)CALL(variable2
,COLOR_syntax_base___Token___to_symbol
))(variable2
) /*Token::to_symbol*/;
3098 variable1
= variable2
;
3099 variable3
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
3100 variable3
= ((typing___VariableContext_____bra_t
)CALL(variable3
,COLOR_typing___VariableContext_____bra
))(variable3
, variable1
/*name*/) /*VariableContext::[]*/;
3101 variable2
= variable3
;
3102 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2
/*variable*/ == NIT_NULL
/*null*/) || (( variable2
/*variable*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable2
/*variable*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable2
/*variable*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable2
/*variable*/,COLOR_kernel___Object_____eqeq
))( variable2
/*variable*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
3103 if (UNTAG_Bool(variable3
)) { /*if*/
3104 variable3
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallFormExpr::n_args*/;
3105 variable3
= ((list___List___is_empty_t
)CALL(variable3
,COLOR_abstract_collection___Collection___is_empty
))(variable3
) /*List::is_empty*/;
3106 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
3107 variable3
= NEW_string___String___init(); /*new String*/
3108 variable4
= NEW_string___String___with_native(BOX_NativeString("Error: "), TAG_Int(7)); /*new String*/
3109 variable5
= variable4
;
3110 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
3111 variable6
= variable1
/*name*/;
3112 variable6
= ((string___String___to_s_t
)CALL(variable6
,COLOR_string___Object___to_s
))(variable6
) /*String::to_s*/;
3113 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable6
) /*String::append*/;
3114 variable7
= NEW_string___String___with_native(BOX_NativeString(" is variable, not a function."), TAG_Int(29)); /*new String*/
3115 variable8
= variable7
;
3116 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable8
) /*String::append*/;
3117 ((syntax_base___AbsSyntaxVisitor___error_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___error
))( variable0
/*v*/, self
, variable3
) /*AbsSyntaxVisitor::error*/;
3119 variable4
= ((typing___ACallFormExpr___variable_create_t
)CALL( self
,COLOR_typing___ACallFormExpr___variable_create
))( self
, variable2
/*variable*/) /*ACallFormExpr::variable_create*/;
3120 variable3
= variable4
;
3121 ((syntax_base___AVarFormExpr___variable__eq_t
)CALL( variable3
/*vform*/,COLOR_syntax_base___AVarFormExpr___variable__eq
))( variable3
/*vform*/, variable2
/*variable*/) /*AVarFormExpr::variable=*/;
3122 ((parser_prod___Prod___replace_with_t
)CALL( self
,COLOR_parser_prod___PNode___replace_with
))( self
, variable3
/*vform*/) /*Prod::replace_with*/;
3123 ((typing___PNode___after_typing_t
)CALL( variable3
/*vform*/,COLOR_typing___PNode___after_typing
))( variable3
/*vform*/, variable0
/*v*/) /*PNode::after_typing*/;
3124 goto return_label117
;
3127 ((typing___ACallFormExpr___after_typing_t
)CALL( self
,COLOR_SUPER_typing___ACallFormExpr___after_typing
))( self
, param0
) /*super ACallFormExpr::after_typing*/;
3128 return_label117
: while(false);
3129 tracehead
= trace
.prev
;
3132 val_t
typing___ACallFormExpr___variable_create(val_t self
, val_t param0
) {
3133 struct trace_t trace
= {NULL
, LOCATE_typing
, 1059, LOCATE_typing___ACallFormExpr___variable_create
};
3134 trace
.prev
= tracehead
; tracehead
= &trace
;
3135 fprintf(stderr
, "Deferred method %s called");
3136 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___ACallFormExpr___after_typing
, LOCATE_typing
, 1059);
3138 tracehead
= trace
.prev
;
3141 val_t
typing___ACallExpr___variable_create(val_t self
, val_t param0
) {
3142 struct trace_t trace
= {NULL
, LOCATE_typing
, 1064, LOCATE_typing___ACallExpr___variable_create
};
3146 trace
.prev
= tracehead
; tracehead
= &trace
;
3148 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3149 variable2
= NEW_parser_prod___AVarExpr___init_avarexpr(variable1
); /*new AVarExpr*/
3150 variable1
= variable2
;
3151 goto return_label118
;
3152 return_label118
: while(false);
3153 tracehead
= trace
.prev
;
3156 val_t
typing___ACallExpr___name(val_t self
) {
3157 struct trace_t trace
= {NULL
, LOCATE_typing
, 1069, LOCATE_typing___ACallExpr___name
};
3159 trace
.prev
= tracehead
; tracehead
= &trace
;
3160 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3161 variable0
= ((syntax_base___Token___to_symbol_t
)CALL(variable0
,COLOR_syntax_base___Token___to_symbol
))(variable0
) /*Token::to_symbol*/;
3162 goto return_label119
;
3163 return_label119
: while(false);
3164 tracehead
= trace
.prev
;
3167 val_t
typing___ACallExpr___raw_arguments(val_t self
) {
3168 struct trace_t trace
= {NULL
, LOCATE_typing
, 1070, LOCATE_typing___ACallExpr___raw_arguments
};
3170 trace
.prev
= tracehead
; tracehead
= &trace
;
3171 variable0
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallFormExpr::n_args*/;
3172 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*Collection::to_a*/;
3173 goto return_label120
;
3174 return_label120
: while(false);
3175 tracehead
= trace
.prev
;
3178 val_t
typing___ACallAssignExpr___variable_create(val_t self
, val_t param0
) {
3179 struct trace_t trace
= {NULL
, LOCATE_typing
, 1074, LOCATE_typing___ACallAssignExpr___variable_create
};
3185 trace
.prev
= tracehead
; tracehead
= &trace
;
3187 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3188 variable2
= ((parser_nodes___AAssignFormExpr___n_assign_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_assign
))( self
) /*AAssignFormExpr::n_assign*/;
3189 variable3
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAssignFormExpr::n_value*/;
3190 variable4
= NEW_parser_prod___AVarAssignExpr___init_avarassignexpr(variable1
, variable2
, variable3
); /*new AVarAssignExpr*/
3191 variable1
= variable4
;
3192 goto return_label121
;
3193 return_label121
: while(false);
3194 tracehead
= trace
.prev
;
3197 val_t
typing___ACallAssignExpr___name(val_t self
) {
3198 struct trace_t trace
= {NULL
, LOCATE_typing
, 1079, LOCATE_typing___ACallAssignExpr___name
};
3201 trace
.prev
= tracehead
; tracehead
= &trace
;
3202 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3203 variable0
= ((lexer___Token___text_t
)CALL(variable0
,COLOR_lexer___Token___text
))(variable0
) /*Token::text*/;
3204 variable1
= NEW_string___String___with_native(BOX_NativeString("="), TAG_Int(1)); /*new String*/
3205 variable0
= ((string___String_____plus_t
)CALL(variable0
,COLOR_string___String_____plus
))(variable0
, variable1
) /*String::+*/;
3206 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3207 goto return_label122
;
3208 return_label122
: while(false);
3209 tracehead
= trace
.prev
;
3212 val_t
typing___ACallAssignExpr___raw_arguments(val_t self
) {
3213 struct trace_t trace
= {NULL
, LOCATE_typing
, 1080, LOCATE_typing___ACallAssignExpr___raw_arguments
};
3216 trace
.prev
= tracehead
; tracehead
= &trace
;
3217 variable1
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallFormExpr::n_args*/;
3218 variable1
= ((array___Collection___to_a_t
)CALL(variable1
,COLOR_array___Collection___to_a
))(variable1
) /*Collection::to_a*/;
3219 variable0
= variable1
;
3220 variable1
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAssignFormExpr::n_value*/;
3221 ((array___AbstractArray___add_t
)CALL( variable0
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable0
/*res*/, variable1
) /*AbstractArray::add*/;
3222 variable0
= variable0
/*res*/;
3223 goto return_label123
;
3224 return_label123
: while(false);
3225 tracehead
= trace
.prev
;
3228 val_t
typing___ACallReassignExpr___variable_create(val_t self
, val_t param0
) {
3229 struct trace_t trace
= {NULL
, LOCATE_typing
, 1089, LOCATE_typing___ACallReassignExpr___variable_create
};
3235 trace
.prev
= tracehead
; tracehead
= &trace
;
3237 variable1
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3238 variable2
= ((parser_nodes___AReassignFormExpr___n_assign_op_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_assign_op
))( self
) /*AReassignFormExpr::n_assign_op*/;
3239 variable3
= ((parser_nodes___AReassignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AReassignFormExpr___n_value
))( self
) /*AReassignFormExpr::n_value*/;
3240 variable4
= NEW_parser_prod___AVarReassignExpr___init_avarreassignexpr(variable1
, variable2
, variable3
); /*new AVarReassignExpr*/
3241 variable1
= variable4
;
3242 goto return_label124
;
3243 return_label124
: while(false);
3244 tracehead
= trace
.prev
;
3247 val_t
typing___ACallReassignExpr___name(val_t self
) {
3248 struct trace_t trace
= {NULL
, LOCATE_typing
, 1094, LOCATE_typing___ACallReassignExpr___name
};
3250 trace
.prev
= tracehead
; tracehead
= &trace
;
3251 variable0
= ((parser_nodes___ACallFormExpr___n_id_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_id
))( self
) /*ACallFormExpr::n_id*/;
3252 variable0
= ((syntax_base___Token___to_symbol_t
)CALL(variable0
,COLOR_syntax_base___Token___to_symbol
))(variable0
) /*Token::to_symbol*/;
3253 goto return_label125
;
3254 return_label125
: while(false);
3255 tracehead
= trace
.prev
;
3258 val_t
typing___ACallReassignExpr___raw_arguments(val_t self
) {
3259 struct trace_t trace
= {NULL
, LOCATE_typing
, 1095, LOCATE_typing___ACallReassignExpr___raw_arguments
};
3261 trace
.prev
= tracehead
; tracehead
= &trace
;
3262 variable0
= ((parser_nodes___ACallFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ACallFormExpr___n_args
))( self
) /*ACallFormExpr::n_args*/;
3263 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*Collection::to_a*/;
3264 goto return_label126
;
3265 return_label126
: while(false);
3266 tracehead
= trace
.prev
;
3269 val_t
typing___ABraExpr___name(val_t self
) {
3270 struct trace_t trace
= {NULL
, LOCATE_typing
, 1099, LOCATE_typing___ABraExpr___name
};
3272 static val_t once_value_variable0_128
; static int once_bool_variable0_128
;
3273 trace
.prev
= tracehead
; tracehead
= &trace
;
3274 if (once_bool_variable0_128
) variable0
= once_value_variable0_128
;
3276 variable0
= NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
3277 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3278 once_value_variable0_128
= variable0
;
3279 once_bool_variable0_128
= true;
3281 goto return_label127
;
3282 return_label127
: while(false);
3283 tracehead
= trace
.prev
;
3286 val_t
typing___ABraExpr___raw_arguments(val_t self
) {
3287 struct trace_t trace
= {NULL
, LOCATE_typing
, 1100, LOCATE_typing___ABraExpr___raw_arguments
};
3289 trace
.prev
= tracehead
; tracehead
= &trace
;
3290 variable0
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraFormExpr::n_args*/;
3291 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*Collection::to_a*/;
3292 goto return_label129
;
3293 return_label129
: while(false);
3294 tracehead
= trace
.prev
;
3297 val_t
typing___ABraAssignExpr___name(val_t self
) {
3298 struct trace_t trace
= {NULL
, LOCATE_typing
, 1104, LOCATE_typing___ABraAssignExpr___name
};
3300 static val_t once_value_variable0_131
; static int once_bool_variable0_131
;
3301 trace
.prev
= tracehead
; tracehead
= &trace
;
3302 if (once_bool_variable0_131
) variable0
= once_value_variable0_131
;
3304 variable0
= NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
3305 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3306 once_value_variable0_131
= variable0
;
3307 once_bool_variable0_131
= true;
3309 goto return_label130
;
3310 return_label130
: while(false);
3311 tracehead
= trace
.prev
;
3314 val_t
typing___ABraAssignExpr___raw_arguments(val_t self
) {
3315 struct trace_t trace
= {NULL
, LOCATE_typing
, 1105, LOCATE_typing___ABraAssignExpr___raw_arguments
};
3318 trace
.prev
= tracehead
; tracehead
= &trace
;
3319 variable1
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraFormExpr::n_args*/;
3320 variable1
= ((array___Collection___to_a_t
)CALL(variable1
,COLOR_array___Collection___to_a
))(variable1
) /*Collection::to_a*/;
3321 variable0
= variable1
;
3322 variable1
= ((parser_nodes___AAssignFormExpr___n_value_t
)CALL( self
,COLOR_parser_nodes___AAssignFormExpr___n_value
))( self
) /*AAssignFormExpr::n_value*/;
3323 ((array___AbstractArray___add_t
)CALL( variable0
/*res*/,COLOR_abstract_collection___SimpleCollection___add
))( variable0
/*res*/, variable1
) /*AbstractArray::add*/;
3324 variable0
= variable0
/*res*/;
3325 goto return_label132
;
3326 return_label132
: while(false);
3327 tracehead
= trace
.prev
;
3330 val_t
typing___ABraReassignExpr___name(val_t self
) {
3331 struct trace_t trace
= {NULL
, LOCATE_typing
, 1114, LOCATE_typing___ABraReassignExpr___name
};
3333 static val_t once_value_variable0_134
; static int once_bool_variable0_134
;
3334 trace
.prev
= tracehead
; tracehead
= &trace
;
3335 if (once_bool_variable0_134
) variable0
= once_value_variable0_134
;
3337 variable0
= NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
3338 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3339 once_value_variable0_134
= variable0
;
3340 once_bool_variable0_134
= true;
3342 goto return_label133
;
3343 return_label133
: while(false);
3344 tracehead
= trace
.prev
;
3347 val_t
typing___ABraReassignExpr___raw_arguments(val_t self
) {
3348 struct trace_t trace
= {NULL
, LOCATE_typing
, 1115, LOCATE_typing___ABraReassignExpr___raw_arguments
};
3350 trace
.prev
= tracehead
; tracehead
= &trace
;
3351 variable0
= ((parser_nodes___ABraFormExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___ABraFormExpr___n_args
))( self
) /*ABraFormExpr::n_args*/;
3352 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*Collection::to_a*/;
3353 goto return_label135
;
3354 return_label135
: while(false);
3355 tracehead
= trace
.prev
;
3358 val_t
typing___AInitExpr___name(val_t self
) {
3359 struct trace_t trace
= {NULL
, LOCATE_typing
, 1119, LOCATE_typing___AInitExpr___name
};
3361 static val_t once_value_variable0_137
; static int once_bool_variable0_137
;
3362 trace
.prev
= tracehead
; tracehead
= &trace
;
3363 if (once_bool_variable0_137
) variable0
= once_value_variable0_137
;
3365 variable0
= NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
3366 variable0
= ((symbol___String___to_symbol_t
)CALL(variable0
,COLOR_symbol___String___to_symbol
))(variable0
) /*String::to_symbol*/;
3367 once_value_variable0_137
= variable0
;
3368 once_bool_variable0_137
= true;
3370 goto return_label136
;
3371 return_label136
: while(false);
3372 tracehead
= trace
.prev
;
3375 val_t
typing___AInitExpr___raw_arguments(val_t self
) {
3376 struct trace_t trace
= {NULL
, LOCATE_typing
, 1120, LOCATE_typing___AInitExpr___raw_arguments
};
3378 trace
.prev
= tracehead
; tracehead
= &trace
;
3379 variable0
= ((parser_nodes___AInitExpr___n_args_t
)CALL( self
,COLOR_parser_nodes___AInitExpr___n_args
))( self
) /*AInitExpr::n_args*/;
3380 variable0
= ((array___Collection___to_a_t
)CALL(variable0
,COLOR_array___Collection___to_a
))(variable0
) /*Collection::to_a*/;
3381 goto return_label138
;
3382 return_label138
: while(false);
3383 tracehead
= trace
.prev
;
3386 void typing___AIsaExpr___after_typing(val_t self
, val_t param0
) {
3387 struct trace_t trace
= {NULL
, LOCATE_typing
, 1124, LOCATE_typing___AIsaExpr___after_typing
};
3393 trace
.prev
= tracehead
; tracehead
= &trace
;
3395 variable1
= ((parser_nodes___AIsaExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_expr
))( self
) /*AIsaExpr::n_expr*/;
3396 variable1
= ((typing___PExpr___is_variable_t
)CALL(variable1
,COLOR_typing___PExpr___is_variable
))(variable1
) /*PExpr::is_variable*/;
3397 if (UNTAG_Bool(variable1
)) { /*if*/
3398 variable2
= ((parser_nodes___AIsaExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_expr
))( self
) /*AIsaExpr::n_expr*/;
3399 variable1
= variable2
;
3400 variable2
= TAG_Bool(( variable1
/*n*/==NIT_NULL
) || VAL_ISA( variable1
/*n*/, COLOR_AVarExpr
, ID_AVarExpr
)) /*cast AVarExpr*/;
3401 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_typing___AIsaExpr___after_typing
, LOCATE_typing
, 1128); nit_exit(1);}
3402 variable2
= ((typing___TypingVisitor___variable_ctx_t
)CALL( variable0
/*v*/,COLOR_typing___TypingVisitor___variable_ctx
))( variable0
/*v*/) /*TypingVisitor::variable_ctx*/;
3403 variable3
= ((syntax_base___AVarFormExpr___variable_t
)CALL( variable1
/*n*/,COLOR_syntax_base___AVarFormExpr___variable
))( variable1
/*n*/) /*AVarFormExpr::variable*/;
3404 variable4
= ((parser_nodes___AIsaExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AIsaExpr___n_type
))( self
) /*AIsaExpr::n_type*/;
3405 variable4
= ((typing___PType___stype_t
)CALL(variable4
,COLOR_typing___PType___stype
))(variable4
) /*PType::stype*/;
3406 variable2
= ((typing___VariableContext___sub_with_t
)CALL(variable2
,COLOR_typing___VariableContext___sub_with
))(variable2
, variable3
, variable4
) /*VariableContext::sub_with*/;
3407 ATTR_typing___PExpr____if_true_variable_ctx( self
) /*PExpr::_if_true_variable_ctx*/ = variable2
;
3409 variable1
= ((syntax_base___AbsSyntaxVisitor___type_bool_t
)CALL( variable0
/*v*/,COLOR_syntax_base___AbsSyntaxVisitor___type_bool
))( variable0
/*v*/) /*AbsSyntaxVisitor::type_bool*/;
3410 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
3411 tracehead
= trace
.prev
;
3414 void typing___AAsCastExpr___after_typing(val_t self
, val_t param0
) {
3415 struct trace_t trace
= {NULL
, LOCATE_typing
, 1136, LOCATE_typing___AAsCastExpr___after_typing
};
3419 trace
.prev
= tracehead
; tracehead
= &trace
;
3421 variable1
= ((parser_nodes___AAsCastExpr___n_type_t
)CALL( self
,COLOR_parser_nodes___AAsCastExpr___n_type
))( self
) /*AAsCastExpr::n_type*/;
3422 variable1
= ((typing___PType___stype_t
)CALL(variable1
,COLOR_typing___PType___stype
))(variable1
) /*PType::stype*/;
3423 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
3424 variable2
= ((parser_nodes___AAsCastExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AAsCastExpr___n_expr
))( self
) /*AAsCastExpr::n_expr*/;
3425 variable2
= ((typing___PExpr___stype_t
)CALL(variable2
,COLOR_syntax_base___PExpr___stype
))(variable2
) /*PExpr::stype*/;
3426 variable1
= variable2
;
3427 tracehead
= trace
.prev
;
3430 void typing___AProxyExpr___after_typing(val_t self
, val_t param0
) {
3431 struct trace_t trace
= {NULL
, LOCATE_typing
, 1144, LOCATE_typing___AProxyExpr___after_typing
};
3434 trace
.prev
= tracehead
; tracehead
= &trace
;
3436 variable1
= ((parser_nodes___AProxyExpr___n_expr_t
)CALL( self
,COLOR_parser_nodes___AProxyExpr___n_expr
))( self
) /*AProxyExpr::n_expr*/;
3437 variable1
= ((typing___PExpr___stype_t
)CALL(variable1
,COLOR_syntax_base___PExpr___stype
))(variable1
) /*PExpr::stype*/;
3438 ATTR_typing___PExpr____stype( self
) /*PExpr::_stype*/ = variable1
;
3439 tracehead
= trace
.prev
;