First NIT release and new clean mercurial repository
[nit.git] / c_src / static_type._sep.c
1 #include "static_type._sep.h"
2 val_t static_type___MMLocalClass___get_type(val_t self) {
3 struct trace_t trace = {NULL, "static_type::MMLocalClass::get_type (src/metamodel//static_type.nit:27,2--31:25)"};
4 val_t variable0;
5 trace.prev = tracehead; tracehead = &trace;
6 variable0 = ATTR_static_type___MMLocalClass____base_type_cache( self) /*MMLocalClass::_base_type_cache*/;
7 variable0 = TAG_Bool((variable0 == NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, NIT_NULL /*null*/) /*MMType::==*/)))));
8 if (UNTAG_Bool(variable0)) { /*if*/
9 variable0 = NEW_static_type___MMTypeSimpleClass___init( self); /*new MMTypeSimpleClass*/
10 ATTR_static_type___MMLocalClass____base_type_cache( self) /*MMLocalClass::_base_type_cache*/ = variable0;
11 }
12 variable0 = ATTR_static_type___MMLocalClass____base_type_cache( self) /*MMLocalClass::_base_type_cache*/;
13 goto return_label0;
14 return_label0: while(false);
15 tracehead = trace.prev;
16 return variable0;
17 }
18 void static_type___MMLocalClass___add_ancestor(val_t self, val_t param0) {
19 struct trace_t trace = {NULL, "static_type::MMLocalClass::add_ancestor (src/metamodel//static_type.nit:34,2--39:31)"};
20 val_t variable0;
21 val_t variable1;
22 val_t variable2;
23 trace.prev = tracehead; tracehead = &trace;
24 variable0 = param0;
25 variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
26 variable2 = ((static_type___MMAncestor___local_class_t)CALL( variable0 /*a*/,COLOR_static_type___MMAncestor___local_class))( variable0 /*a*/) /*MMAncestor::local_class*/;
27 variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1, variable2) /*Map::has_key*/;
28 if (!UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable1)))) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:37,3--45\n"); nit_exit(1);}
29 variable1 = ((static_type___MMAncestor___local_class_t)CALL( variable0 /*a*/,COLOR_static_type___MMAncestor___local_class))( variable0 /*a*/) /*MMAncestor::local_class*/;
30 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == self) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, self) /*MMLocalClass::==*/)))))));
31 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:38,3--30\n"); nit_exit(1);}
32 variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
33 variable2 = ((static_type___MMAncestor___local_class_t)CALL( variable0 /*a*/,COLOR_static_type___MMAncestor___local_class))( variable0 /*a*/) /*MMAncestor::local_class*/;
34 ((abstract_collection___Map_____braeq_t)CALL(variable1,COLOR_abstract_collection___Map_____braeq))(variable1, variable2, variable0 /*a*/) /*Map::[]=*/;
35 tracehead = trace.prev;
36 return;
37 }
38 val_t static_type___MMLocalClass___ancestors(val_t self) {
39 struct trace_t trace = {NULL, "static_type::MMLocalClass::ancestors (src/metamodel//static_type.nit:42,2--43:55)"};
40 trace.prev = tracehead; tracehead = &trace;
41 tracehead = trace.prev;
42 return ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
43 }
44 val_t static_type___MMLocalClass___ancestor(val_t self, val_t param0) {
45 struct trace_t trace = {NULL, "static_type::MMLocalClass::ancestor (src/metamodel//static_type.nit:45,2--52:13)"};
46 val_t variable0;
47 val_t variable1;
48 trace.prev = tracehead; tracehead = &trace;
49 variable0 = param0;
50 variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
51 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Map::==*/)))))));
52 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:48,3--27\n"); nit_exit(1);}
53 variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
54 variable1 = ((abstract_collection___Map___has_key_t)CALL(variable1,COLOR_abstract_collection___Map___has_key))(variable1, variable0 /*c*/) /*Map::has_key*/;
55 if (UNTAG_Bool(variable1)) { /*if*/
56 variable1 = ATTR_static_type___MMLocalClass____ancestors( self) /*MMLocalClass::_ancestors*/;
57 variable1 = ((abstract_collection___Map_____bra_t)CALL(variable1,COLOR_abstract_collection___Map_____bra))(variable1, variable0 /*c*/) /*Map::[]*/;
58 variable1 = ((static_type___MMAncestor___stype_t)CALL(variable1,COLOR_static_type___MMAncestor___stype))(variable1) /*MMAncestor::stype*/;
59 goto return_label2;
60 }
61 variable1 = NIT_NULL /*null*/;
62 goto return_label2;
63 return_label2: while(false);
64 tracehead = trace.prev;
65 return variable1;
66 }
67 val_t static_type___MMLocalProperty___signature(val_t self) {
68 struct trace_t trace = {NULL, "static_type::MMLocalProperty::signature (src/metamodel//static_type.nit:60,2--71:25)"};
69 val_t variable0;
70 trace.prev = tracehead; tracehead = &trace;
71 variable0 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/;
72 variable0 = TAG_Bool((variable0 == NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, NIT_NULL /*null*/) /*MMSignature::==*/)))));
73 if (UNTAG_Bool(variable0)) { /*if*/
74 variable0 = ATTR_abstractmetamodel___MMLocalProperty____super_prop( self) /*MMLocalProperty::_super_prop*/;
75 variable0 = TAG_Bool((variable0 == NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, NIT_NULL /*null*/) /*MMLocalProperty::==*/)))));
76 if (UNTAG_Bool(variable0)) { /*if*/
77 variable0 = ATTR_abstractmetamodel___MMLocalProperty____concrete_property( self) /*MMLocalProperty::_concrete_property*/;
78 variable0 = ((static_type___MMLocalProperty___signature_t)CALL(variable0,COLOR_static_type___MMLocalProperty___signature))(variable0) /*MMConcreteProperty::signature*/;
79 ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/ = variable0;
80 } else { /*if*/
81 variable0 = ATTR_abstractmetamodel___MMLocalProperty____super_prop( self) /*MMLocalProperty::_super_prop*/;
82 variable0 = ((static_type___MMLocalProperty___signature_t)CALL(variable0,COLOR_static_type___MMLocalProperty___signature))(variable0) /*MMLocalProperty::signature*/;
83 ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/ = variable0;
84 }
85 }
86 variable0 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/;
87 variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 == NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, NIT_NULL /*null*/) /*MMSignature::==*/)))))));
88 if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:70,3--33\n"); nit_exit(1);}
89 variable0 = ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/;
90 goto return_label3;
91 return_label3: while(false);
92 tracehead = trace.prev;
93 return variable0;
94 }
95 void static_type___MMLocalProperty___signature__eq(val_t self, val_t param0) {
96 struct trace_t trace = {NULL, "static_type::MMLocalProperty::signature= (src/metamodel//static_type.nit:74,2--56)"};
97 val_t variable0;
98 trace.prev = tracehead; tracehead = &trace;
99 variable0 = param0;
100 ATTR_static_type___MMLocalProperty____signature_cache( self) /*MMLocalProperty::_signature_cache*/ = variable0 /*s*/;
101 tracehead = trace.prev;
102 return;
103 }
104 val_t static_type___MMSignature___recv(val_t self) {
105 struct trace_t trace = {NULL, "static_type::MMSignature::recv (src/metamodel//static_type.nit:79,2--80:28)"};
106 trace.prev = tracehead; tracehead = &trace;
107 tracehead = trace.prev;
108 return ATTR_static_type___MMSignature____recv( self) /*MMSignature::_recv*/;
109 }
110 val_t static_type___MMSignature___return_type(val_t self) {
111 struct trace_t trace = {NULL, "static_type::MMSignature::return_type (src/metamodel//static_type.nit:85,2--86:36)"};
112 trace.prev = tracehead; tracehead = &trace;
113 tracehead = trace.prev;
114 return ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
115 }
116 val_t static_type___MMSignature___arity(val_t self) {
117 struct trace_t trace = {NULL, "static_type::MMSignature::arity (src/metamodel//static_type.nit:88,2--92:23)"};
118 val_t variable0;
119 trace.prev = tracehead; tracehead = &trace;
120 variable0 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
121 variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 == NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, NIT_NULL /*null*/) /*Array::==*/)))));
122 if (!UNTAG_Bool(variable0)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:91,3--24\n"); nit_exit(1);}
123 variable0 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
124 variable0 = ((array___AbstractArray___length_t)CALL(variable0,COLOR_abstract_collection___Collection___length))(variable0) /*Array::length*/;
125 goto return_label5;
126 return_label5: while(false);
127 tracehead = trace.prev;
128 return variable0;
129 }
130 val_t static_type___MMSignature_____l(val_t self, val_t param0) {
131 struct trace_t trace = {NULL, "static_type::MMSignature::< (src/metamodel//static_type.nit:95,2--114:13)"};
132 val_t variable0;
133 val_t variable1;
134 val_t variable2;
135 val_t variable3;
136 val_t variable4;
137 trace.prev = tracehead; tracehead = &trace;
138 variable0 = param0;
139 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*s*/ == NIT_NULL /*null*/) || (( variable0 /*s*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*s*/,COLOR_kernel___Object_____eqeq))( variable0 /*s*/, NIT_NULL /*null*/) /*MMSignature::==*/)))))));
140 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:98,3--18\n"); nit_exit(1);}
141 variable1 = TAG_Bool(( self == variable0 /*s*/) || (( self != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( self, variable0 /*s*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( self,COLOR_kernel___Object_____eqeq))( self, variable0 /*s*/) /*MMSignature::==*/)))));
142 if (UNTAG_Bool(variable1)) { /*if*/
143 variable1 = TAG_Bool(true);
144 goto return_label6;
145 }
146 variable1 = ATTR_static_type___MMSignature____recv( self) /*MMSignature::_recv*/;
147 variable1 = ((static_type___MMType___module_t)CALL(variable1,COLOR_static_type___MMType___module))(variable1) /*MMType::module*/;
148 variable2 = ((static_type___MMSignature___recv_t)CALL( variable0 /*s*/,COLOR_static_type___MMSignature___recv))( variable0 /*s*/) /*MMSignature::recv*/;
149 variable2 = ((static_type___MMType___module_t)CALL(variable2,COLOR_static_type___MMType___module))(variable2) /*MMType::module*/;
150 variable1 = TAG_Bool((variable1 == variable2) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1,variable2)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, variable2) /*MMModule::==*/)))));
151 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:102,3--38\n"); nit_exit(1);}
152 variable1 = ((static_type___MMSignature___arity_t)CALL( self,COLOR_static_type___MMSignature___arity))( self) /*MMSignature::arity*/;
153 variable2 = ((static_type___MMSignature___arity_t)CALL( variable0 /*s*/,COLOR_static_type___MMSignature___arity))( variable0 /*s*/) /*MMSignature::arity*/;
154 variable1 = TAG_Bool((variable1)==(variable2));
155 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:103,3--25\n"); nit_exit(1);}
156 variable1 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
157 variable1 = TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*MMType::==*/)))));
158 variable2 = ((static_type___MMSignature___return_type_t)CALL( variable0 /*s*/,COLOR_static_type___MMSignature___return_type))( variable0 /*s*/) /*MMSignature::return_type*/;
159 variable2 = TAG_Bool((variable2 == NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, NIT_NULL /*null*/) /*MMType::==*/)))));
160 variable1 = TAG_Bool((variable1)==(variable2));
161 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:104,3--57\n"); nit_exit(1);}
162 variable1 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
163 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*MMType::==*/)))))));
164 variable2 = variable1;
165 if (UNTAG_Bool(variable2)) { /* and */
166 variable2 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
167 variable3 = ((static_type___MMSignature___return_type_t)CALL( variable0 /*s*/,COLOR_static_type___MMSignature___return_type))( variable0 /*s*/) /*MMSignature::return_type*/;
168 variable2 = ((static_type___MMType_____l_t)CALL(variable2,COLOR_static_type___MMType_____l))(variable2, variable3) /*MMType::<*/;
169 variable2 = TAG_Bool(!UNTAG_Bool(variable2));
170 }
171 variable1 = variable2;
172 if (UNTAG_Bool(variable1)) { /*if*/
173 variable1 = TAG_Bool(false);
174 goto return_label6;
175 }
176 variable1 = ((static_type___MMSignature___arity_t)CALL( self,COLOR_static_type___MMSignature___arity))( self) /*MMSignature::arity*/;
177 variable2 = NEW_range___Range___without_last( TAG_Int(0), variable1); /*new Range[Int]*/
178 variable1 = variable2;
179 variable1 = ((range___Range___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*Range::iterator*/;
180 while (true) { /*for*/
181 variable2 = ((abstract_collection___Iterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*Iterator::is_ok*/;
182 if (!UNTAG_Bool(variable2)) break; /*for*/
183 variable2 = ((abstract_collection___Iterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*Iterator::item*/;
184 variable3 = ((static_type___MMSignature_____bra_t)CALL( variable0 /*s*/,COLOR_static_type___MMSignature_____bra))( variable0 /*s*/, variable2 /*i*/) /*MMSignature::[]*/;
185 variable4 = ((static_type___MMSignature_____bra_t)CALL( self,COLOR_static_type___MMSignature_____bra))( self, variable2 /*i*/) /*MMSignature::[]*/;
186 variable3 = ((static_type___MMType_____l_t)CALL(variable3,COLOR_static_type___MMType_____l))(variable3, variable4) /*MMType::<*/;
187 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable3)))) { /*if*/
188 variable1 = TAG_Bool(false);
189 goto return_label6;
190 }
191 continue_7: while(0);
192 ((abstract_collection___Iterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*Iterator::next*/;
193 }
194 break_7: while(0);
195 variable1 = TAG_Bool(true);
196 goto return_label6;
197 return_label6: while(false);
198 tracehead = trace.prev;
199 return variable1;
200 }
201 val_t static_type___MMSignature_____bra(val_t self, val_t param0) {
202 struct trace_t trace = {NULL, "static_type::MMSignature::[] (src/metamodel//static_type.nit:117,2--121:18)"};
203 val_t variable0;
204 val_t variable1;
205 val_t variable2;
206 val_t variable3;
207 val_t variable4;
208 trace.prev = tracehead; tracehead = &trace;
209 variable0 = param0;
210 variable1 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
211 variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*Array::length*/;
212 variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int( variable0 /*i*/));
213 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:120,3--27\n"); nit_exit(1);}
214 variable1 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
215 variable2 = variable0 /*i*/;
216 variable3 = TAG_Bool(UNTAG_Int( variable2 /*index*/)>=UNTAG_Int( TAG_Int(0)));
217 variable4 = variable3;
218 if (UNTAG_Bool(variable4)) { /* and */
219 variable4 = variable1;
220 variable4 = ATTR_array___AbstractArray____length(variable4) /*Array::_length*/;
221 variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
222 }
223 variable3 = variable4;
224 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
225 variable3 = variable1;
226 variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
227 variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
228 goto return_label9;
229 return_label9: while(false);
230 variable1 = variable3;
231 goto return_label8;
232 return_label8: while(false);
233 tracehead = trace.prev;
234 return variable1;
235 }
236 val_t static_type___MMSignature___to_s(val_t self) {
237 struct trace_t trace = {NULL, "static_type::MMSignature::to_s (src/metamodel//static_type.nit:124,2--143:10)"};
238 val_t variable0;
239 val_t variable1;
240 val_t variable2;
241 val_t variable3;
242 val_t variable4;
243 val_t variable5;
244 val_t variable6;
245 val_t variable7;
246 val_t variable8;
247 val_t variable9;
248 trace.prev = tracehead; tracehead = &trace;
249 variable0 = NIT_NULL /*decl variable s*/;
250 variable1 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
251 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*Array::==*/)))));
252 variable2 = variable1;
253 if (UNTAG_Bool(variable2)) { /* and */
254 variable2 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
255 variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*Array::length*/;
256 variable2 = TAG_Bool(UNTAG_Int(variable2)>UNTAG_Int( TAG_Int(0)));
257 }
258 variable1 = variable2;
259 if (UNTAG_Bool(variable1)) { /*if*/
260 variable1 = NIT_NULL /*decl variable tmp*/;
261 variable3 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
262 variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*Array::length*/;
263 variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[String]*/
264 variable3 = variable4;
265 variable2 = variable3;
266 variable3 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
267 variable3 = ((array___AbstractArray___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*Array::length*/;
268 variable4 = NEW_range___Range___without_last( TAG_Int(0), variable3); /*new Range[Int]*/
269 variable3 = variable4;
270 variable3 = ((range___Range___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Range::iterator*/;
271 while (true) { /*for*/
272 variable4 = ((abstract_collection___Iterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*Iterator::is_ok*/;
273 if (!UNTAG_Bool(variable4)) break; /*for*/
274 variable4 = ((abstract_collection___Iterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*Iterator::item*/;
275 variable6 = ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/;
276 variable7 = variable4 /*i*/;
277 variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
278 variable9 = variable8;
279 if (UNTAG_Bool(variable9)) { /* and */
280 variable9 = variable6;
281 variable9 = ATTR_array___AbstractArray____length(variable9) /*Array::_length*/;
282 variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
283 }
284 variable8 = variable9;
285 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
286 variable8 = variable6;
287 variable8 = ATTR_array___Array____items(variable8) /*Array::_items*/;
288 variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
289 goto return_label12;
290 return_label12: while(false);
291 variable6 = variable8;
292 variable5 = variable6;
293 variable6 = ((string___Object___to_s_t)CALL( variable5 /*p*/,COLOR_string___Object___to_s))( variable5 /*p*/) /*MMType::to_s*/;
294 ((array___AbstractArray___add_t)CALL( variable2 /*a*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*a*/, variable6) /*Array::add*/;
295 continue_11: while(0);
296 ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
297 }
298 break_11: while(0);
299 variable3 = NEW_string___String___init(); /*new String*/
300 variable4 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
301 variable5 = variable4;
302 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
303 variable6 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
304 variable6 = ((string___Collection___join_t)CALL( variable2 /*a*/,COLOR_string___Collection___join))( variable2 /*a*/, variable6) /*Array::join*/;
305 variable7 = variable6;
306 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
307 variable8 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
308 variable9 = variable8;
309 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
310 variable0 = variable3 /*s=*/;
311 } else { /*if*/
312 variable1 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
313 variable0 = variable1 /*s=*/;
314 }
315 variable1 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
316 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*MMType::==*/)))))));
317 if (UNTAG_Bool(variable1)) { /*if*/
318 variable1 = NEW_string___String___init(); /*new String*/
319 variable2 = NEW_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)); /*new String*/
320 variable3 = variable2;
321 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
322 variable4 = ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/;
323 variable5 = variable4;
324 variable5 = ((string___String___to_s_t)CALL(variable5,COLOR_string___Object___to_s))(variable5) /*String::to_s*/;
325 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
326 variable6 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
327 variable7 = variable6;
328 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
329 ((string___String___append_t)CALL( variable0 /*s*/,COLOR_abstract_collection___IndexedCollection___append))( variable0 /*s*/, variable1) /*String::append*/;
330 }
331 variable0 = variable0 /*s*/;
332 goto return_label10;
333 return_label10: while(false);
334 tracehead = trace.prev;
335 return variable0;
336 }
337 void static_type___MMSignature___init(val_t self, val_t param0, val_t param1, val_t param2, int* init_table) {
338 struct trace_t trace = {NULL, "static_type::MMSignature::init (src/metamodel//static_type.nit:146,2--151:11)"};
339 val_t variable0;
340 val_t variable1;
341 val_t variable2;
342 val_t variable3;
343 trace.prev = tracehead; tracehead = &trace;
344 variable0 = param0;
345 variable1 = param1;
346 variable2 = param2;
347 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSignature].i]) return;
348 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*params*/ == NIT_NULL /*null*/) || (( variable0 /*params*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable0 /*params*/,COLOR_kernel___Object_____eqeq))( variable0 /*params*/, NIT_NULL /*null*/) /*Array::==*/)))));
349 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:148,3--23\n"); nit_exit(1);}
350 ATTR_static_type___MMSignature____params( self) /*MMSignature::_params*/ = variable0 /*params*/;
351 ATTR_static_type___MMSignature____return_type( self) /*MMSignature::_return_type*/ = variable1 /*return_type*/;
352 ATTR_static_type___MMSignature____recv( self) /*MMSignature::_recv*/ = variable2 /*r*/;
353 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMSignature].i] = 1;
354 tracehead = trace.prev;
355 return;
356 }
357 val_t static_type___MMAncestor___stype(val_t self) {
358 struct trace_t trace = {NULL, "static_type::MMAncestor::stype (src/metamodel//static_type.nit:157,2--158:38)"};
359 trace.prev = tracehead; tracehead = &trace;
360 tracehead = trace.prev;
361 return ATTR_static_type___MMAncestor____stype( self) /*MMAncestor::_stype*/;
362 }
363 void static_type___MMAncestor___stype__eq(val_t self, val_t param0) {
364 struct trace_t trace = {NULL, "static_type::MMAncestor::stype= (src/metamodel//static_type.nit:157,2--158:38)"};
365 trace.prev = tracehead; tracehead = &trace;
366 ATTR_static_type___MMAncestor____stype( self) /*MMAncestor::_stype*/ = param0;
367 tracehead = trace.prev;
368 return;
369 }
370 val_t static_type___MMAncestor___inheriter(val_t self) {
371 struct trace_t trace = {NULL, "static_type::MMAncestor::inheriter (src/metamodel//static_type.nit:160,2--161:42)"};
372 trace.prev = tracehead; tracehead = &trace;
373 tracehead = trace.prev;
374 return ATTR_static_type___MMAncestor____inheriter( self) /*MMAncestor::_inheriter*/;
375 }
376 void static_type___MMAncestor___inheriter__eq(val_t self, val_t param0) {
377 struct trace_t trace = {NULL, "static_type::MMAncestor::inheriter= (src/metamodel//static_type.nit:160,2--161:42)"};
378 trace.prev = tracehead; tracehead = &trace;
379 ATTR_static_type___MMAncestor____inheriter( self) /*MMAncestor::_inheriter*/ = param0;
380 tracehead = trace.prev;
381 return;
382 }
383 val_t static_type___MMAncestor___is_reffinement(val_t self) {
384 struct trace_t trace = {NULL, "static_type::MMAncestor::is_reffinement (src/metamodel//static_type.nit:163,2--164:37)"};
385 val_t variable0;
386 val_t variable1;
387 trace.prev = tracehead; tracehead = &trace;
388 variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
389 variable0 = ((static_type___MMType___module_t)CALL(variable0,COLOR_static_type___MMType___module))(variable0) /*MMType::module*/;
390 variable1 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
391 variable1 = ((static_type___MMType___module_t)CALL(variable1,COLOR_static_type___MMType___module))(variable1) /*MMType::module*/;
392 variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 == variable1) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0,variable1)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, variable1) /*MMModule::==*/)))))));
393 goto return_label14;
394 return_label14: while(false);
395 tracehead = trace.prev;
396 return variable0;
397 }
398 val_t static_type___MMAncestor___is_specialisation(val_t self) {
399 struct trace_t trace = {NULL, "static_type::MMAncestor::is_specialisation (src/metamodel//static_type.nit:167,2--168:65)"};
400 val_t variable0;
401 val_t variable1;
402 trace.prev = tracehead; tracehead = &trace;
403 variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
404 variable0 = ((static_type___MMType___local_class_t)CALL(variable0,COLOR_static_type___MMType___local_class))(variable0) /*MMType::local_class*/;
405 variable0 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___global))(variable0) /*MMLocalClass::global*/;
406 variable1 = ((static_type___MMAncestor___inheriter_t)CALL( self,COLOR_static_type___MMAncestor___inheriter))( self) /*MMAncestor::inheriter*/;
407 variable1 = ((static_type___MMType___local_class_t)CALL(variable1,COLOR_static_type___MMType___local_class))(variable1) /*MMType::local_class*/;
408 variable1 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalClass___global))(variable1) /*MMLocalClass::global*/;
409 variable0 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0 == variable1) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0,variable1)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, variable1) /*MMGlobalClass::==*/)))))));
410 goto return_label15;
411 return_label15: while(false);
412 tracehead = trace.prev;
413 return variable0;
414 }
415 val_t static_type___MMAncestor___local_class(val_t self) {
416 struct trace_t trace = {NULL, "static_type::MMAncestor::local_class (src/metamodel//static_type.nit:171,2--172:31)"};
417 trace.prev = tracehead; tracehead = &trace;
418 fprintf(stderr, "Deferred method local_class called (src/metamodel//static_type.nit:171,2)\n");
419 nit_exit(1);
420 tracehead = trace.prev;
421 return NIT_NULL;
422 }
423 val_t static_type___MMAncestor___to_s(val_t self) {
424 struct trace_t trace = {NULL, "static_type::MMAncestor::to_s (src/metamodel//static_type.nit:174,2--179:20)"};
425 val_t variable0;
426 trace.prev = tracehead; tracehead = &trace;
427 variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
428 variable0 = TAG_Bool((variable0 == NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, NIT_NULL /*null*/) /*MMType::==*/)))));
429 if (UNTAG_Bool(variable0)) { /*if*/
430 variable0 = ((static_type___MMAncestor___local_class_t)CALL( self,COLOR_static_type___MMAncestor___local_class))( self) /*MMAncestor::local_class*/;
431 variable0 = ((abstractmetamodel___MMLocalClass___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*MMLocalClass::to_s*/;
432 goto return_label16;
433 } else { /*if*/
434 variable0 = ((static_type___MMAncestor___stype_t)CALL( self,COLOR_static_type___MMAncestor___stype))( self) /*MMAncestor::stype*/;
435 variable0 = ((string___Object___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*MMType::to_s*/;
436 goto return_label16;
437 }
438 return_label16: while(false);
439 tracehead = trace.prev;
440 return variable0;
441 }
442 val_t static_type___MMType___module(val_t self) {
443 struct trace_t trace = {NULL, "static_type::MMType::module (src/metamodel//static_type.nit:187,2--188:22)"};
444 trace.prev = tracehead; tracehead = &trace;
445 fprintf(stderr, "Deferred method module called (src/metamodel//static_type.nit:187,2)\n");
446 nit_exit(1);
447 tracehead = trace.prev;
448 return NIT_NULL;
449 }
450 val_t static_type___MMType___local_class(val_t self) {
451 struct trace_t trace = {NULL, "static_type::MMType::local_class (src/metamodel//static_type.nit:190,2--191:31)"};
452 trace.prev = tracehead; tracehead = &trace;
453 fprintf(stderr, "Deferred method local_class called (src/metamodel//static_type.nit:190,2)\n");
454 nit_exit(1);
455 tracehead = trace.prev;
456 return NIT_NULL;
457 }
458 val_t static_type___MMType_____l(val_t self, val_t param0) {
459 struct trace_t trace = {NULL, "static_type::MMType::< (src/metamodel//static_type.nit:193,2--194:25)"};
460 trace.prev = tracehead; tracehead = &trace;
461 fprintf(stderr, "Deferred method < called (src/metamodel//static_type.nit:193,2)\n");
462 nit_exit(1);
463 tracehead = trace.prev;
464 return NIT_NULL;
465 }
466 val_t static_type___MMType___is_supertype(val_t self, val_t param0) {
467 struct trace_t trace = {NULL, "static_type::MMType::is_supertype (src/metamodel//static_type.nit:196,2--199:35)"};
468 trace.prev = tracehead; tracehead = &trace;
469 fprintf(stderr, "Deferred method is_supertype called (src/metamodel//static_type.nit:196,2)\n");
470 nit_exit(1);
471 tracehead = trace.prev;
472 return NIT_NULL;
473 }
474 val_t static_type___MMType___select_method(val_t self, val_t param0) {
475 struct trace_t trace = {NULL, "static_type::MMType::select_method (src/metamodel//static_type.nit:201,2--208:12)"};
476 val_t variable0;
477 val_t variable1;
478 val_t variable2;
479 trace.prev = tracehead; tracehead = &trace;
480 variable0 = param0;
481 variable1 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
482 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*MMLocalClass::==*/)))))));
483 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:204,3--28\n"); nit_exit(1);}
484 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ == NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/, NIT_NULL /*null*/) /*Symbol::==*/)))))));
485 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:205,3--21\n"); nit_exit(1);}
486 variable2 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
487 variable2 = ((abstractmetamodel___MMLocalClass___method_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___method))(variable2, variable0 /*name*/) /*MMLocalClass::method*/;
488 variable2 = ((static_type___MMType___select_property_t)CALL( self,COLOR_static_type___MMType___select_property))( self, variable2) /*MMType::select_property*/;
489 variable1 = variable2;
490 variable2 = TAG_Bool(( variable1 /*res*/==NIT_NULL) || VAL_ISA( variable1 /*res*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
491 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:207,3--25\n"); nit_exit(1);}
492 variable1 = variable1 /*res*/;
493 goto return_label17;
494 return_label17: while(false);
495 tracehead = trace.prev;
496 return variable1;
497 }
498 val_t static_type___MMType___select_attribute(val_t self, val_t param0) {
499 struct trace_t trace = {NULL, "static_type::MMType::select_attribute (src/metamodel//static_type.nit:211,2--218:12)"};
500 val_t variable0;
501 val_t variable1;
502 val_t variable2;
503 trace.prev = tracehead; tracehead = &trace;
504 variable0 = param0;
505 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*name*/ == NIT_NULL /*null*/) || (( variable0 /*name*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*name*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*name*/,COLOR_kernel___Object_____eqeq))( variable0 /*name*/, NIT_NULL /*null*/) /*Symbol::==*/)))))));
506 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:214,3--21\n"); nit_exit(1);}
507 variable1 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
508 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*MMLocalClass::==*/)))))));
509 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:215,3--28\n"); nit_exit(1);}
510 variable2 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
511 variable2 = ((abstractmetamodel___MMLocalClass___attribute_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___attribute))(variable2, variable0 /*name*/) /*MMLocalClass::attribute*/;
512 variable2 = ((static_type___MMType___select_property_t)CALL( self,COLOR_static_type___MMType___select_property))( self, variable2) /*MMType::select_property*/;
513 variable1 = variable2;
514 variable2 = TAG_Bool(( variable1 /*res*/==NIT_NULL) || VAL_ISA( variable1 /*res*/, COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
515 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:217,3--28\n"); nit_exit(1);}
516 variable1 = variable1 /*res*/;
517 goto return_label18;
518 return_label18: while(false);
519 tracehead = trace.prev;
520 return variable1;
521 }
522 val_t static_type___MMType___select_property(val_t self, val_t param0) {
523 struct trace_t trace = {NULL, "static_type::MMType::select_property (src/metamodel//static_type.nit:221,2--222:59)"};
524 trace.prev = tracehead; tracehead = &trace;
525 fprintf(stderr, "Deferred method select_property called (src/metamodel//static_type.nit:221,2)\n");
526 nit_exit(1);
527 tracehead = trace.prev;
528 return NIT_NULL;
529 }
530 val_t static_type___MMType___for_module(val_t self, val_t param0) {
531 struct trace_t trace = {NULL, "static_type::MMType::for_module (src/metamodel//static_type.nit:224,2--225:39)"};
532 trace.prev = tracehead; tracehead = &trace;
533 fprintf(stderr, "Deferred method for_module called (src/metamodel//static_type.nit:224,2)\n");
534 nit_exit(1);
535 tracehead = trace.prev;
536 return NIT_NULL;
537 }
538 val_t static_type___MMType___adapt_to(val_t self, val_t param0) {
539 struct trace_t trace = {NULL, "static_type::MMType::adapt_to (src/metamodel//static_type.nit:227,2--229:36)"};
540 trace.prev = tracehead; tracehead = &trace;
541 fprintf(stderr, "Deferred method adapt_to called (src/metamodel//static_type.nit:227,2)\n");
542 nit_exit(1);
543 tracehead = trace.prev;
544 return NIT_NULL;
545 }
546 val_t static_type___MMType___upcast_for(val_t self, val_t param0) {
547 struct trace_t trace = {NULL, "static_type::MMType::upcast_for (src/metamodel//static_type.nit:231,2--233:41)"};
548 trace.prev = tracehead; tracehead = &trace;
549 fprintf(stderr, "Deferred method upcast_for called (src/metamodel//static_type.nit:231,2)\n");
550 nit_exit(1);
551 tracehead = trace.prev;
552 return NIT_NULL;
553 }
554 val_t static_type___MMType___not_for_self(val_t self) {
555 struct trace_t trace = {NULL, "static_type::MMType::not_for_self (src/metamodel//static_type.nit:235,2--237:41)"};
556 val_t variable0;
557 trace.prev = tracehead; tracehead = &trace;
558 variable0 = self;
559 goto return_label19;
560 return_label19: while(false);
561 tracehead = trace.prev;
562 return variable0;
563 }
564 val_t static_type___MMTypeClass___local_class(val_t self) {
565 struct trace_t trace = {NULL, "static_type::MMTypeClass::local_class (src/metamodel//static_type.nit:242,2--47)"};
566 trace.prev = tracehead; tracehead = &trace;
567 tracehead = trace.prev;
568 return ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
569 }
570 val_t static_type___MMTypeClass___module(val_t self) {
571 struct trace_t trace = {NULL, "static_type::MMTypeClass::module (src/metamodel//static_type.nit:243,2--48)"};
572 val_t variable0;
573 trace.prev = tracehead; tracehead = &trace;
574 variable0 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
575 variable0 = ((abstractmetamodel___MMLocalClass___module_t)CALL(variable0,COLOR_abstractmetamodel___MMLocalClass___module))(variable0) /*MMLocalClass::module*/;
576 goto return_label20;
577 return_label20: while(false);
578 tracehead = trace.prev;
579 return variable0;
580 }
581 val_t static_type___MMTypeClass_____l(val_t self, val_t param0) {
582 struct trace_t trace = {NULL, "static_type::MMTypeClass::< (src/metamodel//static_type.nit:244,2--60)"};
583 val_t variable0;
584 val_t variable1;
585 val_t variable2;
586 trace.prev = tracehead; tracehead = &trace;
587 variable0 = param0;
588 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*t*/ == NIT_NULL /*null*/) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/, NIT_NULL /*null*/) /*MMType::==*/)))))));
589 variable2 = variable1;
590 if (UNTAG_Bool(variable2)) { /* and */
591 variable2 = ((static_type___MMType___is_supertype_t)CALL( variable0 /*t*/,COLOR_static_type___MMType___is_supertype))( variable0 /*t*/, self) /*MMType::is_supertype*/;
592 }
593 variable1 = variable2;
594 goto return_label21;
595 return_label21: while(false);
596 tracehead = trace.prev;
597 return variable1;
598 }
599 val_t static_type___MMTypeClass___to_s(val_t self) {
600 struct trace_t trace = {NULL, "static_type::MMTypeClass::to_s (src/metamodel//static_type.nit:246,2--248:26)"};
601 val_t variable0;
602 trace.prev = tracehead; tracehead = &trace;
603 variable0 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
604 variable0 = ((abstractmetamodel___MMLocalClass___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*MMLocalClass::to_s*/;
605 goto return_label22;
606 return_label22: while(false);
607 tracehead = trace.prev;
608 return variable0;
609 }
610 val_t static_type___MMTypeClass___upcast_for(val_t self, val_t param0) {
611 struct trace_t trace = {NULL, "static_type::MMTypeClass::upcast_for (src/metamodel//static_type.nit:251,2--261:10)"};
612 val_t variable0;
613 val_t variable1;
614 val_t variable2;
615 trace.prev = tracehead; tracehead = &trace;
616 variable0 = param0;
617 variable1 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
618 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*MMLocalClass::==*/)))))));
619 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:253,3--29\n"); nit_exit(1);}
620 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*c*/ == NIT_NULL /*null*/) || (( variable0 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*c*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*c*/,COLOR_kernel___Object_____eqeq))( variable0 /*c*/, NIT_NULL /*null*/) /*MMLocalClass::==*/)))))));
621 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:254,3--18\n"); nit_exit(1);}
622 variable1 = self;
623 variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
624 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 == variable0 /*c*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*c*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*c*/) /*MMLocalClass::==*/)))))));
625 if (UNTAG_Bool(variable2)) { /*if*/
626 variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/;
627 variable2 = ((static_type___MMLocalClass___ancestor_t)CALL(variable2,COLOR_static_type___MMLocalClass___ancestor))(variable2, variable0 /*c*/) /*MMLocalClass::ancestor*/;
628 variable1 = variable2 /*t=*/;
629 }
630 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*t*/ == NIT_NULL /*null*/) || (( variable1 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))( variable1 /*t*/, NIT_NULL /*null*/) /*MMType::==*/)))))));
631 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:260,3--18\n"); nit_exit(1);}
632 variable1 = variable1 /*t*/;
633 goto return_label23;
634 return_label23: while(false);
635 tracehead = trace.prev;
636 return variable1;
637 }
638 void static_type___MMTypeClass___init(val_t self, val_t param0, int* init_table) {
639 struct trace_t trace = {NULL, "static_type::MMTypeClass::init (src/metamodel//static_type.nit:264,2--266:18)"};
640 val_t variable0;
641 trace.prev = tracehead; tracehead = &trace;
642 variable0 = param0;
643 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeClass].i]) return;
644 ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeClass::_local_class*/ = variable0 /*c*/;
645 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeClass].i] = 1;
646 tracehead = trace.prev;
647 return;
648 }
649 val_t static_type___MMTypeSimpleClass___is_supertype(val_t self, val_t param0) {
650 struct trace_t trace = {NULL, "static_type::MMTypeSimpleClass::is_supertype (src/metamodel//static_type.nit:272,2--274:44)"};
651 val_t variable0;
652 val_t variable1;
653 val_t variable2;
654 trace.prev = tracehead; tracehead = &trace;
655 variable0 = param0;
656 variable1 = ((static_type___MMType___local_class_t)CALL( variable0 /*t*/,COLOR_static_type___MMType___local_class))( variable0 /*t*/) /*MMType::local_class*/;
657 variable1 = ((abstractmetamodel___MMLocalClass___cshe_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalClass___cshe))(variable1) /*MMLocalClass::cshe*/;
658 variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeSimpleClass::_local_class*/;
659 variable1 = ((partial_order___PartialOrderElement_____leq_t)CALL(variable1,COLOR_partial_order___PartialOrderElement_____leq))(variable1, variable2) /*PartialOrderElement::<=*/;
660 goto return_label25;
661 return_label25: while(false);
662 tracehead = trace.prev;
663 return variable1;
664 }
665 val_t static_type___MMTypeSimpleClass___select_property(val_t self, val_t param0) {
666 struct trace_t trace = {NULL, "static_type::MMTypeSimpleClass::select_property (src/metamodel//static_type.nit:277,2--283:23)"};
667 val_t variable0;
668 val_t variable1;
669 trace.prev = tracehead; tracehead = &trace;
670 variable0 = param0;
671 variable1 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeSimpleClass::_local_class*/;
672 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*MMLocalClass::==*/)))))));
673 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:279,3--29\n"); nit_exit(1);}
674 variable1 = TAG_Bool(( variable0 /*g*/ == NIT_NULL /*null*/) || (( variable0 /*g*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*g*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*g*/,COLOR_kernel___Object_____eqeq))( variable0 /*g*/, NIT_NULL /*null*/) /*MMGlobalProperty::==*/)))));
675 if (UNTAG_Bool(variable1)) { /*if*/
676 variable1 = NIT_NULL /*null*/;
677 goto return_label26;
678 }
679 variable1 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeSimpleClass::_local_class*/;
680 variable1 = ((abstractmetamodel___MMLocalClass_____bra_t)CALL(variable1,COLOR_abstractmetamodel___MMLocalClass_____bra))(variable1, variable0 /*g*/) /*MMLocalClass::[]*/;
681 goto return_label26;
682 return_label26: while(false);
683 tracehead = trace.prev;
684 return variable1;
685 }
686 val_t static_type___MMTypeSimpleClass___for_module(val_t self, val_t param0) {
687 struct trace_t trace = {NULL, "static_type::MMTypeSimpleClass::for_module (src/metamodel//static_type.nit:286,2--293:10)"};
688 val_t variable0;
689 val_t variable1;
690 val_t variable2;
691 trace.prev = tracehead; tracehead = &trace;
692 variable0 = param0;
693 variable1 = self;
694 variable2 = ((static_type___MMTypeClass___module_t)CALL( self,COLOR_static_type___MMType___module))( self) /*MMTypeSimpleClass::module*/;
695 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 == variable0 /*mod*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, variable0 /*mod*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, variable0 /*mod*/) /*MMModule::==*/)))))));
696 if (UNTAG_Bool(variable2)) { /*if*/
697 variable2 = ATTR_static_type___MMTypeClass____local_class( self) /*MMTypeSimpleClass::_local_class*/;
698 variable2 = ((abstractmetamodel___MMLocalClass___for_module_t)CALL(variable2,COLOR_abstractmetamodel___MMLocalClass___for_module))(variable2, variable0 /*mod*/) /*MMLocalClass::for_module*/;
699 variable2 = ((static_type___MMLocalClass___get_type_t)CALL(variable2,COLOR_static_type___MMLocalClass___get_type))(variable2) /*MMLocalClass::get_type*/;
700 variable1 = variable2 /*t=*/;
701 }
702 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*t*/ == NIT_NULL /*null*/) || (( variable1 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable1 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable1 /*t*/,COLOR_kernel___Object_____eqeq))( variable1 /*t*/, NIT_NULL /*null*/) /*MMType::==*/)))))));
703 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/metamodel//static_type.nit:292,3--18\n"); nit_exit(1);}
704 variable1 = variable1 /*t*/;
705 goto return_label27;
706 return_label27: while(false);
707 tracehead = trace.prev;
708 return variable1;
709 }
710 val_t static_type___MMTypeSimpleClass___adapt_to(val_t self, val_t param0) {
711 struct trace_t trace = {NULL, "static_type::MMTypeSimpleClass::adapt_to (src/metamodel//static_type.nit:296,2--41)"};
712 val_t variable0;
713 val_t variable1;
714 trace.prev = tracehead; tracehead = &trace;
715 variable0 = param0;
716 variable1 = self;
717 goto return_label28;
718 return_label28: while(false);
719 tracehead = trace.prev;
720 return variable1;
721 }
722 void static_type___MMTypeSimpleClass___init(val_t self, val_t param0, int* init_table) {
723 struct trace_t trace = {NULL, "static_type::MMTypeSimpleClass::init (src/metamodel//static_type.nit:298,2--300:9)"};
724 val_t variable0;
725 trace.prev = tracehead; tracehead = &trace;
726 variable0 = param0;
727 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeSimpleClass].i]) return;
728 ((static_type___MMTypeClass___init_t)CALL( self,COLOR_static_type___MMTypeClass___init))( self, variable0 /*c*/, init_table /*YYY*/) /*MMTypeClass::init*/;
729 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeSimpleClass].i] = 1;
730 tracehead = trace.prev;
731 return;
732 }
733 val_t static_type___MMTypeNone___module(val_t self) {
734 struct trace_t trace = {NULL, "static_type::MMTypeNone::module (src/metamodel//static_type.nit:307,3--39)"};
735 trace.prev = tracehead; tracehead = &trace;
736 tracehead = trace.prev;
737 return ATTR_static_type___MMTypeNone____module( self) /*MMTypeNone::_module*/;
738 }
739 val_t static_type___MMTypeNone_____l(val_t self, val_t param0) {
740 struct trace_t trace = {NULL, "static_type::MMTypeNone::< (src/metamodel//static_type.nit:308,3--32)"};
741 val_t variable0;
742 val_t variable1;
743 trace.prev = tracehead; tracehead = &trace;
744 variable0 = param0;
745 variable1 = TAG_Bool(true);
746 goto return_label30;
747 return_label30: while(false);
748 tracehead = trace.prev;
749 return variable1;
750 }
751 val_t static_type___MMTypeNone___is_supertype(val_t self, val_t param0) {
752 struct trace_t trace = {NULL, "static_type::MMTypeNone::is_supertype (src/metamodel//static_type.nit:309,3--44)"};
753 val_t variable0;
754 val_t variable1;
755 trace.prev = tracehead; tracehead = &trace;
756 variable0 = param0;
757 variable1 = TAG_Bool(false);
758 goto return_label31;
759 return_label31: while(false);
760 tracehead = trace.prev;
761 return variable1;
762 }
763 val_t static_type___MMTypeNone___local_class(val_t self) {
764 struct trace_t trace = {NULL, "static_type::MMTypeNone::local_class (src/metamodel//static_type.nit:310,3--33)"};
765 val_t variable0;
766 trace.prev = tracehead; tracehead = &trace;
767 fprintf(stderr, "Aborted: src/metamodel//static_type.nit:310,29--33\n"); nit_exit(1);
768 tracehead = trace.prev;
769 return variable0;
770 }
771 val_t static_type___MMTypeNone___upcast_for(val_t self, val_t param0) {
772 struct trace_t trace = {NULL, "static_type::MMTypeNone::upcast_for (src/metamodel//static_type.nit:311,3--41)"};
773 val_t variable0;
774 val_t variable1;
775 trace.prev = tracehead; tracehead = &trace;
776 variable0 = param0;
777 variable1 = self;
778 goto return_label33;
779 return_label33: while(false);
780 tracehead = trace.prev;
781 return variable1;
782 }
783 void static_type___MMTypeNone___init(val_t self, val_t param0, int* init_table) {
784 struct trace_t trace = {NULL, "static_type::MMTypeNone::init (src/metamodel//static_type.nit:313,2--41)"};
785 val_t variable0;
786 trace.prev = tracehead; tracehead = &trace;
787 variable0 = param0;
788 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeNone].i]) return;
789 ATTR_static_type___MMTypeNone____module( self) /*MMTypeNone::_module*/ = variable0 /*m*/;
790 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeNone].i] = 1;
791 tracehead = trace.prev;
792 return;
793 }
794 val_t static_type___MMModule___type_none(val_t self) {
795 struct trace_t trace = {NULL, "static_type::MMModule::type_none (src/metamodel//static_type.nit:317,2--318:59)"};
796 trace.prev = tracehead; tracehead = &trace;
797 tracehead = trace.prev;
798 return ATTR_static_type___MMModule____type_none( self) /*MMModule::_type_none*/;
799 }