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 void **closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_static_type
;
10 variable
[2] = variable
[0];
11 variable
[2] = ATTR_static_type___MMLocalClass____base_type_cache(variable
[2]) /*MMLocalClass::_base_type_cache*/;
12 variable
[2] = TAG_Bool((variable
[2] == NIT_NULL
/*null*/) || ((variable
[2] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))(variable
[2], NIT_NULL
/*null*/) /*Object::==*/)))));
13 if (UNTAG_Bool(variable
[2])) { /*if*/
14 variable
[2] = variable
[0];
15 variable
[3] = variable
[0];
16 variable
[4] = NEW_MMTypeSimpleClass_static_type___MMTypeSimpleClass___init(variable
[3]); /*new MMTypeSimpleClass*/
17 variable
[3] = variable
[4];
18 ATTR_static_type___MMLocalClass____base_type_cache(variable
[2]) /*MMLocalClass::_base_type_cache*/ = variable
[3];
20 variable
[2] = variable
[0];
21 variable
[2] = ATTR_static_type___MMLocalClass____base_type_cache(variable
[2]) /*MMLocalClass::_base_type_cache*/;
22 variable
[1] = variable
[2];
24 return_label0
: while(false);
25 tracehead
= trace
.prev
;
28 void static_type___MMLocalClass___add_ancestor(val_t self
, val_t param0
) {
29 struct trace_t trace
= {NULL
, NULL
, 34, LOCATE_static_type___MMLocalClass___add_ancestor
};
31 void **closurevariable
= NULL
;
32 trace
.prev
= tracehead
; tracehead
= &trace
;
33 trace
.file
= LOCATE_static_type
;
36 variable
[3] = variable
[0];
37 variable
[3] = ATTR_static_type___MMLocalClass____ancestors(variable
[3]) /*MMLocalClass::_ancestors*/;
38 variable
[4] = ((static_type___MMAncestor___local_class_t
)CALL( variable
[1] /*a*/,COLOR_static_type___MMAncestor___local_class
))( variable
[1] /*a*/) /*MMAncestor::local_class*/;
39 variable
[3] = ((abstract_collection___Map___has_key_t
)CALL(variable
[3],COLOR_abstract_collection___Map___has_key
))(variable
[3], variable
[4]) /*Map::has_key*/;
40 if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[3])))) { 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);}
41 variable
[3] = ((static_type___MMAncestor___local_class_t
)CALL( variable
[1] /*a*/,COLOR_static_type___MMAncestor___local_class
))( variable
[1] /*a*/) /*MMAncestor::local_class*/;
42 variable
[4] = variable
[0];
43 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == variable
[4]) || ((variable
[3] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3],variable
[4])):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))(variable
[3], variable
[4]) /*Object::==*/)))))));
44 if (!UNTAG_Bool(variable
[3])) { 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);}
45 variable
[3] = variable
[0];
46 variable
[3] = ATTR_static_type___MMLocalClass____ancestors(variable
[3]) /*MMLocalClass::_ancestors*/;
47 variable
[4] = ((static_type___MMAncestor___local_class_t
)CALL( variable
[1] /*a*/,COLOR_static_type___MMAncestor___local_class
))( variable
[1] /*a*/) /*MMAncestor::local_class*/;
48 ((abstract_collection___Map_____braeq_t
)CALL(variable
[3],COLOR_abstract_collection___Map_____braeq
))(variable
[3], variable
[4], variable
[1] /*a*/) /*Map::[]=*/;
49 return_label1
: while(false);
50 tracehead
= trace
.prev
;
53 val_t
static_type___MMLocalClass___ancestors(val_t self
) {
54 struct trace_t trace
= {NULL
, NULL
, 42, LOCATE_static_type___MMLocalClass___ancestors
};
55 val_t
*variable
= NULL
;
56 void **closurevariable
= NULL
;
57 trace
.prev
= tracehead
; tracehead
= &trace
;
58 trace
.file
= LOCATE_static_type
;
59 tracehead
= trace
.prev
;
60 return ATTR_static_type___MMLocalClass____ancestors( self
) /*MMLocalClass::_ancestors*/;
62 val_t
static_type___MMLocalClass___ancestor(val_t self
, val_t param0
) {
63 struct trace_t trace
= {NULL
, NULL
, 45, LOCATE_static_type___MMLocalClass___ancestor
};
65 void **closurevariable
= NULL
;
66 trace
.prev
= tracehead
; tracehead
= &trace
;
67 trace
.file
= LOCATE_static_type
;
70 variable
[3] = variable
[0];
71 variable
[3] = ATTR_static_type___MMLocalClass____ancestors(variable
[3]) /*MMLocalClass::_ancestors*/;
72 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
73 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMLocalClass___ancestor
, LOCATE_static_type
, 48); nit_exit(1);}
74 variable
[3] = variable
[0];
75 variable
[3] = ATTR_static_type___MMLocalClass____ancestors(variable
[3]) /*MMLocalClass::_ancestors*/;
76 variable
[3] = ((abstract_collection___Map___has_key_t
)CALL(variable
[3],COLOR_abstract_collection___Map___has_key
))(variable
[3], variable
[1] /*c*/) /*Map::has_key*/;
77 if (UNTAG_Bool(variable
[3])) { /*if*/
78 variable
[3] = variable
[0];
79 variable
[3] = ATTR_static_type___MMLocalClass____ancestors(variable
[3]) /*MMLocalClass::_ancestors*/;
80 variable
[3] = ((abstract_collection___Map_____bra_t
)CALL(variable
[3],COLOR_abstract_collection___Map_____bra
))(variable
[3], variable
[1] /*c*/) /*Map::[]*/;
81 variable
[3] = ((static_type___MMAncestor___stype_t
)CALL(variable
[3],COLOR_static_type___MMAncestor___stype
))(variable
[3]) /*MMAncestor::stype*/;
82 variable
[2] = variable
[3];
85 variable
[2] = NIT_NULL
/*null*/;
87 return_label2
: while(false);
88 tracehead
= trace
.prev
;
91 val_t
static_type___MMLocalProperty___signature(val_t self
) {
92 struct trace_t trace
= {NULL
, NULL
, 57, LOCATE_static_type___MMLocalProperty___signature
};
93 val_t
*variable
= NULL
;
94 void **closurevariable
= NULL
;
95 trace
.prev
= tracehead
; tracehead
= &trace
;
96 trace
.file
= LOCATE_static_type
;
97 tracehead
= trace
.prev
;
98 return ATTR_static_type___MMLocalProperty____signature( self
) /*MMLocalProperty::_signature*/;
100 void static_type___MMLocalProperty___signature__eq(val_t self
, val_t param0
) {
101 struct trace_t trace
= {NULL
, NULL
, 57, LOCATE_static_type___MMLocalProperty___signature__eq
};
102 val_t
*variable
= NULL
;
103 void **closurevariable
= NULL
;
104 trace
.prev
= tracehead
; tracehead
= &trace
;
105 trace
.file
= LOCATE_static_type
;
106 ATTR_static_type___MMLocalProperty____signature( self
) /*MMLocalProperty::_signature*/ = param0
;
107 tracehead
= trace
.prev
;
110 val_t
static_type___MMLocalProperty___signature_for(val_t self
, val_t param0
) {
111 struct trace_t trace
= {NULL
, NULL
, 62, LOCATE_static_type___MMLocalProperty___signature_for
};
113 void **closurevariable
= NULL
;
114 trace
.prev
= tracehead
; tracehead
= &trace
;
115 trace
.file
= LOCATE_static_type
;
117 variable
[1] = param0
;
118 variable
[3] = variable
[0];
119 variable
[3] = ((abstractmetamodel___MMLocalProperty___local_class_t
)CALL(variable
[3],COLOR_abstractmetamodel___MMLocalProperty___local_class
))(variable
[3]) /*MMLocalProperty::local_class*/;
120 variable
[3] = ((static_type___MMLocalClass___get_type_t
)CALL(variable
[3],COLOR_static_type___MMLocalClass___get_type
))(variable
[3]) /*MMLocalClass::get_type*/;
121 variable
[3] = TAG_Bool(( variable
[1] /*t*/ == variable
[3]) || (( variable
[1] /*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[1] /*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*t*/,variable
[3])):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[1] /*t*/,COLOR_kernel___Object_____eqeq
))( variable
[1] /*t*/, variable
[3]) /*Object::==*/)))));
122 if (UNTAG_Bool(variable
[3])) { /*if*/
123 variable
[3] = variable
[0];
124 variable
[3] = ((static_type___MMLocalProperty___signature_t
)CALL(variable
[3],COLOR_static_type___MMLocalProperty___signature
))(variable
[3]) /*MMLocalProperty::signature*/;
125 variable
[2] = variable
[3];
128 variable
[3] = variable
[0];
129 variable
[3] = ATTR_static_type___MMLocalProperty____signatures_cache(variable
[3]) /*MMLocalProperty::_signatures_cache*/;
130 variable
[3] = ((abstract_collection___CoupleMap___has_key_t
)CALL(variable
[3],COLOR_abstract_collection___Map___has_key
))(variable
[3], variable
[1] /*t*/) /*CoupleMap::has_key*/;
131 if (UNTAG_Bool(variable
[3])) { /*if*/
132 variable
[3] = variable
[0];
133 variable
[3] = ATTR_static_type___MMLocalProperty____signatures_cache(variable
[3]) /*MMLocalProperty::_signatures_cache*/;
134 variable
[3] = ((abstract_collection___CoupleMap_____bra_t
)CALL(variable
[3],COLOR_abstract_collection___Map_____bra
))(variable
[3], variable
[1] /*t*/) /*CoupleMap::[]*/;
135 variable
[2] = variable
[3];
138 variable
[4] = variable
[0];
139 variable
[4] = ((static_type___MMLocalProperty___signature_t
)CALL(variable
[4],COLOR_static_type___MMLocalProperty___signature
))(variable
[4]) /*MMLocalProperty::signature*/;
140 variable
[4] = ((static_type___MMSignature___adaptation_to_t
)CALL(variable
[4],COLOR_static_type___MMSignature___adaptation_to
))(variable
[4], variable
[1] /*t*/) /*MMSignature::adaptation_to*/;
141 variable
[3] = variable
[4];
142 variable
[4] = variable
[0];
143 variable
[4] = ATTR_static_type___MMLocalProperty____signatures_cache(variable
[4]) /*MMLocalProperty::_signatures_cache*/;
144 ((hash___HashMap_____braeq_t
)CALL(variable
[4],COLOR_abstract_collection___Map_____braeq
))(variable
[4], variable
[1] /*t*/, variable
[3] /*res*/) /*HashMap::[]=*/;
145 variable
[2] = variable
[3] /*res*/;
147 return_label3
: while(false);
148 tracehead
= trace
.prev
;
151 val_t
static_type___MMSignature___to_s(val_t self
) {
152 struct trace_t trace
= {NULL
, NULL
, 123, LOCATE_static_type___MMSignature___to_s
};
154 void **closurevariable
= NULL
;
155 trace
.prev
= tracehead
; tracehead
= &trace
;
156 trace
.file
= LOCATE_static_type
;
158 /*variable[2] is variable s*/
159 variable
[3] = variable
[0];
160 variable
[3] = ATTR_static_type___MMSignature____params(variable
[3]) /*MMSignature::_params*/;
161 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
162 variable
[4] = variable
[3];
163 if (UNTAG_Bool(variable
[4])) { /* and */
164 variable
[4] = variable
[0];
165 variable
[4] = ATTR_static_type___MMSignature____params(variable
[4]) /*MMSignature::_params*/;
166 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
167 variable
[4] = TAG_Bool(UNTAG_Int(variable
[4])>UNTAG_Int( TAG_Int(0)));
169 variable
[3] = variable
[4];
170 if (UNTAG_Bool(variable
[3])) { /*if*/
171 /*variable[3] is variable tmp*/
172 variable
[5] = variable
[0];
173 variable
[5] = ATTR_static_type___MMSignature____params(variable
[5]) /*MMSignature::_params*/;
174 variable
[5] = ((array___AbstractArray___length_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___length
))(variable
[5]) /*AbstractArray::length*/;
175 variable
[6] = NEW_Array_array___Array___with_capacity(variable
[5]); /*new Array[String]*/
176 variable
[5] = variable
[6];
177 variable
[4] = variable
[5];
178 variable
[5] = variable
[0];
179 variable
[5] = ATTR_static_type___MMSignature____params(variable
[5]) /*MMSignature::_params*/;
180 variable
[5] = ((array___AbstractArray___length_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___length
))(variable
[5]) /*AbstractArray::length*/;
181 variable
[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[5]); /*new Range[Int]*/
182 variable
[5] = variable
[6];
183 variable
[5] = ((range___Range___iterator_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___iterator
))(variable
[5]) /*Range::iterator*/;
184 while (true) { /*for*/
185 variable
[6] = ((abstract_collection___Iterator___is_ok_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___is_ok
))(variable
[5]) /*Iterator::is_ok*/;
186 if (!UNTAG_Bool(variable
[6])) break; /*for*/
187 variable
[6] = ((abstract_collection___Iterator___item_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___item
))(variable
[5]) /*Iterator::item*/;
188 variable
[7] = variable
[6];
189 variable
[9] = variable
[0];
190 variable
[9] = ATTR_static_type___MMSignature____params(variable
[9]) /*MMSignature::_params*/;
191 variable
[10] = variable
[9];
192 variable
[11] = variable
[7] /*i*/;
193 variable
[13] = TAG_Bool(UNTAG_Int( variable
[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
194 variable
[14] = variable
[13];
195 if (UNTAG_Bool(variable
[14])) { /* and */
196 variable
[14] = variable
[10];
197 variable
[14] = ATTR_array___AbstractArray____length(variable
[14]) /*AbstractArray::_length*/;
198 variable
[14] = TAG_Bool(UNTAG_Int( variable
[11] /*index*/)<UNTAG_Int(variable
[14]));
200 variable
[13] = variable
[14];
201 if (!UNTAG_Bool(variable
[13])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_static_type
, 229); nit_exit(1);}
202 variable
[13] = variable
[10];
203 variable
[13] = ATTR_array___Array____items(variable
[13]) /*Array::_items*/;
204 variable
[13] = UNBOX_NativeArray(variable
[13])[UNTAG_Int( variable
[11] /*index*/)];
205 variable
[12] = variable
[13];
207 return_label6
: while(false);
208 variable
[9] = variable
[12];
209 variable
[8] = variable
[9];
210 variable
[9] = ((string___Object___to_s_t
)CALL( variable
[8] /*p*/,COLOR_string___Object___to_s
))( variable
[8] /*p*/) /*Object::to_s*/;
211 ((array___AbstractArray___add_t
)CALL( variable
[4] /*a*/,COLOR_abstract_collection___SimpleCollection___add
))( variable
[4] /*a*/, variable
[9]) /*AbstractArray::add*/;
212 continue_5
: while(0);
213 ((abstract_collection___Iterator___next_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___next
))(variable
[5]) /*Iterator::next*/;
216 variable
[5] = NEW_String_string___String___init(); /*new String*/
217 variable
[6] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
218 variable
[7] = variable
[6];
219 ((string___String___append_t
)CALL(variable
[5],COLOR_abstract_collection___IndexedCollection___append
))(variable
[5], variable
[7]) /*String::append*/;
220 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
221 variable
[8] = ((string___Collection___join_t
)CALL( variable
[4] /*a*/,COLOR_string___Collection___join
))( variable
[4] /*a*/, variable
[8]) /*Collection::join*/;
222 variable
[9] = variable
[8];
223 ((string___String___append_t
)CALL(variable
[5],COLOR_abstract_collection___IndexedCollection___append
))(variable
[5], variable
[9]) /*String::append*/;
224 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
225 variable
[11] = variable
[10];
226 ((string___String___append_t
)CALL(variable
[5],COLOR_abstract_collection___IndexedCollection___append
))(variable
[5], variable
[11]) /*String::append*/;
227 variable
[2] = variable
[5] /*s=*/;
229 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
230 variable
[2] = variable
[3] /*s=*/;
232 variable
[3] = variable
[0];
233 variable
[3] = ATTR_static_type___MMSignature____return_type(variable
[3]) /*MMSignature::_return_type*/;
234 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
235 if (UNTAG_Bool(variable
[3])) { /*if*/
236 variable
[3] = NEW_String_string___String___init(); /*new String*/
237 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
238 variable
[5] = variable
[4];
239 ((string___String___append_t
)CALL(variable
[3],COLOR_abstract_collection___IndexedCollection___append
))(variable
[3], variable
[5]) /*String::append*/;
240 variable
[6] = variable
[0];
241 variable
[6] = ATTR_static_type___MMSignature____return_type(variable
[6]) /*MMSignature::_return_type*/;
242 variable
[7] = variable
[6];
243 variable
[7] = ((string___String___to_s_t
)CALL(variable
[7],COLOR_string___Object___to_s
))(variable
[7]) /*String::to_s*/;
244 ((string___String___append_t
)CALL(variable
[3],COLOR_abstract_collection___IndexedCollection___append
))(variable
[3], variable
[7]) /*String::append*/;
245 variable
[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
246 variable
[9] = variable
[8];
247 ((string___String___append_t
)CALL(variable
[3],COLOR_abstract_collection___IndexedCollection___append
))(variable
[3], variable
[9]) /*String::append*/;
248 ((string___String___append_t
)CALL( variable
[2] /*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[2] /*s*/, variable
[3]) /*String::append*/;
250 variable
[1] = variable
[2] /*s*/;
252 return_label4
: while(false);
253 tracehead
= trace
.prev
;
256 val_t
static_type___MMSignature___recv(val_t self
) {
257 struct trace_t trace
= {NULL
, NULL
, 76, LOCATE_static_type___MMSignature___recv
};
258 val_t
*variable
= NULL
;
259 void **closurevariable
= NULL
;
260 trace
.prev
= tracehead
; tracehead
= &trace
;
261 trace
.file
= LOCATE_static_type
;
262 tracehead
= trace
.prev
;
263 return ATTR_static_type___MMSignature____recv( self
) /*MMSignature::_recv*/;
265 val_t
static_type___MMSignature___return_type(val_t self
) {
266 struct trace_t trace
= {NULL
, NULL
, 82, LOCATE_static_type___MMSignature___return_type
};
267 val_t
*variable
= NULL
;
268 void **closurevariable
= NULL
;
269 trace
.prev
= tracehead
; tracehead
= &trace
;
270 trace
.file
= LOCATE_static_type
;
271 tracehead
= trace
.prev
;
272 return ATTR_static_type___MMSignature____return_type( self
) /*MMSignature::_return_type*/;
274 val_t
static_type___MMSignature___closures(val_t self
) {
275 struct trace_t trace
= {NULL
, NULL
, 85, LOCATE_static_type___MMSignature___closures
};
276 val_t
*variable
= NULL
;
277 void **closurevariable
= NULL
;
278 trace
.prev
= tracehead
; tracehead
= &trace
;
279 trace
.file
= LOCATE_static_type
;
280 tracehead
= trace
.prev
;
281 return ATTR_static_type___MMSignature____closures( self
) /*MMSignature::_closures*/;
283 val_t
static_type___MMSignature___arity(val_t self
) {
284 struct trace_t trace
= {NULL
, NULL
, 88, LOCATE_static_type___MMSignature___arity
};
286 void **closurevariable
= NULL
;
287 trace
.prev
= tracehead
; tracehead
= &trace
;
288 trace
.file
= LOCATE_static_type
;
290 variable
[2] = variable
[0];
291 variable
[2] = ATTR_static_type___MMSignature____params(variable
[2]) /*MMSignature::_params*/;
292 variable
[2] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[2] == NIT_NULL
/*null*/) || ((variable
[2] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))(variable
[2], NIT_NULL
/*null*/) /*Object::==*/)))))));
293 if (!UNTAG_Bool(variable
[2])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature___arity
, LOCATE_static_type
, 91); nit_exit(1);}
294 variable
[2] = variable
[0];
295 variable
[2] = ATTR_static_type___MMSignature____params(variable
[2]) /*MMSignature::_params*/;
296 variable
[2] = ((array___AbstractArray___length_t
)CALL(variable
[2],COLOR_abstract_collection___Collection___length
))(variable
[2]) /*AbstractArray::length*/;
297 variable
[1] = variable
[2];
299 return_label7
: while(false);
300 tracehead
= trace
.prev
;
303 val_t
static_type___MMSignature_____l(val_t self
, val_t param0
) {
304 struct trace_t trace
= {NULL
, NULL
, 95, LOCATE_static_type___MMSignature_____l
};
306 void **closurevariable
= NULL
;
307 trace
.prev
= tracehead
; tracehead
= &trace
;
308 trace
.file
= LOCATE_static_type
;
310 variable
[1] = param0
;
311 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*s*/ == NIT_NULL
/*null*/) || (( variable
[1] /*s*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[1] /*s*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*s*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[1] /*s*/,COLOR_kernel___Object_____eqeq
))( variable
[1] /*s*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
312 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature_____l
, LOCATE_static_type
, 98); nit_exit(1);}
313 variable
[3] = variable
[0];
314 variable
[3] = TAG_Bool((variable
[3] == variable
[1] /*s*/) || ((variable
[3] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], variable
[1] /*s*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))(variable
[3], variable
[1] /*s*/) /*Object::==*/)))));
315 if (UNTAG_Bool(variable
[3])) { /*if*/
316 variable
[2] = TAG_Bool(true);
319 variable
[3] = variable
[0];
320 variable
[3] = ATTR_static_type___MMSignature____recv(variable
[3]) /*MMSignature::_recv*/;
321 variable
[3] = ((static_type___MMType___module_t
)CALL(variable
[3],COLOR_static_type___MMType___module
))(variable
[3]) /*MMType::module*/;
322 variable
[4] = ((static_type___MMSignature___recv_t
)CALL( variable
[1] /*s*/,COLOR_static_type___MMSignature___recv
))( variable
[1] /*s*/) /*MMSignature::recv*/;
323 variable
[4] = ((static_type___MMType___module_t
)CALL(variable
[4],COLOR_static_type___MMType___module
))(variable
[4]) /*MMType::module*/;
324 variable
[3] = TAG_Bool((variable
[3] == variable
[4]) || ((variable
[3] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3],variable
[4])):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))(variable
[3], variable
[4]) /*Object::==*/)))));
325 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature_____l
, LOCATE_static_type
, 102); nit_exit(1);}
326 variable
[3] = variable
[0];
327 variable
[3] = ((static_type___MMSignature___arity_t
)CALL(variable
[3],COLOR_static_type___MMSignature___arity
))(variable
[3]) /*MMSignature::arity*/;
328 variable
[4] = ((static_type___MMSignature___arity_t
)CALL( variable
[1] /*s*/,COLOR_static_type___MMSignature___arity
))( variable
[1] /*s*/) /*MMSignature::arity*/;
329 variable
[3] = TAG_Bool((variable
[3])!=(variable
[4]));
330 variable
[4] = variable
[3];
331 if (!UNTAG_Bool(variable
[4])) { /* or */
332 variable
[4] = variable
[0];
333 variable
[4] = ATTR_static_type___MMSignature____return_type(variable
[4]) /*MMSignature::_return_type*/;
334 variable
[4] = TAG_Bool((variable
[4] == NIT_NULL
/*null*/) || ((variable
[4] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[4],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[4],COLOR_kernel___Object_____eqeq
))(variable
[4], NIT_NULL
/*null*/) /*Object::==*/)))));
335 variable
[5] = ((static_type___MMSignature___return_type_t
)CALL( variable
[1] /*s*/,COLOR_static_type___MMSignature___return_type
))( variable
[1] /*s*/) /*MMSignature::return_type*/;
336 variable
[5] = TAG_Bool((variable
[5] == NIT_NULL
/*null*/) || ((variable
[5] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[5],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[5], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[5],COLOR_kernel___Object_____eqeq
))(variable
[5], NIT_NULL
/*null*/) /*Object::==*/)))));
337 variable
[4] = TAG_Bool((variable
[4])!=(variable
[5]));
339 variable
[3] = variable
[4];
340 if (UNTAG_Bool(variable
[3])) { /*if*/
341 variable
[2] = TAG_Bool(false);
344 variable
[3] = variable
[0];
345 variable
[3] = ATTR_static_type___MMSignature____return_type(variable
[3]) /*MMSignature::_return_type*/;
346 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
347 variable
[4] = variable
[3];
348 if (UNTAG_Bool(variable
[4])) { /* and */
349 variable
[4] = variable
[0];
350 variable
[4] = ATTR_static_type___MMSignature____return_type(variable
[4]) /*MMSignature::_return_type*/;
351 variable
[5] = ((static_type___MMSignature___return_type_t
)CALL( variable
[1] /*s*/,COLOR_static_type___MMSignature___return_type
))( variable
[1] /*s*/) /*MMSignature::return_type*/;
352 variable
[4] = ((static_type___MMType_____l_t
)CALL(variable
[4],COLOR_static_type___MMType_____l
))(variable
[4], variable
[5]) /*MMType::<*/;
353 variable
[4] = TAG_Bool(!UNTAG_Bool(variable
[4]));
355 variable
[3] = variable
[4];
356 if (UNTAG_Bool(variable
[3])) { /*if*/
357 variable
[2] = TAG_Bool(false);
360 variable
[3] = variable
[0];
361 variable
[3] = ((static_type___MMSignature___arity_t
)CALL(variable
[3],COLOR_static_type___MMSignature___arity
))(variable
[3]) /*MMSignature::arity*/;
362 variable
[4] = NEW_Range_range___Range___without_last( TAG_Int(0), variable
[3]); /*new Range[Int]*/
363 variable
[3] = variable
[4];
364 variable
[3] = ((range___Range___iterator_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___iterator
))(variable
[3]) /*Range::iterator*/;
365 while (true) { /*for*/
366 variable
[4] = ((abstract_collection___Iterator___is_ok_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___is_ok
))(variable
[3]) /*Iterator::is_ok*/;
367 if (!UNTAG_Bool(variable
[4])) break; /*for*/
368 variable
[4] = ((abstract_collection___Iterator___item_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___item
))(variable
[3]) /*Iterator::item*/;
369 variable
[5] = variable
[4];
370 variable
[6] = ((static_type___MMSignature_____bra_t
)CALL( variable
[1] /*s*/,COLOR_static_type___MMSignature_____bra
))( variable
[1] /*s*/, variable
[5] /*i*/) /*MMSignature::[]*/;
371 variable
[7] = variable
[0];
372 variable
[7] = ((static_type___MMSignature_____bra_t
)CALL(variable
[7],COLOR_static_type___MMSignature_____bra
))(variable
[7], variable
[5] /*i*/) /*MMSignature::[]*/;
373 variable
[6] = ((static_type___MMType_____l_t
)CALL(variable
[6],COLOR_static_type___MMType_____l
))(variable
[6], variable
[7]) /*MMType::<*/;
374 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable
[6])))) { /*if*/
375 variable
[2] = TAG_Bool(false);
378 continue_9
: while(0);
379 ((abstract_collection___Iterator___next_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___next
))(variable
[3]) /*Iterator::next*/;
382 variable
[2] = TAG_Bool(true);
384 return_label8
: while(false);
385 tracehead
= trace
.prev
;
388 val_t
static_type___MMSignature_____bra(val_t self
, val_t param0
) {
389 struct trace_t trace
= {NULL
, NULL
, 116, LOCATE_static_type___MMSignature_____bra
};
391 void **closurevariable
= NULL
;
392 trace
.prev
= tracehead
; tracehead
= &trace
;
393 trace
.file
= LOCATE_static_type
;
395 variable
[1] = param0
;
396 variable
[3] = variable
[0];
397 variable
[3] = ATTR_static_type___MMSignature____params(variable
[3]) /*MMSignature::_params*/;
398 variable
[3] = ((array___AbstractArray___length_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___length
))(variable
[3]) /*AbstractArray::length*/;
399 variable
[3] = TAG_Bool(UNTAG_Int(variable
[3])>UNTAG_Int( variable
[1] /*i*/));
400 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature_____bra
, LOCATE_static_type
, 119); nit_exit(1);}
401 variable
[3] = variable
[0];
402 variable
[3] = ATTR_static_type___MMSignature____params(variable
[3]) /*MMSignature::_params*/;
403 variable
[4] = variable
[3];
404 variable
[5] = variable
[1] /*i*/;
405 variable
[7] = TAG_Bool(UNTAG_Int( variable
[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
406 variable
[8] = variable
[7];
407 if (UNTAG_Bool(variable
[8])) { /* and */
408 variable
[8] = variable
[4];
409 variable
[8] = ATTR_array___AbstractArray____length(variable
[8]) /*AbstractArray::_length*/;
410 variable
[8] = TAG_Bool(UNTAG_Int( variable
[5] /*index*/)<UNTAG_Int(variable
[8]));
412 variable
[7] = variable
[8];
413 if (!UNTAG_Bool(variable
[7])) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_static_type
, 229); nit_exit(1);}
414 variable
[7] = variable
[4];
415 variable
[7] = ATTR_array___Array____items(variable
[7]) /*Array::_items*/;
416 variable
[7] = UNBOX_NativeArray(variable
[7])[UNTAG_Int( variable
[5] /*index*/)];
417 variable
[6] = variable
[7];
419 return_label11
: while(false);
420 variable
[3] = variable
[6];
421 variable
[2] = variable
[3];
423 return_label10
: while(false);
424 tracehead
= trace
.prev
;
427 val_t
static_type___MMSignature___adaptation_to(val_t self
, val_t param0
) {
428 struct trace_t trace
= {NULL
, NULL
, 145, LOCATE_static_type___MMSignature___adaptation_to
};
430 void **closurevariable
= NULL
;
431 trace
.prev
= tracehead
; tracehead
= &trace
;
432 trace
.file
= LOCATE_static_type
;
434 variable
[1] = param0
;
435 variable
[3] = variable
[0];
436 variable
[3] = ATTR_static_type___MMSignature____recv(variable
[3]) /*MMSignature::_recv*/;
437 variable
[3] = TAG_Bool((variable
[3] == variable
[1] /*r*/) || ((variable
[3] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], variable
[1] /*r*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))(variable
[3], variable
[1] /*r*/) /*Object::==*/)))));
438 if (UNTAG_Bool(variable
[3])) { /*if*/
439 variable
[3] = variable
[0];
440 variable
[2] = variable
[3];
443 variable
[4] = ((static_type___MMType___module_t
)CALL( variable
[1] /*r*/,COLOR_static_type___MMType___module
))( variable
[1] /*r*/) /*MMType::module*/;
444 variable
[3] = variable
[4];
445 variable
[5] = variable
[0];
446 variable
[5] = ATTR_static_type___MMSignature____params(variable
[5]) /*MMSignature::_params*/;
447 variable
[4] = variable
[5];
448 variable
[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[4] /*p*/ == NIT_NULL
/*null*/) || (( variable
[4] /*p*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[4] /*p*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[4] /*p*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[4] /*p*/,COLOR_kernel___Object_____eqeq
))( variable
[4] /*p*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
449 if (UNTAG_Bool(variable
[5])) { /*if*/
450 variable
[5] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
451 variable
[4] = variable
[5] /*p=*/;
452 variable
[5] = variable
[0];
453 variable
[5] = ATTR_static_type___MMSignature____params(variable
[5]) /*MMSignature::_params*/;
454 variable
[5] = ((array___AbstractArray___iterator_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___iterator
))(variable
[5]) /*AbstractArray::iterator*/;
455 while (true) { /*for*/
456 variable
[6] = ((array___ArrayIterator___is_ok_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___is_ok
))(variable
[5]) /*ArrayIterator::is_ok*/;
457 if (!UNTAG_Bool(variable
[6])) break; /*for*/
458 variable
[6] = ((array___ArrayIterator___item_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___item
))(variable
[5]) /*ArrayIterator::item*/;
459 variable
[7] = variable
[6];
460 variable
[8] = ((static_type___MMType___for_module_t
)CALL( variable
[7] /*i*/,COLOR_static_type___MMType___for_module
))( variable
[7] /*i*/, variable
[3] /*mod*/) /*MMType::for_module*/;
461 variable
[8] = ((static_type___MMType___adapt_to_t
)CALL(variable
[8],COLOR_static_type___MMType___adapt_to
))(variable
[8], variable
[1] /*r*/) /*MMType::adapt_to*/;
462 ((array___AbstractArray___add_t
)CALL( variable
[4] /*p*/,COLOR_abstract_collection___SimpleCollection___add
))( variable
[4] /*p*/, variable
[8]) /*AbstractArray::add*/;
463 continue_13
: while(0);
464 ((array___ArrayIterator___next_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___next
))(variable
[5]) /*ArrayIterator::next*/;
468 variable
[6] = variable
[0];
469 variable
[6] = ATTR_static_type___MMSignature____return_type(variable
[6]) /*MMSignature::_return_type*/;
470 variable
[5] = variable
[6];
471 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[5] /*rv*/ == NIT_NULL
/*null*/) || (( variable
[5] /*rv*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[5] /*rv*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[5] /*rv*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[5] /*rv*/,COLOR_kernel___Object_____eqeq
))( variable
[5] /*rv*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
472 if (UNTAG_Bool(variable
[6])) { /*if*/
473 variable
[6] = ((static_type___MMType___for_module_t
)CALL( variable
[5] /*rv*/,COLOR_static_type___MMType___for_module
))( variable
[5] /*rv*/, variable
[3] /*mod*/) /*MMType::for_module*/;
474 variable
[6] = ((static_type___MMType___adapt_to_t
)CALL(variable
[6],COLOR_static_type___MMType___adapt_to
))(variable
[6], variable
[1] /*r*/) /*MMType::adapt_to*/;
475 variable
[5] = variable
[6] /*rv=*/;
477 variable
[7] = NEW_MMSignature_static_type___MMSignature___init( variable
[4] /*p*/, variable
[5] /*rv*/, variable
[1] /*r*/); /*new MMSignature*/
478 variable
[6] = variable
[7];
479 variable
[7] = variable
[0];
480 variable
[7] = ATTR_static_type___MMSignature____closures(variable
[7]) /*MMSignature::_closures*/;
481 variable
[7] = ((array___AbstractArray___iterator_t
)CALL(variable
[7],COLOR_abstract_collection___Collection___iterator
))(variable
[7]) /*AbstractArray::iterator*/;
482 while (true) { /*for*/
483 variable
[8] = ((array___ArrayIterator___is_ok_t
)CALL(variable
[7],COLOR_abstract_collection___Iterator___is_ok
))(variable
[7]) /*ArrayIterator::is_ok*/;
484 if (!UNTAG_Bool(variable
[8])) break; /*for*/
485 variable
[8] = ((array___ArrayIterator___item_t
)CALL(variable
[7],COLOR_abstract_collection___Iterator___item
))(variable
[7]) /*ArrayIterator::item*/;
486 variable
[9] = variable
[8];
487 variable
[10] = ((static_type___MMSignature___closures_t
)CALL( variable
[6] /*res*/,COLOR_static_type___MMSignature___closures
))( variable
[6] /*res*/) /*MMSignature::closures*/;
488 variable
[11] = ((static_type___MMClosure___adaptation_to_t
)CALL( variable
[9] /*clos*/,COLOR_static_type___MMClosure___adaptation_to
))( variable
[9] /*clos*/, variable
[1] /*r*/) /*MMClosure::adaptation_to*/;
489 ((array___AbstractArray___add_t
)CALL(variable
[10],COLOR_abstract_collection___SimpleCollection___add
))(variable
[10], variable
[11]) /*AbstractArray::add*/;
490 continue_14
: while(0);
491 ((array___ArrayIterator___next_t
)CALL(variable
[7],COLOR_abstract_collection___Iterator___next
))(variable
[7]) /*ArrayIterator::next*/;
494 variable
[2] = variable
[6] /*res*/;
496 return_label12
: while(false);
497 tracehead
= trace
.prev
;
500 val_t
static_type___MMSignature___not_for_self(val_t self
) {
501 struct trace_t trace
= {NULL
, NULL
, 172, LOCATE_static_type___MMSignature___not_for_self
};
503 void **closurevariable
= NULL
;
504 trace
.prev
= tracehead
; tracehead
= &trace
;
505 trace
.file
= LOCATE_static_type
;
507 variable
[3] = variable
[0];
508 variable
[3] = ATTR_static_type___MMSignature____not_for_self_cache(variable
[3]) /*MMSignature::_not_for_self_cache*/;
509 variable
[2] = variable
[3];
510 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[2] /*res*/ == NIT_NULL
/*null*/) || (( variable
[2] /*res*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[2] /*res*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[2] /*res*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[2] /*res*/,COLOR_kernel___Object_____eqeq
))( variable
[2] /*res*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
511 if (UNTAG_Bool(variable
[3])) { /*if*/
512 variable
[1] = variable
[2] /*res*/;
515 variable
[3] = TAG_Bool(false);
516 variable
[5] = variable
[0];
517 variable
[5] = ATTR_static_type___MMSignature____params(variable
[5]) /*MMSignature::_params*/;
518 variable
[4] = variable
[5];
519 variable
[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[4] /*p*/ == NIT_NULL
/*null*/) || (( variable
[4] /*p*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[4] /*p*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[4] /*p*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[4] /*p*/,COLOR_kernel___Object_____eqeq
))( variable
[4] /*p*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
520 if (UNTAG_Bool(variable
[5])) { /*if*/
521 variable
[5] = NEW_Array_array___Array___init(); /*new Array[MMType]*/
522 variable
[4] = variable
[5] /*p=*/;
523 variable
[5] = variable
[0];
524 variable
[5] = ATTR_static_type___MMSignature____params(variable
[5]) /*MMSignature::_params*/;
525 variable
[5] = ((array___AbstractArray___iterator_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___iterator
))(variable
[5]) /*AbstractArray::iterator*/;
526 while (true) { /*for*/
527 variable
[6] = ((array___ArrayIterator___is_ok_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___is_ok
))(variable
[5]) /*ArrayIterator::is_ok*/;
528 if (!UNTAG_Bool(variable
[6])) break; /*for*/
529 variable
[6] = ((array___ArrayIterator___item_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___item
))(variable
[5]) /*ArrayIterator::item*/;
530 variable
[7] = variable
[6];
531 variable
[9] = ((static_type___MMType___not_for_self_t
)CALL( variable
[7] /*i*/,COLOR_static_type___MMType___not_for_self
))( variable
[7] /*i*/) /*MMType::not_for_self*/;
532 variable
[8] = variable
[9];
533 variable
[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[7] /*i*/ == variable
[8] /*i2*/) || (( variable
[7] /*i*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[7] /*i*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[7] /*i*/, variable
[8] /*i2*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[7] /*i*/,COLOR_kernel___Object_____eqeq
))( variable
[7] /*i*/, variable
[8] /*i2*/) /*Object::==*/)))))));
534 if (UNTAG_Bool(variable
[9])) { /*if*/
535 variable
[3] = TAG_Bool(true) /*need_for_self=*/;
537 ((array___AbstractArray___add_t
)CALL( variable
[4] /*p*/,COLOR_abstract_collection___SimpleCollection___add
))( variable
[4] /*p*/, variable
[8] /*i2*/) /*AbstractArray::add*/;
538 continue_16
: while(0);
539 ((array___ArrayIterator___next_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___next
))(variable
[5]) /*ArrayIterator::next*/;
543 variable
[6] = variable
[0];
544 variable
[6] = ATTR_static_type___MMSignature____return_type(variable
[6]) /*MMSignature::_return_type*/;
545 variable
[5] = variable
[6];
546 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[5] /*rv*/ == NIT_NULL
/*null*/) || (( variable
[5] /*rv*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[5] /*rv*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[5] /*rv*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[5] /*rv*/,COLOR_kernel___Object_____eqeq
))( variable
[5] /*rv*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
547 if (UNTAG_Bool(variable
[6])) { /*if*/
548 variable
[6] = ((static_type___MMType___not_for_self_t
)CALL( variable
[5] /*rv*/,COLOR_static_type___MMType___not_for_self
))( variable
[5] /*rv*/) /*MMType::not_for_self*/;
549 variable
[5] = variable
[6] /*rv=*/;
550 variable
[6] = variable
[0];
551 variable
[6] = ATTR_static_type___MMSignature____return_type(variable
[6]) /*MMSignature::_return_type*/;
552 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[5] /*rv*/ == variable
[6]) || (( variable
[5] /*rv*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[5] /*rv*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[5] /*rv*/,variable
[6])):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[5] /*rv*/,COLOR_kernel___Object_____eqeq
))( variable
[5] /*rv*/, variable
[6]) /*Object::==*/)))))));
553 if (UNTAG_Bool(variable
[6])) { /*if*/
554 variable
[3] = TAG_Bool(true) /*need_for_self=*/;
557 variable
[7] = variable
[0];
558 variable
[7] = ATTR_static_type___MMSignature____closures(variable
[7]) /*MMSignature::_closures*/;
559 variable
[6] = variable
[7];
560 variable
[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[6] /*clos*/ == NIT_NULL
/*null*/) || (( variable
[6] /*clos*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[6] /*clos*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[6] /*clos*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[6] /*clos*/,COLOR_kernel___Object_____eqeq
))( variable
[6] /*clos*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
561 if (UNTAG_Bool(variable
[7])) { /*if*/
562 variable
[7] = NEW_Array_array___Array___init(); /*new Array[MMClosure]*/
563 variable
[6] = variable
[7] /*clos=*/;
564 variable
[7] = variable
[0];
565 variable
[7] = ATTR_static_type___MMSignature____closures(variable
[7]) /*MMSignature::_closures*/;
566 variable
[7] = ((array___AbstractArray___iterator_t
)CALL(variable
[7],COLOR_abstract_collection___Collection___iterator
))(variable
[7]) /*AbstractArray::iterator*/;
567 while (true) { /*for*/
568 variable
[8] = ((array___ArrayIterator___is_ok_t
)CALL(variable
[7],COLOR_abstract_collection___Iterator___is_ok
))(variable
[7]) /*ArrayIterator::is_ok*/;
569 if (!UNTAG_Bool(variable
[8])) break; /*for*/
570 variable
[8] = ((array___ArrayIterator___item_t
)CALL(variable
[7],COLOR_abstract_collection___Iterator___item
))(variable
[7]) /*ArrayIterator::item*/;
571 variable
[9] = variable
[8];
572 variable
[11] = ((static_type___MMClosure___not_for_self_t
)CALL( variable
[9] /*c*/,COLOR_static_type___MMClosure___not_for_self
))( variable
[9] /*c*/) /*MMClosure::not_for_self*/;
573 variable
[10] = variable
[11];
574 variable
[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[10] /*c2*/ == variable
[9] /*c*/) || (( variable
[10] /*c2*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[10] /*c2*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[10] /*c2*/, variable
[9] /*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[10] /*c2*/,COLOR_kernel___Object_____eqeq
))( variable
[10] /*c2*/, variable
[9] /*c*/) /*Object::==*/)))))));
575 if (UNTAG_Bool(variable
[11])) { /*if*/
576 variable
[3] = TAG_Bool(true) /*need_for_self=*/;
578 ((array___AbstractArray___add_t
)CALL( variable
[6] /*clos*/,COLOR_abstract_collection___SimpleCollection___add
))( variable
[6] /*clos*/, variable
[10] /*c2*/) /*AbstractArray::add*/;
579 continue_17
: while(0);
580 ((array___ArrayIterator___next_t
)CALL(variable
[7],COLOR_abstract_collection___Iterator___next
))(variable
[7]) /*ArrayIterator::next*/;
584 if (UNTAG_Bool( variable
[3] /*need_for_self*/)) { /*if*/
585 variable
[7] = variable
[0];
586 variable
[7] = ATTR_static_type___MMSignature____recv(variable
[7]) /*MMSignature::_recv*/;
587 variable
[8] = NEW_MMSignature_static_type___MMSignature___init( variable
[4] /*p*/, variable
[5] /*rv*/, variable
[7]); /*new MMSignature*/
588 variable
[7] = variable
[8];
589 variable
[2] = variable
[7] /*res=*/;
590 variable
[7] = ((static_type___MMSignature___closures_t
)CALL( variable
[2] /*res*/,COLOR_static_type___MMSignature___closures
))( variable
[2] /*res*/) /*MMSignature::closures*/;
591 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable
[7],COLOR_abstract_collection___SimpleCollection___add_all
))(variable
[7], variable
[6] /*clos*/) /*SimpleCollection::add_all*/;
593 variable
[7] = variable
[0];
594 variable
[2] = variable
[7] /*res=*/;
596 variable
[7] = variable
[0];
597 ATTR_static_type___MMSignature____not_for_self_cache(variable
[7]) /*MMSignature::_not_for_self_cache*/ = variable
[2] /*res*/;
598 variable
[1] = variable
[2] /*res*/;
600 return_label15
: while(false);
601 tracehead
= trace
.prev
;
604 void static_type___MMSignature___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
605 struct trace_t trace
= {NULL
, NULL
, 217, LOCATE_static_type___MMSignature___init
};
607 void **closurevariable
= NULL
;
608 trace
.prev
= tracehead
; tracehead
= &trace
;
609 trace
.file
= LOCATE_static_type
;
611 variable
[1] = param0
;
612 variable
[2] = param1
;
613 variable
[3] = param2
;
614 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMSignature
].i
]) return;
615 variable
[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*params*/ == NIT_NULL
/*null*/) || (( variable
[1] /*params*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[1] /*params*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*params*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[1] /*params*/,COLOR_kernel___Object_____eqeq
))( variable
[1] /*params*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
616 if (!UNTAG_Bool(variable
[5])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMSignature___init
, LOCATE_static_type
, 219); nit_exit(1);}
617 variable
[5] = variable
[0];
618 ATTR_static_type___MMSignature____params(variable
[5]) /*MMSignature::_params*/ = variable
[1] /*params*/;
619 variable
[5] = variable
[0];
620 ATTR_static_type___MMSignature____return_type(variable
[5]) /*MMSignature::_return_type*/ = variable
[2] /*return_type*/;
621 variable
[5] = variable
[0];
622 ATTR_static_type___MMSignature____recv(variable
[5]) /*MMSignature::_recv*/ = variable
[3] /*r*/;
623 return_label18
: while(false);
624 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMSignature
].i
] = 1;
625 tracehead
= trace
.prev
;
628 val_t
static_type___MMClosure___signature(val_t self
) {
629 struct trace_t trace
= {NULL
, NULL
, 228, LOCATE_static_type___MMClosure___signature
};
630 val_t
*variable
= NULL
;
631 void **closurevariable
= NULL
;
632 trace
.prev
= tracehead
; tracehead
= &trace
;
633 trace
.file
= LOCATE_static_type
;
634 tracehead
= trace
.prev
;
635 return ATTR_static_type___MMClosure____signature( self
) /*MMClosure::_signature*/;
637 val_t
static_type___MMClosure___is_break(val_t self
) {
638 struct trace_t trace
= {NULL
, NULL
, 231, LOCATE_static_type___MMClosure___is_break
};
639 val_t
*variable
= NULL
;
640 void **closurevariable
= NULL
;
641 trace
.prev
= tracehead
; tracehead
= &trace
;
642 trace
.file
= LOCATE_static_type
;
643 tracehead
= trace
.prev
;
644 return ATTR_static_type___MMClosure____is_break( self
) /*MMClosure::_is_break*/;
646 val_t
static_type___MMClosure___adaptation_to(val_t self
, val_t param0
) {
647 struct trace_t trace
= {NULL
, NULL
, 235, LOCATE_static_type___MMClosure___adaptation_to
};
649 void **closurevariable
= NULL
;
650 trace
.prev
= tracehead
; tracehead
= &trace
;
651 trace
.file
= LOCATE_static_type
;
653 variable
[1] = param0
;
654 variable
[3] = variable
[0];
655 variable
[3] = ATTR_static_type___MMClosure____signature(variable
[3]) /*MMClosure::_signature*/;
656 variable
[3] = ((static_type___MMSignature___adaptation_to_t
)CALL(variable
[3],COLOR_static_type___MMSignature___adaptation_to
))(variable
[3], variable
[1] /*r*/) /*MMSignature::adaptation_to*/;
657 variable
[4] = variable
[0];
658 variable
[4] = ATTR_static_type___MMClosure____is_break(variable
[4]) /*MMClosure::_is_break*/;
659 variable
[5] = NEW_MMClosure_static_type___MMClosure___init(variable
[3], variable
[4]); /*new MMClosure*/
660 variable
[3] = variable
[5];
661 variable
[2] = variable
[3];
663 return_label19
: while(false);
664 tracehead
= trace
.prev
;
667 void static_type___MMClosure___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
668 struct trace_t trace
= {NULL
, NULL
, 241, LOCATE_static_type___MMClosure___init
};
670 void **closurevariable
= NULL
;
671 trace
.prev
= tracehead
; tracehead
= &trace
;
672 trace
.file
= LOCATE_static_type
;
674 variable
[1] = param0
;
675 variable
[2] = param1
;
676 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMClosure
].i
]) return;
677 variable
[4] = variable
[0];
678 ATTR_static_type___MMClosure____signature(variable
[4]) /*MMClosure::_signature*/ = variable
[1] /*s*/;
679 variable
[4] = variable
[0];
680 ATTR_static_type___MMClosure____is_break(variable
[4]) /*MMClosure::_is_break*/ = variable
[2] /*is_break*/;
681 return_label20
: while(false);
682 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMClosure
].i
] = 1;
683 tracehead
= trace
.prev
;
686 val_t
static_type___MMClosure___not_for_self(val_t self
) {
687 struct trace_t trace
= {NULL
, NULL
, 247, LOCATE_static_type___MMClosure___not_for_self
};
689 void **closurevariable
= NULL
;
690 trace
.prev
= tracehead
; tracehead
= &trace
;
691 trace
.file
= LOCATE_static_type
;
693 variable
[3] = variable
[0];
694 variable
[3] = ATTR_static_type___MMClosure____signature(variable
[3]) /*MMClosure::_signature*/;
695 variable
[3] = ((static_type___MMSignature___not_for_self_t
)CALL(variable
[3],COLOR_static_type___MMSignature___not_for_self
))(variable
[3]) /*MMSignature::not_for_self*/;
696 variable
[2] = variable
[3];
697 variable
[3] = variable
[0];
698 variable
[3] = ATTR_static_type___MMClosure____signature(variable
[3]) /*MMClosure::_signature*/;
699 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[2] /*sig*/ == variable
[3]) || (( variable
[2] /*sig*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[2] /*sig*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[2] /*sig*/,variable
[3])):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[2] /*sig*/,COLOR_kernel___Object_____eqeq
))( variable
[2] /*sig*/, variable
[3]) /*Object::==*/)))))));
700 if (UNTAG_Bool(variable
[3])) { /*if*/
701 variable
[3] = variable
[0];
702 variable
[3] = ATTR_static_type___MMClosure____is_break(variable
[3]) /*MMClosure::_is_break*/;
703 variable
[4] = NEW_MMClosure_static_type___MMClosure___init( variable
[2] /*sig*/, variable
[3]); /*new MMClosure*/
704 variable
[3] = variable
[4];
705 variable
[1] = variable
[3];
708 variable
[3] = variable
[0];
709 variable
[1] = variable
[3];
712 return_label21
: while(false);
713 tracehead
= trace
.prev
;
716 val_t
static_type___MMAncestor___to_s(val_t self
) {
717 struct trace_t trace
= {NULL
, NULL
, 277, LOCATE_static_type___MMAncestor___to_s
};
719 void **closurevariable
= NULL
;
720 trace
.prev
= tracehead
; tracehead
= &trace
;
721 trace
.file
= LOCATE_static_type
;
723 variable
[2] = variable
[0];
724 variable
[2] = ((static_type___MMAncestor___stype_t
)CALL(variable
[2],COLOR_static_type___MMAncestor___stype
))(variable
[2]) /*MMAncestor::stype*/;
725 variable
[2] = TAG_Bool((variable
[2] == NIT_NULL
/*null*/) || ((variable
[2] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))(variable
[2], NIT_NULL
/*null*/) /*Object::==*/)))));
726 if (UNTAG_Bool(variable
[2])) { /*if*/
727 variable
[2] = variable
[0];
728 variable
[2] = ((static_type___MMAncestor___local_class_t
)CALL(variable
[2],COLOR_static_type___MMAncestor___local_class
))(variable
[2]) /*MMAncestor::local_class*/;
729 variable
[2] = ((abstractmetamodel___MMLocalClass___to_s_t
)CALL(variable
[2],COLOR_string___Object___to_s
))(variable
[2]) /*MMLocalClass::to_s*/;
730 variable
[1] = variable
[2];
733 variable
[2] = variable
[0];
734 variable
[2] = ((static_type___MMAncestor___stype_t
)CALL(variable
[2],COLOR_static_type___MMAncestor___stype
))(variable
[2]) /*MMAncestor::stype*/;
735 variable
[2] = ((string___Object___to_s_t
)CALL(variable
[2],COLOR_string___Object___to_s
))(variable
[2]) /*Object::to_s*/;
736 variable
[1] = variable
[2];
739 return_label22
: while(false);
740 tracehead
= trace
.prev
;
743 val_t
static_type___MMAncestor___stype(val_t self
) {
744 struct trace_t trace
= {NULL
, NULL
, 260, LOCATE_static_type___MMAncestor___stype
};
745 val_t
*variable
= NULL
;
746 void **closurevariable
= NULL
;
747 trace
.prev
= tracehead
; tracehead
= &trace
;
748 trace
.file
= LOCATE_static_type
;
749 tracehead
= trace
.prev
;
750 return ATTR_static_type___MMAncestor____stype( self
) /*MMAncestor::_stype*/;
752 void static_type___MMAncestor___stype__eq(val_t self
, val_t param0
) {
753 struct trace_t trace
= {NULL
, NULL
, 260, LOCATE_static_type___MMAncestor___stype__eq
};
754 val_t
*variable
= NULL
;
755 void **closurevariable
= NULL
;
756 trace
.prev
= tracehead
; tracehead
= &trace
;
757 trace
.file
= LOCATE_static_type
;
758 ATTR_static_type___MMAncestor____stype( self
) /*MMAncestor::_stype*/ = param0
;
759 tracehead
= trace
.prev
;
762 val_t
static_type___MMAncestor___inheriter(val_t self
) {
763 struct trace_t trace
= {NULL
, NULL
, 263, LOCATE_static_type___MMAncestor___inheriter
};
764 val_t
*variable
= NULL
;
765 void **closurevariable
= NULL
;
766 trace
.prev
= tracehead
; tracehead
= &trace
;
767 trace
.file
= LOCATE_static_type
;
768 tracehead
= trace
.prev
;
769 return ATTR_static_type___MMAncestor____inheriter( self
) /*MMAncestor::_inheriter*/;
771 void static_type___MMAncestor___inheriter__eq(val_t self
, val_t param0
) {
772 struct trace_t trace
= {NULL
, NULL
, 263, LOCATE_static_type___MMAncestor___inheriter__eq
};
773 val_t
*variable
= NULL
;
774 void **closurevariable
= NULL
;
775 trace
.prev
= tracehead
; tracehead
= &trace
;
776 trace
.file
= LOCATE_static_type
;
777 ATTR_static_type___MMAncestor____inheriter( self
) /*MMAncestor::_inheriter*/ = param0
;
778 tracehead
= trace
.prev
;
781 val_t
static_type___MMAncestor___is_reffinement(val_t self
) {
782 struct trace_t trace
= {NULL
, NULL
, 266, LOCATE_static_type___MMAncestor___is_reffinement
};
784 void **closurevariable
= NULL
;
785 trace
.prev
= tracehead
; tracehead
= &trace
;
786 trace
.file
= LOCATE_static_type
;
788 variable
[2] = variable
[0];
789 variable
[2] = ((static_type___MMAncestor___stype_t
)CALL(variable
[2],COLOR_static_type___MMAncestor___stype
))(variable
[2]) /*MMAncestor::stype*/;
790 variable
[2] = ((static_type___MMType___module_t
)CALL(variable
[2],COLOR_static_type___MMType___module
))(variable
[2]) /*MMType::module*/;
791 variable
[3] = variable
[0];
792 variable
[3] = ((static_type___MMAncestor___stype_t
)CALL(variable
[3],COLOR_static_type___MMAncestor___stype
))(variable
[3]) /*MMAncestor::stype*/;
793 variable
[3] = ((static_type___MMType___module_t
)CALL(variable
[3],COLOR_static_type___MMType___module
))(variable
[3]) /*MMType::module*/;
794 variable
[2] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[2] == variable
[3]) || ((variable
[2] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2],variable
[3])):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))(variable
[2], variable
[3]) /*Object::==*/)))))));
795 variable
[1] = variable
[2];
797 return_label23
: while(false);
798 tracehead
= trace
.prev
;
801 val_t
static_type___MMAncestor___is_specialisation(val_t self
) {
802 struct trace_t trace
= {NULL
, NULL
, 270, LOCATE_static_type___MMAncestor___is_specialisation
};
804 void **closurevariable
= NULL
;
805 trace
.prev
= tracehead
; tracehead
= &trace
;
806 trace
.file
= LOCATE_static_type
;
808 variable
[2] = variable
[0];
809 variable
[2] = ((static_type___MMAncestor___stype_t
)CALL(variable
[2],COLOR_static_type___MMAncestor___stype
))(variable
[2]) /*MMAncestor::stype*/;
810 variable
[2] = ((static_type___MMType___local_class_t
)CALL(variable
[2],COLOR_static_type___MMType___local_class
))(variable
[2]) /*MMType::local_class*/;
811 variable
[2] = ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable
[2],COLOR_abstractmetamodel___MMLocalClass___global
))(variable
[2]) /*MMLocalClass::global*/;
812 variable
[3] = variable
[0];
813 variable
[3] = ((static_type___MMAncestor___inheriter_t
)CALL(variable
[3],COLOR_static_type___MMAncestor___inheriter
))(variable
[3]) /*MMAncestor::inheriter*/;
814 variable
[3] = ((static_type___MMType___local_class_t
)CALL(variable
[3],COLOR_static_type___MMType___local_class
))(variable
[3]) /*MMType::local_class*/;
815 variable
[3] = ((abstractmetamodel___MMLocalClass___global_t
)CALL(variable
[3],COLOR_abstractmetamodel___MMLocalClass___global
))(variable
[3]) /*MMLocalClass::global*/;
816 variable
[2] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[2] == variable
[3]) || ((variable
[2] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2],variable
[3])):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))(variable
[2], variable
[3]) /*Object::==*/)))))));
817 variable
[1] = variable
[2];
819 return_label24
: while(false);
820 tracehead
= trace
.prev
;
823 val_t
static_type___MMAncestor___local_class(val_t self
) {
824 struct trace_t trace
= {NULL
, NULL
, 274, LOCATE_static_type___MMAncestor___local_class
};
825 val_t
*variable
= NULL
;
826 void **closurevariable
= NULL
;
827 trace
.prev
= tracehead
; tracehead
= &trace
;
828 trace
.file
= LOCATE_static_type
;
829 fprintf(stderr
, "Deferred method called");
830 fprintf(stderr
, " (%s:%d)\n", LOCATE_static_type
, 274);
832 tracehead
= trace
.prev
;
835 void static_type___MMAncestor___init(val_t self
, int* init_table
) {
836 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_static_type___MMAncestor___init
};
837 val_t
*variable
= NULL
;
838 void **closurevariable
= NULL
;
839 trace
.prev
= tracehead
; tracehead
= &trace
;
840 trace
.file
= LOCATE_static_type
;
841 tracehead
= trace
.prev
;
844 val_t
static_type___MMType___module(val_t self
) {
845 struct trace_t trace
= {NULL
, NULL
, 290, LOCATE_static_type___MMType___module
};
846 val_t
*variable
= NULL
;
847 void **closurevariable
= NULL
;
848 trace
.prev
= tracehead
; tracehead
= &trace
;
849 trace
.file
= LOCATE_static_type
;
850 fprintf(stderr
, "Deferred method called");
851 fprintf(stderr
, " (%s:%d)\n", LOCATE_static_type
, 290);
853 tracehead
= trace
.prev
;
856 val_t
static_type___MMType___local_class(val_t self
) {
857 struct trace_t trace
= {NULL
, NULL
, 293, LOCATE_static_type___MMType___local_class
};
858 val_t
*variable
= NULL
;
859 void **closurevariable
= NULL
;
860 trace
.prev
= tracehead
; tracehead
= &trace
;
861 trace
.file
= LOCATE_static_type
;
862 fprintf(stderr
, "Deferred method called");
863 fprintf(stderr
, " (%s:%d)\n", LOCATE_static_type
, 293);
865 tracehead
= trace
.prev
;
868 val_t
static_type___MMType_____l(val_t self
, val_t param0
) {
869 struct trace_t trace
= {NULL
, NULL
, 296, LOCATE_static_type___MMType_____l
};
870 val_t
*variable
= NULL
;
871 void **closurevariable
= NULL
;
872 trace
.prev
= tracehead
; tracehead
= &trace
;
873 trace
.file
= LOCATE_static_type
;
874 fprintf(stderr
, "Deferred method called");
875 fprintf(stderr
, " (%s:%d)\n", LOCATE_static_type
, 296);
877 tracehead
= trace
.prev
;
880 val_t
static_type___MMType___is_supertype(val_t self
, val_t param0
) {
881 struct trace_t trace
= {NULL
, NULL
, 299, LOCATE_static_type___MMType___is_supertype
};
882 val_t
*variable
= NULL
;
883 void **closurevariable
= NULL
;
884 trace
.prev
= tracehead
; tracehead
= &trace
;
885 trace
.file
= LOCATE_static_type
;
886 fprintf(stderr
, "Deferred method called");
887 fprintf(stderr
, " (%s:%d)\n", LOCATE_static_type
, 299);
889 tracehead
= trace
.prev
;
892 val_t
static_type___MMType___for_module(val_t self
, val_t param0
) {
893 struct trace_t trace
= {NULL
, NULL
, 304, LOCATE_static_type___MMType___for_module
};
894 val_t
*variable
= NULL
;
895 void **closurevariable
= NULL
;
896 trace
.prev
= tracehead
; tracehead
= &trace
;
897 trace
.file
= LOCATE_static_type
;
898 fprintf(stderr
, "Deferred method called");
899 fprintf(stderr
, " (%s:%d)\n", LOCATE_static_type
, 304);
901 tracehead
= trace
.prev
;
904 val_t
static_type___MMType___adapt_to(val_t self
, val_t param0
) {
905 struct trace_t trace
= {NULL
, NULL
, 307, LOCATE_static_type___MMType___adapt_to
};
906 val_t
*variable
= NULL
;
907 void **closurevariable
= NULL
;
908 trace
.prev
= tracehead
; tracehead
= &trace
;
909 trace
.file
= LOCATE_static_type
;
910 fprintf(stderr
, "Deferred method called");
911 fprintf(stderr
, " (%s:%d)\n", LOCATE_static_type
, 307);
913 tracehead
= trace
.prev
;
916 val_t
static_type___MMType___upcast_for(val_t self
, val_t param0
) {
917 struct trace_t trace
= {NULL
, NULL
, 311, LOCATE_static_type___MMType___upcast_for
};
918 val_t
*variable
= NULL
;
919 void **closurevariable
= NULL
;
920 trace
.prev
= tracehead
; tracehead
= &trace
;
921 trace
.file
= LOCATE_static_type
;
922 fprintf(stderr
, "Deferred method called");
923 fprintf(stderr
, " (%s:%d)\n", LOCATE_static_type
, 311);
925 tracehead
= trace
.prev
;
928 val_t
static_type___MMType___not_for_self(val_t self
) {
929 struct trace_t trace
= {NULL
, NULL
, 315, LOCATE_static_type___MMType___not_for_self
};
931 void **closurevariable
= NULL
;
932 trace
.prev
= tracehead
; tracehead
= &trace
;
933 trace
.file
= LOCATE_static_type
;
935 variable
[2] = variable
[0];
936 variable
[1] = variable
[2];
938 return_label25
: while(false);
939 tracehead
= trace
.prev
;
942 void static_type___MMType___init(val_t self
, int* init_table
) {
943 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_static_type___MMType___init
};
944 val_t
*variable
= NULL
;
945 void **closurevariable
= NULL
;
946 trace
.prev
= tracehead
; tracehead
= &trace
;
947 trace
.file
= LOCATE_static_type
;
948 tracehead
= trace
.prev
;
951 val_t
static_type___MMTypeClass___to_s(val_t self
) {
952 struct trace_t trace
= {NULL
, NULL
, 326, LOCATE_static_type___MMTypeClass___to_s
};
954 void **closurevariable
= NULL
;
955 trace
.prev
= tracehead
; tracehead
= &trace
;
956 trace
.file
= LOCATE_static_type
;
958 variable
[2] = variable
[0];
959 variable
[2] = ATTR_static_type___MMTypeClass____local_class(variable
[2]) /*MMTypeClass::_local_class*/;
960 variable
[2] = ((abstractmetamodel___MMLocalClass___to_s_t
)CALL(variable
[2],COLOR_string___Object___to_s
))(variable
[2]) /*MMLocalClass::to_s*/;
961 variable
[1] = variable
[2];
963 return_label26
: while(false);
964 tracehead
= trace
.prev
;
967 val_t
static_type___MMTypeClass___module(val_t self
) {
968 struct trace_t trace
= {NULL
, NULL
, 323, LOCATE_static_type___MMTypeClass___module
};
970 void **closurevariable
= NULL
;
971 trace
.prev
= tracehead
; tracehead
= &trace
;
972 trace
.file
= LOCATE_static_type
;
974 variable
[2] = variable
[0];
975 variable
[2] = ATTR_static_type___MMTypeClass____local_class(variable
[2]) /*MMTypeClass::_local_class*/;
976 variable
[2] = ((abstractmetamodel___MMLocalClass___module_t
)CALL(variable
[2],COLOR_abstractmetamodel___MMLocalClass___module
))(variable
[2]) /*MMLocalClass::module*/;
977 variable
[1] = variable
[2];
979 return_label27
: while(false);
980 tracehead
= trace
.prev
;
983 val_t
static_type___MMTypeClass___local_class(val_t self
) {
984 struct trace_t trace
= {NULL
, NULL
, 322, LOCATE_static_type___MMTypeClass___local_class
};
985 val_t
*variable
= NULL
;
986 void **closurevariable
= NULL
;
987 trace
.prev
= tracehead
; tracehead
= &trace
;
988 trace
.file
= LOCATE_static_type
;
989 tracehead
= trace
.prev
;
990 return ATTR_static_type___MMTypeClass____local_class( self
) /*MMTypeClass::_local_class*/;
992 val_t
static_type___MMTypeClass_____l(val_t self
, val_t param0
) {
993 struct trace_t trace
= {NULL
, NULL
, 324, LOCATE_static_type___MMTypeClass_____l
};
995 void **closurevariable
= NULL
;
996 trace
.prev
= tracehead
; tracehead
= &trace
;
997 trace
.file
= LOCATE_static_type
;
999 variable
[1] = param0
;
1000 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*t*/ == NIT_NULL
/*null*/) || (( variable
[1] /*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[1] /*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[1] /*t*/,COLOR_kernel___Object_____eqeq
))( variable
[1] /*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1001 variable
[4] = variable
[3];
1002 if (UNTAG_Bool(variable
[4])) { /* and */
1003 variable
[4] = variable
[0];
1004 variable
[4] = ((static_type___MMType___is_supertype_t
)CALL( variable
[1] /*t*/,COLOR_static_type___MMType___is_supertype
))( variable
[1] /*t*/, variable
[4]) /*MMType::is_supertype*/;
1006 variable
[3] = variable
[4];
1007 variable
[2] = variable
[3];
1008 goto return_label28
;
1009 return_label28
: while(false);
1010 tracehead
= trace
.prev
;
1013 val_t
static_type___MMTypeClass___upcast_for(val_t self
, val_t param0
) {
1014 struct trace_t trace
= {NULL
, NULL
, 331, LOCATE_static_type___MMTypeClass___upcast_for
};
1016 void **closurevariable
= NULL
;
1017 trace
.prev
= tracehead
; tracehead
= &trace
;
1018 trace
.file
= LOCATE_static_type
;
1020 variable
[1] = param0
;
1021 variable
[3] = variable
[0];
1022 variable
[3] = ATTR_static_type___MMTypeClass____local_class(variable
[3]) /*MMTypeClass::_local_class*/;
1023 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[3] == NIT_NULL
/*null*/) || ((variable
[3] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[3], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[3],COLOR_kernel___Object_____eqeq
))(variable
[3], NIT_NULL
/*null*/) /*Object::==*/)))))));
1024 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeClass___upcast_for
, LOCATE_static_type
, 333); nit_exit(1);}
1025 variable
[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[1] /*c*/ == NIT_NULL
/*null*/) || (( variable
[1] /*c*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[1] /*c*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[1] /*c*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[1] /*c*/,COLOR_kernel___Object_____eqeq
))( variable
[1] /*c*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1026 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeClass___upcast_for
, LOCATE_static_type
, 334); nit_exit(1);}
1027 variable
[4] = variable
[0];
1028 variable
[3] = variable
[4];
1029 variable
[4] = variable
[0];
1030 variable
[4] = ATTR_static_type___MMTypeClass____local_class(variable
[4]) /*MMTypeClass::_local_class*/;
1031 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[4] == variable
[1] /*c*/) || ((variable
[4] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[4],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], variable
[1] /*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[4],COLOR_kernel___Object_____eqeq
))(variable
[4], variable
[1] /*c*/) /*Object::==*/)))))));
1032 if (UNTAG_Bool(variable
[4])) { /*if*/
1033 variable
[4] = variable
[0];
1034 variable
[4] = ATTR_static_type___MMTypeClass____local_class(variable
[4]) /*MMTypeClass::_local_class*/;
1035 variable
[4] = ((static_type___MMLocalClass___ancestor_t
)CALL(variable
[4],COLOR_static_type___MMLocalClass___ancestor
))(variable
[4], variable
[1] /*c*/) /*MMLocalClass::ancestor*/;
1036 variable
[3] = variable
[4] /*t=*/;
1038 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[3] /*t*/ == NIT_NULL
/*null*/) || (( variable
[3] /*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[3] /*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[3] /*t*/,COLOR_kernel___Object_____eqeq
))( variable
[3] /*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1039 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeClass___upcast_for
, LOCATE_static_type
, 340); nit_exit(1);}
1040 variable
[2] = variable
[3] /*t*/;
1041 goto return_label29
;
1042 return_label29
: while(false);
1043 tracehead
= trace
.prev
;
1046 void static_type___MMTypeClass___init(val_t self
, val_t param0
, int* init_table
) {
1047 struct trace_t trace
= {NULL
, NULL
, 344, LOCATE_static_type___MMTypeClass___init
};
1049 void **closurevariable
= NULL
;
1050 trace
.prev
= tracehead
; tracehead
= &trace
;
1051 trace
.file
= LOCATE_static_type
;
1053 variable
[1] = param0
;
1054 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeClass
].i
]) return;
1055 variable
[3] = variable
[0];
1056 ATTR_static_type___MMTypeClass____local_class(variable
[3]) /*MMTypeClass::_local_class*/ = variable
[1] /*c*/;
1057 return_label30
: while(false);
1058 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeClass
].i
] = 1;
1059 tracehead
= trace
.prev
;
1062 val_t
static_type___MMTypeSimpleClass___is_supertype(val_t self
, val_t param0
) {
1063 struct trace_t trace
= {NULL
, NULL
, 352, LOCATE_static_type___MMTypeSimpleClass___is_supertype
};
1065 void **closurevariable
= NULL
;
1066 trace
.prev
= tracehead
; tracehead
= &trace
;
1067 trace
.file
= LOCATE_static_type
;
1069 variable
[1] = param0
;
1070 variable
[3] = ((static_type___MMType___local_class_t
)CALL( variable
[1] /*t*/,COLOR_static_type___MMType___local_class
))( variable
[1] /*t*/) /*MMType::local_class*/;
1071 variable
[3] = ((abstractmetamodel___MMLocalClass___cshe_t
)CALL(variable
[3],COLOR_abstractmetamodel___MMLocalClass___cshe
))(variable
[3]) /*MMLocalClass::cshe*/;
1072 variable
[4] = variable
[0];
1073 variable
[4] = ATTR_static_type___MMTypeClass____local_class(variable
[4]) /*MMTypeClass::_local_class*/;
1074 variable
[3] = ((partial_order___PartialOrderElement_____leq_t
)CALL(variable
[3],COLOR_partial_order___PartialOrderElement_____leq
))(variable
[3], variable
[4]) /*PartialOrderElement::<=*/;
1075 variable
[2] = variable
[3];
1076 goto return_label31
;
1077 return_label31
: while(false);
1078 tracehead
= trace
.prev
;
1081 val_t
static_type___MMTypeSimpleClass___for_module(val_t self
, val_t param0
) {
1082 struct trace_t trace
= {NULL
, NULL
, 357, LOCATE_static_type___MMTypeSimpleClass___for_module
};
1084 void **closurevariable
= NULL
;
1085 trace
.prev
= tracehead
; tracehead
= &trace
;
1086 trace
.file
= LOCATE_static_type
;
1088 variable
[1] = param0
;
1089 variable
[4] = variable
[0];
1090 variable
[3] = variable
[4];
1091 variable
[4] = variable
[0];
1092 variable
[4] = ((static_type___MMTypeClass___module_t
)CALL(variable
[4],COLOR_static_type___MMType___module
))(variable
[4]) /*MMTypeClass::module*/;
1093 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable
[4] == variable
[1] /*mod*/) || ((variable
[4] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[4],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[4], variable
[1] /*mod*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[4],COLOR_kernel___Object_____eqeq
))(variable
[4], variable
[1] /*mod*/) /*Object::==*/)))))));
1094 if (UNTAG_Bool(variable
[4])) { /*if*/
1095 variable
[4] = variable
[0];
1096 variable
[4] = ATTR_static_type___MMTypeClass____local_class(variable
[4]) /*MMTypeClass::_local_class*/;
1097 variable
[4] = ((abstractmetamodel___MMLocalClass___for_module_t
)CALL(variable
[4],COLOR_abstractmetamodel___MMLocalClass___for_module
))(variable
[4], variable
[1] /*mod*/) /*MMLocalClass::for_module*/;
1098 variable
[4] = ((static_type___MMLocalClass___get_type_t
)CALL(variable
[4],COLOR_static_type___MMLocalClass___get_type
))(variable
[4]) /*MMLocalClass::get_type*/;
1099 variable
[3] = variable
[4] /*t=*/;
1101 variable
[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[3] /*t*/ == NIT_NULL
/*null*/) || (( variable
[3] /*t*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[3] /*t*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[3] /*t*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[3] /*t*/,COLOR_kernel___Object_____eqeq
))( variable
[3] /*t*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1102 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeSimpleClass___for_module
, LOCATE_static_type
, 363); nit_exit(1);}
1103 variable
[2] = variable
[3] /*t*/;
1104 goto return_label32
;
1105 return_label32
: while(false);
1106 tracehead
= trace
.prev
;
1109 val_t
static_type___MMTypeSimpleClass___adapt_to(val_t self
, val_t param0
) {
1110 struct trace_t trace
= {NULL
, NULL
, 367, LOCATE_static_type___MMTypeSimpleClass___adapt_to
};
1112 void **closurevariable
= NULL
;
1113 trace
.prev
= tracehead
; tracehead
= &trace
;
1114 trace
.file
= LOCATE_static_type
;
1116 variable
[1] = param0
;
1117 variable
[3] = variable
[0];
1118 variable
[2] = variable
[3];
1119 goto return_label33
;
1120 return_label33
: while(false);
1121 tracehead
= trace
.prev
;
1124 void static_type___MMTypeSimpleClass___init(val_t self
, val_t param0
, int* init_table
) {
1125 struct trace_t trace
= {NULL
, NULL
, 369, LOCATE_static_type___MMTypeSimpleClass___init
};
1127 void **closurevariable
= NULL
;
1128 trace
.prev
= tracehead
; tracehead
= &trace
;
1129 trace
.file
= LOCATE_static_type
;
1131 variable
[1] = param0
;
1132 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeSimpleClass
].i
]) return;
1133 ((static_type___MMTypeClass___init_t
)CALL(variable
[0],COLOR_static_type___MMTypeClass___init
))(variable
[0], variable
[1] /*c*/, init_table
/*YYY*/) /*MMTypeClass::init*/;
1134 return_label34
: while(false);
1135 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeSimpleClass
].i
] = 1;
1136 tracehead
= trace
.prev
;
1139 val_t
static_type___MMTypeNone___module(val_t self
) {
1140 struct trace_t trace
= {NULL
, NULL
, 378, LOCATE_static_type___MMTypeNone___module
};
1141 val_t
*variable
= NULL
;
1142 void **closurevariable
= NULL
;
1143 trace
.prev
= tracehead
; tracehead
= &trace
;
1144 trace
.file
= LOCATE_static_type
;
1145 tracehead
= trace
.prev
;
1146 return ATTR_static_type___MMTypeNone____module( self
) /*MMTypeNone::_module*/;
1148 val_t
static_type___MMTypeNone___local_class(val_t self
) {
1149 struct trace_t trace
= {NULL
, NULL
, 381, LOCATE_static_type___MMTypeNone___local_class
};
1151 void **closurevariable
= NULL
;
1152 trace
.prev
= tracehead
; tracehead
= &trace
;
1153 trace
.file
= LOCATE_static_type
;
1155 fprintf(stderr
, "Aborted"); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_static_type___MMTypeNone___local_class
, LOCATE_static_type
, 381); nit_exit(1);
1156 return_label35
: while(false);
1157 tracehead
= trace
.prev
;
1160 val_t
static_type___MMTypeNone_____l(val_t self
, val_t param0
) {
1161 struct trace_t trace
= {NULL
, NULL
, 379, LOCATE_static_type___MMTypeNone_____l
};
1163 void **closurevariable
= NULL
;
1164 trace
.prev
= tracehead
; tracehead
= &trace
;
1165 trace
.file
= LOCATE_static_type
;
1167 variable
[1] = param0
;
1168 variable
[2] = TAG_Bool(true);
1169 goto return_label36
;
1170 return_label36
: while(false);
1171 tracehead
= trace
.prev
;
1174 val_t
static_type___MMTypeNone___is_supertype(val_t self
, val_t param0
) {
1175 struct trace_t trace
= {NULL
, NULL
, 380, LOCATE_static_type___MMTypeNone___is_supertype
};
1177 void **closurevariable
= NULL
;
1178 trace
.prev
= tracehead
; tracehead
= &trace
;
1179 trace
.file
= LOCATE_static_type
;
1181 variable
[1] = param0
;
1182 variable
[2] = TAG_Bool(false);
1183 goto return_label37
;
1184 return_label37
: while(false);
1185 tracehead
= trace
.prev
;
1188 val_t
static_type___MMTypeNone___upcast_for(val_t self
, val_t param0
) {
1189 struct trace_t trace
= {NULL
, NULL
, 382, LOCATE_static_type___MMTypeNone___upcast_for
};
1191 void **closurevariable
= NULL
;
1192 trace
.prev
= tracehead
; tracehead
= &trace
;
1193 trace
.file
= LOCATE_static_type
;
1195 variable
[1] = param0
;
1196 variable
[3] = variable
[0];
1197 variable
[2] = variable
[3];
1198 goto return_label38
;
1199 return_label38
: while(false);
1200 tracehead
= trace
.prev
;
1203 void static_type___MMTypeNone___init(val_t self
, val_t param0
, int* init_table
) {
1204 struct trace_t trace
= {NULL
, NULL
, 384, LOCATE_static_type___MMTypeNone___init
};
1206 void **closurevariable
= NULL
;
1207 trace
.prev
= tracehead
; tracehead
= &trace
;
1208 trace
.file
= LOCATE_static_type
;
1210 variable
[1] = param0
;
1211 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeNone
].i
]) return;
1212 variable
[3] = variable
[0];
1213 ATTR_static_type___MMTypeNone____module(variable
[3]) /*MMTypeNone::_module*/ = variable
[1] /*m*/;
1214 return_label39
: while(false);
1215 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_MMTypeNone
].i
] = 1;
1216 tracehead
= trace
.prev
;
1219 val_t
static_type___MMModule___type_none(val_t self
) {
1220 struct trace_t trace
= {NULL
, NULL
, 388, LOCATE_static_type___MMModule___type_none
};
1221 val_t
*variable
= NULL
;
1222 void **closurevariable
= NULL
;
1223 trace
.prev
= tracehead
; tracehead
= &trace
;
1224 trace
.file
= LOCATE_static_type
;
1225 tracehead
= trace
.prev
;
1226 return ATTR_static_type___MMModule____type_none( self
) /*MMModule::_type_none*/;