tests: add << and >> in test_operators.nit
[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 p0){
4 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5 val_t REGB0;
6 val_t REGB1;
7 val_t tmp;
8 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9 fra.me.file = LOCATE_static_type;
10 fra.me.line = 27;
11 fra.me.meth = LOCATE_static_type___MMLocalClass___get_type;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 2;
14 fra.me.REG[0] = NIT_NULL;
15 fra.me.REG[1] = NIT_NULL;
16 fra.me.REG[0] = p0;
17 fra.me.REG[1] = ATTR_static_type___MMLocalClass____base_type_cache(fra.me.REG[0]);
18 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
19 /* ./metamodel//static_type.nit:30 */
20 if (UNTAG_Bool(REGB0)) {
21 } else {
22 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23 if (UNTAG_Bool(REGB1)) {
24 REGB1 = TAG_Bool(false);
25 REGB0 = REGB1;
26 } else {
27 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
28 REGB0 = REGB1;
29 }
30 }
31 if (UNTAG_Bool(REGB0)) {
32 fra.me.REG[1] = NEW_MMTypeSimpleClass_static_type___MMTypeSimpleClass___init(fra.me.REG[0]);
33 ATTR_static_type___MMLocalClass____base_type_cache(fra.me.REG[0]) = fra.me.REG[1];
34 }
35 fra.me.REG[0] = ATTR_static_type___MMLocalClass____base_type_cache(fra.me.REG[0]);
36 REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
37 /* ./metamodel//static_type.nit:31 */
38 if (UNTAG_Bool(REGB0)) {
39 } else {
40 fprintf(stderr, "Cast failed");
41 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 31);
42 nit_exit(1);
43 }
44 goto label1;
45 label1: while(0);
46 stack_frame_head = fra.me.prev;
47 return fra.me.REG[0];
48 }
49 void static_type___MMLocalClass___add_ancestor(val_t p0, val_t p1){
50 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
51 val_t REGB0;
52 val_t REGB1;
53 val_t tmp;
54 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55 fra.me.file = LOCATE_static_type;
56 fra.me.line = 34;
57 fra.me.meth = LOCATE_static_type___MMLocalClass___add_ancestor;
58 fra.me.has_broke = 0;
59 fra.me.REG_size = 4;
60 fra.me.REG[0] = NIT_NULL;
61 fra.me.REG[1] = NIT_NULL;
62 fra.me.REG[2] = NIT_NULL;
63 fra.me.REG[3] = NIT_NULL;
64 fra.me.REG[0] = p0;
65 fra.me.REG[1] = p1;
66 fra.me.REG[2] = ATTR_static_type___MMLocalClass____ancestors(fra.me.REG[0]);
67 fra.me.REG[3] = CALL_static_type___MMAncestor___local_class(fra.me.REG[1])(fra.me.REG[1]);
68 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
69 /* ./metamodel//static_type.nit:37 */
70 if (UNTAG_Bool(REGB0)) {
71 fprintf(stderr, "Reciever is null");
72 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 37);
73 nit_exit(1);
74 }
75 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
76 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
77 if (UNTAG_Bool(REGB0)) {
78 } else {
79 fprintf(stderr, "Assert failed");
80 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 37);
81 nit_exit(1);
82 }
83 fra.me.REG[3] = CALL_static_type___MMAncestor___local_class(fra.me.REG[1])(fra.me.REG[1]);
84 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[0]));
85 /* ./metamodel//static_type.nit:38 */
86 if (UNTAG_Bool(REGB0)) {
87 } else {
88 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
89 REGB0 = REGB1;
90 }
91 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
92 if (UNTAG_Bool(REGB0)) {
93 } else {
94 fprintf(stderr, "Assert failed");
95 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 38);
96 nit_exit(1);
97 }
98 fra.me.REG[0] = ATTR_static_type___MMLocalClass____ancestors(fra.me.REG[0]);
99 fra.me.REG[3] = CALL_static_type___MMAncestor___local_class(fra.me.REG[1])(fra.me.REG[1]);
100 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
101 /* ./metamodel//static_type.nit:39 */
102 if (UNTAG_Bool(REGB0)) {
103 fprintf(stderr, "Reciever is null");
104 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 39);
105 nit_exit(1);
106 }
107 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[1]);
108 stack_frame_head = fra.me.prev;
109 return;
110 }
111 val_t static_type___MMLocalClass___ancestors(val_t p0){
112 struct {struct stack_frame_t me;} fra;
113 val_t tmp;
114 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
115 fra.me.file = LOCATE_static_type;
116 fra.me.line = 42;
117 fra.me.meth = LOCATE_static_type___MMLocalClass___ancestors;
118 fra.me.has_broke = 0;
119 fra.me.REG_size = 1;
120 fra.me.REG[0] = NIT_NULL;
121 fra.me.REG[0] = p0;
122 fra.me.REG[0] = ATTR_static_type___MMLocalClass____ancestors(fra.me.REG[0]);
123 /* ./metamodel//static_type.nit:42 */
124 stack_frame_head = fra.me.prev;
125 return fra.me.REG[0];
126 }
127 val_t static_type___MMLocalClass___ancestor(val_t p0, val_t p1){
128 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
129 val_t REGB0;
130 val_t tmp;
131 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
132 fra.me.file = LOCATE_static_type;
133 fra.me.line = 45;
134 fra.me.meth = LOCATE_static_type___MMLocalClass___ancestor;
135 fra.me.has_broke = 0;
136 fra.me.REG_size = 2;
137 fra.me.REG[0] = NIT_NULL;
138 fra.me.REG[1] = NIT_NULL;
139 fra.me.REG[0] = p0;
140 fra.me.REG[1] = p1;
141 fra.me.REG[0] = ATTR_static_type___MMLocalClass____ancestors(fra.me.REG[0]);
142 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
143 /* ./metamodel//static_type.nit:48 */
144 if (UNTAG_Bool(REGB0)) {
145 fprintf(stderr, "Reciever is null");
146 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 48);
147 nit_exit(1);
148 }
149 fra.me.REG[1] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
150 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
151 if (UNTAG_Bool(REGB0)) {
152 fprintf(stderr, "Reciever is null");
153 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 48);
154 nit_exit(1);
155 }
156 fra.me.REG[1] = CALL_static_type___MMAncestor___stype(fra.me.REG[1])(fra.me.REG[1]);
157 goto label1;
158 label1: while(0);
159 stack_frame_head = fra.me.prev;
160 return fra.me.REG[1];
161 }
162 val_t static_type___MMLocalProperty___signature(val_t p0){
163 struct {struct stack_frame_t me;} fra;
164 val_t tmp;
165 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
166 fra.me.file = LOCATE_static_type;
167 fra.me.line = 53;
168 fra.me.meth = LOCATE_static_type___MMLocalProperty___signature;
169 fra.me.has_broke = 0;
170 fra.me.REG_size = 1;
171 fra.me.REG[0] = NIT_NULL;
172 fra.me.REG[0] = p0;
173 fra.me.REG[0] = ATTR_static_type___MMLocalProperty____signature(fra.me.REG[0]);
174 /* ./metamodel//static_type.nit:53 */
175 stack_frame_head = fra.me.prev;
176 return fra.me.REG[0];
177 }
178 void static_type___MMLocalProperty___signature__eq(val_t p0, val_t p1){
179 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
180 val_t tmp;
181 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
182 fra.me.file = LOCATE_static_type;
183 fra.me.line = 53;
184 fra.me.meth = LOCATE_static_type___MMLocalProperty___signature__eq;
185 fra.me.has_broke = 0;
186 fra.me.REG_size = 2;
187 fra.me.REG[0] = NIT_NULL;
188 fra.me.REG[1] = NIT_NULL;
189 fra.me.REG[0] = p0;
190 fra.me.REG[1] = p1;
191 /* ./metamodel//static_type.nit:53 */
192 ATTR_static_type___MMLocalProperty____signature(fra.me.REG[0]) = fra.me.REG[1];
193 stack_frame_head = fra.me.prev;
194 return;
195 }
196 val_t static_type___MMLocalProperty___signature_for(val_t p0, val_t p1){
197 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
198 val_t REGB0;
199 val_t REGB1;
200 val_t tmp;
201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
202 fra.me.file = LOCATE_static_type;
203 fra.me.line = 58;
204 fra.me.meth = LOCATE_static_type___MMLocalProperty___signature_for;
205 fra.me.has_broke = 0;
206 fra.me.REG_size = 4;
207 fra.me.REG[0] = NIT_NULL;
208 fra.me.REG[1] = NIT_NULL;
209 fra.me.REG[2] = NIT_NULL;
210 fra.me.REG[3] = NIT_NULL;
211 fra.me.REG[0] = p0;
212 fra.me.REG[1] = p1;
213 fra.me.REG[2] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
214 fra.me.REG[2] = CALL_static_type___MMLocalClass___get_type(fra.me.REG[2])(fra.me.REG[2]);
215 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
216 /* ./metamodel//static_type.nit:60 */
217 if (UNTAG_Bool(REGB0)) {
218 } else {
219 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
220 REGB0 = REGB1;
221 }
222 if (UNTAG_Bool(REGB0)) {
223 fra.me.REG[2] = CALL_static_type___MMLocalProperty___signature(fra.me.REG[0])(fra.me.REG[0]);
224 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
225 if (UNTAG_Bool(REGB0)) {
226 } else {
227 fprintf(stderr, "Cast failed");
228 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 60);
229 nit_exit(1);
230 }
231 goto label1;
232 }
233 REGB0 = TAG_Bool(ATTR_static_type___MMLocalProperty____signatures_cache(fra.me.REG[0])!=NIT_NULL);
234 /* ./metamodel//static_type.nit:62 */
235 if (UNTAG_Bool(REGB0)) {
236 } else {
237 fprintf(stderr, "Uninitialized attribute %s", "_signatures_cache");
238 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 62);
239 nit_exit(1);
240 }
241 fra.me.REG[3] = ATTR_static_type___MMLocalProperty____signatures_cache(fra.me.REG[0]);
242 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
243 if (UNTAG_Bool(REGB0)) {
244 REGB0 = TAG_Bool(ATTR_static_type___MMLocalProperty____signatures_cache(fra.me.REG[0])!=NIT_NULL);
245 if (UNTAG_Bool(REGB0)) {
246 } else {
247 fprintf(stderr, "Uninitialized attribute %s", "_signatures_cache");
248 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 62);
249 nit_exit(1);
250 }
251 fra.me.REG[3] = ATTR_static_type___MMLocalProperty____signatures_cache(fra.me.REG[0]);
252 fra.me.REG[3] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
253 fra.me.REG[2] = fra.me.REG[3];
254 goto label1;
255 }
256 fra.me.REG[3] = CALL_static_type___MMLocalProperty___signature(fra.me.REG[0])(fra.me.REG[0]);
257 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
258 /* ./metamodel//static_type.nit:64 */
259 if (UNTAG_Bool(REGB0)) {
260 fprintf(stderr, "Reciever is null");
261 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 64);
262 nit_exit(1);
263 }
264 fra.me.REG[3] = CALL_static_type___MMSignature___adaptation_to(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
265 REGB0 = TAG_Bool(ATTR_static_type___MMLocalProperty____signatures_cache(fra.me.REG[0])!=NIT_NULL);
266 /* ./metamodel//static_type.nit:65 */
267 if (UNTAG_Bool(REGB0)) {
268 } else {
269 fprintf(stderr, "Uninitialized attribute %s", "_signatures_cache");
270 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 65);
271 nit_exit(1);
272 }
273 fra.me.REG[0] = ATTR_static_type___MMLocalProperty____signatures_cache(fra.me.REG[0]);
274 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
275 fra.me.REG[2] = fra.me.REG[3];
276 /* ./metamodel//static_type.nit:66 */
277 goto label1;
278 label1: while(0);
279 stack_frame_head = fra.me.prev;
280 return fra.me.REG[2];
281 }
282 val_t static_type___MMSignature___to_s(val_t p0){
283 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
284 val_t REGB0;
285 val_t REGB1;
286 val_t REGB2;
287 val_t tmp;
288 static val_t once_value_3; /* Once value */
289 static val_t once_value_4; /* Once value */
290 static val_t once_value_5; /* Once value */
291 static val_t once_value_6; /* Once value */
292 static val_t once_value_7; /* Once value */
293 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
294 fra.me.file = LOCATE_static_type;
295 fra.me.line = 133;
296 fra.me.meth = LOCATE_static_type___MMSignature___to_s;
297 fra.me.has_broke = 0;
298 fra.me.REG_size = 5;
299 fra.me.REG[0] = NIT_NULL;
300 fra.me.REG[1] = NIT_NULL;
301 fra.me.REG[2] = NIT_NULL;
302 fra.me.REG[3] = NIT_NULL;
303 fra.me.REG[4] = NIT_NULL;
304 fra.me.REG[0] = p0;
305 fra.me.REG[1] = NEW_Buffer_string___Buffer___init();
306 REGB0 = TAG_Bool(ATTR_static_type___MMSignature____params(fra.me.REG[0])!=NIT_NULL);
307 /* ./metamodel//static_type.nit:136 */
308 if (UNTAG_Bool(REGB0)) {
309 } else {
310 fprintf(stderr, "Uninitialized attribute %s", "_params");
311 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 136);
312 nit_exit(1);
313 }
314 fra.me.REG[2] = ATTR_static_type___MMSignature____params(fra.me.REG[0]);
315 REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
316 /* ./../lib/standard//collection//array.nit:23 */
317 if (UNTAG_Bool(REGB0)) {
318 } else {
319 fprintf(stderr, "Uninitialized attribute %s", "_length");
320 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
321 nit_exit(1);
322 }
323 REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
324 REGB1 = TAG_Int(0);
325 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
326 /* ./metamodel//static_type.nit:136 */
327 if (UNTAG_Bool(REGB1)) {
328 REGB1 = TAG_Bool(ATTR_static_type___MMSignature____params(fra.me.REG[0])!=NIT_NULL);
329 /* ./metamodel//static_type.nit:138 */
330 if (UNTAG_Bool(REGB1)) {
331 } else {
332 fprintf(stderr, "Uninitialized attribute %s", "_params");
333 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 138);
334 nit_exit(1);
335 }
336 fra.me.REG[2] = ATTR_static_type___MMSignature____params(fra.me.REG[0]);
337 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
338 /* ./../lib/standard//collection//array.nit:23 */
339 if (UNTAG_Bool(REGB1)) {
340 } else {
341 fprintf(stderr, "Uninitialized attribute %s", "_length");
342 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
343 nit_exit(1);
344 }
345 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
346 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB1);
347 REGB1 = TAG_Int(0);
348 REGB0 = TAG_Bool(ATTR_static_type___MMSignature____params(fra.me.REG[0])!=NIT_NULL);
349 /* ./metamodel//static_type.nit:139 */
350 if (UNTAG_Bool(REGB0)) {
351 } else {
352 fprintf(stderr, "Uninitialized attribute %s", "_params");
353 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 139);
354 nit_exit(1);
355 }
356 fra.me.REG[3] = ATTR_static_type___MMSignature____params(fra.me.REG[0]);
357 REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
358 /* ./../lib/standard//collection//array.nit:23 */
359 if (UNTAG_Bool(REGB0)) {
360 } else {
361 fprintf(stderr, "Uninitialized attribute %s", "_length");
362 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
363 nit_exit(1);
364 }
365 REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
366 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB1, REGB0);
367 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
368 /* ./metamodel//static_type.nit:139 */
369 while(1) {
370 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
371 if (UNTAG_Bool(REGB0)) {
372 REGB0 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
373 REGB1 = TAG_Bool(ATTR_static_type___MMSignature____params(fra.me.REG[0])!=NIT_NULL);
374 /* ./metamodel//static_type.nit:141 */
375 if (UNTAG_Bool(REGB1)) {
376 } else {
377 fprintf(stderr, "Uninitialized attribute %s", "_params");
378 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 141);
379 nit_exit(1);
380 }
381 fra.me.REG[4] = ATTR_static_type___MMSignature____params(fra.me.REG[0]);
382 REGB1 = TAG_Int(0);
383 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
384 /* ./../lib/standard//collection//array.nit:233 */
385 if (UNTAG_Bool(REGB1)) {
386 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
387 if (UNTAG_Bool(REGB1)) {
388 } else {
389 fprintf(stderr, "Uninitialized attribute %s", "_length");
390 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
391 nit_exit(1);
392 }
393 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
394 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
395 /* ./../lib/standard//collection//array.nit:233 */
396 } else {
397 REGB2 = TAG_Bool(false);
398 REGB1 = REGB2;
399 }
400 if (UNTAG_Bool(REGB1)) {
401 } else {
402 fprintf(stderr, "Assert %s failed", "'index'");
403 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
404 nit_exit(1);
405 }
406 fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[4]);
407 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
408 /* ./../lib/standard//collection//array.nit:234 */
409 if (UNTAG_Bool(REGB1)) {
410 fprintf(stderr, "Reciever is null");
411 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
412 nit_exit(1);
413 }
414 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
415 /* ./../lib/standard//collection//array.nit:234 */
416 goto label1;
417 label1: while(0);
418 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
419 /* ./metamodel//static_type.nit:143 */
420 array___Array___add(fra.me.REG[2], fra.me.REG[4]);
421 } else {
422 /* ./metamodel//static_type.nit:139 */
423 goto label2;
424 }
425 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
426 }
427 label2: while(0);
428 REGB0 = TAG_Int(3);
429 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
430 /* ./metamodel//static_type.nit:145 */
431 if (!once_value_3) {
432 fra.me.REG[4] = BOX_NativeString("(");
433 REGB0 = TAG_Int(1);
434 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
435 once_value_3 = fra.me.REG[4];
436 register_static_object(&once_value_3);
437 } else fra.me.REG[4] = once_value_3;
438 array___Array___add(fra.me.REG[3], fra.me.REG[4]);
439 if (!once_value_4) {
440 fra.me.REG[4] = BOX_NativeString(",");
441 REGB0 = TAG_Int(1);
442 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
443 once_value_4 = fra.me.REG[4];
444 register_static_object(&once_value_4);
445 } else fra.me.REG[4] = once_value_4;
446 fra.me.REG[4] = CALL_string___Collection___join(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
447 array___Array___add(fra.me.REG[3], fra.me.REG[4]);
448 if (!once_value_5) {
449 fra.me.REG[4] = BOX_NativeString(")");
450 REGB0 = TAG_Int(1);
451 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
452 once_value_5 = fra.me.REG[4];
453 register_static_object(&once_value_5);
454 } else fra.me.REG[4] = once_value_5;
455 array___Array___add(fra.me.REG[3], fra.me.REG[4]);
456 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
457 CALL_abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
458 }
459 fra.me.REG[3] = ATTR_static_type___MMSignature____return_type(fra.me.REG[0]);
460 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
461 /* ./metamodel//static_type.nit:147 */
462 if (UNTAG_Bool(REGB0)) {
463 } else {
464 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
465 if (UNTAG_Bool(REGB1)) {
466 REGB1 = TAG_Bool(false);
467 REGB0 = REGB1;
468 } else {
469 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
470 REGB0 = REGB1;
471 }
472 }
473 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
474 if (UNTAG_Bool(REGB0)) {
475 REGB0 = TAG_Int(3);
476 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
477 /* ./metamodel//static_type.nit:148 */
478 if (!once_value_6) {
479 fra.me.REG[4] = BOX_NativeString(": ");
480 REGB0 = TAG_Int(2);
481 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
482 once_value_6 = fra.me.REG[4];
483 register_static_object(&once_value_6);
484 } else fra.me.REG[4] = once_value_6;
485 array___Array___add(fra.me.REG[3], fra.me.REG[4]);
486 fra.me.REG[0] = ATTR_static_type___MMSignature____return_type(fra.me.REG[0]);
487 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
488 array___Array___add(fra.me.REG[3], fra.me.REG[0]);
489 if (!once_value_7) {
490 fra.me.REG[0] = BOX_NativeString("");
491 REGB0 = TAG_Int(0);
492 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
493 once_value_7 = fra.me.REG[0];
494 register_static_object(&once_value_7);
495 } else fra.me.REG[0] = once_value_7;
496 array___Array___add(fra.me.REG[3], fra.me.REG[0]);
497 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
498 CALL_abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
499 }
500 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
501 /* ./metamodel//static_type.nit:150 */
502 goto label8;
503 label8: while(0);
504 stack_frame_head = fra.me.prev;
505 return fra.me.REG[1];
506 }
507 val_t static_type___MMSignature___recv(val_t p0){
508 struct {struct stack_frame_t me;} fra;
509 val_t REGB0;
510 val_t tmp;
511 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
512 fra.me.file = LOCATE_static_type;
513 fra.me.line = 72;
514 fra.me.meth = LOCATE_static_type___MMSignature___recv;
515 fra.me.has_broke = 0;
516 fra.me.REG_size = 1;
517 fra.me.REG[0] = NIT_NULL;
518 fra.me.REG[0] = p0;
519 REGB0 = TAG_Bool(ATTR_static_type___MMSignature____recv(fra.me.REG[0])!=NIT_NULL);
520 /* ./metamodel//static_type.nit:72 */
521 if (UNTAG_Bool(REGB0)) {
522 } else {
523 fprintf(stderr, "Uninitialized attribute %s", "_recv");
524 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 72);
525 nit_exit(1);
526 }
527 fra.me.REG[0] = ATTR_static_type___MMSignature____recv(fra.me.REG[0]);
528 stack_frame_head = fra.me.prev;
529 return fra.me.REG[0];
530 }
531 val_t static_type___MMSignature___return_type(val_t p0){
532 struct {struct stack_frame_t me;} fra;
533 val_t tmp;
534 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
535 fra.me.file = LOCATE_static_type;
536 fra.me.line = 78;
537 fra.me.meth = LOCATE_static_type___MMSignature___return_type;
538 fra.me.has_broke = 0;
539 fra.me.REG_size = 1;
540 fra.me.REG[0] = NIT_NULL;
541 fra.me.REG[0] = p0;
542 fra.me.REG[0] = ATTR_static_type___MMSignature____return_type(fra.me.REG[0]);
543 /* ./metamodel//static_type.nit:78 */
544 stack_frame_head = fra.me.prev;
545 return fra.me.REG[0];
546 }
547 val_t static_type___MMSignature___closures(val_t p0){
548 struct {struct stack_frame_t me;} fra;
549 val_t REGB0;
550 val_t tmp;
551 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
552 fra.me.file = LOCATE_static_type;
553 fra.me.line = 81;
554 fra.me.meth = LOCATE_static_type___MMSignature___closures;
555 fra.me.has_broke = 0;
556 fra.me.REG_size = 1;
557 fra.me.REG[0] = NIT_NULL;
558 fra.me.REG[0] = p0;
559 REGB0 = TAG_Bool(ATTR_static_type___MMSignature____closures(fra.me.REG[0])!=NIT_NULL);
560 /* ./metamodel//static_type.nit:81 */
561 if (UNTAG_Bool(REGB0)) {
562 } else {
563 fprintf(stderr, "Uninitialized attribute %s", "_closures");
564 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 81);
565 nit_exit(1);
566 }
567 fra.me.REG[0] = ATTR_static_type___MMSignature____closures(fra.me.REG[0]);
568 stack_frame_head = fra.me.prev;
569 return fra.me.REG[0];
570 }
571 val_t static_type___MMSignature___closure_named(val_t p0, val_t p1){
572 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
573 val_t REGB0;
574 val_t REGB1;
575 val_t tmp;
576 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
577 fra.me.file = LOCATE_static_type;
578 fra.me.line = 84;
579 fra.me.meth = LOCATE_static_type___MMSignature___closure_named;
580 fra.me.has_broke = 0;
581 fra.me.REG_size = 4;
582 fra.me.REG[0] = NIT_NULL;
583 fra.me.REG[1] = NIT_NULL;
584 fra.me.REG[2] = NIT_NULL;
585 fra.me.REG[3] = NIT_NULL;
586 fra.me.REG[0] = p0;
587 fra.me.REG[1] = p1;
588 REGB0 = TAG_Bool(ATTR_static_type___MMSignature____closures(fra.me.REG[0])!=NIT_NULL);
589 /* ./metamodel//static_type.nit:87 */
590 if (UNTAG_Bool(REGB0)) {
591 } else {
592 fprintf(stderr, "Uninitialized attribute %s", "_closures");
593 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 87);
594 nit_exit(1);
595 }
596 fra.me.REG[0] = ATTR_static_type___MMSignature____closures(fra.me.REG[0]);
597 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
598 while(1) {
599 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
600 if (UNTAG_Bool(REGB0)) {
601 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
602 fra.me.REG[3] = CALL_static_type___MMClosure___name(fra.me.REG[2])(fra.me.REG[2]);
603 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
604 /* ./metamodel//static_type.nit:88 */
605 if (UNTAG_Bool(REGB0)) {
606 } else {
607 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
608 REGB0 = REGB1;
609 }
610 if (UNTAG_Bool(REGB0)) {
611 goto label1;
612 }
613 } else {
614 /* ./metamodel//static_type.nit:87 */
615 goto label2;
616 }
617 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
618 }
619 label2: while(0);
620 fra.me.REG[2] = NIT_NULL;
621 /* ./metamodel//static_type.nit:90 */
622 goto label1;
623 label1: while(0);
624 stack_frame_head = fra.me.prev;
625 return fra.me.REG[2];
626 }
627 val_t static_type___MMSignature___arity(val_t p0){
628 struct {struct stack_frame_t me;} fra;
629 val_t REGB0;
630 val_t tmp;
631 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
632 fra.me.file = LOCATE_static_type;
633 fra.me.line = 93;
634 fra.me.meth = LOCATE_static_type___MMSignature___arity;
635 fra.me.has_broke = 0;
636 fra.me.REG_size = 1;
637 fra.me.REG[0] = NIT_NULL;
638 fra.me.REG[0] = p0;
639 REGB0 = TAG_Bool(ATTR_static_type___MMSignature____params(fra.me.REG[0])!=NIT_NULL);
640 /* ./metamodel//static_type.nit:96 */
641 if (UNTAG_Bool(REGB0)) {
642 } else {
643 fprintf(stderr, "Uninitialized attribute %s", "_params");
644 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 96);
645 nit_exit(1);
646 }
647 fra.me.REG[0] = ATTR_static_type___MMSignature____params(fra.me.REG[0]);
648 REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
649 /* ./../lib/standard//collection//array.nit:23 */
650 if (UNTAG_Bool(REGB0)) {
651 } else {
652 fprintf(stderr, "Uninitialized attribute %s", "_length");
653 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
654 nit_exit(1);
655 }
656 REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
657 /* ./metamodel//static_type.nit:96 */
658 goto label1;
659 label1: while(0);
660 stack_frame_head = fra.me.prev;
661 return REGB0;
662 }
663 val_t static_type___MMSignature_____l(val_t p0, val_t p1){
664 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
665 val_t REGB0;
666 val_t REGB1;
667 val_t REGB2;
668 val_t REGB3;
669 val_t REGB4;
670 val_t tmp;
671 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
672 fra.me.file = LOCATE_static_type;
673 fra.me.line = 99;
674 fra.me.meth = LOCATE_static_type___MMSignature_____l;
675 fra.me.has_broke = 0;
676 fra.me.REG_size = 5;
677 fra.me.REG[0] = NIT_NULL;
678 fra.me.REG[1] = NIT_NULL;
679 fra.me.REG[2] = NIT_NULL;
680 fra.me.REG[3] = NIT_NULL;
681 fra.me.REG[4] = NIT_NULL;
682 fra.me.REG[0] = p0;
683 fra.me.REG[1] = p1;
684 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[1]));
685 /* ./metamodel//static_type.nit:102 */
686 if (UNTAG_Bool(REGB0)) {
687 } else {
688 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
689 REGB0 = REGB1;
690 }
691 if (UNTAG_Bool(REGB0)) {
692 REGB0 = TAG_Bool(true);
693 /* ./metamodel//static_type.nit:103 */
694 goto label1;
695 }
696 REGB1 = TAG_Bool(ATTR_static_type___MMSignature____recv(fra.me.REG[0])!=NIT_NULL);
697 /* ./metamodel//static_type.nit:105 */
698 if (UNTAG_Bool(REGB1)) {
699 } else {
700 fprintf(stderr, "Uninitialized attribute %s", "_recv");
701 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 105);
702 nit_exit(1);
703 }
704 fra.me.REG[2] = ATTR_static_type___MMSignature____recv(fra.me.REG[0]);
705 fra.me.REG[2] = CALL_static_type___MMType___module(fra.me.REG[2])(fra.me.REG[2]);
706 fra.me.REG[3] = CALL_static_type___MMSignature___recv(fra.me.REG[1])(fra.me.REG[1]);
707 fra.me.REG[3] = CALL_static_type___MMType___module(fra.me.REG[3])(fra.me.REG[3]);
708 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[3]));
709 if (UNTAG_Bool(REGB1)) {
710 } else {
711 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
712 REGB1 = REGB2;
713 }
714 if (UNTAG_Bool(REGB1)) {
715 } else {
716 fprintf(stderr, "Assert failed");
717 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 105);
718 nit_exit(1);
719 }
720 fra.me.REG[3] = ATTR_static_type___MMSignature____return_type(fra.me.REG[0]);
721 fra.me.REG[2] = CALL_static_type___MMSignature___return_type(fra.me.REG[1])(fra.me.REG[1]);
722 REGB1 = CALL_static_type___MMSignature___arity(fra.me.REG[0])(fra.me.REG[0]);
723 REGB2 = CALL_static_type___MMSignature___arity(fra.me.REG[1])(fra.me.REG[1]);
724 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
725 /* ./metamodel//static_type.nit:108 */
726 if (UNTAG_Bool(REGB3)) {
727 } else {
728 REGB2 = TAG_Bool((REGB1)==(REGB2));
729 REGB3 = REGB2;
730 /* ./metamodel//static_type.nit:108 */
731 }
732 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
733 if (UNTAG_Bool(REGB3)) {
734 REGB3 = TAG_Bool(true);
735 } else {
736 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
737 if (UNTAG_Bool(REGB2)) {
738 } else {
739 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
740 if (UNTAG_Bool(REGB1)) {
741 REGB1 = TAG_Bool(false);
742 REGB2 = REGB1;
743 } else {
744 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
745 REGB2 = REGB1;
746 }
747 }
748 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
749 if (UNTAG_Bool(REGB1)) {
750 } else {
751 REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
752 if (UNTAG_Bool(REGB4)) {
753 REGB4 = TAG_Bool(false);
754 REGB1 = REGB4;
755 } else {
756 REGB4 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
757 REGB1 = REGB4;
758 }
759 }
760 REGB4 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1));
761 if (UNTAG_Bool(REGB4)) {
762 } else {
763 REGB1 = TAG_Bool((REGB2)==(REGB1));
764 REGB4 = REGB1;
765 /* ./metamodel//static_type.nit:108 */
766 }
767 REGB4 = TAG_Bool(!UNTAG_Bool(REGB4));
768 REGB3 = REGB4;
769 }
770 if (UNTAG_Bool(REGB3)) {
771 REGB3 = TAG_Bool(false);
772 REGB0 = REGB3;
773 goto label1;
774 }
775 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
776 /* ./metamodel//static_type.nit:109 */
777 if (UNTAG_Bool(REGB3)) {
778 } else {
779 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
780 if (UNTAG_Bool(REGB4)) {
781 REGB4 = TAG_Bool(false);
782 REGB3 = REGB4;
783 } else {
784 REGB4 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
785 REGB3 = REGB4;
786 }
787 }
788 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
789 if (UNTAG_Bool(REGB3)) {
790 REGB3 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
791 if (UNTAG_Bool(REGB3)) {
792 } else {
793 fprintf(stderr, "Cast failed");
794 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 109);
795 nit_exit(1);
796 }
797 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
798 if (UNTAG_Bool(REGB3)) {
799 fprintf(stderr, "Reciever is null");
800 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 109);
801 nit_exit(1);
802 }
803 REGB3 = CALL_static_type___MMType_____l(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
804 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
805 } else {
806 REGB4 = TAG_Bool(false);
807 REGB3 = REGB4;
808 }
809 if (UNTAG_Bool(REGB3)) {
810 REGB3 = TAG_Bool(false);
811 REGB0 = REGB3;
812 /* ./metamodel//static_type.nit:110 */
813 goto label1;
814 }
815 REGB3 = TAG_Int(0);
816 REGB4 = CALL_static_type___MMSignature___arity(fra.me.REG[0])(fra.me.REG[0]);
817 fra.me.REG[2] = NEW_Range_range___Range___without_last(REGB3, REGB4);
818 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
819 /* ./metamodel//static_type.nit:113 */
820 while(1) {
821 REGB4 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
822 if (UNTAG_Bool(REGB4)) {
823 REGB4 = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
824 fra.me.REG[3] = CALL_static_type___MMSignature_____bra(fra.me.REG[1])(fra.me.REG[1], REGB4);
825 fra.me.REG[4] = CALL_static_type___MMSignature_____bra(fra.me.REG[0])(fra.me.REG[0], REGB4);
826 REGB4 = CALL_static_type___MMType_____l(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
827 REGB4 = TAG_Bool(!UNTAG_Bool(REGB4));
828 /* ./metamodel//static_type.nit:114 */
829 if (UNTAG_Bool(REGB4)) {
830 REGB4 = TAG_Bool(false);
831 REGB0 = REGB4;
832 /* ./metamodel//static_type.nit:115 */
833 goto label1;
834 }
835 } else {
836 /* ./metamodel//static_type.nit:113 */
837 goto label2;
838 }
839 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
840 }
841 label2: while(0);
842 fra.me.REG[2] = CALL_static_type___MMSignature___closures(fra.me.REG[0])(fra.me.REG[0]);
843 REGB4 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
844 /* ./../lib/standard//collection//array.nit:23 */
845 if (UNTAG_Bool(REGB4)) {
846 } else {
847 fprintf(stderr, "Uninitialized attribute %s", "_length");
848 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
849 nit_exit(1);
850 }
851 REGB4 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
852 fra.me.REG[2] = CALL_static_type___MMSignature___closures(fra.me.REG[1])(fra.me.REG[1]);
853 REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
854 /* ./../lib/standard//collection//array.nit:23 */
855 if (UNTAG_Bool(REGB3)) {
856 } else {
857 fprintf(stderr, "Uninitialized attribute %s", "_length");
858 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
859 nit_exit(1);
860 }
861 REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
862 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB4,REGB3));
863 /* ./metamodel//static_type.nit:119 */
864 if (UNTAG_Bool(REGB1)) {
865 } else {
866 REGB3 = TAG_Bool((REGB4)==(REGB3));
867 REGB1 = REGB3;
868 /* ./metamodel//static_type.nit:119 */
869 }
870 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
871 if (UNTAG_Bool(REGB1)) {
872 REGB1 = TAG_Bool(false);
873 REGB0 = REGB1;
874 goto label1;
875 }
876 REGB1 = TAG_Int(0);
877 fra.me.REG[2] = CALL_static_type___MMSignature___closures(fra.me.REG[0])(fra.me.REG[0]);
878 REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
879 /* ./../lib/standard//collection//array.nit:23 */
880 if (UNTAG_Bool(REGB3)) {
881 } else {
882 fprintf(stderr, "Uninitialized attribute %s", "_length");
883 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
884 nit_exit(1);
885 }
886 REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
887 fra.me.REG[2] = NEW_Range_range___Range___without_last(REGB1, REGB3);
888 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
889 /* ./metamodel//static_type.nit:120 */
890 while(1) {
891 REGB3 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
892 if (UNTAG_Bool(REGB3)) {
893 REGB3 = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
894 fra.me.REG[4] = CALL_static_type___MMSignature___closures(fra.me.REG[1])(fra.me.REG[1]);
895 REGB1 = REGB3;
896 REGB4 = TAG_Int(0);
897 REGB4 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB4));
898 /* ./../lib/standard//collection//array.nit:233 */
899 if (UNTAG_Bool(REGB4)) {
900 REGB4 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
901 if (UNTAG_Bool(REGB4)) {
902 } else {
903 fprintf(stderr, "Uninitialized attribute %s", "_length");
904 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
905 nit_exit(1);
906 }
907 REGB4 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
908 REGB4 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB4));
909 /* ./../lib/standard//collection//array.nit:233 */
910 } else {
911 REGB2 = TAG_Bool(false);
912 REGB4 = REGB2;
913 }
914 if (UNTAG_Bool(REGB4)) {
915 } else {
916 fprintf(stderr, "Assert %s failed", "'index'");
917 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
918 nit_exit(1);
919 }
920 fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[4]);
921 REGB4 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
922 /* ./../lib/standard//collection//array.nit:234 */
923 if (UNTAG_Bool(REGB4)) {
924 fprintf(stderr, "Reciever is null");
925 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
926 nit_exit(1);
927 }
928 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB1)];
929 /* ./../lib/standard//collection//array.nit:234 */
930 goto label3;
931 label3: while(0);
932 fra.me.REG[3] = CALL_static_type___MMSignature___closures(fra.me.REG[0])(fra.me.REG[0]);
933 REGB1 = TAG_Int(0);
934 REGB1 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB1));
935 /* ./../lib/standard//collection//array.nit:233 */
936 if (UNTAG_Bool(REGB1)) {
937 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
938 if (UNTAG_Bool(REGB1)) {
939 } else {
940 fprintf(stderr, "Uninitialized attribute %s", "_length");
941 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
942 nit_exit(1);
943 }
944 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
945 REGB1 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB1));
946 /* ./../lib/standard//collection//array.nit:233 */
947 } else {
948 REGB4 = TAG_Bool(false);
949 REGB1 = REGB4;
950 }
951 if (UNTAG_Bool(REGB1)) {
952 } else {
953 fprintf(stderr, "Assert %s failed", "'index'");
954 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
955 nit_exit(1);
956 }
957 fra.me.REG[3] = ATTR_array___Array____items(fra.me.REG[3]);
958 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
959 /* ./../lib/standard//collection//array.nit:234 */
960 if (UNTAG_Bool(REGB1)) {
961 fprintf(stderr, "Reciever is null");
962 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
963 nit_exit(1);
964 }
965 fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB3)];
966 /* ./../lib/standard//collection//array.nit:234 */
967 goto label4;
968 label4: while(0);
969 REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
970 /* ./metamodel//static_type.nit:121 */
971 if (UNTAG_Bool(REGB3)) {
972 fprintf(stderr, "Reciever is null");
973 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 121);
974 nit_exit(1);
975 }
976 REGB3 = CALL_static_type___MMClosure_____l(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
977 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
978 if (UNTAG_Bool(REGB3)) {
979 REGB3 = TAG_Bool(false);
980 REGB0 = REGB3;
981 goto label1;
982 }
983 } else {
984 /* ./metamodel//static_type.nit:120 */
985 goto label5;
986 }
987 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
988 }
989 label5: while(0);
990 REGB3 = TAG_Bool(true);
991 REGB0 = REGB3;
992 /* ./metamodel//static_type.nit:123 */
993 goto label1;
994 label1: while(0);
995 stack_frame_head = fra.me.prev;
996 return REGB0;
997 }
998 val_t static_type___MMSignature_____bra(val_t p0, val_t p1){
999 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1000 val_t REGB0;
1001 val_t REGB1;
1002 val_t REGB2;
1003 val_t tmp;
1004 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1005 fra.me.file = LOCATE_static_type;
1006 fra.me.line = 126;
1007 fra.me.meth = LOCATE_static_type___MMSignature_____bra;
1008 fra.me.has_broke = 0;
1009 fra.me.REG_size = 2;
1010 fra.me.REG[0] = NIT_NULL;
1011 fra.me.REG[1] = NIT_NULL;
1012 fra.me.REG[0] = p0;
1013 REGB0 = p1;
1014 REGB1 = TAG_Bool(ATTR_static_type___MMSignature____params(fra.me.REG[0])!=NIT_NULL);
1015 /* ./metamodel//static_type.nit:129 */
1016 if (UNTAG_Bool(REGB1)) {
1017 } else {
1018 fprintf(stderr, "Uninitialized attribute %s", "_params");
1019 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 129);
1020 nit_exit(1);
1021 }
1022 fra.me.REG[1] = ATTR_static_type___MMSignature____params(fra.me.REG[0]);
1023 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
1024 /* ./../lib/standard//collection//array.nit:23 */
1025 if (UNTAG_Bool(REGB1)) {
1026 } else {
1027 fprintf(stderr, "Uninitialized attribute %s", "_length");
1028 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
1029 nit_exit(1);
1030 }
1031 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
1032 REGB1 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB0));
1033 /* ./metamodel//static_type.nit:129 */
1034 if (UNTAG_Bool(REGB1)) {
1035 } else {
1036 fprintf(stderr, "Assert failed");
1037 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 129);
1038 nit_exit(1);
1039 }
1040 REGB1 = TAG_Bool(ATTR_static_type___MMSignature____params(fra.me.REG[0])!=NIT_NULL);
1041 /* ./metamodel//static_type.nit:130 */
1042 if (UNTAG_Bool(REGB1)) {
1043 } else {
1044 fprintf(stderr, "Uninitialized attribute %s", "_params");
1045 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 130);
1046 nit_exit(1);
1047 }
1048 fra.me.REG[0] = ATTR_static_type___MMSignature____params(fra.me.REG[0]);
1049 REGB1 = TAG_Int(0);
1050 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1051 /* ./../lib/standard//collection//array.nit:233 */
1052 if (UNTAG_Bool(REGB1)) {
1053 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
1054 if (UNTAG_Bool(REGB1)) {
1055 } else {
1056 fprintf(stderr, "Uninitialized attribute %s", "_length");
1057 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
1058 nit_exit(1);
1059 }
1060 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
1061 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1062 /* ./../lib/standard//collection//array.nit:233 */
1063 } else {
1064 REGB2 = TAG_Bool(false);
1065 REGB1 = REGB2;
1066 }
1067 if (UNTAG_Bool(REGB1)) {
1068 } else {
1069 fprintf(stderr, "Assert %s failed", "'index'");
1070 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
1071 nit_exit(1);
1072 }
1073 fra.me.REG[0] = ATTR_array___Array____items(fra.me.REG[0]);
1074 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1075 /* ./../lib/standard//collection//array.nit:234 */
1076 if (UNTAG_Bool(REGB1)) {
1077 fprintf(stderr, "Reciever is null");
1078 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
1079 nit_exit(1);
1080 }
1081 fra.me.REG[0] = ((Nit_NativeArray)fra.me.REG[0])->val[UNTAG_Int(REGB0)];
1082 /* ./../lib/standard//collection//array.nit:234 */
1083 goto label1;
1084 label1: while(0);
1085 /* ./metamodel//static_type.nit:130 */
1086 goto label2;
1087 label2: while(0);
1088 stack_frame_head = fra.me.prev;
1089 return fra.me.REG[0];
1090 }
1091 val_t static_type___MMSignature___adaptation_to(val_t p0, val_t p1){
1092 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
1093 val_t REGB0;
1094 val_t REGB1;
1095 val_t tmp;
1096 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1097 fra.me.file = LOCATE_static_type;
1098 fra.me.line = 153;
1099 fra.me.meth = LOCATE_static_type___MMSignature___adaptation_to;
1100 fra.me.has_broke = 0;
1101 fra.me.REG_size = 7;
1102 fra.me.REG[0] = NIT_NULL;
1103 fra.me.REG[1] = NIT_NULL;
1104 fra.me.REG[2] = NIT_NULL;
1105 fra.me.REG[3] = NIT_NULL;
1106 fra.me.REG[4] = NIT_NULL;
1107 fra.me.REG[5] = NIT_NULL;
1108 fra.me.REG[6] = NIT_NULL;
1109 fra.me.REG[0] = p0;
1110 fra.me.REG[1] = p1;
1111 REGB0 = TAG_Bool(ATTR_static_type___MMSignature____recv(fra.me.REG[0])!=NIT_NULL);
1112 /* ./metamodel//static_type.nit:156 */
1113 if (UNTAG_Bool(REGB0)) {
1114 } else {
1115 fprintf(stderr, "Uninitialized attribute %s", "_recv");
1116 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 156);
1117 nit_exit(1);
1118 }
1119 fra.me.REG[2] = ATTR_static_type___MMSignature____recv(fra.me.REG[0]);
1120 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[1]));
1121 if (UNTAG_Bool(REGB0)) {
1122 } else {
1123 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1124 REGB0 = REGB1;
1125 }
1126 if (UNTAG_Bool(REGB0)) {
1127 fra.me.REG[2] = fra.me.REG[0];
1128 /* ./metamodel//static_type.nit:157 */
1129 goto label1;
1130 }
1131 fra.me.REG[3] = CALL_static_type___MMType___module(fra.me.REG[1])(fra.me.REG[1]);
1132 fra.me.REG[4] = NEW_Array_array___Array___init();
1133 REGB0 = TAG_Bool(ATTR_static_type___MMSignature____params(fra.me.REG[0])!=NIT_NULL);
1134 /* ./metamodel//static_type.nit:161 */
1135 if (UNTAG_Bool(REGB0)) {
1136 } else {
1137 fprintf(stderr, "Uninitialized attribute %s", "_params");
1138 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 161);
1139 nit_exit(1);
1140 }
1141 fra.me.REG[5] = ATTR_static_type___MMSignature____params(fra.me.REG[0]);
1142 fra.me.REG[5] = CALL_abstract_collection___Collection___iterator(fra.me.REG[5])(fra.me.REG[5]);
1143 while(1) {
1144 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[5])(fra.me.REG[5]);
1145 if (UNTAG_Bool(REGB0)) {
1146 fra.me.REG[6] = CALL_abstract_collection___Iterator___item(fra.me.REG[5])(fra.me.REG[5]);
1147 fra.me.REG[6] = CALL_static_type___MMType___for_module(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
1148 fra.me.REG[6] = CALL_static_type___MMType___adapt_to(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[1]);
1149 /* ./metamodel//static_type.nit:162 */
1150 array___Array___add(fra.me.REG[4], fra.me.REG[6]);
1151 } else {
1152 /* ./metamodel//static_type.nit:161 */
1153 goto label2;
1154 }
1155 CALL_abstract_collection___Iterator___next(fra.me.REG[5])(fra.me.REG[5]);
1156 }
1157 label2: while(0);
1158 fra.me.REG[5] = ATTR_static_type___MMSignature____return_type(fra.me.REG[0]);
1159 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1160 /* ./metamodel//static_type.nit:165 */
1161 if (UNTAG_Bool(REGB0)) {
1162 } else {
1163 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1164 if (UNTAG_Bool(REGB1)) {
1165 REGB1 = TAG_Bool(false);
1166 REGB0 = REGB1;
1167 } else {
1168 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
1169 REGB0 = REGB1;
1170 }
1171 }
1172 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1173 if (UNTAG_Bool(REGB0)) {
1174 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1175 /* ./metamodel//static_type.nit:166 */
1176 if (UNTAG_Bool(REGB0)) {
1177 fprintf(stderr, "Reciever is null");
1178 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 166);
1179 nit_exit(1);
1180 }
1181 fra.me.REG[3] = CALL_static_type___MMType___for_module(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
1182 fra.me.REG[3] = CALL_static_type___MMType___adapt_to(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1183 fra.me.REG[5] = fra.me.REG[3];
1184 }
1185 fra.me.REG[5] = NEW_MMSignature_static_type___MMSignature___init(fra.me.REG[4], fra.me.REG[5], fra.me.REG[1]);
1186 REGB0 = TAG_Bool(ATTR_static_type___MMSignature____closures(fra.me.REG[0])!=NIT_NULL);
1187 /* ./metamodel//static_type.nit:169 */
1188 if (UNTAG_Bool(REGB0)) {
1189 } else {
1190 fprintf(stderr, "Uninitialized attribute %s", "_closures");
1191 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 169);
1192 nit_exit(1);
1193 }
1194 fra.me.REG[0] = ATTR_static_type___MMSignature____closures(fra.me.REG[0]);
1195 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
1196 while(1) {
1197 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
1198 if (UNTAG_Bool(REGB0)) {
1199 fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
1200 fra.me.REG[3] = CALL_static_type___MMSignature___closures(fra.me.REG[5])(fra.me.REG[5]);
1201 fra.me.REG[4] = CALL_static_type___MMClosure___adaptation_to(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
1202 /* ./metamodel//static_type.nit:170 */
1203 array___Array___add(fra.me.REG[3], fra.me.REG[4]);
1204 } else {
1205 /* ./metamodel//static_type.nit:169 */
1206 goto label3;
1207 }
1208 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
1209 }
1210 label3: while(0);
1211 fra.me.REG[2] = fra.me.REG[5];
1212 /* ./metamodel//static_type.nit:172 */
1213 goto label1;
1214 label1: while(0);
1215 stack_frame_head = fra.me.prev;
1216 return fra.me.REG[2];
1217 }
1218 val_t static_type___MMSignature___not_for_self(val_t p0){
1219 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
1220 val_t REGB0;
1221 val_t REGB1;
1222 val_t REGB2;
1223 val_t tmp;
1224 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1225 fra.me.file = LOCATE_static_type;
1226 fra.me.line = 177;
1227 fra.me.meth = LOCATE_static_type___MMSignature___not_for_self;
1228 fra.me.has_broke = 0;
1229 fra.me.REG_size = 8;
1230 fra.me.REG[0] = NIT_NULL;
1231 fra.me.REG[1] = NIT_NULL;
1232 fra.me.REG[2] = NIT_NULL;
1233 fra.me.REG[3] = NIT_NULL;
1234 fra.me.REG[4] = NIT_NULL;
1235 fra.me.REG[5] = NIT_NULL;
1236 fra.me.REG[6] = NIT_NULL;
1237 fra.me.REG[7] = NIT_NULL;
1238 fra.me.REG[0] = p0;
1239 fra.me.REG[1] = ATTR_static_type___MMSignature____not_for_self_cache(fra.me.REG[0]);
1240 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1241 /* ./metamodel//static_type.nit:181 */
1242 if (UNTAG_Bool(REGB0)) {
1243 } else {
1244 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1245 if (UNTAG_Bool(REGB1)) {
1246 REGB1 = TAG_Bool(false);
1247 REGB0 = REGB1;
1248 } else {
1249 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
1250 REGB0 = REGB1;
1251 }
1252 }
1253 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1254 if (UNTAG_Bool(REGB0)) {
1255 fra.me.REG[1] = ATTR_static_type___MMSignature____not_for_self_cache(fra.me.REG[0]);
1256 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
1257 if (UNTAG_Bool(REGB0)) {
1258 } else {
1259 fprintf(stderr, "Cast failed");
1260 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 181);
1261 nit_exit(1);
1262 }
1263 goto label1;
1264 }
1265 REGB0 = TAG_Bool(false);
1266 fra.me.REG[2] = NEW_Array_array___Array___init();
1267 REGB1 = TAG_Bool(ATTR_static_type___MMSignature____params(fra.me.REG[0])!=NIT_NULL);
1268 /* ./metamodel//static_type.nit:185 */
1269 if (UNTAG_Bool(REGB1)) {
1270 } else {
1271 fprintf(stderr, "Uninitialized attribute %s", "_params");
1272 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 185);
1273 nit_exit(1);
1274 }
1275 fra.me.REG[3] = ATTR_static_type___MMSignature____params(fra.me.REG[0]);
1276 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
1277 while(1) {
1278 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
1279 if (UNTAG_Bool(REGB1)) {
1280 fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
1281 fra.me.REG[5] = CALL_static_type___MMType___not_for_self(fra.me.REG[4])(fra.me.REG[4]);
1282 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[4],fra.me.REG[5]));
1283 /* ./metamodel//static_type.nit:187 */
1284 if (UNTAG_Bool(REGB1)) {
1285 } else {
1286 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
1287 REGB1 = REGB2;
1288 }
1289 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1290 if (UNTAG_Bool(REGB1)) {
1291 REGB1 = TAG_Bool(true);
1292 REGB0 = REGB1;
1293 }
1294 /* ./metamodel//static_type.nit:188 */
1295 array___Array___add(fra.me.REG[2], fra.me.REG[5]);
1296 } else {
1297 /* ./metamodel//static_type.nit:185 */
1298 goto label2;
1299 }
1300 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
1301 }
1302 label2: while(0);
1303 fra.me.REG[3] = ATTR_static_type___MMSignature____return_type(fra.me.REG[0]);
1304 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
1305 /* ./metamodel//static_type.nit:192 */
1306 if (UNTAG_Bool(REGB1)) {
1307 } else {
1308 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
1309 if (UNTAG_Bool(REGB2)) {
1310 REGB2 = TAG_Bool(false);
1311 REGB1 = REGB2;
1312 } else {
1313 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
1314 REGB1 = REGB2;
1315 }
1316 }
1317 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1318 if (UNTAG_Bool(REGB1)) {
1319 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
1320 /* ./metamodel//static_type.nit:193 */
1321 if (UNTAG_Bool(REGB1)) {
1322 fprintf(stderr, "Reciever is null");
1323 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 193);
1324 nit_exit(1);
1325 }
1326 fra.me.REG[5] = CALL_static_type___MMType___not_for_self(fra.me.REG[3])(fra.me.REG[3]);
1327 fra.me.REG[3] = fra.me.REG[5];
1328 fra.me.REG[5] = ATTR_static_type___MMSignature____return_type(fra.me.REG[0]);
1329 REGB1 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[3],fra.me.REG[5]));
1330 /* ./metamodel//static_type.nit:194 */
1331 if (UNTAG_Bool(REGB1)) {
1332 } else {
1333 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
1334 if (UNTAG_Bool(REGB2)) {
1335 REGB2 = TAG_Bool(false);
1336 REGB1 = REGB2;
1337 } else {
1338 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
1339 REGB1 = REGB2;
1340 }
1341 }
1342 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1343 if (UNTAG_Bool(REGB1)) {
1344 REGB1 = TAG_Bool(true);
1345 REGB0 = REGB1;
1346 }
1347 }
1348 fra.me.REG[5] = NEW_Array_array___Array___init();
1349 REGB1 = TAG_Bool(ATTR_static_type___MMSignature____closures(fra.me.REG[0])!=NIT_NULL);
1350 /* ./metamodel//static_type.nit:198 */
1351 if (UNTAG_Bool(REGB1)) {
1352 } else {
1353 fprintf(stderr, "Uninitialized attribute %s", "_closures");
1354 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 198);
1355 nit_exit(1);
1356 }
1357 fra.me.REG[4] = ATTR_static_type___MMSignature____closures(fra.me.REG[0]);
1358 fra.me.REG[4] = CALL_abstract_collection___Collection___iterator(fra.me.REG[4])(fra.me.REG[4]);
1359 while(1) {
1360 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[4])(fra.me.REG[4]);
1361 if (UNTAG_Bool(REGB1)) {
1362 fra.me.REG[6] = CALL_abstract_collection___Iterator___item(fra.me.REG[4])(fra.me.REG[4]);
1363 fra.me.REG[7] = CALL_static_type___MMClosure___not_for_self(fra.me.REG[6])(fra.me.REG[6]);
1364 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[7],fra.me.REG[6]));
1365 /* ./metamodel//static_type.nit:200 */
1366 if (UNTAG_Bool(REGB1)) {
1367 } else {
1368 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6]);
1369 REGB1 = REGB2;
1370 }
1371 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1372 if (UNTAG_Bool(REGB1)) {
1373 REGB1 = TAG_Bool(true);
1374 REGB0 = REGB1;
1375 }
1376 /* ./metamodel//static_type.nit:201 */
1377 array___Array___add(fra.me.REG[5], fra.me.REG[7]);
1378 } else {
1379 /* ./metamodel//static_type.nit:198 */
1380 goto label3;
1381 }
1382 CALL_abstract_collection___Iterator___next(fra.me.REG[4])(fra.me.REG[4]);
1383 }
1384 label3: while(0);
1385 /* ./metamodel//static_type.nit:205 */
1386 if (UNTAG_Bool(REGB0)) {
1387 REGB0 = TAG_Bool(ATTR_static_type___MMSignature____recv(fra.me.REG[0])!=NIT_NULL);
1388 /* ./metamodel//static_type.nit:206 */
1389 if (UNTAG_Bool(REGB0)) {
1390 } else {
1391 fprintf(stderr, "Uninitialized attribute %s", "_recv");
1392 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 206);
1393 nit_exit(1);
1394 }
1395 fra.me.REG[4] = ATTR_static_type___MMSignature____recv(fra.me.REG[0]);
1396 fra.me.REG[4] = NEW_MMSignature_static_type___MMSignature___init(fra.me.REG[2], fra.me.REG[3], fra.me.REG[4]);
1397 fra.me.REG[3] = CALL_static_type___MMSignature___closures(fra.me.REG[4])(fra.me.REG[4]);
1398 /* ./metamodel//static_type.nit:207 */
1399 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
1400 } else {
1401 fra.me.REG[4] = fra.me.REG[0];
1402 /* ./metamodel//static_type.nit:209 */
1403 }
1404 /* ./metamodel//static_type.nit:212 */
1405 ATTR_static_type___MMSignature____not_for_self_cache(fra.me.REG[0]) = fra.me.REG[4];
1406 fra.me.REG[1] = fra.me.REG[4];
1407 /* ./metamodel//static_type.nit:213 */
1408 goto label1;
1409 label1: while(0);
1410 stack_frame_head = fra.me.prev;
1411 return fra.me.REG[1];
1412 }
1413 void static_type___MMSignature___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1414 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMSignature].i;
1415 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1416 val_t tmp;
1417 if (init_table[itpos0]) return;
1418 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1419 fra.me.file = LOCATE_static_type;
1420 fra.me.line = 216;
1421 fra.me.meth = LOCATE_static_type___MMSignature___init;
1422 fra.me.has_broke = 0;
1423 fra.me.REG_size = 4;
1424 fra.me.REG[0] = NIT_NULL;
1425 fra.me.REG[1] = NIT_NULL;
1426 fra.me.REG[2] = NIT_NULL;
1427 fra.me.REG[3] = NIT_NULL;
1428 fra.me.REG[0] = p0;
1429 fra.me.REG[1] = p1;
1430 fra.me.REG[2] = p2;
1431 fra.me.REG[3] = p3;
1432 /* ./metamodel//static_type.nit:218 */
1433 ATTR_static_type___MMSignature____params(fra.me.REG[0]) = fra.me.REG[1];
1434 /* ./metamodel//static_type.nit:219 */
1435 ATTR_static_type___MMSignature____return_type(fra.me.REG[0]) = fra.me.REG[2];
1436 /* ./metamodel//static_type.nit:220 */
1437 ATTR_static_type___MMSignature____recv(fra.me.REG[0]) = fra.me.REG[3];
1438 stack_frame_head = fra.me.prev;
1439 init_table[itpos0] = 1;
1440 return;
1441 }
1442 val_t static_type___MMClosure___name(val_t p0){
1443 struct {struct stack_frame_t me;} fra;
1444 val_t REGB0;
1445 val_t tmp;
1446 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1447 fra.me.file = LOCATE_static_type;
1448 fra.me.line = 226;
1449 fra.me.meth = LOCATE_static_type___MMClosure___name;
1450 fra.me.has_broke = 0;
1451 fra.me.REG_size = 1;
1452 fra.me.REG[0] = NIT_NULL;
1453 fra.me.REG[0] = p0;
1454 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____name(fra.me.REG[0])!=NIT_NULL);
1455 /* ./metamodel//static_type.nit:226 */
1456 if (UNTAG_Bool(REGB0)) {
1457 } else {
1458 fprintf(stderr, "Uninitialized attribute %s", "_name");
1459 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 226);
1460 nit_exit(1);
1461 }
1462 fra.me.REG[0] = ATTR_static_type___MMClosure____name(fra.me.REG[0]);
1463 stack_frame_head = fra.me.prev;
1464 return fra.me.REG[0];
1465 }
1466 val_t static_type___MMClosure___signature(val_t p0){
1467 struct {struct stack_frame_t me;} fra;
1468 val_t REGB0;
1469 val_t tmp;
1470 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1471 fra.me.file = LOCATE_static_type;
1472 fra.me.line = 229;
1473 fra.me.meth = LOCATE_static_type___MMClosure___signature;
1474 fra.me.has_broke = 0;
1475 fra.me.REG_size = 1;
1476 fra.me.REG[0] = NIT_NULL;
1477 fra.me.REG[0] = p0;
1478 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____signature(fra.me.REG[0])!=NIT_NULL);
1479 /* ./metamodel//static_type.nit:229 */
1480 if (UNTAG_Bool(REGB0)) {
1481 } else {
1482 fprintf(stderr, "Uninitialized attribute %s", "_signature");
1483 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 229);
1484 nit_exit(1);
1485 }
1486 fra.me.REG[0] = ATTR_static_type___MMClosure____signature(fra.me.REG[0]);
1487 stack_frame_head = fra.me.prev;
1488 return fra.me.REG[0];
1489 }
1490 val_t static_type___MMClosure___is_break(val_t p0){
1491 struct {struct stack_frame_t me;} fra;
1492 val_t REGB0;
1493 val_t tmp;
1494 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1495 fra.me.file = LOCATE_static_type;
1496 fra.me.line = 232;
1497 fra.me.meth = LOCATE_static_type___MMClosure___is_break;
1498 fra.me.has_broke = 0;
1499 fra.me.REG_size = 1;
1500 fra.me.REG[0] = NIT_NULL;
1501 fra.me.REG[0] = p0;
1502 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____is_break(fra.me.REG[0])!=NIT_NULL);
1503 /* ./metamodel//static_type.nit:232 */
1504 if (UNTAG_Bool(REGB0)) {
1505 } else {
1506 fprintf(stderr, "Uninitialized attribute %s", "_is_break");
1507 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 232);
1508 nit_exit(1);
1509 }
1510 REGB0 = ATTR_static_type___MMClosure____is_break(fra.me.REG[0]);
1511 stack_frame_head = fra.me.prev;
1512 return REGB0;
1513 }
1514 val_t static_type___MMClosure___is_optional(val_t p0){
1515 struct {struct stack_frame_t me;} fra;
1516 val_t REGB0;
1517 val_t tmp;
1518 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1519 fra.me.file = LOCATE_static_type;
1520 fra.me.line = 236;
1521 fra.me.meth = LOCATE_static_type___MMClosure___is_optional;
1522 fra.me.has_broke = 0;
1523 fra.me.REG_size = 1;
1524 fra.me.REG[0] = NIT_NULL;
1525 fra.me.REG[0] = p0;
1526 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____is_optional(fra.me.REG[0])!=NIT_NULL);
1527 /* ./metamodel//static_type.nit:236 */
1528 if (UNTAG_Bool(REGB0)) {
1529 } else {
1530 fprintf(stderr, "Uninitialized attribute %s", "_is_optional");
1531 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 236);
1532 nit_exit(1);
1533 }
1534 REGB0 = ATTR_static_type___MMClosure____is_optional(fra.me.REG[0]);
1535 stack_frame_head = fra.me.prev;
1536 return REGB0;
1537 }
1538 val_t static_type___MMClosure___adaptation_to(val_t p0, val_t p1){
1539 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1540 val_t REGB0;
1541 val_t REGB1;
1542 val_t tmp;
1543 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1544 fra.me.file = LOCATE_static_type;
1545 fra.me.line = 240;
1546 fra.me.meth = LOCATE_static_type___MMClosure___adaptation_to;
1547 fra.me.has_broke = 0;
1548 fra.me.REG_size = 4;
1549 fra.me.REG[0] = NIT_NULL;
1550 fra.me.REG[1] = NIT_NULL;
1551 fra.me.REG[2] = NIT_NULL;
1552 fra.me.REG[3] = NIT_NULL;
1553 fra.me.REG[0] = p0;
1554 fra.me.REG[1] = p1;
1555 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____name(fra.me.REG[0])!=NIT_NULL);
1556 /* ./metamodel//static_type.nit:243 */
1557 if (UNTAG_Bool(REGB0)) {
1558 } else {
1559 fprintf(stderr, "Uninitialized attribute %s", "_name");
1560 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 243);
1561 nit_exit(1);
1562 }
1563 fra.me.REG[2] = ATTR_static_type___MMClosure____name(fra.me.REG[0]);
1564 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____signature(fra.me.REG[0])!=NIT_NULL);
1565 if (UNTAG_Bool(REGB0)) {
1566 } else {
1567 fprintf(stderr, "Uninitialized attribute %s", "_signature");
1568 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 243);
1569 nit_exit(1);
1570 }
1571 fra.me.REG[3] = ATTR_static_type___MMClosure____signature(fra.me.REG[0]);
1572 fra.me.REG[1] = CALL_static_type___MMSignature___adaptation_to(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1573 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____is_break(fra.me.REG[0])!=NIT_NULL);
1574 if (UNTAG_Bool(REGB0)) {
1575 } else {
1576 fprintf(stderr, "Uninitialized attribute %s", "_is_break");
1577 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 243);
1578 nit_exit(1);
1579 }
1580 REGB0 = ATTR_static_type___MMClosure____is_break(fra.me.REG[0]);
1581 REGB1 = TAG_Bool(ATTR_static_type___MMClosure____is_optional(fra.me.REG[0])!=NIT_NULL);
1582 if (UNTAG_Bool(REGB1)) {
1583 } else {
1584 fprintf(stderr, "Uninitialized attribute %s", "_is_optional");
1585 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 243);
1586 nit_exit(1);
1587 }
1588 REGB1 = ATTR_static_type___MMClosure____is_optional(fra.me.REG[0]);
1589 fra.me.REG[1] = NEW_MMClosure_static_type___MMClosure___init(fra.me.REG[2], fra.me.REG[1], REGB0, REGB1);
1590 goto label1;
1591 label1: while(0);
1592 stack_frame_head = fra.me.prev;
1593 return fra.me.REG[1];
1594 }
1595 void static_type___MMClosure___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
1596 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMClosure].i;
1597 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1598 val_t REGB0;
1599 val_t REGB1;
1600 val_t tmp;
1601 if (init_table[itpos1]) return;
1602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1603 fra.me.file = LOCATE_static_type;
1604 fra.me.line = 246;
1605 fra.me.meth = LOCATE_static_type___MMClosure___init;
1606 fra.me.has_broke = 0;
1607 fra.me.REG_size = 3;
1608 fra.me.REG[0] = NIT_NULL;
1609 fra.me.REG[1] = NIT_NULL;
1610 fra.me.REG[2] = NIT_NULL;
1611 fra.me.REG[0] = p0;
1612 fra.me.REG[1] = p1;
1613 fra.me.REG[2] = p2;
1614 REGB0 = p3;
1615 REGB1 = p4;
1616 /* ./metamodel//static_type.nit:248 */
1617 ATTR_static_type___MMClosure____name(fra.me.REG[0]) = fra.me.REG[1];
1618 /* ./metamodel//static_type.nit:249 */
1619 ATTR_static_type___MMClosure____signature(fra.me.REG[0]) = fra.me.REG[2];
1620 /* ./metamodel//static_type.nit:250 */
1621 ATTR_static_type___MMClosure____is_break(fra.me.REG[0]) = REGB0;
1622 /* ./metamodel//static_type.nit:251 */
1623 ATTR_static_type___MMClosure____is_optional(fra.me.REG[0]) = REGB1;
1624 stack_frame_head = fra.me.prev;
1625 init_table[itpos1] = 1;
1626 return;
1627 }
1628 val_t static_type___MMClosure___not_for_self(val_t p0){
1629 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1630 val_t REGB0;
1631 val_t REGB1;
1632 val_t tmp;
1633 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1634 fra.me.file = LOCATE_static_type;
1635 fra.me.line = 254;
1636 fra.me.meth = LOCATE_static_type___MMClosure___not_for_self;
1637 fra.me.has_broke = 0;
1638 fra.me.REG_size = 3;
1639 fra.me.REG[0] = NIT_NULL;
1640 fra.me.REG[1] = NIT_NULL;
1641 fra.me.REG[2] = NIT_NULL;
1642 fra.me.REG[0] = p0;
1643 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____signature(fra.me.REG[0])!=NIT_NULL);
1644 /* ./metamodel//static_type.nit:256 */
1645 if (UNTAG_Bool(REGB0)) {
1646 } else {
1647 fprintf(stderr, "Uninitialized attribute %s", "_signature");
1648 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 256);
1649 nit_exit(1);
1650 }
1651 fra.me.REG[1] = ATTR_static_type___MMClosure____signature(fra.me.REG[0]);
1652 fra.me.REG[1] = CALL_static_type___MMSignature___not_for_self(fra.me.REG[1])(fra.me.REG[1]);
1653 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____signature(fra.me.REG[0])!=NIT_NULL);
1654 /* ./metamodel//static_type.nit:257 */
1655 if (UNTAG_Bool(REGB0)) {
1656 } else {
1657 fprintf(stderr, "Uninitialized attribute %s", "_signature");
1658 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 257);
1659 nit_exit(1);
1660 }
1661 fra.me.REG[2] = ATTR_static_type___MMClosure____signature(fra.me.REG[0]);
1662 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
1663 if (UNTAG_Bool(REGB0)) {
1664 } else {
1665 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1666 REGB0 = REGB1;
1667 }
1668 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1669 if (UNTAG_Bool(REGB0)) {
1670 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____name(fra.me.REG[0])!=NIT_NULL);
1671 /* ./metamodel//static_type.nit:258 */
1672 if (UNTAG_Bool(REGB0)) {
1673 } else {
1674 fprintf(stderr, "Uninitialized attribute %s", "_name");
1675 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 258);
1676 nit_exit(1);
1677 }
1678 fra.me.REG[2] = ATTR_static_type___MMClosure____name(fra.me.REG[0]);
1679 REGB0 = TAG_Bool(ATTR_static_type___MMClosure____is_break(fra.me.REG[0])!=NIT_NULL);
1680 if (UNTAG_Bool(REGB0)) {
1681 } else {
1682 fprintf(stderr, "Uninitialized attribute %s", "_is_break");
1683 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 258);
1684 nit_exit(1);
1685 }
1686 REGB0 = ATTR_static_type___MMClosure____is_break(fra.me.REG[0]);
1687 REGB1 = TAG_Bool(ATTR_static_type___MMClosure____is_optional(fra.me.REG[0])!=NIT_NULL);
1688 if (UNTAG_Bool(REGB1)) {
1689 } else {
1690 fprintf(stderr, "Uninitialized attribute %s", "_is_optional");
1691 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 258);
1692 nit_exit(1);
1693 }
1694 REGB1 = ATTR_static_type___MMClosure____is_optional(fra.me.REG[0]);
1695 fra.me.REG[1] = NEW_MMClosure_static_type___MMClosure___init(fra.me.REG[2], fra.me.REG[1], REGB0, REGB1);
1696 goto label1;
1697 } else {
1698 fra.me.REG[1] = fra.me.REG[0];
1699 /* ./metamodel//static_type.nit:260 */
1700 goto label1;
1701 }
1702 label1: while(0);
1703 stack_frame_head = fra.me.prev;
1704 return fra.me.REG[1];
1705 }
1706 val_t static_type___MMClosure_____l(val_t p0, val_t p1){
1707 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1708 val_t REGB0;
1709 val_t REGB1;
1710 val_t REGB2;
1711 val_t tmp;
1712 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1713 fra.me.file = LOCATE_static_type;
1714 fra.me.line = 264;
1715 fra.me.meth = LOCATE_static_type___MMClosure_____l;
1716 fra.me.has_broke = 0;
1717 fra.me.REG_size = 2;
1718 fra.me.REG[0] = NIT_NULL;
1719 fra.me.REG[1] = NIT_NULL;
1720 fra.me.REG[0] = p0;
1721 fra.me.REG[1] = p1;
1722 REGB0 = CALL_static_type___MMClosure___is_optional(fra.me.REG[1])(fra.me.REG[1]);
1723 /* ./metamodel//static_type.nit:266 */
1724 if (UNTAG_Bool(REGB0)) {
1725 REGB0 = CALL_static_type___MMClosure___is_optional(fra.me.REG[0])(fra.me.REG[0]);
1726 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1727 } else {
1728 REGB1 = TAG_Bool(false);
1729 REGB0 = REGB1;
1730 }
1731 if (UNTAG_Bool(REGB0)) {
1732 REGB0 = TAG_Bool(false);
1733 goto label1;
1734 }
1735 REGB1 = CALL_static_type___MMClosure___is_break(fra.me.REG[1])(fra.me.REG[1]);
1736 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
1737 /* ./metamodel//static_type.nit:267 */
1738 if (UNTAG_Bool(REGB1)) {
1739 REGB1 = CALL_static_type___MMClosure___is_break(fra.me.REG[0])(fra.me.REG[0]);
1740 } else {
1741 REGB2 = TAG_Bool(false);
1742 REGB1 = REGB2;
1743 }
1744 if (UNTAG_Bool(REGB1)) {
1745 REGB1 = TAG_Bool(false);
1746 REGB0 = REGB1;
1747 goto label1;
1748 }
1749 fra.me.REG[1] = CALL_static_type___MMClosure___signature(fra.me.REG[1])(fra.me.REG[1]);
1750 fra.me.REG[0] = CALL_static_type___MMClosure___signature(fra.me.REG[0])(fra.me.REG[0]);
1751 REGB1 = CALL_static_type___MMSignature_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1752 REGB0 = REGB1;
1753 /* ./metamodel//static_type.nit:268 */
1754 goto label1;
1755 label1: while(0);
1756 stack_frame_head = fra.me.prev;
1757 return REGB0;
1758 }
1759 val_t static_type___MMAncestor___to_s(val_t p0){
1760 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1761 val_t REGB0;
1762 val_t REGB1;
1763 val_t tmp;
1764 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1765 fra.me.file = LOCATE_static_type;
1766 fra.me.line = 297;
1767 fra.me.meth = LOCATE_static_type___MMAncestor___to_s;
1768 fra.me.has_broke = 0;
1769 fra.me.REG_size = 2;
1770 fra.me.REG[0] = NIT_NULL;
1771 fra.me.REG[1] = NIT_NULL;
1772 fra.me.REG[0] = p0;
1773 fra.me.REG[1] = ATTR_static_type___MMAncestor____stype(fra.me.REG[0]);
1774 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1775 /* ./metamodel//static_type.nit:299 */
1776 if (UNTAG_Bool(REGB0)) {
1777 } else {
1778 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1779 if (UNTAG_Bool(REGB1)) {
1780 REGB1 = TAG_Bool(false);
1781 REGB0 = REGB1;
1782 } else {
1783 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
1784 REGB0 = REGB1;
1785 }
1786 }
1787 if (UNTAG_Bool(REGB0)) {
1788 fra.me.REG[1] = CALL_static_type___MMAncestor___local_class(fra.me.REG[0])(fra.me.REG[0]);
1789 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1790 /* ./metamodel//static_type.nit:300 */
1791 goto label1;
1792 } else {
1793 fra.me.REG[0] = CALL_static_type___MMAncestor___stype(fra.me.REG[0])(fra.me.REG[0]);
1794 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
1795 fra.me.REG[1] = fra.me.REG[0];
1796 /* ./metamodel//static_type.nit:302 */
1797 goto label1;
1798 }
1799 label1: while(0);
1800 stack_frame_head = fra.me.prev;
1801 return fra.me.REG[1];
1802 }
1803 void static_type___MMAncestor___stype__eq(val_t p0, val_t p1){
1804 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1805 val_t tmp;
1806 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1807 fra.me.file = LOCATE_static_type;
1808 fra.me.line = 274;
1809 fra.me.meth = LOCATE_static_type___MMAncestor___stype__eq;
1810 fra.me.has_broke = 0;
1811 fra.me.REG_size = 2;
1812 fra.me.REG[0] = NIT_NULL;
1813 fra.me.REG[1] = NIT_NULL;
1814 fra.me.REG[0] = p0;
1815 fra.me.REG[1] = p1;
1816 /* ./metamodel//static_type.nit:274 */
1817 ATTR_static_type___MMAncestor____stype(fra.me.REG[0]) = fra.me.REG[1];
1818 stack_frame_head = fra.me.prev;
1819 return;
1820 }
1821 val_t static_type___MMAncestor___stype(val_t p0){
1822 struct {struct stack_frame_t me;} fra;
1823 val_t REGB0;
1824 val_t tmp;
1825 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1826 fra.me.file = LOCATE_static_type;
1827 fra.me.line = 277;
1828 fra.me.meth = LOCATE_static_type___MMAncestor___stype;
1829 fra.me.has_broke = 0;
1830 fra.me.REG_size = 1;
1831 fra.me.REG[0] = NIT_NULL;
1832 fra.me.REG[0] = p0;
1833 fra.me.REG[0] = ATTR_static_type___MMAncestor____stype(fra.me.REG[0]);
1834 REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
1835 /* ./metamodel//static_type.nit:278 */
1836 if (UNTAG_Bool(REGB0)) {
1837 } else {
1838 fprintf(stderr, "Cast failed");
1839 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 278);
1840 nit_exit(1);
1841 }
1842 goto label1;
1843 label1: while(0);
1844 stack_frame_head = fra.me.prev;
1845 return fra.me.REG[0];
1846 }
1847 void static_type___MMAncestor___inheriter__eq(val_t p0, val_t p1){
1848 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1849 val_t tmp;
1850 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1851 fra.me.file = LOCATE_static_type;
1852 fra.me.line = 280;
1853 fra.me.meth = LOCATE_static_type___MMAncestor___inheriter__eq;
1854 fra.me.has_broke = 0;
1855 fra.me.REG_size = 2;
1856 fra.me.REG[0] = NIT_NULL;
1857 fra.me.REG[1] = NIT_NULL;
1858 fra.me.REG[0] = p0;
1859 fra.me.REG[1] = p1;
1860 /* ./metamodel//static_type.nit:280 */
1861 ATTR_static_type___MMAncestor____inheriter(fra.me.REG[0]) = fra.me.REG[1];
1862 stack_frame_head = fra.me.prev;
1863 return;
1864 }
1865 val_t static_type___MMAncestor___inheriter(val_t p0){
1866 struct {struct stack_frame_t me;} fra;
1867 val_t REGB0;
1868 val_t tmp;
1869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1870 fra.me.file = LOCATE_static_type;
1871 fra.me.line = 283;
1872 fra.me.meth = LOCATE_static_type___MMAncestor___inheriter;
1873 fra.me.has_broke = 0;
1874 fra.me.REG_size = 1;
1875 fra.me.REG[0] = NIT_NULL;
1876 fra.me.REG[0] = p0;
1877 fra.me.REG[0] = ATTR_static_type___MMAncestor____inheriter(fra.me.REG[0]);
1878 REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
1879 /* ./metamodel//static_type.nit:284 */
1880 if (UNTAG_Bool(REGB0)) {
1881 } else {
1882 fprintf(stderr, "Cast failed");
1883 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 284);
1884 nit_exit(1);
1885 }
1886 goto label1;
1887 label1: while(0);
1888 stack_frame_head = fra.me.prev;
1889 return fra.me.REG[0];
1890 }
1891 val_t static_type___MMAncestor___is_reffinement(val_t p0){
1892 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1893 val_t REGB0;
1894 val_t REGB1;
1895 val_t tmp;
1896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1897 fra.me.file = LOCATE_static_type;
1898 fra.me.line = 286;
1899 fra.me.meth = LOCATE_static_type___MMAncestor___is_reffinement;
1900 fra.me.has_broke = 0;
1901 fra.me.REG_size = 2;
1902 fra.me.REG[0] = NIT_NULL;
1903 fra.me.REG[1] = NIT_NULL;
1904 fra.me.REG[0] = p0;
1905 fra.me.REG[1] = CALL_static_type___MMAncestor___stype(fra.me.REG[0])(fra.me.REG[0]);
1906 fra.me.REG[1] = CALL_static_type___MMType___module(fra.me.REG[1])(fra.me.REG[1]);
1907 fra.me.REG[0] = CALL_static_type___MMAncestor___stype(fra.me.REG[0])(fra.me.REG[0]);
1908 fra.me.REG[0] = CALL_static_type___MMType___module(fra.me.REG[0])(fra.me.REG[0]);
1909 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[0]));
1910 /* ./metamodel//static_type.nit:287 */
1911 if (UNTAG_Bool(REGB0)) {
1912 } else {
1913 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1914 REGB0 = REGB1;
1915 }
1916 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1917 goto label1;
1918 label1: while(0);
1919 stack_frame_head = fra.me.prev;
1920 return REGB0;
1921 }
1922 val_t static_type___MMAncestor___is_specialisation(val_t p0){
1923 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1924 val_t REGB0;
1925 val_t REGB1;
1926 val_t tmp;
1927 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1928 fra.me.file = LOCATE_static_type;
1929 fra.me.line = 290;
1930 fra.me.meth = LOCATE_static_type___MMAncestor___is_specialisation;
1931 fra.me.has_broke = 0;
1932 fra.me.REG_size = 2;
1933 fra.me.REG[0] = NIT_NULL;
1934 fra.me.REG[1] = NIT_NULL;
1935 fra.me.REG[0] = p0;
1936 fra.me.REG[1] = CALL_static_type___MMAncestor___stype(fra.me.REG[0])(fra.me.REG[0]);
1937 fra.me.REG[1] = CALL_static_type___MMType___local_class(fra.me.REG[1])(fra.me.REG[1]);
1938 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___global(fra.me.REG[1])(fra.me.REG[1]);
1939 fra.me.REG[0] = CALL_static_type___MMAncestor___inheriter(fra.me.REG[0])(fra.me.REG[0]);
1940 fra.me.REG[0] = CALL_static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
1941 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
1942 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[0]));
1943 /* ./metamodel//static_type.nit:291 */
1944 if (UNTAG_Bool(REGB0)) {
1945 } else {
1946 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1947 REGB0 = REGB1;
1948 }
1949 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1950 goto label1;
1951 label1: while(0);
1952 stack_frame_head = fra.me.prev;
1953 return REGB0;
1954 }
1955 val_t static_type___MMAncestor___local_class(val_t p0){
1956 struct {struct stack_frame_t me;} fra;
1957 val_t tmp;
1958 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1959 fra.me.file = LOCATE_static_type;
1960 fra.me.line = 294;
1961 fra.me.meth = LOCATE_static_type___MMAncestor___local_class;
1962 fra.me.has_broke = 0;
1963 fra.me.REG_size = 0;
1964 /* ./metamodel//static_type.nit:294 */
1965 fprintf(stderr, "Deferred method called");
1966 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 294);
1967 nit_exit(1);
1968 stack_frame_head = fra.me.prev;
1969 return NIT_NULL;
1970 }
1971 void static_type___MMAncestor___init(val_t p0, int* init_table){
1972 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMAncestor].i;
1973 struct {struct stack_frame_t me;} fra;
1974 val_t tmp;
1975 if (init_table[itpos2]) return;
1976 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1977 fra.me.file = LOCATE_static_type;
1978 fra.me.line = 0;
1979 fra.me.meth = LOCATE_static_type___MMAncestor___init;
1980 fra.me.has_broke = 0;
1981 fra.me.REG_size = 0;
1982 stack_frame_head = fra.me.prev;
1983 init_table[itpos2] = 1;
1984 return;
1985 }
1986 val_t static_type___MMType___module(val_t p0){
1987 struct {struct stack_frame_t me;} fra;
1988 val_t tmp;
1989 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1990 fra.me.file = LOCATE_static_type;
1991 fra.me.line = 310;
1992 fra.me.meth = LOCATE_static_type___MMType___module;
1993 fra.me.has_broke = 0;
1994 fra.me.REG_size = 0;
1995 /* ./metamodel//static_type.nit:310 */
1996 fprintf(stderr, "Deferred method called");
1997 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 310);
1998 nit_exit(1);
1999 stack_frame_head = fra.me.prev;
2000 return NIT_NULL;
2001 }
2002 val_t static_type___MMType___local_class(val_t p0){
2003 struct {struct stack_frame_t me;} fra;
2004 val_t tmp;
2005 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2006 fra.me.file = LOCATE_static_type;
2007 fra.me.line = 313;
2008 fra.me.meth = LOCATE_static_type___MMType___local_class;
2009 fra.me.has_broke = 0;
2010 fra.me.REG_size = 0;
2011 /* ./metamodel//static_type.nit:313 */
2012 fprintf(stderr, "Deferred method called");
2013 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 313);
2014 nit_exit(1);
2015 stack_frame_head = fra.me.prev;
2016 return NIT_NULL;
2017 }
2018 val_t static_type___MMType___is_valid(val_t p0){
2019 struct {struct stack_frame_t me;} fra;
2020 val_t REGB0;
2021 val_t tmp;
2022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2023 fra.me.file = LOCATE_static_type;
2024 fra.me.line = 316;
2025 fra.me.meth = LOCATE_static_type___MMType___is_valid;
2026 fra.me.has_broke = 0;
2027 fra.me.REG_size = 1;
2028 fra.me.REG[0] = NIT_NULL;
2029 fra.me.REG[0] = p0;
2030 REGB0 = TAG_Bool(true);
2031 /* ./metamodel//static_type.nit:318 */
2032 goto label1;
2033 label1: while(0);
2034 stack_frame_head = fra.me.prev;
2035 return REGB0;
2036 }
2037 val_t static_type___MMType_____l(val_t p0, val_t p1){
2038 struct {struct stack_frame_t me;} fra;
2039 val_t tmp;
2040 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2041 fra.me.file = LOCATE_static_type;
2042 fra.me.line = 320;
2043 fra.me.meth = LOCATE_static_type___MMType_____l;
2044 fra.me.has_broke = 0;
2045 fra.me.REG_size = 0;
2046 /* ./metamodel//static_type.nit:320 */
2047 fprintf(stderr, "Deferred method called");
2048 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 320);
2049 nit_exit(1);
2050 stack_frame_head = fra.me.prev;
2051 return NIT_NULL;
2052 }
2053 val_t static_type___MMType___is_supertype(val_t p0, val_t p1){
2054 struct {struct stack_frame_t me;} fra;
2055 val_t tmp;
2056 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2057 fra.me.file = LOCATE_static_type;
2058 fra.me.line = 323;
2059 fra.me.meth = LOCATE_static_type___MMType___is_supertype;
2060 fra.me.has_broke = 0;
2061 fra.me.REG_size = 0;
2062 /* ./metamodel//static_type.nit:323 */
2063 fprintf(stderr, "Deferred method called");
2064 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 323);
2065 nit_exit(1);
2066 stack_frame_head = fra.me.prev;
2067 return NIT_NULL;
2068 }
2069 val_t static_type___MMType___for_module(val_t p0, val_t p1){
2070 struct {struct stack_frame_t me;} fra;
2071 val_t tmp;
2072 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2073 fra.me.file = LOCATE_static_type;
2074 fra.me.line = 328;
2075 fra.me.meth = LOCATE_static_type___MMType___for_module;
2076 fra.me.has_broke = 0;
2077 fra.me.REG_size = 0;
2078 /* ./metamodel//static_type.nit:328 */
2079 fprintf(stderr, "Deferred method called");
2080 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 328);
2081 nit_exit(1);
2082 stack_frame_head = fra.me.prev;
2083 return NIT_NULL;
2084 }
2085 val_t static_type___MMType___adapt_to(val_t p0, val_t p1){
2086 struct {struct stack_frame_t me;} fra;
2087 val_t tmp;
2088 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2089 fra.me.file = LOCATE_static_type;
2090 fra.me.line = 331;
2091 fra.me.meth = LOCATE_static_type___MMType___adapt_to;
2092 fra.me.has_broke = 0;
2093 fra.me.REG_size = 0;
2094 /* ./metamodel//static_type.nit:331 */
2095 fprintf(stderr, "Deferred method called");
2096 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 331);
2097 nit_exit(1);
2098 stack_frame_head = fra.me.prev;
2099 return NIT_NULL;
2100 }
2101 val_t static_type___MMType___upcast_for(val_t p0, val_t p1){
2102 struct {struct stack_frame_t me;} fra;
2103 val_t tmp;
2104 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2105 fra.me.file = LOCATE_static_type;
2106 fra.me.line = 335;
2107 fra.me.meth = LOCATE_static_type___MMType___upcast_for;
2108 fra.me.has_broke = 0;
2109 fra.me.REG_size = 0;
2110 /* ./metamodel//static_type.nit:335 */
2111 fprintf(stderr, "Deferred method called");
2112 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 335);
2113 nit_exit(1);
2114 stack_frame_head = fra.me.prev;
2115 return NIT_NULL;
2116 }
2117 val_t static_type___MMType___not_for_self(val_t p0){
2118 struct {struct stack_frame_t me;} fra;
2119 val_t tmp;
2120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2121 fra.me.file = LOCATE_static_type;
2122 fra.me.line = 357;
2123 fra.me.meth = LOCATE_static_type___MMType___not_for_self;
2124 fra.me.has_broke = 0;
2125 fra.me.REG_size = 1;
2126 fra.me.REG[0] = NIT_NULL;
2127 fra.me.REG[0] = p0;
2128 /* ./metamodel//static_type.nit:359 */
2129 goto label1;
2130 label1: while(0);
2131 stack_frame_head = fra.me.prev;
2132 return fra.me.REG[0];
2133 }
2134 val_t static_type___MMType___is_nullable(val_t p0){
2135 struct {struct stack_frame_t me;} fra;
2136 val_t REGB0;
2137 val_t tmp;
2138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2139 fra.me.file = LOCATE_static_type;
2140 fra.me.line = 364;
2141 fra.me.meth = LOCATE_static_type___MMType___is_nullable;
2142 fra.me.has_broke = 0;
2143 fra.me.REG_size = 1;
2144 fra.me.REG[0] = NIT_NULL;
2145 fra.me.REG[0] = p0;
2146 REGB0 = TAG_Bool(false);
2147 /* ./metamodel//static_type.nit:365 */
2148 goto label1;
2149 label1: while(0);
2150 stack_frame_head = fra.me.prev;
2151 return REGB0;
2152 }
2153 val_t static_type___MMType___as_nullable(val_t p0){
2154 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2155 val_t REGB0;
2156 val_t REGB1;
2157 val_t tmp;
2158 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2159 fra.me.file = LOCATE_static_type;
2160 fra.me.line = 367;
2161 fra.me.meth = LOCATE_static_type___MMType___as_nullable;
2162 fra.me.has_broke = 0;
2163 fra.me.REG_size = 3;
2164 fra.me.REG[0] = NIT_NULL;
2165 fra.me.REG[1] = NIT_NULL;
2166 fra.me.REG[2] = NIT_NULL;
2167 fra.me.REG[0] = p0;
2168 fra.me.REG[1] = ATTR_static_type___MMType____as_nullable_cache(fra.me.REG[0]);
2169 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2170 /* ./metamodel//static_type.nit:371 */
2171 if (UNTAG_Bool(REGB0)) {
2172 } else {
2173 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2174 if (UNTAG_Bool(REGB1)) {
2175 REGB1 = TAG_Bool(false);
2176 REGB0 = REGB1;
2177 } else {
2178 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
2179 REGB0 = REGB1;
2180 }
2181 }
2182 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2183 if (UNTAG_Bool(REGB0)) {
2184 goto label1;
2185 }
2186 fra.me.REG[2] = NEW_MMNullableType_static_type___MMNullableType___init(fra.me.REG[0]);
2187 /* ./metamodel//static_type.nit:373 */
2188 ATTR_static_type___MMType____as_nullable_cache(fra.me.REG[0]) = fra.me.REG[2];
2189 fra.me.REG[1] = fra.me.REG[2];
2190 /* ./metamodel//static_type.nit:374 */
2191 goto label1;
2192 label1: while(0);
2193 stack_frame_head = fra.me.prev;
2194 return fra.me.REG[1];
2195 }
2196 val_t static_type___MMType___as_notnull(val_t p0){
2197 struct {struct stack_frame_t me;} fra;
2198 val_t tmp;
2199 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2200 fra.me.file = LOCATE_static_type;
2201 fra.me.line = 377;
2202 fra.me.meth = LOCATE_static_type___MMType___as_notnull;
2203 fra.me.has_broke = 0;
2204 fra.me.REG_size = 1;
2205 fra.me.REG[0] = NIT_NULL;
2206 fra.me.REG[0] = p0;
2207 /* ./metamodel//static_type.nit:379 */
2208 goto label1;
2209 label1: while(0);
2210 stack_frame_head = fra.me.prev;
2211 return fra.me.REG[0];
2212 }
2213 void static_type___MMType___init(val_t p0, int* init_table){
2214 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMType].i;
2215 struct {struct stack_frame_t me;} fra;
2216 val_t tmp;
2217 if (init_table[itpos3]) return;
2218 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2219 fra.me.file = LOCATE_static_type;
2220 fra.me.line = 0;
2221 fra.me.meth = LOCATE_static_type___MMType___init;
2222 fra.me.has_broke = 0;
2223 fra.me.REG_size = 0;
2224 stack_frame_head = fra.me.prev;
2225 init_table[itpos3] = 1;
2226 return;
2227 }
2228 val_t static_type___MMNullableType___to_s(val_t p0){
2229 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2230 val_t REGB0;
2231 val_t tmp;
2232 static val_t once_value_1; /* Once value */
2233 static val_t once_value_2; /* Once value */
2234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2235 fra.me.file = LOCATE_static_type;
2236 fra.me.line = 400;
2237 fra.me.meth = LOCATE_static_type___MMNullableType___to_s;
2238 fra.me.has_broke = 0;
2239 fra.me.REG_size = 3;
2240 fra.me.REG[0] = NIT_NULL;
2241 fra.me.REG[1] = NIT_NULL;
2242 fra.me.REG[2] = NIT_NULL;
2243 fra.me.REG[0] = p0;
2244 REGB0 = TAG_Int(3);
2245 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2246 /* ./metamodel//static_type.nit:402 */
2247 if (!once_value_1) {
2248 fra.me.REG[2] = BOX_NativeString("nullable ");
2249 REGB0 = TAG_Int(9);
2250 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2251 once_value_1 = fra.me.REG[2];
2252 register_static_object(&once_value_1);
2253 } else fra.me.REG[2] = once_value_1;
2254 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
2255 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2256 if (UNTAG_Bool(REGB0)) {
2257 } else {
2258 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2259 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 402);
2260 nit_exit(1);
2261 }
2262 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2263 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2264 array___Array___add(fra.me.REG[1], fra.me.REG[0]);
2265 if (!once_value_2) {
2266 fra.me.REG[0] = BOX_NativeString("");
2267 REGB0 = TAG_Int(0);
2268 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2269 once_value_2 = fra.me.REG[0];
2270 register_static_object(&once_value_2);
2271 } else fra.me.REG[0] = once_value_2;
2272 array___Array___add(fra.me.REG[1], fra.me.REG[0]);
2273 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2274 goto label3;
2275 label3: while(0);
2276 stack_frame_head = fra.me.prev;
2277 return fra.me.REG[1];
2278 }
2279 val_t static_type___MMNullableType___module(val_t p0){
2280 struct {struct stack_frame_t me;} fra;
2281 val_t REGB0;
2282 val_t tmp;
2283 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2284 fra.me.file = LOCATE_static_type;
2285 fra.me.line = 391;
2286 fra.me.meth = LOCATE_static_type___MMNullableType___module;
2287 fra.me.has_broke = 0;
2288 fra.me.REG_size = 1;
2289 fra.me.REG[0] = NIT_NULL;
2290 fra.me.REG[0] = p0;
2291 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2292 /* ./metamodel//static_type.nit:391 */
2293 if (UNTAG_Bool(REGB0)) {
2294 } else {
2295 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2296 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 391);
2297 nit_exit(1);
2298 }
2299 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2300 fra.me.REG[0] = CALL_static_type___MMType___module(fra.me.REG[0])(fra.me.REG[0]);
2301 goto label1;
2302 label1: while(0);
2303 stack_frame_head = fra.me.prev;
2304 return fra.me.REG[0];
2305 }
2306 val_t static_type___MMNullableType___local_class(val_t p0){
2307 struct {struct stack_frame_t me;} fra;
2308 val_t REGB0;
2309 val_t tmp;
2310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2311 fra.me.file = LOCATE_static_type;
2312 fra.me.line = 393;
2313 fra.me.meth = LOCATE_static_type___MMNullableType___local_class;
2314 fra.me.has_broke = 0;
2315 fra.me.REG_size = 1;
2316 fra.me.REG[0] = NIT_NULL;
2317 fra.me.REG[0] = p0;
2318 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2319 /* ./metamodel//static_type.nit:393 */
2320 if (UNTAG_Bool(REGB0)) {
2321 } else {
2322 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2323 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 393);
2324 nit_exit(1);
2325 }
2326 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2327 fra.me.REG[0] = CALL_static_type___MMType___local_class(fra.me.REG[0])(fra.me.REG[0]);
2328 goto label1;
2329 label1: while(0);
2330 stack_frame_head = fra.me.prev;
2331 return fra.me.REG[0];
2332 }
2333 val_t static_type___MMNullableType___is_valid(val_t p0){
2334 struct {struct stack_frame_t me;} fra;
2335 val_t REGB0;
2336 val_t tmp;
2337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2338 fra.me.file = LOCATE_static_type;
2339 fra.me.line = 385;
2340 fra.me.meth = LOCATE_static_type___MMNullableType___is_valid;
2341 fra.me.has_broke = 0;
2342 fra.me.REG_size = 1;
2343 fra.me.REG[0] = NIT_NULL;
2344 fra.me.REG[0] = p0;
2345 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2346 /* ./metamodel//static_type.nit:385 */
2347 if (UNTAG_Bool(REGB0)) {
2348 } else {
2349 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2350 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 385);
2351 nit_exit(1);
2352 }
2353 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2354 REGB0 = CALL_static_type___MMType___is_valid(fra.me.REG[0])(fra.me.REG[0]);
2355 goto label1;
2356 label1: while(0);
2357 stack_frame_head = fra.me.prev;
2358 return REGB0;
2359 }
2360 val_t static_type___MMNullableType_____l(val_t p0, val_t p1){
2361 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2362 val_t REGB0;
2363 val_t REGB1;
2364 val_t tmp;
2365 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2366 fra.me.file = LOCATE_static_type;
2367 fra.me.line = 395;
2368 fra.me.meth = LOCATE_static_type___MMNullableType_____l;
2369 fra.me.has_broke = 0;
2370 fra.me.REG_size = 2;
2371 fra.me.REG[0] = NIT_NULL;
2372 fra.me.REG[1] = NIT_NULL;
2373 fra.me.REG[0] = p0;
2374 fra.me.REG[1] = p1;
2375 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_MMNullableType, ID_MMNullableType)) /*cast MMNullableType*/;
2376 /* ./metamodel//static_type.nit:397 */
2377 if (UNTAG_Bool(REGB0)) {
2378 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2379 if (UNTAG_Bool(REGB0)) {
2380 } else {
2381 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2382 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 397);
2383 nit_exit(1);
2384 }
2385 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2386 fra.me.REG[1] = CALL_static_type___MMType___as_notnull(fra.me.REG[1])(fra.me.REG[1]);
2387 REGB0 = CALL_static_type___MMType_____l(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2388 } else {
2389 REGB1 = TAG_Bool(false);
2390 REGB0 = REGB1;
2391 }
2392 goto label1;
2393 label1: while(0);
2394 stack_frame_head = fra.me.prev;
2395 return REGB0;
2396 }
2397 val_t static_type___MMNullableType___is_supertype(val_t p0, val_t p1){
2398 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2399 val_t REGB0;
2400 val_t tmp;
2401 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2402 fra.me.file = LOCATE_static_type;
2403 fra.me.line = 405;
2404 fra.me.meth = LOCATE_static_type___MMNullableType___is_supertype;
2405 fra.me.has_broke = 0;
2406 fra.me.REG_size = 2;
2407 fra.me.REG[0] = NIT_NULL;
2408 fra.me.REG[1] = NIT_NULL;
2409 fra.me.REG[0] = p0;
2410 fra.me.REG[1] = p1;
2411 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2412 /* ./metamodel//static_type.nit:407 */
2413 if (UNTAG_Bool(REGB0)) {
2414 } else {
2415 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2416 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 407);
2417 nit_exit(1);
2418 }
2419 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2420 REGB0 = CALL_static_type___MMType___is_supertype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2421 goto label1;
2422 label1: while(0);
2423 stack_frame_head = fra.me.prev;
2424 return REGB0;
2425 }
2426 val_t static_type___MMNullableType___for_module(val_t p0, val_t p1){
2427 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2428 val_t REGB0;
2429 val_t tmp;
2430 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2431 fra.me.file = LOCATE_static_type;
2432 fra.me.line = 410;
2433 fra.me.meth = LOCATE_static_type___MMNullableType___for_module;
2434 fra.me.has_broke = 0;
2435 fra.me.REG_size = 2;
2436 fra.me.REG[0] = NIT_NULL;
2437 fra.me.REG[1] = NIT_NULL;
2438 fra.me.REG[0] = p0;
2439 fra.me.REG[1] = p1;
2440 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2441 /* ./metamodel//static_type.nit:412 */
2442 if (UNTAG_Bool(REGB0)) {
2443 } else {
2444 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2445 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 412);
2446 nit_exit(1);
2447 }
2448 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2449 fra.me.REG[1] = CALL_static_type___MMType___for_module(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2450 fra.me.REG[1] = CALL_static_type___MMType___as_nullable(fra.me.REG[1])(fra.me.REG[1]);
2451 goto label1;
2452 label1: while(0);
2453 stack_frame_head = fra.me.prev;
2454 return fra.me.REG[1];
2455 }
2456 val_t static_type___MMNullableType___adapt_to(val_t p0, val_t p1){
2457 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2458 val_t REGB0;
2459 val_t tmp;
2460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2461 fra.me.file = LOCATE_static_type;
2462 fra.me.line = 415;
2463 fra.me.meth = LOCATE_static_type___MMNullableType___adapt_to;
2464 fra.me.has_broke = 0;
2465 fra.me.REG_size = 2;
2466 fra.me.REG[0] = NIT_NULL;
2467 fra.me.REG[1] = NIT_NULL;
2468 fra.me.REG[0] = p0;
2469 fra.me.REG[1] = p1;
2470 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2471 /* ./metamodel//static_type.nit:417 */
2472 if (UNTAG_Bool(REGB0)) {
2473 } else {
2474 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2475 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 417);
2476 nit_exit(1);
2477 }
2478 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2479 fra.me.REG[1] = CALL_static_type___MMType___adapt_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2480 fra.me.REG[1] = CALL_static_type___MMType___as_nullable(fra.me.REG[1])(fra.me.REG[1]);
2481 goto label1;
2482 label1: while(0);
2483 stack_frame_head = fra.me.prev;
2484 return fra.me.REG[1];
2485 }
2486 val_t static_type___MMNullableType___upcast_for(val_t p0, val_t p1){
2487 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2488 val_t REGB0;
2489 val_t tmp;
2490 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2491 fra.me.file = LOCATE_static_type;
2492 fra.me.line = 420;
2493 fra.me.meth = LOCATE_static_type___MMNullableType___upcast_for;
2494 fra.me.has_broke = 0;
2495 fra.me.REG_size = 2;
2496 fra.me.REG[0] = NIT_NULL;
2497 fra.me.REG[1] = NIT_NULL;
2498 fra.me.REG[0] = p0;
2499 fra.me.REG[1] = p1;
2500 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2501 /* ./metamodel//static_type.nit:422 */
2502 if (UNTAG_Bool(REGB0)) {
2503 } else {
2504 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2505 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 422);
2506 nit_exit(1);
2507 }
2508 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2509 fra.me.REG[1] = CALL_static_type___MMType___upcast_for(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2510 goto label1;
2511 label1: while(0);
2512 stack_frame_head = fra.me.prev;
2513 return fra.me.REG[1];
2514 }
2515 val_t static_type___MMNullableType___not_for_self(val_t p0){
2516 struct {struct stack_frame_t me;} fra;
2517 val_t REGB0;
2518 val_t tmp;
2519 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2520 fra.me.file = LOCATE_static_type;
2521 fra.me.line = 425;
2522 fra.me.meth = LOCATE_static_type___MMNullableType___not_for_self;
2523 fra.me.has_broke = 0;
2524 fra.me.REG_size = 1;
2525 fra.me.REG[0] = NIT_NULL;
2526 fra.me.REG[0] = p0;
2527 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2528 /* ./metamodel//static_type.nit:427 */
2529 if (UNTAG_Bool(REGB0)) {
2530 } else {
2531 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2532 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 427);
2533 nit_exit(1);
2534 }
2535 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2536 fra.me.REG[0] = CALL_static_type___MMType___not_for_self(fra.me.REG[0])(fra.me.REG[0]);
2537 fra.me.REG[0] = CALL_static_type___MMType___as_nullable(fra.me.REG[0])(fra.me.REG[0]);
2538 goto label1;
2539 label1: while(0);
2540 stack_frame_head = fra.me.prev;
2541 return fra.me.REG[0];
2542 }
2543 val_t static_type___MMNullableType___is_nullable(val_t p0){
2544 struct {struct stack_frame_t me;} fra;
2545 val_t REGB0;
2546 val_t tmp;
2547 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2548 fra.me.file = LOCATE_static_type;
2549 fra.me.line = 386;
2550 fra.me.meth = LOCATE_static_type___MMNullableType___is_nullable;
2551 fra.me.has_broke = 0;
2552 fra.me.REG_size = 1;
2553 fra.me.REG[0] = NIT_NULL;
2554 fra.me.REG[0] = p0;
2555 REGB0 = TAG_Bool(true);
2556 /* ./metamodel//static_type.nit:386 */
2557 goto label1;
2558 label1: while(0);
2559 stack_frame_head = fra.me.prev;
2560 return REGB0;
2561 }
2562 val_t static_type___MMNullableType___as_nullable(val_t p0){
2563 struct {struct stack_frame_t me;} fra;
2564 val_t tmp;
2565 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2566 fra.me.file = LOCATE_static_type;
2567 fra.me.line = 388;
2568 fra.me.meth = LOCATE_static_type___MMNullableType___as_nullable;
2569 fra.me.has_broke = 0;
2570 fra.me.REG_size = 1;
2571 fra.me.REG[0] = NIT_NULL;
2572 fra.me.REG[0] = p0;
2573 /* ./metamodel//static_type.nit:388 */
2574 goto label1;
2575 label1: while(0);
2576 stack_frame_head = fra.me.prev;
2577 return fra.me.REG[0];
2578 }
2579 val_t static_type___MMNullableType___as_notnull(val_t p0){
2580 struct {struct stack_frame_t me;} fra;
2581 val_t REGB0;
2582 val_t tmp;
2583 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2584 fra.me.file = LOCATE_static_type;
2585 fra.me.line = 387;
2586 fra.me.meth = LOCATE_static_type___MMNullableType___as_notnull;
2587 fra.me.has_broke = 0;
2588 fra.me.REG_size = 1;
2589 fra.me.REG[0] = NIT_NULL;
2590 fra.me.REG[0] = p0;
2591 REGB0 = TAG_Bool(ATTR_static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
2592 /* ./metamodel//static_type.nit:387 */
2593 if (UNTAG_Bool(REGB0)) {
2594 } else {
2595 fprintf(stderr, "Uninitialized attribute %s", "_base_type");
2596 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 387);
2597 nit_exit(1);
2598 }
2599 fra.me.REG[0] = ATTR_static_type___MMNullableType____base_type(fra.me.REG[0]);
2600 goto label1;
2601 label1: while(0);
2602 stack_frame_head = fra.me.prev;
2603 return fra.me.REG[0];
2604 }
2605 void static_type___MMNullableType___init(val_t p0, val_t p1, int* init_table){
2606 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMNullableType].i;
2607 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2608 val_t tmp;
2609 if (init_table[itpos4]) return;
2610 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2611 fra.me.file = LOCATE_static_type;
2612 fra.me.line = 389;
2613 fra.me.meth = LOCATE_static_type___MMNullableType___init;
2614 fra.me.has_broke = 0;
2615 fra.me.REG_size = 3;
2616 fra.me.REG[0] = NIT_NULL;
2617 fra.me.REG[1] = NIT_NULL;
2618 fra.me.REG[2] = NIT_NULL;
2619 fra.me.REG[0] = p0;
2620 fra.me.REG[1] = p1;
2621 fra.me.REG[2] = fra.me.REG[0];
2622 /* ./metamodel//static_type.nit:389 */
2623 CALL_static_type___MMType___init(fra.me.REG[0])(fra.me.REG[0], init_table);
2624 ATTR_static_type___MMNullableType____base_type(fra.me.REG[2]) = fra.me.REG[1];
2625 stack_frame_head = fra.me.prev;
2626 init_table[itpos4] = 1;
2627 return;
2628 }
2629 val_t static_type___MMTypeClass___to_s(val_t p0){
2630 struct {struct stack_frame_t me;} fra;
2631 val_t REGB0;
2632 val_t tmp;
2633 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2634 fra.me.file = LOCATE_static_type;
2635 fra.me.line = 437;
2636 fra.me.meth = LOCATE_static_type___MMTypeClass___to_s;
2637 fra.me.has_broke = 0;
2638 fra.me.REG_size = 1;
2639 fra.me.REG[0] = NIT_NULL;
2640 fra.me.REG[0] = p0;
2641 REGB0 = TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL);
2642 /* ./metamodel//static_type.nit:439 */
2643 if (UNTAG_Bool(REGB0)) {
2644 } else {
2645 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
2646 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 439);
2647 nit_exit(1);
2648 }
2649 fra.me.REG[0] = ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0]);
2650 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2651 goto label1;
2652 label1: while(0);
2653 stack_frame_head = fra.me.prev;
2654 return fra.me.REG[0];
2655 }
2656 val_t static_type___MMTypeClass___module(val_t p0){
2657 struct {struct stack_frame_t me;} fra;
2658 val_t REGB0;
2659 val_t tmp;
2660 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2661 fra.me.file = LOCATE_static_type;
2662 fra.me.line = 434;
2663 fra.me.meth = LOCATE_static_type___MMTypeClass___module;
2664 fra.me.has_broke = 0;
2665 fra.me.REG_size = 1;
2666 fra.me.REG[0] = NIT_NULL;
2667 fra.me.REG[0] = p0;
2668 REGB0 = TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL);
2669 /* ./metamodel//static_type.nit:434 */
2670 if (UNTAG_Bool(REGB0)) {
2671 } else {
2672 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
2673 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 434);
2674 nit_exit(1);
2675 }
2676 fra.me.REG[0] = ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0]);
2677 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[0])(fra.me.REG[0]);
2678 goto label1;
2679 label1: while(0);
2680 stack_frame_head = fra.me.prev;
2681 return fra.me.REG[0];
2682 }
2683 val_t static_type___MMTypeClass___local_class(val_t p0){
2684 struct {struct stack_frame_t me;} fra;
2685 val_t REGB0;
2686 val_t tmp;
2687 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2688 fra.me.file = LOCATE_static_type;
2689 fra.me.line = 433;
2690 fra.me.meth = LOCATE_static_type___MMTypeClass___local_class;
2691 fra.me.has_broke = 0;
2692 fra.me.REG_size = 1;
2693 fra.me.REG[0] = NIT_NULL;
2694 fra.me.REG[0] = p0;
2695 REGB0 = TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL);
2696 /* ./metamodel//static_type.nit:433 */
2697 if (UNTAG_Bool(REGB0)) {
2698 } else {
2699 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
2700 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 433);
2701 nit_exit(1);
2702 }
2703 fra.me.REG[0] = ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0]);
2704 stack_frame_head = fra.me.prev;
2705 return fra.me.REG[0];
2706 }
2707 val_t static_type___MMTypeClass_____l(val_t p0, val_t p1){
2708 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2709 val_t REGB0;
2710 val_t tmp;
2711 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2712 fra.me.file = LOCATE_static_type;
2713 fra.me.line = 435;
2714 fra.me.meth = LOCATE_static_type___MMTypeClass_____l;
2715 fra.me.has_broke = 0;
2716 fra.me.REG_size = 2;
2717 fra.me.REG[0] = NIT_NULL;
2718 fra.me.REG[1] = NIT_NULL;
2719 fra.me.REG[0] = p0;
2720 fra.me.REG[1] = p1;
2721 REGB0 = CALL_static_type___MMType___is_supertype(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2722 /* ./metamodel//static_type.nit:435 */
2723 goto label1;
2724 label1: while(0);
2725 stack_frame_head = fra.me.prev;
2726 return REGB0;
2727 }
2728 val_t static_type___MMTypeClass___upcast_for(val_t p0, val_t p1){
2729 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2730 val_t REGB0;
2731 val_t REGB1;
2732 val_t tmp;
2733 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2734 fra.me.file = LOCATE_static_type;
2735 fra.me.line = 442;
2736 fra.me.meth = LOCATE_static_type___MMTypeClass___upcast_for;
2737 fra.me.has_broke = 0;
2738 fra.me.REG_size = 4;
2739 fra.me.REG[0] = NIT_NULL;
2740 fra.me.REG[1] = NIT_NULL;
2741 fra.me.REG[2] = NIT_NULL;
2742 fra.me.REG[3] = NIT_NULL;
2743 fra.me.REG[0] = p0;
2744 fra.me.REG[1] = p1;
2745 fra.me.REG[2] = fra.me.REG[0];
2746 REGB0 = TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL);
2747 /* ./metamodel//static_type.nit:445 */
2748 if (UNTAG_Bool(REGB0)) {
2749 } else {
2750 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
2751 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 445);
2752 nit_exit(1);
2753 }
2754 fra.me.REG[3] = ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0]);
2755 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
2756 if (UNTAG_Bool(REGB0)) {
2757 } else {
2758 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2759 REGB0 = REGB1;
2760 }
2761 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2762 if (UNTAG_Bool(REGB0)) {
2763 REGB0 = TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL);
2764 /* ./metamodel//static_type.nit:446 */
2765 if (UNTAG_Bool(REGB0)) {
2766 } else {
2767 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
2768 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 446);
2769 nit_exit(1);
2770 }
2771 fra.me.REG[0] = ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0]);
2772 fra.me.REG[1] = CALL_static_type___MMLocalClass___ancestor(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2773 fra.me.REG[2] = fra.me.REG[1];
2774 }
2775 /* ./metamodel//static_type.nit:448 */
2776 goto label1;
2777 label1: while(0);
2778 stack_frame_head = fra.me.prev;
2779 return fra.me.REG[2];
2780 }
2781 void static_type___MMTypeClass___init(val_t p0, val_t p1, int* init_table){
2782 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMTypeClass].i;
2783 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2784 val_t tmp;
2785 if (init_table[itpos5]) return;
2786 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2787 fra.me.file = LOCATE_static_type;
2788 fra.me.line = 451;
2789 fra.me.meth = LOCATE_static_type___MMTypeClass___init;
2790 fra.me.has_broke = 0;
2791 fra.me.REG_size = 3;
2792 fra.me.REG[0] = NIT_NULL;
2793 fra.me.REG[1] = NIT_NULL;
2794 fra.me.REG[2] = NIT_NULL;
2795 fra.me.REG[0] = p0;
2796 fra.me.REG[1] = p1;
2797 fra.me.REG[2] = fra.me.REG[0];
2798 /* ./metamodel//static_type.nit:451 */
2799 CALL_static_type___MMType___init(fra.me.REG[0])(fra.me.REG[0], init_table);
2800 /* ./metamodel//static_type.nit:453 */
2801 ATTR_static_type___MMTypeClass____local_class(fra.me.REG[2]) = fra.me.REG[1];
2802 stack_frame_head = fra.me.prev;
2803 init_table[itpos5] = 1;
2804 return;
2805 }
2806 val_t static_type___MMTypeSimpleClass___is_supertype(val_t p0, val_t p1){
2807 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2808 val_t REGB0;
2809 val_t tmp;
2810 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2811 fra.me.file = LOCATE_static_type;
2812 fra.me.line = 459;
2813 fra.me.meth = LOCATE_static_type___MMTypeSimpleClass___is_supertype;
2814 fra.me.has_broke = 0;
2815 fra.me.REG_size = 2;
2816 fra.me.REG[0] = NIT_NULL;
2817 fra.me.REG[1] = NIT_NULL;
2818 fra.me.REG[0] = p0;
2819 fra.me.REG[1] = p1;
2820 fra.me.REG[1] = CALL_static_type___MMType___local_class(fra.me.REG[1])(fra.me.REG[1]);
2821 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___cshe(fra.me.REG[1])(fra.me.REG[1]);
2822 REGB0 = TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL);
2823 /* ./metamodel//static_type.nit:461 */
2824 if (UNTAG_Bool(REGB0)) {
2825 } else {
2826 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
2827 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 461);
2828 nit_exit(1);
2829 }
2830 fra.me.REG[0] = ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0]);
2831 REGB0 = CALL_partial_order___PartialOrderElement_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2832 goto label1;
2833 label1: while(0);
2834 stack_frame_head = fra.me.prev;
2835 return REGB0;
2836 }
2837 val_t static_type___MMTypeSimpleClass___for_module(val_t p0, val_t p1){
2838 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2839 val_t REGB0;
2840 val_t REGB1;
2841 val_t tmp;
2842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2843 fra.me.file = LOCATE_static_type;
2844 fra.me.line = 464;
2845 fra.me.meth = LOCATE_static_type___MMTypeSimpleClass___for_module;
2846 fra.me.has_broke = 0;
2847 fra.me.REG_size = 4;
2848 fra.me.REG[0] = NIT_NULL;
2849 fra.me.REG[1] = NIT_NULL;
2850 fra.me.REG[2] = NIT_NULL;
2851 fra.me.REG[3] = NIT_NULL;
2852 fra.me.REG[0] = p0;
2853 fra.me.REG[1] = p1;
2854 fra.me.REG[2] = fra.me.REG[0];
2855 fra.me.REG[3] = CALL_static_type___MMType___module(fra.me.REG[0])(fra.me.REG[0]);
2856 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
2857 /* ./metamodel//static_type.nit:467 */
2858 if (UNTAG_Bool(REGB0)) {
2859 } else {
2860 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2861 REGB0 = REGB1;
2862 }
2863 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2864 if (UNTAG_Bool(REGB0)) {
2865 REGB0 = TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL);
2866 /* ./metamodel//static_type.nit:468 */
2867 if (UNTAG_Bool(REGB0)) {
2868 } else {
2869 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
2870 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 468);
2871 nit_exit(1);
2872 }
2873 fra.me.REG[0] = ATTR_static_type___MMTypeClass____local_class(fra.me.REG[0]);
2874 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___for_module(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2875 fra.me.REG[1] = CALL_static_type___MMLocalClass___get_type(fra.me.REG[1])(fra.me.REG[1]);
2876 fra.me.REG[2] = fra.me.REG[1];
2877 }
2878 /* ./metamodel//static_type.nit:470 */
2879 goto label1;
2880 label1: while(0);
2881 stack_frame_head = fra.me.prev;
2882 return fra.me.REG[2];
2883 }
2884 val_t static_type___MMTypeSimpleClass___adapt_to(val_t p0, val_t p1){
2885 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2886 val_t tmp;
2887 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2888 fra.me.file = LOCATE_static_type;
2889 fra.me.line = 473;
2890 fra.me.meth = LOCATE_static_type___MMTypeSimpleClass___adapt_to;
2891 fra.me.has_broke = 0;
2892 fra.me.REG_size = 2;
2893 fra.me.REG[0] = NIT_NULL;
2894 fra.me.REG[1] = NIT_NULL;
2895 fra.me.REG[0] = p0;
2896 fra.me.REG[1] = p1;
2897 /* ./metamodel//static_type.nit:473 */
2898 goto label1;
2899 label1: while(0);
2900 stack_frame_head = fra.me.prev;
2901 return fra.me.REG[0];
2902 }
2903 void static_type___MMTypeSimpleClass___init(val_t p0, val_t p1, int* init_table){
2904 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMTypeSimpleClass].i;
2905 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2906 val_t tmp;
2907 if (init_table[itpos6]) return;
2908 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2909 fra.me.file = LOCATE_static_type;
2910 fra.me.line = 475;
2911 fra.me.meth = LOCATE_static_type___MMTypeSimpleClass___init;
2912 fra.me.has_broke = 0;
2913 fra.me.REG_size = 2;
2914 fra.me.REG[0] = NIT_NULL;
2915 fra.me.REG[1] = NIT_NULL;
2916 fra.me.REG[0] = p0;
2917 fra.me.REG[1] = p1;
2918 /* ./metamodel//static_type.nit:477 */
2919 CALL_static_type___MMTypeClass___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], init_table);
2920 stack_frame_head = fra.me.prev;
2921 init_table[itpos6] = 1;
2922 return;
2923 }
2924 val_t static_type___MMTypeNone___to_s(val_t p0){
2925 struct {struct stack_frame_t me;} fra;
2926 val_t REGB0;
2927 val_t tmp;
2928 static val_t once_value_1; /* Once value */
2929 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2930 fra.me.file = LOCATE_static_type;
2931 fra.me.line = 487;
2932 fra.me.meth = LOCATE_static_type___MMTypeNone___to_s;
2933 fra.me.has_broke = 0;
2934 fra.me.REG_size = 1;
2935 fra.me.REG[0] = NIT_NULL;
2936 fra.me.REG[0] = p0;
2937 /* ./metamodel//static_type.nit:487 */
2938 if (!once_value_1) {
2939 fra.me.REG[0] = BOX_NativeString("null");
2940 REGB0 = TAG_Int(4);
2941 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2942 once_value_1 = fra.me.REG[0];
2943 register_static_object(&once_value_1);
2944 } else fra.me.REG[0] = once_value_1;
2945 goto label2;
2946 label2: while(0);
2947 stack_frame_head = fra.me.prev;
2948 return fra.me.REG[0];
2949 }
2950 val_t static_type___MMTypeNone___module(val_t p0){
2951 struct {struct stack_frame_t me;} fra;
2952 val_t REGB0;
2953 val_t tmp;
2954 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2955 fra.me.file = LOCATE_static_type;
2956 fra.me.line = 484;
2957 fra.me.meth = LOCATE_static_type___MMTypeNone___module;
2958 fra.me.has_broke = 0;
2959 fra.me.REG_size = 1;
2960 fra.me.REG[0] = NIT_NULL;
2961 fra.me.REG[0] = p0;
2962 REGB0 = TAG_Bool(ATTR_static_type___MMTypeNone____module(fra.me.REG[0])!=NIT_NULL);
2963 /* ./metamodel//static_type.nit:484 */
2964 if (UNTAG_Bool(REGB0)) {
2965 } else {
2966 fprintf(stderr, "Uninitialized attribute %s", "_module");
2967 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 484);
2968 nit_exit(1);
2969 }
2970 fra.me.REG[0] = ATTR_static_type___MMTypeNone____module(fra.me.REG[0]);
2971 stack_frame_head = fra.me.prev;
2972 return fra.me.REG[0];
2973 }
2974 val_t static_type___MMTypeNone___local_class(val_t p0){
2975 struct {struct stack_frame_t me;} fra;
2976 val_t tmp;
2977 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2978 fra.me.file = LOCATE_static_type;
2979 fra.me.line = 489;
2980 fra.me.meth = LOCATE_static_type___MMTypeNone___local_class;
2981 fra.me.has_broke = 0;
2982 fra.me.REG_size = 1;
2983 fra.me.REG[0] = NIT_NULL;
2984 fra.me.REG[0] = p0;
2985 /* ./metamodel//static_type.nit:489 */
2986 fprintf(stderr, "Aborted");
2987 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 489);
2988 nit_exit(1);
2989 stack_frame_head = fra.me.prev;
2990 return NIT_NULL;
2991 }
2992 val_t static_type___MMTypeNone_____l(val_t p0, val_t p1){
2993 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2994 val_t REGB0;
2995 val_t REGB1;
2996 val_t tmp;
2997 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2998 fra.me.file = LOCATE_static_type;
2999 fra.me.line = 486;
3000 fra.me.meth = LOCATE_static_type___MMTypeNone_____l;
3001 fra.me.has_broke = 0;
3002 fra.me.REG_size = 2;
3003 fra.me.REG[0] = NIT_NULL;
3004 fra.me.REG[1] = NIT_NULL;
3005 fra.me.REG[0] = p0;
3006 fra.me.REG[1] = p1;
3007 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_MMTypeNone, ID_MMTypeNone)) /*cast MMTypeNone*/;
3008 /* ./metamodel//static_type.nit:486 */
3009 if (UNTAG_Bool(REGB0)) {
3010 REGB0 = TAG_Bool(true);
3011 } else {
3012 REGB1 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_MMNullableType, ID_MMNullableType)) /*cast MMNullableType*/;
3013 REGB0 = REGB1;
3014 }
3015 goto label1;
3016 label1: while(0);
3017 stack_frame_head = fra.me.prev;
3018 return REGB0;
3019 }
3020 val_t static_type___MMTypeNone___is_supertype(val_t p0, val_t p1){
3021 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3022 val_t REGB0;
3023 val_t tmp;
3024 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3025 fra.me.file = LOCATE_static_type;
3026 fra.me.line = 488;
3027 fra.me.meth = LOCATE_static_type___MMTypeNone___is_supertype;
3028 fra.me.has_broke = 0;
3029 fra.me.REG_size = 2;
3030 fra.me.REG[0] = NIT_NULL;
3031 fra.me.REG[1] = NIT_NULL;
3032 fra.me.REG[0] = p0;
3033 fra.me.REG[1] = p1;
3034 REGB0 = TAG_Bool(false);
3035 /* ./metamodel//static_type.nit:488 */
3036 goto label1;
3037 label1: while(0);
3038 stack_frame_head = fra.me.prev;
3039 return REGB0;
3040 }
3041 val_t static_type___MMTypeNone___upcast_for(val_t p0, val_t p1){
3042 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3043 val_t tmp;
3044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3045 fra.me.file = LOCATE_static_type;
3046 fra.me.line = 490;
3047 fra.me.meth = LOCATE_static_type___MMTypeNone___upcast_for;
3048 fra.me.has_broke = 0;
3049 fra.me.REG_size = 2;
3050 fra.me.REG[0] = NIT_NULL;
3051 fra.me.REG[1] = NIT_NULL;
3052 fra.me.REG[0] = p0;
3053 fra.me.REG[1] = p1;
3054 /* ./metamodel//static_type.nit:490 */
3055 fprintf(stderr, "Aborted");
3056 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 490);
3057 nit_exit(1);
3058 stack_frame_head = fra.me.prev;
3059 return NIT_NULL;
3060 }
3061 val_t static_type___MMTypeNone___is_nullable(val_t p0){
3062 struct {struct stack_frame_t me;} fra;
3063 val_t REGB0;
3064 val_t tmp;
3065 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3066 fra.me.file = LOCATE_static_type;
3067 fra.me.line = 485;
3068 fra.me.meth = LOCATE_static_type___MMTypeNone___is_nullable;
3069 fra.me.has_broke = 0;
3070 fra.me.REG_size = 1;
3071 fra.me.REG[0] = NIT_NULL;
3072 fra.me.REG[0] = p0;
3073 REGB0 = TAG_Bool(true);
3074 /* ./metamodel//static_type.nit:485 */
3075 goto label1;
3076 label1: while(0);
3077 stack_frame_head = fra.me.prev;
3078 return REGB0;
3079 }
3080 val_t static_type___MMTypeNone___as_nullable(val_t p0){
3081 struct {struct stack_frame_t me;} fra;
3082 val_t tmp;
3083 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3084 fra.me.file = LOCATE_static_type;
3085 fra.me.line = 491;
3086 fra.me.meth = LOCATE_static_type___MMTypeNone___as_nullable;
3087 fra.me.has_broke = 0;
3088 fra.me.REG_size = 1;
3089 fra.me.REG[0] = NIT_NULL;
3090 fra.me.REG[0] = p0;
3091 /* ./metamodel//static_type.nit:491 */
3092 goto label1;
3093 label1: while(0);
3094 stack_frame_head = fra.me.prev;
3095 return fra.me.REG[0];
3096 }
3097 val_t static_type___MMTypeNone___as_notnull(val_t p0){
3098 struct {struct stack_frame_t me;} fra;
3099 val_t tmp;
3100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3101 fra.me.file = LOCATE_static_type;
3102 fra.me.line = 492;
3103 fra.me.meth = LOCATE_static_type___MMTypeNone___as_notnull;
3104 fra.me.has_broke = 0;
3105 fra.me.REG_size = 1;
3106 fra.me.REG[0] = NIT_NULL;
3107 fra.me.REG[0] = p0;
3108 /* ./metamodel//static_type.nit:492 */
3109 fprintf(stderr, "Aborted");
3110 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 492);
3111 nit_exit(1);
3112 stack_frame_head = fra.me.prev;
3113 return NIT_NULL;
3114 }
3115 void static_type___MMTypeNone___init(val_t p0, val_t p1, int* init_table){
3116 int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMTypeNone].i;
3117 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3118 val_t tmp;
3119 if (init_table[itpos7]) return;
3120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3121 fra.me.file = LOCATE_static_type;
3122 fra.me.line = 494;
3123 fra.me.meth = LOCATE_static_type___MMTypeNone___init;
3124 fra.me.has_broke = 0;
3125 fra.me.REG_size = 3;
3126 fra.me.REG[0] = NIT_NULL;
3127 fra.me.REG[1] = NIT_NULL;
3128 fra.me.REG[2] = NIT_NULL;
3129 fra.me.REG[0] = p0;
3130 fra.me.REG[1] = p1;
3131 fra.me.REG[2] = fra.me.REG[0];
3132 /* ./metamodel//static_type.nit:494 */
3133 CALL_static_type___MMType___init(fra.me.REG[0])(fra.me.REG[0], init_table);
3134 ATTR_static_type___MMTypeNone____module(fra.me.REG[2]) = fra.me.REG[1];
3135 stack_frame_head = fra.me.prev;
3136 init_table[itpos7] = 1;
3137 return;
3138 }
3139 val_t static_type___MMModule___type_none(val_t p0){
3140 struct {struct stack_frame_t me;} fra;
3141 val_t REGB0;
3142 val_t tmp;
3143 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3144 fra.me.file = LOCATE_static_type;
3145 fra.me.line = 498;
3146 fra.me.meth = LOCATE_static_type___MMModule___type_none;
3147 fra.me.has_broke = 0;
3148 fra.me.REG_size = 1;
3149 fra.me.REG[0] = NIT_NULL;
3150 fra.me.REG[0] = p0;
3151 REGB0 = TAG_Bool(ATTR_static_type___MMModule____type_none(fra.me.REG[0])!=NIT_NULL);
3152 /* ./metamodel//static_type.nit:498 */
3153 if (UNTAG_Bool(REGB0)) {
3154 } else {
3155 fprintf(stderr, "Uninitialized attribute %s", "_type_none");
3156 fprintf(stderr, " (%s:%d)\n", LOCATE_static_type, 498);
3157 nit_exit(1);
3158 }
3159 fra.me.REG[0] = ATTR_static_type___MMModule____type_none(fra.me.REG[0]);
3160 stack_frame_head = fra.me.prev;
3161 return fra.me.REG[0];
3162 }
3163 val_t static_type___MMModule___type_bool(val_t p0){
3164 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3165 val_t REGB0;
3166 val_t tmp;
3167 static val_t once_value_1; /* Once value */
3168 static val_t once_value_2; /* Once value */
3169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3170 fra.me.file = LOCATE_static_type;
3171 fra.me.line = 501;
3172 fra.me.meth = LOCATE_static_type___MMModule___type_bool;
3173 fra.me.has_broke = 0;
3174 fra.me.REG_size = 2;
3175 fra.me.REG[0] = NIT_NULL;
3176 fra.me.REG[1] = NIT_NULL;
3177 fra.me.REG[0] = p0;
3178 /* ./metamodel//static_type.nit:504 */
3179 if (!once_value_1) {
3180 if (!once_value_2) {
3181 fra.me.REG[1] = BOX_NativeString("Bool");
3182 REGB0 = TAG_Int(4);
3183 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
3184 once_value_2 = fra.me.REG[1];
3185 register_static_object(&once_value_2);
3186 } else fra.me.REG[1] = once_value_2;
3187 fra.me.REG[1] = CALL_symbol___String___to_symbol(fra.me.REG[1])(fra.me.REG[1]);
3188 once_value_1 = fra.me.REG[1];
3189 register_static_object(&once_value_1);
3190 } else fra.me.REG[1] = once_value_1;
3191 fra.me.REG[1] = CALL_abstractmetamodel___MMModule___class_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
3192 fra.me.REG[1] = CALL_static_type___MMLocalClass___get_type(fra.me.REG[1])(fra.me.REG[1]);
3193 goto label3;
3194 label3: while(0);
3195 stack_frame_head = fra.me.prev;
3196 return fra.me.REG[1];
3197 }