Update c_src.
[nit.git] / c_src / static_type._sep.c
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};
5 val_t variable[5];
6 void **closurevariable = NULL;
7 trace.prev = tracehead; tracehead = &trace;
8 trace.file = LOCATE_static_type;
9 variable[0] = self;
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];
19 }
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];
23 goto return_label0;
24 return_label0: while(false);
25 tracehead = trace.prev;
26 return variable[1];
27 }
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};
30 val_t variable[5];
31 void **closurevariable = NULL;
32 trace.prev = tracehead; tracehead = &trace;
33 trace.file = LOCATE_static_type;
34 variable[0] = self;
35 variable[1] = param0;
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;
51 return;
52 }
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*/;
61 }
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};
64 val_t variable[4];
65 void **closurevariable = NULL;
66 trace.prev = tracehead; tracehead = &trace;
67 trace.file = LOCATE_static_type;
68 variable[0] = self;
69 variable[1] = param0;
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];
83 goto return_label2;
84 }
85 variable[2] = NIT_NULL /*null*/;
86 goto return_label2;
87 return_label2: while(false);
88 tracehead = trace.prev;
89 return variable[2];
90 }
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*/;
99 }
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;
108 return;
109 }
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};
112 val_t variable[5];
113 void **closurevariable = NULL;
114 trace.prev = tracehead; tracehead = &trace;
115 trace.file = LOCATE_static_type;
116 variable[0] = self;
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];
126 goto return_label3;
127 }
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];
136 goto return_label3;
137 }
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*/;
146 goto return_label3;
147 return_label3: while(false);
148 tracehead = trace.prev;
149 return variable[2];
150 }
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};
153 val_t variable[15];
154 void **closurevariable = NULL;
155 trace.prev = tracehead; tracehead = &trace;
156 trace.file = LOCATE_static_type;
157 variable[0] = self;
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)));
168 }
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]));
199 }
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];
206 goto return_label6;
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*/;
214 }
215 break_5: while(0);
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=*/;
228 } else { /*if*/
229 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
230 variable[2] = variable[3] /*s=*/;
231 }
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*/;
249 }
250 variable[1] = variable[2] /*s*/;
251 goto return_label4;
252 return_label4: while(false);
253 tracehead = trace.prev;
254 return variable[1];
255 }
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*/;
264 }
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*/;
273 }
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*/;
282 }
283 val_t static_type___MMSignature___arity(val_t self) {
284 struct trace_t trace = {NULL, NULL, 88, LOCATE_static_type___MMSignature___arity};
285 val_t variable[3];
286 void **closurevariable = NULL;
287 trace.prev = tracehead; tracehead = &trace;
288 trace.file = LOCATE_static_type;
289 variable[0] = self;
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];
298 goto return_label7;
299 return_label7: while(false);
300 tracehead = trace.prev;
301 return variable[1];
302 }
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};
305 val_t variable[8];
306 void **closurevariable = NULL;
307 trace.prev = tracehead; tracehead = &trace;
308 trace.file = LOCATE_static_type;
309 variable[0] = self;
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);
317 goto return_label8;
318 }
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]));
338 }
339 variable[3] = variable[4];
340 if (UNTAG_Bool(variable[3])) { /*if*/
341 variable[2] = TAG_Bool(false);
342 goto return_label8;
343 }
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]));
354 }
355 variable[3] = variable[4];
356 if (UNTAG_Bool(variable[3])) { /*if*/
357 variable[2] = TAG_Bool(false);
358 goto return_label8;
359 }
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);
376 goto return_label8;
377 }
378 continue_9: while(0);
379 ((abstract_collection___Iterator___next_t)CALL(variable[3],COLOR_abstract_collection___Iterator___next))(variable[3]) /*Iterator::next*/;
380 }
381 break_9: while(0);
382 variable[2] = TAG_Bool(true);
383 goto return_label8;
384 return_label8: while(false);
385 tracehead = trace.prev;
386 return variable[2];
387 }
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};
390 val_t variable[9];
391 void **closurevariable = NULL;
392 trace.prev = tracehead; tracehead = &trace;
393 trace.file = LOCATE_static_type;
394 variable[0] = self;
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]));
411 }
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];
418 goto return_label11;
419 return_label11: while(false);
420 variable[3] = variable[6];
421 variable[2] = variable[3];
422 goto return_label10;
423 return_label10: while(false);
424 tracehead = trace.prev;
425 return variable[2];
426 }
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};
429 val_t variable[12];
430 void **closurevariable = NULL;
431 trace.prev = tracehead; tracehead = &trace;
432 trace.file = LOCATE_static_type;
433 variable[0] = self;
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];
441 goto return_label12;
442 }
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*/;
465 }
466 break_13: while(0);
467 }
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=*/;
476 }
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*/;
492 }
493 break_14: while(0);
494 variable[2] = variable[6] /*res*/;
495 goto return_label12;
496 return_label12: while(false);
497 tracehead = trace.prev;
498 return variable[2];
499 }
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};
502 val_t variable[12];
503 void **closurevariable = NULL;
504 trace.prev = tracehead; tracehead = &trace;
505 trace.file = LOCATE_static_type;
506 variable[0] = self;
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*/;
513 goto return_label15;
514 }
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=*/;
536 }
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*/;
540 }
541 break_16: while(0);
542 }
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=*/;
555 }
556 }
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=*/;
577 }
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*/;
581 }
582 break_17: while(0);
583 }
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*/;
592 } else { /*if*/
593 variable[7] = variable[0];
594 variable[2] = variable[7] /*res=*/;
595 }
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*/;
599 goto return_label15;
600 return_label15: while(false);
601 tracehead = trace.prev;
602 return variable[1];
603 }
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};
606 val_t variable[6];
607 void **closurevariable = NULL;
608 trace.prev = tracehead; tracehead = &trace;
609 trace.file = LOCATE_static_type;
610 variable[0] = self;
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;
626 return;
627 }
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*/;
636 }
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*/;
645 }
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};
648 val_t variable[6];
649 void **closurevariable = NULL;
650 trace.prev = tracehead; tracehead = &trace;
651 trace.file = LOCATE_static_type;
652 variable[0] = self;
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];
662 goto return_label19;
663 return_label19: while(false);
664 tracehead = trace.prev;
665 return variable[2];
666 }
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};
669 val_t variable[5];
670 void **closurevariable = NULL;
671 trace.prev = tracehead; tracehead = &trace;
672 trace.file = LOCATE_static_type;
673 variable[0] = self;
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;
684 return;
685 }
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};
688 val_t variable[5];
689 void **closurevariable = NULL;
690 trace.prev = tracehead; tracehead = &trace;
691 trace.file = LOCATE_static_type;
692 variable[0] = self;
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];
706 goto return_label21;
707 } else { /*if*/
708 variable[3] = variable[0];
709 variable[1] = variable[3];
710 goto return_label21;
711 }
712 return_label21: while(false);
713 tracehead = trace.prev;
714 return variable[1];
715 }
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};
718 val_t variable[3];
719 void **closurevariable = NULL;
720 trace.prev = tracehead; tracehead = &trace;
721 trace.file = LOCATE_static_type;
722 variable[0] = self;
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];
731 goto return_label22;
732 } else { /*if*/
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];
737 goto return_label22;
738 }
739 return_label22: while(false);
740 tracehead = trace.prev;
741 return variable[1];
742 }
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*/;
751 }
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;
760 return;
761 }
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*/;
770 }
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;
779 return;
780 }
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};
783 val_t variable[4];
784 void **closurevariable = NULL;
785 trace.prev = tracehead; tracehead = &trace;
786 trace.file = LOCATE_static_type;
787 variable[0] = self;
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];
796 goto return_label23;
797 return_label23: while(false);
798 tracehead = trace.prev;
799 return variable[1];
800 }
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};
803 val_t variable[4];
804 void **closurevariable = NULL;
805 trace.prev = tracehead; tracehead = &trace;
806 trace.file = LOCATE_static_type;
807 variable[0] = self;
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];
818 goto return_label24;
819 return_label24: while(false);
820 tracehead = trace.prev;
821 return variable[1];
822 }
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);
831 nit_exit(1);
832 tracehead = trace.prev;
833 return NIT_NULL;
834 }
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;
842 return;
843 }
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);
852 nit_exit(1);
853 tracehead = trace.prev;
854 return NIT_NULL;
855 }
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);
864 nit_exit(1);
865 tracehead = trace.prev;
866 return NIT_NULL;
867 }
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);
876 nit_exit(1);
877 tracehead = trace.prev;
878 return NIT_NULL;
879 }
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);
888 nit_exit(1);
889 tracehead = trace.prev;
890 return NIT_NULL;
891 }
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);
900 nit_exit(1);
901 tracehead = trace.prev;
902 return NIT_NULL;
903 }
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);
912 nit_exit(1);
913 tracehead = trace.prev;
914 return NIT_NULL;
915 }
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);
924 nit_exit(1);
925 tracehead = trace.prev;
926 return NIT_NULL;
927 }
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};
930 val_t variable[3];
931 void **closurevariable = NULL;
932 trace.prev = tracehead; tracehead = &trace;
933 trace.file = LOCATE_static_type;
934 variable[0] = self;
935 variable[2] = variable[0];
936 variable[1] = variable[2];
937 goto return_label25;
938 return_label25: while(false);
939 tracehead = trace.prev;
940 return variable[1];
941 }
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;
949 return;
950 }
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};
953 val_t variable[3];
954 void **closurevariable = NULL;
955 trace.prev = tracehead; tracehead = &trace;
956 trace.file = LOCATE_static_type;
957 variable[0] = self;
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];
962 goto return_label26;
963 return_label26: while(false);
964 tracehead = trace.prev;
965 return variable[1];
966 }
967 val_t static_type___MMTypeClass___module(val_t self) {
968 struct trace_t trace = {NULL, NULL, 323, LOCATE_static_type___MMTypeClass___module};
969 val_t variable[3];
970 void **closurevariable = NULL;
971 trace.prev = tracehead; tracehead = &trace;
972 trace.file = LOCATE_static_type;
973 variable[0] = self;
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];
978 goto return_label27;
979 return_label27: while(false);
980 tracehead = trace.prev;
981 return variable[1];
982 }
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*/;
991 }
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};
994 val_t variable[5];
995 void **closurevariable = NULL;
996 trace.prev = tracehead; tracehead = &trace;
997 trace.file = LOCATE_static_type;
998 variable[0] = self;
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*/;
1005 }
1006 variable[3] = variable[4];
1007 variable[2] = variable[3];
1008 goto return_label28;
1009 return_label28: while(false);
1010 tracehead = trace.prev;
1011 return variable[2];
1012 }
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};
1015 val_t variable[5];
1016 void **closurevariable = NULL;
1017 trace.prev = tracehead; tracehead = &trace;
1018 trace.file = LOCATE_static_type;
1019 variable[0] = self;
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=*/;
1037 }
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;
1044 return variable[2];
1045 }
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};
1048 val_t variable[4];
1049 void **closurevariable = NULL;
1050 trace.prev = tracehead; tracehead = &trace;
1051 trace.file = LOCATE_static_type;
1052 variable[0] = self;
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;
1060 return;
1061 }
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};
1064 val_t variable[5];
1065 void **closurevariable = NULL;
1066 trace.prev = tracehead; tracehead = &trace;
1067 trace.file = LOCATE_static_type;
1068 variable[0] = self;
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;
1079 return variable[2];
1080 }
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};
1083 val_t variable[5];
1084 void **closurevariable = NULL;
1085 trace.prev = tracehead; tracehead = &trace;
1086 trace.file = LOCATE_static_type;
1087 variable[0] = self;
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=*/;
1100 }
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;
1107 return variable[2];
1108 }
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};
1111 val_t variable[4];
1112 void **closurevariable = NULL;
1113 trace.prev = tracehead; tracehead = &trace;
1114 trace.file = LOCATE_static_type;
1115 variable[0] = self;
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;
1122 return variable[2];
1123 }
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};
1126 val_t variable[3];
1127 void **closurevariable = NULL;
1128 trace.prev = tracehead; tracehead = &trace;
1129 trace.file = LOCATE_static_type;
1130 variable[0] = self;
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;
1137 return;
1138 }
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*/;
1147 }
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};
1150 val_t variable[2];
1151 void **closurevariable = NULL;
1152 trace.prev = tracehead; tracehead = &trace;
1153 trace.file = LOCATE_static_type;
1154 variable[0] = self;
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;
1158 return variable[1];
1159 }
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};
1162 val_t variable[3];
1163 void **closurevariable = NULL;
1164 trace.prev = tracehead; tracehead = &trace;
1165 trace.file = LOCATE_static_type;
1166 variable[0] = self;
1167 variable[1] = param0;
1168 variable[2] = TAG_Bool(true);
1169 goto return_label36;
1170 return_label36: while(false);
1171 tracehead = trace.prev;
1172 return variable[2];
1173 }
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};
1176 val_t variable[3];
1177 void **closurevariable = NULL;
1178 trace.prev = tracehead; tracehead = &trace;
1179 trace.file = LOCATE_static_type;
1180 variable[0] = self;
1181 variable[1] = param0;
1182 variable[2] = TAG_Bool(false);
1183 goto return_label37;
1184 return_label37: while(false);
1185 tracehead = trace.prev;
1186 return variable[2];
1187 }
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};
1190 val_t variable[4];
1191 void **closurevariable = NULL;
1192 trace.prev = tracehead; tracehead = &trace;
1193 trace.file = LOCATE_static_type;
1194 variable[0] = self;
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;
1201 return variable[2];
1202 }
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};
1205 val_t variable[4];
1206 void **closurevariable = NULL;
1207 trace.prev = tracehead; tracehead = &trace;
1208 trace.file = LOCATE_static_type;
1209 variable[0] = self;
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;
1217 return;
1218 }
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*/;
1227 }