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
, NULL
, 27, LOCATE_static_type___MMLocalClass___get_type
};
6 trace
.prev
= tracehead
; tracehead
= &trace
;
7 trace
.file
= LOCATE_static_type
;
8 variable0
= ATTR_static_type___MMLocalClass____base_type_cache( self
) /*MMLocalClass::_base_type_cache*/;
9 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::==*/)))));
10 if (UNTAG_Bool(variable0
)) { /*if*/
11 variable0
= NEW_MMTypeSimpleClass_static_type___MMTypeSimpleClass___init( self
); /*new MMTypeSimpleClass*/
12 ATTR_static_type___MMLocalClass____base_type_cache( self
) /*MMLocalClass::_base_type_cache*/ = variable0
;
14 variable0
= ATTR_static_type___MMLocalClass____base_type_cache( self
) /*MMLocalClass::_base_type_cache*/;
16 return_label0
: while(false);
17 tracehead
= trace
.prev
;
20 void static_type___MMLocalClass___add_ancestor(val_t self
, val_t param0
) {
21 struct trace_t trace
= {NULL
, NULL
, 34, LOCATE_static_type___MMLocalClass___add_ancestor
};
25 trace
.prev
= tracehead
; tracehead
= &trace
;
26 trace
.file
= LOCATE_static_type
;
28 variable1
= ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
29 variable2
= ((static_type___MMAncestor___local_class_t
)CALL( variable0
/*a*/,COLOR_static_type___MMAncestor___local_class
))( variable0
/*a*/) /*MMAncestor::local_class*/;
30 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable2
) /*Map::has_key*/;
31 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);}
32 variable1
= ((static_type___MMAncestor___local_class_t
)CALL( variable0
/*a*/,COLOR_static_type___MMAncestor___local_class
))( variable0
/*a*/) /*MMAncestor::local_class*/;
33 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::==*/)))))));
34 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);}
35 variable1
= ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
36 variable2
= ((static_type___MMAncestor___local_class_t
)CALL( variable0
/*a*/,COLOR_static_type___MMAncestor___local_class
))( variable0
/*a*/) /*MMAncestor::local_class*/;
37 ((abstract_collection___Map_____braeq_t
)CALL(variable1
,COLOR_abstract_collection___Map_____braeq
))(variable1
, variable2
, variable0
/*a*/) /*Map::[]=*/;
38 tracehead
= trace
.prev
;
41 val_t
static_type___MMLocalClass___ancestors(val_t self
) {
42 struct trace_t trace
= {NULL
, NULL
, 42, LOCATE_static_type___MMLocalClass___ancestors
};
43 trace
.prev
= tracehead
; tracehead
= &trace
;
44 trace
.file
= LOCATE_static_type
;
45 tracehead
= trace
.prev
;
46 return ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
48 val_t
static_type___MMLocalClass___ancestor(val_t self
, val_t param0
) {
49 struct trace_t trace
= {NULL
, NULL
, 45, LOCATE_static_type___MMLocalClass___ancestor
};
52 trace
.prev
= tracehead
; tracehead
= &trace
;
53 trace
.file
= LOCATE_static_type
;
55 variable1
= ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
56 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::==*/)))))));
57 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);}
58 variable1
= ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
59 variable1
= ((abstract_collection___Map___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*c*/) /*Map::has_key*/;
60 if (UNTAG_Bool(variable1
)) { /*if*/
61 variable1
= ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
62 variable1
= ((abstract_collection___Map_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*c*/) /*Map::[]*/;
63 variable1
= ((static_type___MMAncestor___stype_t
)CALL(variable1
,COLOR_static_type___MMAncestor___stype
))(variable1
) /*MMAncestor::stype*/;
66 variable1
= NIT_NULL
/*null*/;
68 return_label2
: while(false);
69 tracehead
= trace
.prev
;
72 val_t
static_type___MMLocalProperty___signature(val_t self
) {
73 struct trace_t trace
= {NULL
, NULL
, 57, LOCATE_static_type___MMLocalProperty___signature
};
74 trace
.prev
= tracehead
; tracehead
= &trace
;
75 trace
.file
= LOCATE_static_type
;
76 tracehead
= trace
.prev
;
77 return ATTR_static_type___MMLocalProperty____signature( self
) /*MMLocalProperty::_signature*/;
79 void static_type___MMLocalProperty___signature__eq(val_t self
, val_t param0
) {
80 struct trace_t trace
= {NULL
, NULL
, 57, LOCATE_static_type___MMLocalProperty___signature__eq
};
81 trace
.prev
= tracehead
; tracehead
= &trace
;
82 trace
.file
= LOCATE_static_type
;
83 ATTR_static_type___MMLocalProperty____signature( self
) /*MMLocalProperty::_signature*/ = param0
;
84 tracehead
= trace
.prev
;
87 val_t
static_type___MMLocalProperty___signature_for(val_t self
, val_t param0
) {
88 struct trace_t trace
= {NULL
, NULL
, 62, LOCATE_static_type___MMLocalProperty___signature_for
};
92 trace
.prev
= tracehead
; tracehead
= &trace
;
93 trace
.file
= LOCATE_static_type
;
95 variable1
= ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL( self
,COLOR_abstractmetamodel___MMLocalProperty___local_class
))( self
) /*MMLocalProperty::local_class*/;
96 variable1
= ((static_type___MMLocalClass___get_type_t
)CALL(variable1
,COLOR_static_type___MMLocalClass___get_type
))(variable1
) /*MMLocalClass::get_type*/;
97 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::==*/)))));
98 if (UNTAG_Bool(variable1
)) { /*if*/
99 variable1
= ((static_type___MMLocalProperty___signature_t
)CALL( self
,COLOR_static_type___MMLocalProperty___signature
))( self
) /*MMLocalProperty::signature*/;
102 variable1
= ATTR_static_type___MMLocalProperty____signatures_cache( self
) /*MMLocalProperty::_signatures_cache*/;
103 variable1
= ((abstract_collection___CoupleMap___has_key_t
)CALL(variable1
,COLOR_abstract_collection___Map___has_key
))(variable1
, variable0
/*t*/) /*CoupleMap::has_key*/;
104 if (UNTAG_Bool(variable1
)) { /*if*/
105 variable1
= ATTR_static_type___MMLocalProperty____signatures_cache( self
) /*MMLocalProperty::_signatures_cache*/;
106 variable1
= ((abstract_collection___CoupleMap_____bra_t
)CALL(variable1
,COLOR_abstract_collection___Map_____bra
))(variable1
, variable0
/*t*/) /*CoupleMap::[]*/;
109 variable2
= ((static_type___MMLocalProperty___signature_t
)CALL( self
,COLOR_static_type___MMLocalProperty___signature
))( self
) /*MMLocalProperty::signature*/;
110 variable2
= ((static_type___MMSignature___adaptation_to_t
)CALL(variable2
,COLOR_static_type___MMSignature___adaptation_to
))(variable2
, variable0
/*t*/) /*MMSignature::adaptation_to*/;
111 variable1
= variable2
;
112 variable2
= ATTR_static_type___MMLocalProperty____signatures_cache( self
) /*MMLocalProperty::_signatures_cache*/;
113 ((hash___HashMap_____braeq_t
)CALL(variable2
,COLOR_abstract_collection___Map_____braeq
))(variable2
, variable0
/*t*/, variable1
/*res*/) /*HashMap::[]=*/;
114 variable1
= variable1
/*res*/;
116 return_label3
: while(false);
117 tracehead
= trace
.prev
;
120 val_t
static_type___MMSignature___recv(val_t self
) {
121 struct trace_t trace
= {NULL
, NULL
, 76, LOCATE_static_type___MMSignature___recv
};
122 trace
.prev
= tracehead
; tracehead
= &trace
;
123 trace
.file
= LOCATE_static_type
;
124 tracehead
= trace
.prev
;
125 return ATTR_static_type___MMSignature____recv( self
) /*MMSignature::_recv*/;
127 val_t
static_type___MMSignature___return_type(val_t self
) {
128 struct trace_t trace
= {NULL
, NULL
, 82, LOCATE_static_type___MMSignature___return_type
};
129 trace
.prev
= tracehead
; tracehead
= &trace
;
130 trace
.file
= LOCATE_static_type
;
131 tracehead
= trace
.prev
;
132 return ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
134 val_t
static_type___MMSignature___arity(val_t self
) {
135 struct trace_t trace
= {NULL
, NULL
, 85, LOCATE_static_type___MMSignature___arity
};
137 trace
.prev
= tracehead
; tracehead
= &trace
;
138 trace
.file
= LOCATE_static_type
;
139 variable0
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
140 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::==*/)))))));
141 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);}
142 variable0
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
143 variable0
= ((array___AbstractArray___length_t
)CALL(variable0
,COLOR_abstract_collection___Collection___length
))(variable0
) /*AbstractArray::length*/;
145 return_label4
: while(false);
146 tracehead
= trace
.prev
;
149 val_t
static_type___MMSignature_____l(val_t self
, val_t param0
) {
150 struct trace_t trace
= {NULL
, NULL
, 92, LOCATE_static_type___MMSignature_____l
};
156 trace
.prev
= tracehead
; tracehead
= &trace
;
157 trace
.file
= LOCATE_static_type
;
159 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::==*/)))))));
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
, 95); nit_exit(1);}
161 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::==*/)))));
162 if (UNTAG_Bool(variable1
)) { /*if*/
163 variable1
= TAG_Bool(true);
166 variable1
= ATTR_static_type___MMSignature____recv( self
) /*MMSignature::_recv*/;
167 variable1
= ((static_type___MMType___module_t
)CALL(variable1
,COLOR_static_type___MMType___module
))(variable1
) /*MMType::module*/;
168 variable2
= ((static_type___MMSignature___recv_t
)CALL( variable0
/*s*/,COLOR_static_type___MMSignature___recv
))( variable0
/*s*/) /*MMSignature::recv*/;
169 variable2
= ((static_type___MMType___module_t
)CALL(variable2
,COLOR_static_type___MMType___module
))(variable2
) /*MMType::module*/;
170 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::==*/)))));
171 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);}
172 variable1
= ((static_type___MMSignature___arity_t
)CALL( self
,COLOR_static_type___MMSignature___arity
))( self
) /*MMSignature::arity*/;
173 variable2
= ((static_type___MMSignature___arity_t
)CALL( variable0
/*s*/,COLOR_static_type___MMSignature___arity
))( variable0
/*s*/) /*MMSignature::arity*/;
174 variable1
= TAG_Bool((variable1
)!=(variable2
));
175 variable2
= variable1
;
176 if (!UNTAG_Bool(variable2
)) { /* or */
177 variable2
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
178 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::==*/)))));
179 variable3
= ((static_type___MMSignature___return_type_t
)CALL( variable0
/*s*/,COLOR_static_type___MMSignature___return_type
))( variable0
/*s*/) /*MMSignature::return_type*/;
180 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::==*/)))));
181 variable2
= TAG_Bool((variable2
)!=(variable3
));
183 variable1
= variable2
;
184 if (UNTAG_Bool(variable1
)) { /*if*/
185 variable1
= TAG_Bool(false);
188 variable1
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
189 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::==*/)))))));
190 variable2
= variable1
;
191 if (UNTAG_Bool(variable2
)) { /* and */
192 variable2
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
193 variable3
= ((static_type___MMSignature___return_type_t
)CALL( variable0
/*s*/,COLOR_static_type___MMSignature___return_type
))( variable0
/*s*/) /*MMSignature::return_type*/;
194 variable2
= ((static_type___MMType_____l_t
)CALL(variable2
,COLOR_static_type___MMType_____l
))(variable2
, variable3
) /*MMType::<*/;
195 variable2
= TAG_Bool(!UNTAG_Bool(variable2
));
197 variable1
= variable2
;
198 if (UNTAG_Bool(variable1
)) { /*if*/
199 variable1
= TAG_Bool(false);
202 variable1
= ((static_type___MMSignature___arity_t
)CALL( self
,COLOR_static_type___MMSignature___arity
))( self
) /*MMSignature::arity*/;
203 variable2
= NEW_Range_range___Range___without_last( TAG_Int(0), variable1
); /*new Range[Int]*/
204 variable1
= variable2
;
205 variable1
= ((range___Range___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*Range::iterator*/;
206 while (true) { /*for*/
207 variable2
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*Iterator::is_ok*/;
208 if (!UNTAG_Bool(variable2
)) break; /*for*/
209 variable2
= ((abstract_collection___Iterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*Iterator::item*/;
210 variable3
= ((static_type___MMSignature_____bra_t
)CALL( variable0
/*s*/,COLOR_static_type___MMSignature_____bra
))( variable0
/*s*/, variable2
/*i*/) /*MMSignature::[]*/;
211 variable4
= ((static_type___MMSignature_____bra_t
)CALL( self
,COLOR_static_type___MMSignature_____bra
))( self
, variable2
/*i*/) /*MMSignature::[]*/;
212 variable3
= ((static_type___MMType_____l_t
)CALL(variable3
,COLOR_static_type___MMType_____l
))(variable3
, variable4
) /*MMType::<*/;
213 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3
)))) { /*if*/
214 variable1
= TAG_Bool(false);
217 continue_6
: while(0);
218 ((abstract_collection___Iterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*Iterator::next*/;
221 variable1
= TAG_Bool(true);
223 return_label5
: while(false);
224 tracehead
= trace
.prev
;
227 val_t
static_type___MMSignature_____bra(val_t self
, val_t param0
) {
228 struct trace_t trace
= {NULL
, NULL
, 113, LOCATE_static_type___MMSignature_____bra
};
234 trace
.prev
= tracehead
; tracehead
= &trace
;
235 trace
.file
= LOCATE_static_type
;
237 variable1
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
238 variable1
= ((array___AbstractArray___length_t
)CALL(variable1
,COLOR_abstract_collection___Collection___length
))(variable1
) /*AbstractArray::length*/;
239 variable1
= TAG_Bool(UNTAG_Int(variable1
)>UNTAG_Int( variable0
/*i*/));
240 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);}
241 variable1
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
242 variable2
= variable0
/*i*/;
243 variable3
= TAG_Bool(UNTAG_Int( variable2
/*index*/)>=UNTAG_Int( TAG_Int(0)));
244 variable4
= variable3
;
245 if (UNTAG_Bool(variable4
)) { /* and */
246 variable4
= variable1
;
247 variable4
= ATTR_array___AbstractArray____length(variable4
) /*AbstractArray::_length*/;
248 variable4
= TAG_Bool(UNTAG_Int( variable2
/*index*/)<UNTAG_Int(variable4
));
250 variable3
= variable4
;
251 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);}
252 variable3
= variable1
;
253 variable3
= ATTR_array___Array____items(variable3
) /*Array::_items*/;
254 variable3
= UNBOX_NativeArray(variable3
)[UNTAG_Int( variable2
/*index*/)];
256 return_label8
: while(false);
257 variable1
= variable3
;
259 return_label7
: while(false);
260 tracehead
= trace
.prev
;
263 val_t
static_type___MMSignature___to_s(val_t self
) {
264 struct trace_t trace
= {NULL
, NULL
, 120, LOCATE_static_type___MMSignature___to_s
};
275 trace
.prev
= tracehead
; tracehead
= &trace
;
276 trace
.file
= LOCATE_static_type
;
277 variable0
= NIT_NULL
/*decl variable s*/;
278 variable1
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
279 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::==*/)))))));
280 variable2
= variable1
;
281 if (UNTAG_Bool(variable2
)) { /* and */
282 variable2
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
283 variable2
= ((array___AbstractArray___length_t
)CALL(variable2
,COLOR_abstract_collection___Collection___length
))(variable2
) /*AbstractArray::length*/;
284 variable2
= TAG_Bool(UNTAG_Int(variable2
)>UNTAG_Int( TAG_Int(0)));
286 variable1
= variable2
;
287 if (UNTAG_Bool(variable1
)) { /*if*/
288 variable1
= NIT_NULL
/*decl variable tmp*/;
289 variable3
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
290 variable3
= ((array___AbstractArray___length_t
)CALL(variable3
,COLOR_abstract_collection___Collection___length
))(variable3
) /*AbstractArray::length*/;
291 variable4
= NEW_Array_array___Array___with_capacity(variable3
); /*new Array[String]*/
292 variable3
= variable4
;
293 variable2
= variable3
;
294 variable3
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
295 variable3
= ((array___AbstractArray___length_t
)CALL(variable3
,COLOR_abstract_collection___Collection___length
))(variable3
) /*AbstractArray::length*/;
296 variable4
= NEW_Range_range___Range___without_last( TAG_Int(0), variable3
); /*new Range[Int]*/
297 variable3
= variable4
;
298 variable3
= ((range___Range___iterator_t
)CALL(variable3
,COLOR_abstract_collection___Collection___iterator
))(variable3
) /*Range::iterator*/;
299 while (true) { /*for*/
300 variable4
= ((abstract_collection___Iterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*Iterator::is_ok*/;
301 if (!UNTAG_Bool(variable4
)) break; /*for*/
302 variable4
= ((abstract_collection___Iterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*Iterator::item*/;
303 variable6
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
304 variable7
= variable4
/*i*/;
305 variable8
= TAG_Bool(UNTAG_Int( variable7
/*index*/)>=UNTAG_Int( TAG_Int(0)));
306 variable9
= variable8
;
307 if (UNTAG_Bool(variable9
)) { /* and */
308 variable9
= variable6
;
309 variable9
= ATTR_array___AbstractArray____length(variable9
) /*AbstractArray::_length*/;
310 variable9
= TAG_Bool(UNTAG_Int( variable7
/*index*/)<UNTAG_Int(variable9
));
312 variable8
= variable9
;
313 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);}
314 variable8
= variable6
;
315 variable8
= ATTR_array___Array____items(variable8
) /*Array::_items*/;
316 variable8
= UNBOX_NativeArray(variable8
)[UNTAG_Int( variable7
/*index*/)];
318 return_label11
: while(false);
319 variable6
= variable8
;
320 variable5
= variable6
;
321 variable6
= ((string___Object___to_s_t
)CALL( variable5
/*p*/,COLOR_string___Object___to_s
))( variable5
/*p*/) /*Object::to_s*/;
322 ((array___AbstractArray___add_t
)CALL( variable2
/*a*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*a*/, variable6
) /*AbstractArray::add*/;
323 continue_10
: while(0);
324 ((abstract_collection___Iterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*Iterator::next*/;
327 variable3
= NEW_String_string___String___init(); /*new String*/
328 variable4
= NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
329 variable5
= variable4
;
330 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable5
) /*String::append*/;
331 variable6
= NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
332 variable6
= ((string___Collection___join_t
)CALL( variable2
/*a*/,COLOR_string___Collection___join
))( variable2
/*a*/, variable6
) /*Collection::join*/;
333 variable7
= variable6
;
334 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable7
) /*String::append*/;
335 variable8
= NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
336 variable9
= variable8
;
337 ((string___String___append_t
)CALL(variable3
,COLOR_abstract_collection___IndexedCollection___append
))(variable3
, variable9
) /*String::append*/;
338 variable0
= variable3
/*s=*/;
340 variable1
= NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
341 variable0
= variable1
/*s=*/;
343 variable1
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
344 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::==*/)))))));
345 if (UNTAG_Bool(variable1
)) { /*if*/
346 variable1
= NEW_String_string___String___init(); /*new String*/
347 variable2
= NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
348 variable3
= variable2
;
349 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable3
) /*String::append*/;
350 variable4
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
351 variable5
= variable4
;
352 variable5
= ((string___String___to_s_t
)CALL(variable5
,COLOR_string___Object___to_s
))(variable5
) /*String::to_s*/;
353 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable5
) /*String::append*/;
354 variable6
= NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
355 variable7
= variable6
;
356 ((string___String___append_t
)CALL(variable1
,COLOR_abstract_collection___IndexedCollection___append
))(variable1
, variable7
) /*String::append*/;
357 ((string___String___append_t
)CALL( variable0
/*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable0
/*s*/, variable1
) /*String::append*/;
359 variable0
= variable0
/*s*/;
361 return_label9
: while(false);
362 tracehead
= trace
.prev
;
365 val_t
static_type___MMSignature___adaptation_to(val_t self
, val_t param0
) {
366 struct trace_t trace
= {NULL
, NULL
, 142, LOCATE_static_type___MMSignature___adaptation_to
};
373 trace
.prev
= tracehead
; tracehead
= &trace
;
374 trace
.file
= LOCATE_static_type
;
376 variable1
= ATTR_static_type___MMSignature____recv( self
) /*MMSignature::_recv*/;
377 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::==*/)))));
378 if (UNTAG_Bool(variable1
)) { /*if*/
382 variable2
= ((static_type___MMType___module_t
)CALL( variable0
/*r*/,COLOR_static_type___MMType___module
))( variable0
/*r*/) /*MMType::module*/;
383 variable1
= variable2
;
384 variable3
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
385 variable2
= variable3
;
386 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::==*/)))))));
387 if (UNTAG_Bool(variable3
)) { /*if*/
388 variable3
= NEW_Array_array___Array___init(); /*new Array[MMType]*/
389 variable2
= variable3
/*p=*/;
390 variable3
= ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/;
391 variable3
= ((array___AbstractArray___iterator_t
)CALL(variable3
,COLOR_abstract_collection___Collection___iterator
))(variable3
) /*AbstractArray::iterator*/;
392 while (true) { /*for*/
393 variable4
= ((array___ArrayIterator___is_ok_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___is_ok
))(variable3
) /*ArrayIterator::is_ok*/;
394 if (!UNTAG_Bool(variable4
)) break; /*for*/
395 variable4
= ((array___ArrayIterator___item_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___item
))(variable3
) /*ArrayIterator::item*/;
396 variable5
= ((static_type___MMType___for_module_t
)CALL( variable4
/*i*/,COLOR_static_type___MMType___for_module
))( variable4
/*i*/, variable1
/*mod*/) /*MMType::for_module*/;
397 variable5
= ((static_type___MMType___adapt_to_t
)CALL(variable5
,COLOR_static_type___MMType___adapt_to
))(variable5
, variable0
/*r*/) /*MMType::adapt_to*/;
398 ((array___AbstractArray___add_t
)CALL( variable2
/*p*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*p*/, variable5
) /*AbstractArray::add*/;
399 continue_13
: while(0);
400 ((array___ArrayIterator___next_t
)CALL(variable3
,COLOR_abstract_collection___Iterator___next
))(variable3
) /*ArrayIterator::next*/;
404 variable4
= ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
405 variable3
= variable4
;
406 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::==*/)))))));
407 if (UNTAG_Bool(variable4
)) { /*if*/
408 variable4
= ((static_type___MMType___for_module_t
)CALL( variable3
/*rv*/,COLOR_static_type___MMType___for_module
))( variable3
/*rv*/, variable1
/*mod*/) /*MMType::for_module*/;
409 variable4
= ((static_type___MMType___adapt_to_t
)CALL(variable4
,COLOR_static_type___MMType___adapt_to
))(variable4
, variable0
/*r*/) /*MMType::adapt_to*/;
410 variable3
= variable4
/*rv=*/;
412 variable4
= NEW_MMSignature_static_type___MMSignature___init( variable2
/*p*/, variable3
/*rv*/, variable0
/*r*/); /*new MMSignature*/
413 variable1
= variable4
;
415 return_label12
: while(false);
416 tracehead
= trace
.prev
;
419 void static_type___MMSignature___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
420 struct trace_t trace
= {NULL
, NULL
, 163, LOCATE_static_type___MMSignature___init
};
425 trace
.prev
= tracehead
; tracehead
= &trace
;
426 trace
.file
= LOCATE_static_type
;
430 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMSignature
].i
]) return;
431 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::==*/)))))));
432 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);}
433 ATTR_static_type___MMSignature____params( self
) /*MMSignature::_params*/ = variable0
/*params*/;
434 ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/ = variable1
/*return_type*/;
435 ATTR_static_type___MMSignature____recv( self
) /*MMSignature::_recv*/ = variable2
/*r*/;
436 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMSignature
].i
] = 1;
437 tracehead
= trace
.prev
;
440 val_t
static_type___MMAncestor___stype(val_t self
) {
441 struct trace_t trace
= {NULL
, NULL
, 174, LOCATE_static_type___MMAncestor___stype
};
442 trace
.prev
= tracehead
; tracehead
= &trace
;
443 trace
.file
= LOCATE_static_type
;
444 tracehead
= trace
.prev
;
445 return ATTR_static_type___MMAncestor____stype( self
) /*MMAncestor::_stype*/;
447 void static_type___MMAncestor___stype__eq(val_t self
, val_t param0
) {
448 struct trace_t trace
= {NULL
, NULL
, 174, LOCATE_static_type___MMAncestor___stype__eq
};
449 trace
.prev
= tracehead
; tracehead
= &trace
;
450 trace
.file
= LOCATE_static_type
;
451 ATTR_static_type___MMAncestor____stype( self
) /*MMAncestor::_stype*/ = param0
;
452 tracehead
= trace
.prev
;
455 val_t
static_type___MMAncestor___inheriter(val_t self
) {
456 struct trace_t trace
= {NULL
, NULL
, 177, LOCATE_static_type___MMAncestor___inheriter
};
457 trace
.prev
= tracehead
; tracehead
= &trace
;
458 trace
.file
= LOCATE_static_type
;
459 tracehead
= trace
.prev
;
460 return ATTR_static_type___MMAncestor____inheriter( self
) /*MMAncestor::_inheriter*/;
462 void static_type___MMAncestor___inheriter__eq(val_t self
, val_t param0
) {
463 struct trace_t trace
= {NULL
, NULL
, 177, LOCATE_static_type___MMAncestor___inheriter__eq
};
464 trace
.prev
= tracehead
; tracehead
= &trace
;
465 trace
.file
= LOCATE_static_type
;
466 ATTR_static_type___MMAncestor____inheriter( self
) /*MMAncestor::_inheriter*/ = param0
;
467 tracehead
= trace
.prev
;
470 val_t
static_type___MMAncestor___is_reffinement(val_t self
) {
471 struct trace_t trace
= {NULL
, NULL
, 180, LOCATE_static_type___MMAncestor___is_reffinement
};
474 trace
.prev
= tracehead
; tracehead
= &trace
;
475 trace
.file
= LOCATE_static_type
;
476 variable0
= ((static_type___MMAncestor___stype_t
)CALL( self
,COLOR_static_type___MMAncestor___stype
))( self
) /*MMAncestor::stype*/;
477 variable0
= ((static_type___MMType___module_t
)CALL(variable0
,COLOR_static_type___MMType___module
))(variable0
) /*MMType::module*/;
478 variable1
= ((static_type___MMAncestor___stype_t
)CALL( self
,COLOR_static_type___MMAncestor___stype
))( self
) /*MMAncestor::stype*/;
479 variable1
= ((static_type___MMType___module_t
)CALL(variable1
,COLOR_static_type___MMType___module
))(variable1
) /*MMType::module*/;
480 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::==*/)))))));
482 return_label15
: while(false);
483 tracehead
= trace
.prev
;
486 val_t
static_type___MMAncestor___is_specialisation(val_t self
) {
487 struct trace_t trace
= {NULL
, NULL
, 184, LOCATE_static_type___MMAncestor___is_specialisation
};
490 trace
.prev
= tracehead
; tracehead
= &trace
;
491 trace
.file
= LOCATE_static_type
;
492 variable0
= ((static_type___MMAncestor___stype_t
)CALL( self
,COLOR_static_type___MMAncestor___stype
))( self
) /*MMAncestor::stype*/;
493 variable0
= ((static_type___MMType___local_class_t
)CALL(variable0
,COLOR_static_type___MMType___local_class
))(variable0
) /*MMType::local_class*/;
494 variable0
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable0
) /*MMLocalClass::global*/;
495 variable1
= ((static_type___MMAncestor___inheriter_t
)CALL( self
,COLOR_static_type___MMAncestor___inheriter
))( self
) /*MMAncestor::inheriter*/;
496 variable1
= ((static_type___MMType___local_class_t
)CALL(variable1
,COLOR_static_type___MMType___local_class
))(variable1
) /*MMType::local_class*/;
497 variable1
= ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalClass___global
))(variable1
) /*MMLocalClass::global*/;
498 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::==*/)))))));
500 return_label16
: while(false);
501 tracehead
= trace
.prev
;
504 val_t
static_type___MMAncestor___local_class(val_t self
) {
505 struct trace_t trace
= {NULL
, NULL
, 188, LOCATE_static_type___MMAncestor___local_class
};
506 trace
.prev
= tracehead
; tracehead
= &trace
;
507 trace
.file
= LOCATE_static_type
;
508 fprintf(stderr
, "Deferred method %s called");
509 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___is_specialisation
, LOCATE_static_type
, 188);
511 tracehead
= trace
.prev
;
514 val_t
static_type___MMAncestor___to_s(val_t self
) {
515 struct trace_t trace
= {NULL
, NULL
, 191, LOCATE_static_type___MMAncestor___to_s
};
517 trace
.prev
= tracehead
; tracehead
= &trace
;
518 trace
.file
= LOCATE_static_type
;
519 variable0
= ((static_type___MMAncestor___stype_t
)CALL( self
,COLOR_static_type___MMAncestor___stype
))( self
) /*MMAncestor::stype*/;
520 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::==*/)))));
521 if (UNTAG_Bool(variable0
)) { /*if*/
522 variable0
= ((static_type___MMAncestor___local_class_t
)CALL( self
,COLOR_static_type___MMAncestor___local_class
))( self
) /*MMAncestor::local_class*/;
523 variable0
= ((abstractmetamodel___MMLocalClass___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*MMLocalClass::to_s*/;
526 variable0
= ((static_type___MMAncestor___stype_t
)CALL( self
,COLOR_static_type___MMAncestor___stype
))( self
) /*MMAncestor::stype*/;
527 variable0
= ((string___Object___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*Object::to_s*/;
530 return_label17
: while(false);
531 tracehead
= trace
.prev
;
534 void static_type___MMAncestor___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
535 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_static_type___MMAncestor___init
};
536 trace
.prev
= tracehead
; tracehead
= &trace
;
537 trace
.file
= LOCATE_static_type
;
538 ATTR_static_type___MMAncestor____stype( self
) /*MMAncestor::_stype*/ = param0
;
539 ATTR_static_type___MMAncestor____inheriter( self
) /*MMAncestor::_inheriter*/ = param1
;
540 tracehead
= trace
.prev
;
543 val_t
static_type___MMType___module(val_t self
) {
544 struct trace_t trace
= {NULL
, NULL
, 204, LOCATE_static_type___MMType___module
};
545 trace
.prev
= tracehead
; tracehead
= &trace
;
546 trace
.file
= LOCATE_static_type
;
547 fprintf(stderr
, "Deferred method %s called");
548 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 204);
550 tracehead
= trace
.prev
;
553 val_t
static_type___MMType___local_class(val_t self
) {
554 struct trace_t trace
= {NULL
, NULL
, 207, LOCATE_static_type___MMType___local_class
};
555 trace
.prev
= tracehead
; tracehead
= &trace
;
556 trace
.file
= LOCATE_static_type
;
557 fprintf(stderr
, "Deferred method %s called");
558 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 207);
560 tracehead
= trace
.prev
;
563 val_t
static_type___MMType_____l(val_t self
, val_t param0
) {
564 struct trace_t trace
= {NULL
, NULL
, 210, LOCATE_static_type___MMType_____l
};
565 trace
.prev
= tracehead
; tracehead
= &trace
;
566 trace
.file
= LOCATE_static_type
;
567 fprintf(stderr
, "Deferred method %s called");
568 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 210);
570 tracehead
= trace
.prev
;
573 val_t
static_type___MMType___is_supertype(val_t self
, val_t param0
) {
574 struct trace_t trace
= {NULL
, NULL
, 213, LOCATE_static_type___MMType___is_supertype
};
575 trace
.prev
= tracehead
; tracehead
= &trace
;
576 trace
.file
= LOCATE_static_type
;
577 fprintf(stderr
, "Deferred method %s called");
578 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 213);
580 tracehead
= trace
.prev
;
583 val_t
static_type___MMType___for_module(val_t self
, val_t param0
) {
584 struct trace_t trace
= {NULL
, NULL
, 218, LOCATE_static_type___MMType___for_module
};
585 trace
.prev
= tracehead
; tracehead
= &trace
;
586 trace
.file
= LOCATE_static_type
;
587 fprintf(stderr
, "Deferred method %s called");
588 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 218);
590 tracehead
= trace
.prev
;
593 val_t
static_type___MMType___adapt_to(val_t self
, val_t param0
) {
594 struct trace_t trace
= {NULL
, NULL
, 221, LOCATE_static_type___MMType___adapt_to
};
595 trace
.prev
= tracehead
; tracehead
= &trace
;
596 trace
.file
= LOCATE_static_type
;
597 fprintf(stderr
, "Deferred method %s called");
598 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 221);
600 tracehead
= trace
.prev
;
603 val_t
static_type___MMType___upcast_for(val_t self
, val_t param0
) {
604 struct trace_t trace
= {NULL
, NULL
, 225, LOCATE_static_type___MMType___upcast_for
};
605 trace
.prev
= tracehead
; tracehead
= &trace
;
606 trace
.file
= LOCATE_static_type
;
607 fprintf(stderr
, "Deferred method %s called");
608 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMAncestor___to_s
, LOCATE_static_type
, 225);
610 tracehead
= trace
.prev
;
613 val_t
static_type___MMType___not_for_self(val_t self
) {
614 struct trace_t trace
= {NULL
, NULL
, 229, LOCATE_static_type___MMType___not_for_self
};
616 trace
.prev
= tracehead
; tracehead
= &trace
;
617 trace
.file
= LOCATE_static_type
;
620 return_label18
: while(false);
621 tracehead
= trace
.prev
;
624 void static_type___MMType___init(val_t self
, int* init_table
) {
625 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_static_type___MMType___init
};
626 trace
.prev
= tracehead
; tracehead
= &trace
;
627 trace
.file
= LOCATE_static_type
;
628 tracehead
= trace
.prev
;
631 val_t
static_type___MMTypeClass___local_class(val_t self
) {
632 struct trace_t trace
= {NULL
, NULL
, 236, LOCATE_static_type___MMTypeClass___local_class
};
633 trace
.prev
= tracehead
; tracehead
= &trace
;
634 trace
.file
= LOCATE_static_type
;
635 tracehead
= trace
.prev
;
636 return ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
638 val_t
static_type___MMTypeClass___module(val_t self
) {
639 struct trace_t trace
= {NULL
, NULL
, 237, LOCATE_static_type___MMTypeClass___module
};
641 trace
.prev
= tracehead
; tracehead
= &trace
;
642 trace
.file
= LOCATE_static_type
;
643 variable0
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
644 variable0
= ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable0
,COLOR_abstractmetamodel___MMLocalClass___module
))(variable0
) /*MMLocalClass::module*/;
646 return_label19
: while(false);
647 tracehead
= trace
.prev
;
650 val_t
static_type___MMTypeClass_____l(val_t self
, val_t param0
) {
651 struct trace_t trace
= {NULL
, NULL
, 238, LOCATE_static_type___MMTypeClass_____l
};
655 trace
.prev
= tracehead
; tracehead
= &trace
;
656 trace
.file
= LOCATE_static_type
;
658 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::==*/)))))));
659 variable2
= variable1
;
660 if (UNTAG_Bool(variable2
)) { /* and */
661 variable2
= ((static_type___MMType___is_supertype_t
)CALL( variable0
/*t*/,COLOR_static_type___MMType___is_supertype
))( variable0
/*t*/, self
) /*MMType::is_supertype*/;
663 variable1
= variable2
;
665 return_label20
: while(false);
666 tracehead
= trace
.prev
;
669 val_t
static_type___MMTypeClass___to_s(val_t self
) {
670 struct trace_t trace
= {NULL
, NULL
, 240, LOCATE_static_type___MMTypeClass___to_s
};
672 trace
.prev
= tracehead
; tracehead
= &trace
;
673 trace
.file
= LOCATE_static_type
;
674 variable0
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
675 variable0
= ((abstractmetamodel___MMLocalClass___to_s_t
)CALL(variable0
,COLOR_string___Object___to_s
))(variable0
) /*MMLocalClass::to_s*/;
677 return_label21
: while(false);
678 tracehead
= trace
.prev
;
681 val_t
static_type___MMTypeClass___upcast_for(val_t self
, val_t param0
) {
682 struct trace_t trace
= {NULL
, NULL
, 245, LOCATE_static_type___MMTypeClass___upcast_for
};
686 trace
.prev
= tracehead
; tracehead
= &trace
;
687 trace
.file
= LOCATE_static_type
;
689 variable1
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
690 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::==*/)))))));
691 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);}
692 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::==*/)))))));
693 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);}
695 variable2
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
696 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::==*/)))))));
697 if (UNTAG_Bool(variable2
)) { /*if*/
698 variable2
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
699 variable2
= ((static_type___MMLocalClass___ancestor_t
)CALL(variable2
,COLOR_static_type___MMLocalClass___ancestor
))(variable2
, variable0
/*c*/) /*MMLocalClass::ancestor*/;
700 variable1
= variable2
/*t=*/;
702 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::==*/)))))));
703 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);}
704 variable1
= variable1
/*t*/;
706 return_label22
: while(false);
707 tracehead
= trace
.prev
;
710 void static_type___MMTypeClass___init(val_t self
, val_t param0
, int* init_table
) {
711 struct trace_t trace
= {NULL
, NULL
, 258, LOCATE_static_type___MMTypeClass___init
};
713 trace
.prev
= tracehead
; tracehead
= &trace
;
714 trace
.file
= LOCATE_static_type
;
716 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeClass
].i
]) return;
717 ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/ = variable0
/*c*/;
718 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeClass
].i
] = 1;
719 tracehead
= trace
.prev
;
722 val_t
static_type___MMTypeSimpleClass___is_supertype(val_t self
, val_t param0
) {
723 struct trace_t trace
= {NULL
, NULL
, 266, LOCATE_static_type___MMTypeSimpleClass___is_supertype
};
727 trace
.prev
= tracehead
; tracehead
= &trace
;
728 trace
.file
= LOCATE_static_type
;
730 variable1
= ((static_type___MMType___local_class_t
)CALL( variable0
/*t*/,COLOR_static_type___MMType___local_class
))( variable0
/*t*/) /*MMType::local_class*/;
731 variable1
= ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable1
,COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable1
) /*MMLocalClass::cshe*/;
732 variable2
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
733 variable1
= ((partial_order___PartialOrderElement_____leq_t
)CALL(variable1
,COLOR_partial_order___PartialOrderElement_____leq
))(variable1
, variable2
) /*PartialOrderElement::<=*/;
735 return_label24
: while(false);
736 tracehead
= trace
.prev
;
739 val_t
static_type___MMTypeSimpleClass___for_module(val_t self
, val_t param0
) {
740 struct trace_t trace
= {NULL
, NULL
, 271, LOCATE_static_type___MMTypeSimpleClass___for_module
};
744 trace
.prev
= tracehead
; tracehead
= &trace
;
745 trace
.file
= LOCATE_static_type
;
748 variable2
= ((static_type___MMTypeClass___module_t
)CALL( self
,COLOR_static_type___MMType___module
))( self
) /*MMTypeClass::module*/;
749 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::==*/)))))));
750 if (UNTAG_Bool(variable2
)) { /*if*/
751 variable2
= ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
752 variable2
= ((abstractmetamodel___MMLocalClass___for_module_t
)CALL(variable2
,COLOR_abstractmetamodel___MMLocalClass___for_module
))(variable2
, variable0
/*mod*/) /*MMLocalClass::for_module*/;
753 variable2
= ((static_type___MMLocalClass___get_type_t
)CALL(variable2
,COLOR_static_type___MMLocalClass___get_type
))(variable2
) /*MMLocalClass::get_type*/;
754 variable1
= variable2
/*t=*/;
756 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::==*/)))))));
757 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);}
758 variable1
= variable1
/*t*/;
760 return_label25
: while(false);
761 tracehead
= trace
.prev
;
764 val_t
static_type___MMTypeSimpleClass___adapt_to(val_t self
, val_t param0
) {
765 struct trace_t trace
= {NULL
, NULL
, 281, LOCATE_static_type___MMTypeSimpleClass___adapt_to
};
768 trace
.prev
= tracehead
; tracehead
= &trace
;
769 trace
.file
= LOCATE_static_type
;
773 return_label26
: while(false);
774 tracehead
= trace
.prev
;
777 void static_type___MMTypeSimpleClass___init(val_t self
, val_t param0
, int* init_table
) {
778 struct trace_t trace
= {NULL
, NULL
, 283, LOCATE_static_type___MMTypeSimpleClass___init
};
780 trace
.prev
= tracehead
; tracehead
= &trace
;
781 trace
.file
= LOCATE_static_type
;
783 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeSimpleClass
].i
]) return;
784 ((static_type___MMTypeClass___init_t
)CALL( self
,COLOR_static_type___MMTypeClass___init
))( self
, variable0
/*c*/, init_table
/*YYY*/) /*MMTypeClass::init*/;
785 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeSimpleClass
].i
] = 1;
786 tracehead
= trace
.prev
;
789 val_t
static_type___MMTypeNone___module(val_t self
) {
790 struct trace_t trace
= {NULL
, NULL
, 292, LOCATE_static_type___MMTypeNone___module
};
791 trace
.prev
= tracehead
; tracehead
= &trace
;
792 trace
.file
= LOCATE_static_type
;
793 tracehead
= trace
.prev
;
794 return ATTR_static_type___MMTypeNone____module( self
) /*MMTypeNone::_module*/;
796 val_t
static_type___MMTypeNone_____l(val_t self
, val_t param0
) {
797 struct trace_t trace
= {NULL
, NULL
, 293, LOCATE_static_type___MMTypeNone_____l
};
800 trace
.prev
= tracehead
; tracehead
= &trace
;
801 trace
.file
= LOCATE_static_type
;
803 variable1
= TAG_Bool(true);
805 return_label28
: while(false);
806 tracehead
= trace
.prev
;
809 val_t
static_type___MMTypeNone___is_supertype(val_t self
, val_t param0
) {
810 struct trace_t trace
= {NULL
, NULL
, 294, LOCATE_static_type___MMTypeNone___is_supertype
};
813 trace
.prev
= tracehead
; tracehead
= &trace
;
814 trace
.file
= LOCATE_static_type
;
816 variable1
= TAG_Bool(false);
818 return_label29
: while(false);
819 tracehead
= trace
.prev
;
822 val_t
static_type___MMTypeNone___local_class(val_t self
) {
823 struct trace_t trace
= {NULL
, NULL
, 295, LOCATE_static_type___MMTypeNone___local_class
};
825 trace
.prev
= tracehead
; tracehead
= &trace
;
826 trace
.file
= LOCATE_static_type
;
827 fprintf(stderr
, "Aborted"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeNone___local_class
, LOCATE_static_type
, 295); nit_exit(1);
828 tracehead
= trace
.prev
;
831 val_t
static_type___MMTypeNone___upcast_for(val_t self
, val_t param0
) {
832 struct trace_t trace
= {NULL
, NULL
, 296, LOCATE_static_type___MMTypeNone___upcast_for
};
835 trace
.prev
= tracehead
; tracehead
= &trace
;
836 trace
.file
= LOCATE_static_type
;
840 return_label31
: while(false);
841 tracehead
= trace
.prev
;
844 void static_type___MMTypeNone___init(val_t self
, val_t param0
, int* init_table
) {
845 struct trace_t trace
= {NULL
, NULL
, 298, LOCATE_static_type___MMTypeNone___init
};
847 trace
.prev
= tracehead
; tracehead
= &trace
;
848 trace
.file
= LOCATE_static_type
;
850 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeNone
].i
]) return;
851 ATTR_static_type___MMTypeNone____module( self
) /*MMTypeNone::_module*/ = variable0
/*m*/;
852 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeNone
].i
] = 1;
853 tracehead
= trace
.prev
;
856 val_t
static_type___MMModule___type_none(val_t self
) {
857 struct trace_t trace
= {NULL
, NULL
, 302, LOCATE_static_type___MMModule___type_none
};
858 trace
.prev
= tracehead
; tracehead
= &trace
;
859 trace
.file
= LOCATE_static_type
;
860 tracehead
= trace
.prev
;
861 return ATTR_static_type___MMModule____type_none( self
) /*MMModule::_type_none*/;