1 /* This C file is generated by NIT to compile module static_type. */
2 #include "static_type._sep.h"
3 val_t
static_type___MMLocalClass___get_type(val_t self
) {
4 struct trace_t trace
= {NULL
, LOCATE_static_type
, 27, LOCATE_static_type___MMLocalClass___get_type
};
6 trace
.prev
= tracehead
; tracehead
= &trace
;
7 variable0
= ATTR_static_type___MMLocalClass____base_type_cache( self
) /*MMLocalClass::_base_type_cache*/;
8 variable0
= TAG_Bool((variable0
== NIT_NULL
/*null*/) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, NIT_NULL
/*null*/) /*Object::==*/)))));
9 if (UNTAG_Bool(variable0
)) { /*if*/
10 variable0
= NEW_static_type___MMTypeSimpleClass___init( self
); /*new MMTypeSimpleClass*/
11 ATTR_static_type___MMLocalClass____base_type_cache( self
) /*MMLocalClass::_base_type_cache*/ = variable0
;
13 variable0
= ATTR_static_type___MMLocalClass____base_type_cache( self
) /*MMLocalClass::_base_type_cache*/;
15 return_label0
: while(false);
16 tracehead
= trace
.prev
;
19 void static_type___MMLocalClass___add_ancestor(val_t self
, val_t param0
) {
20 struct trace_t trace
= {NULL
, LOCATE_static_type
, 34, LOCATE_static_type___MMLocalClass___add_ancestor
};
24 trace
.prev
= tracehead
; tracehead
= &trace
;
26 variable1
= ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
27 variable2
= ((static_type___MMAncestor___local_class_t
)CALL( variable0
/*a*/,COLOR_static_type___MMAncestor___local_class
))( variable0
/*a*/) /*MMAncestor::local_class*/;
28 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable2
) /*Map::has_key*/;
29 if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1
)))) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMLocalClass___add_ancestor
, LOCATE_static_type
, 37); nit_exit(1);}
30 variable1
= ((static_type___MMAncestor___local_class_t
)CALL( variable0
/*a*/,COLOR_static_type___MMAncestor___local_class
))( variable0
/*a*/) /*MMAncestor::local_class*/;
31 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== self
) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, self
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, self
) /*Object::==*/)))))));
32 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMLocalClass___add_ancestor
, LOCATE_static_type
, 38); nit_exit(1);}
33 variable1
= ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
34 variable2
= ((static_type___MMAncestor___local_class_t
)CALL( variable0
/*a*/,COLOR_static_type___MMAncestor___local_class
))( variable0
/*a*/) /*MMAncestor::local_class*/;
35 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*a*/) /*Map::[]=*/;
36 tracehead
= trace
.prev
;
39 val_t
static_type___MMLocalClass___ancestors(val_t self
) {
40 struct trace_t trace
= {NULL
, LOCATE_static_type
, 42, LOCATE_static_type___MMLocalClass___ancestors
};
41 trace
.prev
= tracehead
; tracehead
= &trace
;
42 tracehead
= trace
.prev
;
43 return ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
45 val_t
static_type___MMLocalClass___ancestor(val_t self
, val_t param0
) {
46 struct trace_t trace
= {NULL
, LOCATE_static_type
, 45, LOCATE_static_type___MMLocalClass___ancestor
};
49 trace
.prev
= tracehead
; tracehead
= &trace
;
51 variable1
= ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
52 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::==*/)))))));
53 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMLocalClass___ancestor
, LOCATE_static_type
, 48); nit_exit(1);}
54 variable1
= ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
55 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*c*/) /*Map::has_key*/;
56 if (UNTAG_Bool(variable1
)) { /*if*/
57 variable1
= ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
58 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*c*/) /*Map::[]*/;
59 variable1
= ((static_type___MMAncestor___stype_t
)CALL(variable1
,COLOR_static_type___MMAncestor___stype
))(variable1
) /*MMAncestor::stype*/;
62 variable1
= NIT_NULL
/*null*/;
64 return_label2
: while(false);
65 tracehead
= trace
.prev
;
68 val_t
static_type___MMLocalProperty___signature(val_t self
) {
69 struct trace_t trace
= {NULL
, LOCATE_static_type
, 57, LOCATE_static_type___MMLocalProperty___signature
};
70 trace
.prev
= tracehead
; tracehead
= &trace
;
71 tracehead
= trace
.prev
;
72 return ATTR_static_type___MMLocalProperty____signature( self
) /*MMLocalProperty::_signature*/;
74 void static_type___MMLocalProperty___signature__eq(val_t self
, val_t param0
) {
75 struct trace_t trace
= {NULL
, LOCATE_static_type
, 57, LOCATE_static_type___MMLocalProperty___signature__eq
};
76 trace
.prev
= tracehead
; tracehead
= &trace
;
77 ATTR_static_type___MMLocalProperty____signature( self
) /*MMLocalProperty::_signature*/ = param0
;
78 tracehead
= trace
.prev
;
81 val_t
static_type___MMLocalProperty___signature_for(val_t self
, val_t param0
) {
82 struct trace_t trace
= {NULL
, LOCATE_static_type
, 62, LOCATE_static_type___MMLocalProperty___signature_for
};
86 trace
.prev
= tracehead
; tracehead
= &trace
;
88 variable1
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
89 variable1
= ((static_type___MMLocalClass___get_type_t
)CALL(variable1
,COLOR_static_type___MMLocalClass___get_type
))(variable1
) /*MMLocalClass::get_type*/;
90 variable1
= TAG_Bool(( variable0
/*t*/ == variable1
) || (( variable0
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*t*/,variable1
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*t*/,COLOR_kernel___Object_____eqeq
))( variable0
/*t*/, variable1
) /*Object::==*/)))));
91 if (UNTAG_Bool(variable1
)) { /*if*/
92 variable1
= ((static_type___MMLocalProperty___signature_t
)CALL( self
,COLOR_static_type___MMLocalProperty___signature
))( self
) /*MMLocalProperty::signature*/;
95 variable1
= ATTR_static_type___MMLocalProperty____signatures_cache( self
) /*MMLocalProperty::_signatures_cache*/;
96 variable1
= ((abstract_collection___CoupleMap___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*t*/) /*CoupleMap::has_key*/;
97 if (UNTAG_Bool(variable1
)) { /*if*/
98 variable1
= ATTR_static_type___MMLocalProperty____signatures_cache( self
) /*MMLocalProperty::_signatures_cache*/;
99 variable1
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*t*/) /*CoupleMap::[]*/;
102 variable2
= ((static_type___MMLocalProperty___signature_t
)CALL( self
,COLOR_static_type___MMLocalProperty___signature
))( self
) /*MMLocalProperty::signature*/;
103 variable2
= ((static_type___MMSignature___adaptation_to_t
)CALL(variable2
,COLOR_static_type___MMSignature___adaptation_to
))(variable2
, variable0
/*t*/) /*MMSignature::adaptation_to*/;
104 variable1
= variable2
;
105 variable2
= ATTR_static_type___MMLocalProperty____signatures_cache( self
) /*MMLocalProperty::_signatures_cache*/;
106 ((hash___HashMap_____braeq_t
)CALL(variable2
,COLOR_abstract_collection___Map_____braeq
))(variable2
, variable0
/*t*/, variable1
/*res*/) /*HashMap::[]=*/;
107 variable1
= variable1
/*res*/;
109 return_label3
: while(false);
110 tracehead
= trace
.prev
;
113 val_t
static_type___MMSignature___recv(val_t self
) {
114 struct trace_t trace
= {NULL
, LOCATE_static_type
, 76, LOCATE_static_type___MMSignature___recv
};
115 trace
.prev
= tracehead
; tracehead
= &trace
;
116 tracehead
= trace
.prev
;
117 return ATTR_static_type___MMSignature____recv( self
) /*MMSignature::_recv*/;
119 val_t
static_type___MMSignature___return_type(val_t self
) {
120 struct trace_t trace
= {NULL
, LOCATE_static_type
, 82, LOCATE_static_type___MMSignature___return_type
};
121 trace
.prev
= tracehead
; tracehead
= &trace
;
122 tracehead
= trace
.prev
;
123 return ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
125 val_t
static_type___MMSignature___arity(val_t self
) {
126 struct trace_t trace
= {NULL
, LOCATE_static_type
, 85, LOCATE_static_type___MMSignature___arity
};
128 trace
.prev
= tracehead
; tracehead
= &trace
;
129 variable0
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
130 variable0
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0
== NIT_NULL
/*null*/) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, NIT_NULL
/*null*/) /*Object::==*/)))))));
131 if (!UNTAG_Bool(variable0
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature___arity
, LOCATE_static_type
, 88); nit_exit(1);}
132 variable0
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
133 variable0
= ((array___AbstractArray___length_t
)CALL(variable0
,COLOR_abstract_collection___Collection___length
))(variable0
) /*AbstractArray::length*/;
135 return_label4
: while(false);
136 tracehead
= trace
.prev
;
139 val_t
static_type___MMSignature_____l(val_t self
, val_t param0
) {
140 struct trace_t trace
= {NULL
, LOCATE_static_type
, 92, LOCATE_static_type___MMSignature_____l
};
146 trace
.prev
= tracehead
; tracehead
= &trace
;
148 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*s*/ == NIT_NULL
/*null*/) || (( variable0
/*s*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*s*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*s*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*s*/,COLOR_kernel___Object_____eqeq
))( variable0
/*s*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
149 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature_____l
, LOCATE_static_type
, 95); nit_exit(1);}
150 variable1
= TAG_Bool(( self
== variable0
/*s*/) || (( self
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( self
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( self
, variable0
/*s*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( self
,COLOR_kernel___Object_____eqeq
))( self
, variable0
/*s*/) /*Object::==*/)))));
151 if (UNTAG_Bool(variable1
)) { /*if*/
152 variable1
= TAG_Bool(true);
155 variable1
= ATTR_static_type___MMSignature____recv( self
) /*MMSignature::_recv*/;
156 variable1
= ((static_type___MMType___module_t
)CALL(variable1
,COLOR_static_type___MMType___module
))(variable1
) /*MMType::module*/;
157 variable2
= ((static_type___MMSignature___recv_t
)CALL( variable0
/*s*/,COLOR_static_type___MMSignature___recv
))( variable0
/*s*/) /*MMSignature::recv*/;
158 variable2
= ((static_type___MMType___module_t
)CALL(variable2
,COLOR_static_type___MMType___module
))(variable2
) /*MMType::module*/;
159 variable1
= TAG_Bool((variable1
== variable2
) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
,variable2
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, variable2
) /*Object::==*/)))));
160 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature_____l
, LOCATE_static_type
, 99); nit_exit(1);}
161 variable1
= ((static_type___MMSignature___arity_t
)CALL( self
,COLOR_static_type___MMSignature___arity
))( self
) /*MMSignature::arity*/;
162 variable2
= ((static_type___MMSignature___arity_t
)CALL( variable0
/*s*/,COLOR_static_type___MMSignature___arity
))( variable0
/*s*/) /*MMSignature::arity*/;
163 variable1
= TAG_Bool((variable1
)!=(variable2
));
164 variable2
= variable1
;
165 if (!UNTAG_Bool(variable2
)) { /* or */
166 variable2
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
167 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::==*/)))));
168 variable3
= ((static_type___MMSignature___return_type_t
)CALL( variable0
/*s*/,COLOR_static_type___MMSignature___return_type
))( variable0
/*s*/) /*MMSignature::return_type*/;
169 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::==*/)))));
170 variable2
= TAG_Bool((variable2
)!=(variable3
));
172 variable1
= variable2
;
173 if (UNTAG_Bool(variable1
)) { /*if*/
174 variable1
= TAG_Bool(false);
177 variable1
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
178 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::==*/)))))));
179 variable2
= variable1
;
180 if (UNTAG_Bool(variable2
)) { /* and */
181 variable2
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
182 variable3
= ((static_type___MMSignature___return_type_t
)CALL( variable0
/*s*/,COLOR_static_type___MMSignature___return_type
))( variable0
/*s*/) /*MMSignature::return_type*/;
183 variable2
= ((static_type___MMType_____l_t
)CALL(variable2
,COLOR_static_type___MMType_____l
))(variable2
, variable3
) /*MMType::<*/;
184 variable2
= TAG_Bool(!UNTAG_Bool(variable2
));
186 variable1
= variable2
;
187 if (UNTAG_Bool(variable1
)) { /*if*/
188 variable1
= TAG_Bool(false);
191 variable1
= ((static_type___MMSignature___arity_t
)CALL( self
,COLOR_static_type___MMSignature___arity
))( self
) /*MMSignature::arity*/;
192 variable2
= NEW_range___Range___without_last( TAG_Int(0), variable1
); /*new Range[E]*/
193 variable1
= variable2
;
194 variable1
= ((range___Range___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*Range::iterator*/;
195 while (true) { /*for*/
196 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
197 if (!UNTAG_Bool(variable2
)) break; /*for*/
198 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
199 variable3
= ((static_type___MMSignature_____bra_t
)CALL( variable0
/*s*/,COLOR_static_type___MMSignature_____bra
))( variable0
/*s*/, variable2
/*i*/) /*MMSignature::[]*/;
200 variable4
= ((static_type___MMSignature_____bra_t
)CALL( self
,COLOR_static_type___MMSignature_____bra
))( self
, variable2
/*i*/) /*MMSignature::[]*/;
201 variable3
= ((static_type___MMType_____l_t
)CALL(variable3
,COLOR_static_type___MMType_____l
))(variable3
, variable4
) /*MMType::<*/;
202 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
203 variable1
= TAG_Bool(false);
206 continue_6
: while(0);
207 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
210 variable1
= TAG_Bool(true);
212 return_label5
: while(false);
213 tracehead
= trace
.prev
;
216 val_t
static_type___MMSignature_____bra(val_t self
, val_t param0
) {
217 struct trace_t trace
= {NULL
, LOCATE_static_type
, 113, LOCATE_static_type___MMSignature_____bra
};
223 trace
.prev
= tracehead
; tracehead
= &trace
;
225 variable1
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
226 variable1
= ((array___AbstractArray___length_t
)CALL(variable1
,COLOR_abstract_collection___Collection___length
))(variable1
) /*AbstractArray::length*/;
227 variable1
= TAG_Bool(UNTAG_Int(variable1
)>UNTAG_Int( variable0
/*i*/));
228 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature_____bra
, LOCATE_static_type
, 116); nit_exit(1);}
229 variable1
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
230 variable2
= variable0
/*i*/;
231 variable3
= TAG_Bool(UNTAG_Int( variable2
/*index*/)>=UNTAG_Int( TAG_Int(0)));
232 variable4
= variable3
;
233 if (UNTAG_Bool(variable4
)) { /* and */
234 variable4
= variable1
;
235 variable4
= ATTR_array___AbstractArray____length(variable4
) /*AbstractArray::_length*/;
236 variable4
= TAG_Bool(UNTAG_Int( variable2
/*index*/)<UNTAG_Int(variable4
));
238 variable3
= variable4
;
239 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_static_type
, 229); nit_exit(1);}
240 variable3
= variable1
;
241 variable3
= ATTR_array___Array____items(variable3
) /*Array::_items*/;
242 variable3
= UNBOX_NativeArray(variable3
)[UNTAG_Int( variable2
/*index*/)];
244 return_label8
: while(false);
245 variable1
= variable3
;
247 return_label7
: while(false);
248 tracehead
= trace
.prev
;
251 val_t
static_type___MMSignature___to_s(val_t self
) {
252 struct trace_t trace
= {NULL
, LOCATE_static_type
, 120, LOCATE_static_type___MMSignature___to_s
};
263 trace
.prev
= tracehead
; tracehead
= &trace
;
264 variable0
= NIT_NULL
/*decl variable s*/;
265 variable1
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
266 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::==*/)))))));
267 variable2
= variable1
;
268 if (UNTAG_Bool(variable2
)) { /* and */
269 variable2
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
270 variable2
= ((array___AbstractArray___length_t
)CALL(variable2
,COLOR_abstract_collection___Collection___length
))(variable2
) /*AbstractArray::length*/;
271 variable2
= TAG_Bool(UNTAG_Int(variable2
)>UNTAG_Int( TAG_Int(0)));
273 variable1
= variable2
;
274 if (UNTAG_Bool(variable1
)) { /*if*/
275 variable1
= NIT_NULL
/*decl variable tmp*/;
276 variable3
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
277 variable3
= ((array___AbstractArray___length_t
)CALL(variable3
,COLOR_abstract_collection___Collection___length
))(variable3
) /*AbstractArray::length*/;
278 variable4
= NEW_array___Array___with_capacity(variable3
); /*new Array[E]*/
279 variable3
= variable4
;
280 variable2
= variable3
;
281 variable3
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
282 variable3
= ((array___AbstractArray___length_t
)CALL(variable3
,COLOR_abstract_collection___Collection___length
))(variable3
) /*AbstractArray::length*/;
283 variable4
= NEW_range___Range___without_last( TAG_Int(0), variable3
); /*new Range[E]*/
284 variable3
= variable4
;
285 variable3
= ((range___Range___iterator_t
)CALL(variable3
,COLOR_abstract_collection___Collection___iterator
))(variable3
) /*Range::iterator*/;
286 while (true) { /*for*/
287 variable4
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*Iterator::is_ok*/;
288 if (!UNTAG_Bool(variable4
)) break; /*for*/
289 variable4
= ((abstract_collection___Iterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*Iterator::item*/;
290 variable6
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
291 variable7
= variable4
/*i*/;
292 variable8
= TAG_Bool(UNTAG_Int( variable7
/*index*/)>=UNTAG_Int( TAG_Int(0)));
293 variable9
= variable8
;
294 if (UNTAG_Bool(variable9
)) { /* and */
295 variable9
= variable6
;
296 variable9
= ATTR_array___AbstractArray____length(variable9
) /*AbstractArray::_length*/;
297 variable9
= TAG_Bool(UNTAG_Int( variable7
/*index*/)<UNTAG_Int(variable9
));
299 variable8
= variable9
;
300 if (!UNTAG_Bool(variable8
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_static_type
, 229); nit_exit(1);}
301 variable8
= variable6
;
302 variable8
= ATTR_array___Array____items(variable8
) /*Array::_items*/;
303 variable8
= UNBOX_NativeArray(variable8
)[UNTAG_Int( variable7
/*index*/)];
305 return_label11
: while(false);
306 variable6
= variable8
;
307 variable5
= variable6
;
308 variable6
= ((string___Object___to_s_t
)CALL( variable5
/*p*/,COLOR_string___Object___to_s
))( variable5
/*p*/) /*Object::to_s*/;
309 ((array___AbstractArray___add_t
)CALL( variable2
/*a*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*a*/, variable6
) /*AbstractArray::add*/;
310 continue_10
: while(0);
311 ((abstract_collection___Iterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*Iterator::next*/;
314 variable3
= NEW_string___String___init(); /*new String*/
315 variable4
= NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
316 variable5
= variable4
;
317 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
318 variable6
= NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
319 variable6
= ((string___Collection___join_t
)CALL( variable2
/*a*/,COLOR_string___Collection___join
))( variable2
/*a*/, variable6
) /*Collection::join*/;
320 variable7
= variable6
;
321 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
322 variable8
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
323 variable9
= variable8
;
324 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
325 variable0
= variable3
/*s=*/;
327 variable1
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
328 variable0
= variable1
/*s=*/;
330 variable1
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
331 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::==*/)))))));
332 if (UNTAG_Bool(variable1
)) { /*if*/
333 variable1
= NEW_string___String___init(); /*new String*/
334 variable2
= NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
335 variable3
= variable2
;
336 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
337 variable4
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
338 variable5
= variable4
;
339 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
340 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
341 variable6
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
342 variable7
= variable6
;
343 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
344 ((string___String___append_t
)CALL( variable0
/*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable0
/*s*/, variable1
) /*String::append*/;
346 variable0
= variable0
/*s*/;
348 return_label9
: while(false);
349 tracehead
= trace
.prev
;
352 val_t
static_type___MMSignature___adaptation_to(val_t self
, val_t param0
) {
353 struct trace_t trace
= {NULL
, LOCATE_static_type
, 142, LOCATE_static_type___MMSignature___adaptation_to
};
360 trace
.prev
= tracehead
; tracehead
= &trace
;
362 variable1
= ATTR_static_type___MMSignature____recv( self
) /*MMSignature::_recv*/;
363 variable1
= TAG_Bool((variable1
== variable0
/*r*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, variable0
/*r*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, variable0
/*r*/) /*Object::==*/)))));
364 if (UNTAG_Bool(variable1
)) { /*if*/
368 variable2
= ((static_type___MMType___module_t
)CALL( variable0
/*r*/,COLOR_static_type___MMType___module
))( variable0
/*r*/) /*MMType::module*/;
369 variable1
= variable2
;
370 variable3
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
371 variable2
= variable3
;
372 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable2
/*p*/ == NIT_NULL
/*null*/) || (( variable2
/*p*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable2
/*p*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable2
/*p*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable2
/*p*/,COLOR_kernel___Object_____eqeq
))( variable2
/*p*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
373 if (UNTAG_Bool(variable3
)) { /*if*/
374 variable3
= NEW_array___Array___init(); /*new Array[E]*/
375 variable2
= variable3
/*p=*/;
376 variable3
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
377 variable3
= ((array___AbstractArray___iterator_t
)CALL(variable3
,COLOR_abstract_collection___Collection___iterator
))(variable3
) /*AbstractArray::iterator*/;
378 while (true) { /*for*/
379 variable4
= ((array___ArrayIterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*ArrayIterator::is_ok*/;
380 if (!UNTAG_Bool(variable4
)) break; /*for*/
381 variable4
= ((array___ArrayIterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*ArrayIterator::item*/;
382 variable5
= ((static_type___MMType___for_module_t
)CALL( variable4
/*i*/,COLOR_static_type___MMType___for_module
))( variable4
/*i*/, variable1
/*mod*/) /*MMType::for_module*/;
383 variable5
= ((static_type___MMType___adapt_to_t
)CALL(variable5
,COLOR_static_type___MMType___adapt_to
))(variable5
, variable0
/*r*/) /*MMType::adapt_to*/;
384 ((array___AbstractArray___add_t
)CALL( variable2
/*p*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*p*/, variable5
) /*AbstractArray::add*/;
385 continue_13
: while(0);
386 ((array___ArrayIterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*ArrayIterator::next*/;
390 variable4
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
391 variable3
= variable4
;
392 variable4
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3
/*rv*/ == NIT_NULL
/*null*/) || (( variable3
/*rv*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable3
/*rv*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable3
/*rv*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable3
/*rv*/,COLOR_kernel___Object_____eqeq
))( variable3
/*rv*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
393 if (UNTAG_Bool(variable4
)) { /*if*/
394 variable4
= ((static_type___MMType___for_module_t
)CALL( variable3
/*rv*/,COLOR_static_type___MMType___for_module
))( variable3
/*rv*/, variable1
/*mod*/) /*MMType::for_module*/;
395 variable4
= ((static_type___MMType___adapt_to_t
)CALL(variable4
,COLOR_static_type___MMType___adapt_to
))(variable4
, variable0
/*r*/) /*MMType::adapt_to*/;
396 variable3
= variable4
/*rv=*/;
398 variable4
= NEW_static_type___MMSignature___init( variable2
/*p*/, variable3
/*rv*/, variable0
/*r*/); /*new MMSignature*/
399 variable1
= variable4
;
401 return_label12
: while(false);
402 tracehead
= trace
.prev
;
405 void static_type___MMSignature___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
406 struct trace_t trace
= {NULL
, LOCATE_static_type
, 163, LOCATE_static_type___MMSignature___init
};
411 trace
.prev
= tracehead
; tracehead
= &trace
;
415 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMSignature
].i
]) return;
416 variable3
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*params*/ == NIT_NULL
/*null*/) || (( variable0
/*params*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*params*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*params*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*params*/,COLOR_kernel___Object_____eqeq
))( variable0
/*params*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
417 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature___init
, LOCATE_static_type
, 165); nit_exit(1);}
418 ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/ = variable0
/*params*/;
419 ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/ = variable1
/*return_type*/;
420 ATTR_static_type___MMSignature____recv( self
) /*MMSignature::_recv*/ = variable2
/*r*/;
421 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMSignature
].i
] = 1;
422 tracehead
= trace
.prev
;
425 val_t
static_type___MMAncestor___stype(val_t self
) {
426 struct trace_t trace
= {NULL
, LOCATE_static_type
, 174, LOCATE_static_type___MMAncestor___stype
};
427 trace
.prev
= tracehead
; tracehead
= &trace
;
428 tracehead
= trace
.prev
;
429 return ATTR_static_type___MMAncestor____stype( self
) /*MMAncestor::_stype*/;
431 void static_type___MMAncestor___stype__eq(val_t self
, val_t param0
) {
432 struct trace_t trace
= {NULL
, LOCATE_static_type
, 174, LOCATE_static_type___MMAncestor___stype__eq
};
433 trace
.prev
= tracehead
; tracehead
= &trace
;
434 ATTR_static_type___MMAncestor____stype( self
) /*MMAncestor::_stype*/ = param0
;
435 tracehead
= trace
.prev
;
438 val_t
static_type___MMAncestor___inheriter(val_t self
) {
439 struct trace_t trace
= {NULL
, LOCATE_static_type
, 177, LOCATE_static_type___MMAncestor___inheriter
};
440 trace
.prev
= tracehead
; tracehead
= &trace
;
441 tracehead
= trace
.prev
;
442 return ATTR_static_type___MMAncestor____inheriter( self
) /*MMAncestor::_inheriter*/;
444 void static_type___MMAncestor___inheriter__eq(val_t self
, val_t param0
) {
445 struct trace_t trace
= {NULL
, LOCATE_static_type
, 177, LOCATE_static_type___MMAncestor___inheriter__eq
};
446 trace
.prev
= tracehead
; tracehead
= &trace
;
447 ATTR_static_type___MMAncestor____inheriter( self
) /*MMAncestor::_inheriter*/ = param0
;
448 tracehead
= trace
.prev
;
451 val_t
static_type___MMAncestor___is_reffinement(val_t self
) {
452 struct trace_t trace
= {NULL
, LOCATE_static_type
, 180, LOCATE_static_type___MMAncestor___is_reffinement
};
455 trace
.prev
= tracehead
; tracehead
= &trace
;
456 variable0
= ((static_type___MMAncestor___stype_t
)CALL( self
,COLOR_static_type___MMAncestor___stype
))( self
) /*MMAncestor::stype*/;
457 variable0
= ((static_type___MMType___module_t
)CALL(variable0
,COLOR_static_type___MMType___module
))(variable0
) /*MMType::module*/;
458 variable1
= ((static_type___MMAncestor___stype_t
)CALL( self
,COLOR_static_type___MMAncestor___stype
))( self
) /*MMAncestor::stype*/;
459 variable1
= ((static_type___MMType___module_t
)CALL(variable1
,COLOR_static_type___MMType___module
))(variable1
) /*MMType::module*/;
460 variable0
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0
== variable1
) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
,variable1
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, variable1
) /*Object::==*/)))))));
462 return_label15
: while(false);
463 tracehead
= trace
.prev
;
466 val_t
static_type___MMAncestor___is_specialisation(val_t self
) {
467 struct trace_t trace
= {NULL
, LOCATE_static_type
, 184, LOCATE_static_type___MMAncestor___is_specialisation
};
470 trace
.prev
= tracehead
; tracehead
= &trace
;
471 variable0
= ((static_type___MMAncestor___stype_t
)CALL( self
,COLOR_static_type___MMAncestor___stype
))( self
) /*MMAncestor::stype*/;
472 variable0
= ((static_type___MMType___local_class_t
)CALL(variable0
,COLOR_static_type___MMType___local_class
))(variable0
) /*MMType::local_class*/;
473 variable0
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable0
) /*MMLocalClass::global*/;
474 variable1
= ((static_type___MMAncestor___inheriter_t
)CALL( self
,COLOR_static_type___MMAncestor___inheriter
))( self
) /*MMAncestor::inheriter*/;
475 variable1
= ((static_type___MMType___local_class_t
)CALL(variable1
,COLOR_static_type___MMType___local_class
))(variable1
) /*MMType::local_class*/;
476 variable1
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable1
) /*MMLocalClass::global*/;
477 variable0
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0
== variable1
) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
,variable1
)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, variable1
) /*Object::==*/)))))));
479 return_label16
: while(false);
480 tracehead
= trace
.prev
;
483 val_t
static_type___MMAncestor___local_class(val_t self
) {
484 struct trace_t trace
= {NULL
, LOCATE_static_type
, 188, LOCATE_static_type___MMAncestor___local_class
};
485 trace
.prev
= tracehead
; tracehead
= &trace
;
486 fprintf(stderr
, "Deferred method %s called");
487 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___is_specialisation
, LOCATE_static_type
, 188);
489 tracehead
= trace
.prev
;
492 val_t
static_type___MMAncestor___to_s(val_t self
) {
493 struct trace_t trace
= {NULL
, LOCATE_static_type
, 191, LOCATE_static_type___MMAncestor___to_s
};
495 trace
.prev
= tracehead
; tracehead
= &trace
;
496 variable0
= ((static_type___MMAncestor___stype_t
)CALL( self
,COLOR_static_type___MMAncestor___stype
))( self
) /*MMAncestor::stype*/;
497 variable0
= TAG_Bool((variable0
== NIT_NULL
/*null*/) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, NIT_NULL
/*null*/) /*Object::==*/)))));
498 if (UNTAG_Bool(variable0
)) { /*if*/
499 variable0
= ((static_type___MMAncestor___local_class_t
)CALL( self
,COLOR_static_type___MMAncestor___local_class
))( self
) /*MMAncestor::local_class*/;
500 variable0
= ((abstractmetamodel___MMLocalClass___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*MMLocalClass::to_s*/;
503 variable0
= ((static_type___MMAncestor___stype_t
)CALL( self
,COLOR_static_type___MMAncestor___stype
))( self
) /*MMAncestor::stype*/;
504 variable0
= ((string___Object___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*Object::to_s*/;
507 return_label17
: while(false);
508 tracehead
= trace
.prev
;
511 val_t
static_type___MMType___module(val_t self
) {
512 struct trace_t trace
= {NULL
, LOCATE_static_type
, 204, LOCATE_static_type___MMType___module
};
513 trace
.prev
= tracehead
; tracehead
= &trace
;
514 fprintf(stderr
, "Deferred method %s called");
515 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 204);
517 tracehead
= trace
.prev
;
520 val_t
static_type___MMType___local_class(val_t self
) {
521 struct trace_t trace
= {NULL
, LOCATE_static_type
, 207, LOCATE_static_type___MMType___local_class
};
522 trace
.prev
= tracehead
; tracehead
= &trace
;
523 fprintf(stderr
, "Deferred method %s called");
524 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 207);
526 tracehead
= trace
.prev
;
529 val_t
static_type___MMType_____l(val_t self
, val_t param0
) {
530 struct trace_t trace
= {NULL
, LOCATE_static_type
, 210, LOCATE_static_type___MMType_____l
};
531 trace
.prev
= tracehead
; tracehead
= &trace
;
532 fprintf(stderr
, "Deferred method %s called");
533 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 210);
535 tracehead
= trace
.prev
;
538 val_t
static_type___MMType___is_supertype(val_t self
, val_t param0
) {
539 struct trace_t trace
= {NULL
, LOCATE_static_type
, 213, LOCATE_static_type___MMType___is_supertype
};
540 trace
.prev
= tracehead
; tracehead
= &trace
;
541 fprintf(stderr
, "Deferred method %s called");
542 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 213);
544 tracehead
= trace
.prev
;
547 val_t
static_type___MMType___for_module(val_t self
, val_t param0
) {
548 struct trace_t trace
= {NULL
, LOCATE_static_type
, 218, LOCATE_static_type___MMType___for_module
};
549 trace
.prev
= tracehead
; tracehead
= &trace
;
550 fprintf(stderr
, "Deferred method %s called");
551 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 218);
553 tracehead
= trace
.prev
;
556 val_t
static_type___MMType___adapt_to(val_t self
, val_t param0
) {
557 struct trace_t trace
= {NULL
, LOCATE_static_type
, 221, LOCATE_static_type___MMType___adapt_to
};
558 trace
.prev
= tracehead
; tracehead
= &trace
;
559 fprintf(stderr
, "Deferred method %s called");
560 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 221);
562 tracehead
= trace
.prev
;
565 val_t
static_type___MMType___upcast_for(val_t self
, val_t param0
) {
566 struct trace_t trace
= {NULL
, LOCATE_static_type
, 225, LOCATE_static_type___MMType___upcast_for
};
567 trace
.prev
= tracehead
; tracehead
= &trace
;
568 fprintf(stderr
, "Deferred method %s called");
569 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 225);
571 tracehead
= trace
.prev
;
574 val_t
static_type___MMType___not_for_self(val_t self
) {
575 struct trace_t trace
= {NULL
, LOCATE_static_type
, 229, LOCATE_static_type___MMType___not_for_self
};
577 trace
.prev
= tracehead
; tracehead
= &trace
;
580 return_label18
: while(false);
581 tracehead
= trace
.prev
;
584 val_t
static_type___MMTypeClass___local_class(val_t self
) {
585 struct trace_t trace
= {NULL
, LOCATE_static_type
, 236, LOCATE_static_type___MMTypeClass___local_class
};
586 trace
.prev
= tracehead
; tracehead
= &trace
;
587 tracehead
= trace
.prev
;
588 return ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
590 val_t
static_type___MMTypeClass___module(val_t self
) {
591 struct trace_t trace
= {NULL
, LOCATE_static_type
, 237, LOCATE_static_type___MMTypeClass___module
};
593 trace
.prev
= tracehead
; tracehead
= &trace
;
594 variable0
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
595 variable0
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable0
) /*MMLocalClass::module*/;
597 return_label19
: while(false);
598 tracehead
= trace
.prev
;
601 val_t
static_type___MMTypeClass_____l(val_t self
, val_t param0
) {
602 struct trace_t trace
= {NULL
, LOCATE_static_type
, 238, LOCATE_static_type___MMTypeClass_____l
};
606 trace
.prev
= tracehead
; tracehead
= &trace
;
608 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*t*/ == NIT_NULL
/*null*/) || (( variable0
/*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*t*/,COLOR_kernel___Object_____eqeq
))( variable0
/*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
609 variable2
= variable1
;
610 if (UNTAG_Bool(variable2
)) { /* and */
611 variable2
= ((static_type___MMType___is_supertype_t
)CALL( variable0
/*t*/,COLOR_static_type___MMType___is_supertype
))( variable0
/*t*/, self
) /*MMType::is_supertype*/;
613 variable1
= variable2
;
615 return_label20
: while(false);
616 tracehead
= trace
.prev
;
619 val_t
static_type___MMTypeClass___to_s(val_t self
) {
620 struct trace_t trace
= {NULL
, LOCATE_static_type
, 240, LOCATE_static_type___MMTypeClass___to_s
};
622 trace
.prev
= tracehead
; tracehead
= &trace
;
623 variable0
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
624 variable0
= ((abstractmetamodel___MMLocalClass___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*MMLocalClass::to_s*/;
626 return_label21
: while(false);
627 tracehead
= trace
.prev
;
630 val_t
static_type___MMTypeClass___upcast_for(val_t self
, val_t param0
) {
631 struct trace_t trace
= {NULL
, LOCATE_static_type
, 245, LOCATE_static_type___MMTypeClass___upcast_for
};
635 trace
.prev
= tracehead
; tracehead
= &trace
;
637 variable1
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
638 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::==*/)))))));
639 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeClass___upcast_for
, LOCATE_static_type
, 247); nit_exit(1);}
640 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*c*/ == NIT_NULL
/*null*/) || (( variable0
/*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable0
/*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable0
/*c*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable0
/*c*/,COLOR_kernel___Object_____eqeq
))( variable0
/*c*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
641 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeClass___upcast_for
, LOCATE_static_type
, 248); nit_exit(1);}
643 variable2
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
644 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== variable0
/*c*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, variable0
/*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, variable0
/*c*/) /*Object::==*/)))))));
645 if (UNTAG_Bool(variable2
)) { /*if*/
646 variable2
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
647 variable2
= ((static_type___MMLocalClass___ancestor_t
)CALL(variable2
,COLOR_static_type___MMLocalClass___ancestor
))(variable2
, variable0
/*c*/) /*MMLocalClass::ancestor*/;
648 variable1
= variable2
/*t=*/;
650 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::==*/)))))));
651 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeClass___upcast_for
, LOCATE_static_type
, 254); nit_exit(1);}
652 variable1
= variable1
/*t*/;
654 return_label22
: while(false);
655 tracehead
= trace
.prev
;
658 void static_type___MMTypeClass___init(val_t self
, val_t param0
, int* init_table
) {
659 struct trace_t trace
= {NULL
, LOCATE_static_type
, 258, LOCATE_static_type___MMTypeClass___init
};
661 trace
.prev
= tracehead
; tracehead
= &trace
;
663 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeClass
].i
]) return;
664 ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/ = variable0
/*c*/;
665 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeClass
].i
] = 1;
666 tracehead
= trace
.prev
;
669 val_t
static_type___MMTypeSimpleClass___is_supertype(val_t self
, val_t param0
) {
670 struct trace_t trace
= {NULL
, LOCATE_static_type
, 266, LOCATE_static_type___MMTypeSimpleClass___is_supertype
};
674 trace
.prev
= tracehead
; tracehead
= &trace
;
676 variable1
= ((static_type___MMType___local_class_t
)CALL( variable0
/*t*/,COLOR_static_type___MMType___local_class
))( variable0
/*t*/) /*MMType::local_class*/;
677 variable1
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable1
) /*MMLocalClass::cshe*/;
678 variable2
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
679 variable1
= ((partial_order___PartialOrderElement_____leq_t
)CALL(variable1
,COLOR_partial_order___PartialOrderElement_____leq
))(variable1
, variable2
) /*PartialOrderElement::<=*/;
681 return_label24
: while(false);
682 tracehead
= trace
.prev
;
685 val_t
static_type___MMTypeSimpleClass___for_module(val_t self
, val_t param0
) {
686 struct trace_t trace
= {NULL
, LOCATE_static_type
, 271, LOCATE_static_type___MMTypeSimpleClass___for_module
};
690 trace
.prev
= tracehead
; tracehead
= &trace
;
693 variable2
= ((static_type___MMTypeClass___module_t
)CALL( self
,COLOR_static_type___MMType___module
))( self
) /*MMTypeClass::module*/;
694 variable2
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2
== variable0
/*mod*/) || ((variable2
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable2
, variable0
/*mod*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable2
,COLOR_kernel___Object_____eqeq
))(variable2
, variable0
/*mod*/) /*Object::==*/)))))));
695 if (UNTAG_Bool(variable2
)) { /*if*/
696 variable2
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
697 variable2
= ((abstractmetamodel___MMLocalClass___for_module_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalClass___for_module
))(variable2
, variable0
/*mod*/) /*MMLocalClass::for_module*/;
698 variable2
= ((static_type___MMLocalClass___get_type_t
)CALL(variable2
,COLOR_static_type___MMLocalClass___get_type
))(variable2
) /*MMLocalClass::get_type*/;
699 variable1
= variable2
/*t=*/;
701 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::==*/)))))));
702 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeSimpleClass___for_module
, LOCATE_static_type
, 277); nit_exit(1);}
703 variable1
= variable1
/*t*/;
705 return_label25
: while(false);
706 tracehead
= trace
.prev
;
709 val_t
static_type___MMTypeSimpleClass___adapt_to(val_t self
, val_t param0
) {
710 struct trace_t trace
= {NULL
, LOCATE_static_type
, 281, LOCATE_static_type___MMTypeSimpleClass___adapt_to
};
713 trace
.prev
= tracehead
; tracehead
= &trace
;
717 return_label26
: while(false);
718 tracehead
= trace
.prev
;
721 void static_type___MMTypeSimpleClass___init(val_t self
, val_t param0
, int* init_table
) {
722 struct trace_t trace
= {NULL
, LOCATE_static_type
, 283, LOCATE_static_type___MMTypeSimpleClass___init
};
724 trace
.prev
= tracehead
; tracehead
= &trace
;
726 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeSimpleClass
].i
]) return;
727 ((static_type___MMTypeClass___init_t
)CALL( self
,COLOR_static_type___MMTypeClass___init
))( self
, variable0
/*c*/, init_table
/*YYY*/) /*MMTypeClass::init*/;
728 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeSimpleClass
].i
] = 1;
729 tracehead
= trace
.prev
;
732 val_t
static_type___MMTypeNone___module(val_t self
) {
733 struct trace_t trace
= {NULL
, LOCATE_static_type
, 292, LOCATE_static_type___MMTypeNone___module
};
734 trace
.prev
= tracehead
; tracehead
= &trace
;
735 tracehead
= trace
.prev
;
736 return ATTR_static_type___MMTypeNone____module( self
) /*MMTypeNone::_module*/;
738 val_t
static_type___MMTypeNone_____l(val_t self
, val_t param0
) {
739 struct trace_t trace
= {NULL
, LOCATE_static_type
, 293, LOCATE_static_type___MMTypeNone_____l
};
742 trace
.prev
= tracehead
; tracehead
= &trace
;
744 variable1
= TAG_Bool(true);
746 return_label28
: while(false);
747 tracehead
= trace
.prev
;
750 val_t
static_type___MMTypeNone___is_supertype(val_t self
, val_t param0
) {
751 struct trace_t trace
= {NULL
, LOCATE_static_type
, 294, LOCATE_static_type___MMTypeNone___is_supertype
};
754 trace
.prev
= tracehead
; tracehead
= &trace
;
756 variable1
= TAG_Bool(false);
758 return_label29
: while(false);
759 tracehead
= trace
.prev
;
762 val_t
static_type___MMTypeNone___local_class(val_t self
) {
763 struct trace_t trace
= {NULL
, LOCATE_static_type
, 295, LOCATE_static_type___MMTypeNone___local_class
};
765 trace
.prev
= tracehead
; tracehead
= &trace
;
766 fprintf(stderr
, "Aborted"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeNone___local_class
, LOCATE_static_type
, 295); nit_exit(1);
767 tracehead
= trace
.prev
;
770 val_t
static_type___MMTypeNone___upcast_for(val_t self
, val_t param0
) {
771 struct trace_t trace
= {NULL
, LOCATE_static_type
, 296, LOCATE_static_type___MMTypeNone___upcast_for
};
774 trace
.prev
= tracehead
; tracehead
= &trace
;
778 return_label31
: while(false);
779 tracehead
= trace
.prev
;
782 void static_type___MMTypeNone___init(val_t self
, val_t param0
, int* init_table
) {
783 struct trace_t trace
= {NULL
, LOCATE_static_type
, 298, LOCATE_static_type___MMTypeNone___init
};
785 trace
.prev
= tracehead
; tracehead
= &trace
;
787 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeNone
].i
]) return;
788 ATTR_static_type___MMTypeNone____module( self
) /*MMTypeNone::_module*/ = variable0
/*m*/;
789 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeNone
].i
] = 1;
790 tracehead
= trace
.prev
;
793 val_t
static_type___MMModule___type_none(val_t self
) {
794 struct trace_t trace
= {NULL
, LOCATE_static_type
, 302, LOCATE_static_type___MMModule___type_none
};
795 trace
.prev
= tracehead
; tracehead
= &trace
;
796 tracehead
= trace
.prev
;
797 return ATTR_static_type___MMModule____type_none( self
) /*MMModule::_type_none*/;