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