1 /* This C file is generated by NIT to compile module metamodel___genericity. */
2 #include "metamodel___genericity._sep.h"
3 val_t
metamodel___genericity___MMLocalClass___get_formal(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
;} fra
;
9 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
10 fra
.me
.file
= LOCATE_metamodel___genericity
;
12 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___get_formal
;
15 fra
.me
.nitni_local_ref_head
= NULL
;
16 fra
.me
.REG
[0] = NIT_NULL
;
19 /* metamodel/genericity.nit:28 */
20 fra
.me
.REG
[0] = CALL_metamodel___genericity___MMLocalClass___formals_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
21 /* ../lib/standard/collection/array.nit:280 */
23 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
24 if (UNTAG_Bool(REGB2
)) {
26 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
28 /* ../lib/standard/kernel.nit:233 */
29 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
30 /* ../lib/standard/collection/array.nit:280 */
31 if (UNTAG_Bool(REGB1
)) {
32 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
33 if (UNTAG_Bool(REGB1
)) {
35 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
37 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
38 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
39 if (UNTAG_Bool(REGB2
)) {
41 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
43 /* ../lib/standard/kernel.nit:232 */
44 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
46 /* ../lib/standard/collection/array.nit:280 */
47 REGB2
= TAG_Bool(false);
50 if (UNTAG_Bool(REGB1
)) {
52 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
54 /* ../lib/standard/collection/array.nit:281 */
55 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
56 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
57 if (UNTAG_Bool(REGB1
)) {
58 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
60 /* ../lib/standard/collection/array.nit:718 */
61 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
62 /* ../lib/standard/collection/array.nit:281 */
65 /* metamodel/genericity.nit:28 */
68 stack_frame_head
= fra
.me
.prev
;
71 void metamodel___genericity___MMLocalClass___register_formal(val_t p0
, val_t p1
){
72 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
77 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
78 fra
.me
.file
= LOCATE_metamodel___genericity
;
80 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___register_formal
;
83 fra
.me
.nitni_local_ref_head
= NULL
;
84 fra
.me
.REG
[0] = NIT_NULL
;
85 fra
.me
.REG
[1] = NIT_NULL
;
86 fra
.me
.REG
[2] = NIT_NULL
;
89 /* metamodel/genericity.nit:35 */
90 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMTypeFormalParameter___def_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
91 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[0]));
92 if (UNTAG_Bool(REGB0
)) {
94 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
97 if (UNTAG_Bool(REGB0
)) {
99 nit_abort("Assert failed", NULL
, LOCATE_metamodel___genericity
, 35);
101 /* metamodel/genericity.nit:36 */
102 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
103 REGB1
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
104 if (UNTAG_Bool(REGB1
)) {
106 nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity
, 36);
108 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
109 /* ../lib/standard/collection/array.nit:24 */
110 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
111 if (UNTAG_Bool(REGB1
)) {
113 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
115 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
116 /* metamodel/genericity.nit:36 */
117 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
118 if (UNTAG_Bool(REGB2
)) {
120 /* ../lib/standard/kernel.nit:227 */
121 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
122 /* metamodel/genericity.nit:36 */
125 if (UNTAG_Bool(REGB2
)) {
127 nit_abort("Assert failed", NULL
, LOCATE_metamodel___genericity
, 36);
129 /* metamodel/genericity.nit:37 */
130 REGB2
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
131 if (UNTAG_Bool(REGB2
)) {
133 nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity
, 37);
135 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
137 stack_frame_head
= fra
.me
.prev
;
140 val_t
metamodel___genericity___MMLocalClass___get_instantiate_type(val_t p0
, val_t p1
){
141 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
146 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
147 fra
.me
.file
= LOCATE_metamodel___genericity
;
149 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___get_instantiate_type
;
150 fra
.me
.has_broke
= 0;
152 fra
.me
.nitni_local_ref_head
= NULL
;
153 fra
.me
.REG
[0] = NIT_NULL
;
154 fra
.me
.REG
[1] = NIT_NULL
;
155 fra
.me
.REG
[2] = NIT_NULL
;
156 fra
.me
.REG
[3] = NIT_NULL
;
157 fra
.me
.REG
[4] = NIT_NULL
;
160 /* metamodel/genericity.nit:46 */
161 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____types(fra
.me
.REG
[0])!=NIT_NULL
);
162 if (UNTAG_Bool(REGB0
)) {
164 nit_abort("Uninitialized attribute %s", "_types", LOCATE_metamodel___genericity
, 46);
166 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMLocalClass____types(fra
.me
.REG
[0]);
167 /* ../lib/standard/collection/array.nit:269 */
169 /* ../lib/standard/collection/array.nit:270 */
170 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
171 if (UNTAG_Bool(REGB1
)) {
173 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
175 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
176 /* ../lib/standard/collection/array.nit:271 */
177 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
178 /* ../lib/standard/collection/array.nit:272 */
180 /* ../lib/standard/collection/array.nit:24 */
181 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
182 if (UNTAG_Bool(REGB1
)) {
184 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
186 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
187 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
188 if (UNTAG_Bool(REGB2
)) {
190 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
192 /* ../lib/standard/kernel.nit:232 */
193 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
194 /* ../lib/standard/collection/array.nit:272 */
195 if (UNTAG_Bool(REGB1
)) {
196 /* ../lib/standard/collection/array.nit:273 */
197 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
198 if (UNTAG_Bool(REGB1
)) {
199 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
201 /* ../lib/standard/collection/array.nit:718 */
202 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
203 /* metamodel/genericity.nit:47 */
204 REGB1
= CALL_metamodel___genericity___MMTypeGeneric___params_equals(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
205 if (UNTAG_Bool(REGB1
)) {
208 /* ../lib/standard/collection/array.nit:274 */
210 /* ../lib/standard/kernel.nit:235 */
211 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
212 /* ../lib/standard/collection/array.nit:274 */
215 /* ../lib/standard/collection/array.nit:272 */
220 /* metamodel/genericity.nit:49 */
221 fra
.me
.REG
[1] = NEW_MMTypeGeneric_metamodel___genericity___MMTypeGeneric___init(fra
.me
.REG
[0], fra
.me
.REG
[1]);
222 /* metamodel/genericity.nit:50 */
223 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____types(fra
.me
.REG
[0])!=NIT_NULL
);
224 if (UNTAG_Bool(REGB0
)) {
226 nit_abort("Uninitialized attribute %s", "_types", LOCATE_metamodel___genericity
, 50);
228 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMLocalClass____types(fra
.me
.REG
[0]);
229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
230 /* metamodel/genericity.nit:51 */
231 fra
.me
.REG
[4] = fra
.me
.REG
[1];
234 stack_frame_head
= fra
.me
.prev
;
235 return fra
.me
.REG
[4];
237 val_t
metamodel___genericity___MMLocalClass___formals_types(val_t p0
){
238 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
245 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
246 fra
.me
.file
= LOCATE_metamodel___genericity
;
248 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___formals_types
;
249 fra
.me
.has_broke
= 0;
251 fra
.me
.nitni_local_ref_head
= NULL
;
252 fra
.me
.REG
[0] = NIT_NULL
;
253 fra
.me
.REG
[1] = NIT_NULL
;
254 fra
.me
.REG
[2] = NIT_NULL
;
255 fra
.me
.REG
[3] = NIT_NULL
;
257 /* metamodel/genericity.nit:61 */
258 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
259 if (UNTAG_Bool(REGB0
)) {
261 nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity
, 61);
263 fra
.me
.REG
[1] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
264 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
265 if (UNTAG_Bool(REGB0
)) {
266 /* metamodel/genericity.nit:62 */
267 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
268 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
269 if (UNTAG_Bool(REGB0
)) {
271 nit_abort("Assert failed", NULL
, LOCATE_metamodel___genericity
, 62);
273 /* metamodel/genericity.nit:65 */
275 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
276 /* ../lib/standard/kernel.nit:352 */
278 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
279 if (UNTAG_Bool(REGB2
)) {
281 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
283 /* ../lib/standard/kernel.nit:232 */
284 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
285 /* ../lib/standard/kernel.nit:352 */
286 if (UNTAG_Bool(REGB2
)) {
287 /* metamodel/genericity.nit:65 */
289 /* metamodel/genericity.nit:66 */
290 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
291 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
292 fra
.me
.REG
[1] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
293 /* metamodel/genericity.nit:67 */
294 fra
.me
.REG
[1] = CALL_metamodel___type_formal___MMTypeFormal___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
295 fra
.me
.REG
[1] = NEW_MMTypeFormalParameter_metamodel___genericity___MMTypeFormalParameter___init(fra
.me
.REG
[1], REGB2
, fra
.me
.REG
[0]);
296 /* metamodel/genericity.nit:68 */
297 CALL_metamodel___genericity___MMLocalClass___register_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
298 /* ../lib/standard/kernel.nit:354 */
300 /* ../lib/standard/kernel.nit:235 */
301 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
302 /* ../lib/standard/kernel.nit:354 */
305 /* ../lib/standard/kernel.nit:352 */
310 /* metamodel/genericity.nit:71 */
312 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
313 /* ../lib/standard/kernel.nit:352 */
315 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
316 if (UNTAG_Bool(REGB2
)) {
318 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
320 /* ../lib/standard/kernel.nit:232 */
321 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
322 /* ../lib/standard/kernel.nit:352 */
323 if (UNTAG_Bool(REGB2
)) {
324 /* metamodel/genericity.nit:71 */
326 /* metamodel/genericity.nit:72 */
327 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
328 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
329 fra
.me
.REG
[1] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
330 /* metamodel/genericity.nit:73 */
331 REGB3
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
332 if (UNTAG_Bool(REGB3
)) {
334 nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity
, 73);
336 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
337 /* ../lib/standard/collection/array.nit:280 */
339 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
340 if (UNTAG_Bool(REGB4
)) {
342 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
344 /* ../lib/standard/kernel.nit:233 */
345 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
346 /* ../lib/standard/collection/array.nit:280 */
347 if (UNTAG_Bool(REGB3
)) {
348 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
349 if (UNTAG_Bool(REGB3
)) {
351 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
353 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
354 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
355 if (UNTAG_Bool(REGB4
)) {
357 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
359 /* ../lib/standard/kernel.nit:232 */
360 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
362 /* ../lib/standard/collection/array.nit:280 */
363 REGB4
= TAG_Bool(false);
366 if (UNTAG_Bool(REGB3
)) {
368 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
370 /* ../lib/standard/collection/array.nit:281 */
371 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
372 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
373 if (UNTAG_Bool(REGB3
)) {
374 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
376 /* ../lib/standard/collection/array.nit:718 */
377 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB2
)];
378 /* ../lib/standard/collection/array.nit:281 */
381 /* metamodel/genericity.nit:74 */
382 fra
.me
.REG
[1] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
383 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
384 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
385 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
386 /* ../lib/standard/kernel.nit:354 */
388 /* ../lib/standard/kernel.nit:235 */
389 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
390 /* ../lib/standard/kernel.nit:354 */
393 /* ../lib/standard/kernel.nit:352 */
399 /* metamodel/genericity.nit:77 */
400 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
401 if (UNTAG_Bool(REGB0
)) {
403 nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity
, 77);
405 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
408 stack_frame_head
= fra
.me
.prev
;
409 return fra
.me
.REG
[0];
411 val_t
metamodel___genericity___MMLocalClass___get_type(val_t p0
){
412 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
416 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
417 fra
.me
.file
= LOCATE_metamodel___genericity
;
419 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___get_type
;
420 fra
.me
.has_broke
= 0;
422 fra
.me
.nitni_local_ref_head
= NULL
;
423 fra
.me
.REG
[0] = NIT_NULL
;
424 fra
.me
.REG
[1] = NIT_NULL
;
425 fra
.me
.REG
[2] = NIT_NULL
;
427 /* metamodel/genericity.nit:80 */
428 fra
.me
.REG
[1] = fra
.me
.REG
[0];
429 /* metamodel/genericity.nit:82 */
430 fra
.me
.REG
[2] = ATTR_metamodel___static_type___MMLocalClass____base_type_cache(fra
.me
.REG
[1]);
431 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
432 if (UNTAG_Bool(REGB0
)) {
434 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
435 if (UNTAG_Bool(REGB1
)) {
436 REGB1
= TAG_Bool(false);
439 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
443 if (UNTAG_Bool(REGB0
)) {
444 REGB0
= CALL_metamodel___genericity___MMLocalClass___is_generic(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
446 REGB1
= TAG_Bool(false);
449 if (UNTAG_Bool(REGB0
)) {
450 /* metamodel/genericity.nit:83 */
451 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMLocalClass___formals_types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
452 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
453 ATTR_metamodel___static_type___MMLocalClass____base_type_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
454 /* metamodel/genericity.nit:84 */
455 fra
.me
.REG
[1] = ATTR_metamodel___static_type___MMLocalClass____base_type_cache(fra
.me
.REG
[1]);
456 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_metamodel___static_type___MMType
, ID_metamodel___static_type___MMType
)) /*cast MMType*/;
457 if (UNTAG_Bool(REGB0
)) {
459 nit_abort("Cast failed", NULL
, LOCATE_metamodel___genericity
, 84);
463 /* metamodel/genericity.nit:86 */
464 fra
.me
.REG
[0] = CALL_SUPER_metamodel___genericity___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
465 fra
.me
.REG
[1] = fra
.me
.REG
[0];
469 stack_frame_head
= fra
.me
.prev
;
470 return fra
.me
.REG
[1];
472 val_t
metamodel___genericity___MMLocalClass___is_generic(val_t p0
){
473 struct {struct stack_frame_t me
;} fra
;
478 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
479 fra
.me
.file
= LOCATE_metamodel___genericity
;
481 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___is_generic
;
482 fra
.me
.has_broke
= 0;
484 fra
.me
.nitni_local_ref_head
= NULL
;
485 fra
.me
.REG
[0] = NIT_NULL
;
487 /* metamodel/genericity.nit:91 */
488 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
490 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
491 if (UNTAG_Bool(REGB2
)) {
493 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
495 /* ../lib/standard/kernel.nit:234 */
496 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
497 /* metamodel/genericity.nit:91 */
500 stack_frame_head
= fra
.me
.prev
;
503 val_t
metamodel___genericity___MMType___is_generic(val_t p0
){
504 struct {struct stack_frame_t me
;} fra
;
506 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
507 fra
.me
.file
= LOCATE_metamodel___genericity
;
509 fra
.me
.meth
= LOCATE_metamodel___genericity___MMType___is_generic
;
510 fra
.me
.has_broke
= 0;
512 fra
.me
.nitni_local_ref_head
= NULL
;
513 /* metamodel/genericity.nit:95 */
514 nit_abort("Deferred method called", NULL
, LOCATE_metamodel___genericity
, 95);
515 stack_frame_head
= fra
.me
.prev
;
518 val_t
metamodel___genericity___MMTypeFormal___is_generic(val_t p0
){
519 struct {struct stack_frame_t me
;} fra
;
522 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
523 fra
.me
.file
= LOCATE_metamodel___genericity
;
525 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormal___is_generic
;
526 fra
.me
.has_broke
= 0;
528 fra
.me
.nitni_local_ref_head
= NULL
;
529 fra
.me
.REG
[0] = NIT_NULL
;
531 /* metamodel/genericity.nit:100 */
532 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
533 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
534 if (UNTAG_Bool(REGB0
)) {
535 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___genericity
, 100);
537 REGB0
= CALL_metamodel___genericity___MMType___is_generic(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
540 stack_frame_head
= fra
.me
.prev
;
543 val_t
metamodel___genericity___MMTypeSimpleClass___is_generic(val_t p0
){
544 struct {struct stack_frame_t me
;} fra
;
547 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
548 fra
.me
.file
= LOCATE_metamodel___genericity
;
550 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeSimpleClass___is_generic
;
551 fra
.me
.has_broke
= 0;
553 fra
.me
.nitni_local_ref_head
= NULL
;
554 fra
.me
.REG
[0] = NIT_NULL
;
556 /* metamodel/genericity.nit:104 */
557 REGB0
= TAG_Bool(false);
560 stack_frame_head
= fra
.me
.prev
;
563 val_t
metamodel___genericity___MMTypeGeneric___params(val_t p0
){
564 struct {struct stack_frame_t me
;} fra
;
567 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
568 fra
.me
.file
= LOCATE_metamodel___genericity
;
570 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___params
;
571 fra
.me
.has_broke
= 0;
573 fra
.me
.nitni_local_ref_head
= NULL
;
574 fra
.me
.REG
[0] = NIT_NULL
;
576 /* metamodel/genericity.nit:109 */
577 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
578 if (UNTAG_Bool(REGB0
)) {
580 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 109);
582 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
583 stack_frame_head
= fra
.me
.prev
;
584 return fra
.me
.REG
[0];
586 val_t
metamodel___genericity___MMTypeGeneric___is_generic(val_t p0
){
587 struct {struct stack_frame_t me
;} fra
;
590 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
591 fra
.me
.file
= LOCATE_metamodel___genericity
;
593 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___is_generic
;
594 fra
.me
.has_broke
= 0;
596 fra
.me
.nitni_local_ref_head
= NULL
;
597 fra
.me
.REG
[0] = NIT_NULL
;
599 /* metamodel/genericity.nit:112 */
600 REGB0
= TAG_Bool(true);
603 stack_frame_head
= fra
.me
.prev
;
606 val_t
metamodel___genericity___MMTypeGeneric___is_supertype(val_t p0
, val_t p1
){
607 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
611 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
612 fra
.me
.file
= LOCATE_metamodel___genericity
;
614 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___is_supertype
;
615 fra
.me
.has_broke
= 0;
617 fra
.me
.nitni_local_ref_head
= NULL
;
618 fra
.me
.REG
[0] = NIT_NULL
;
619 fra
.me
.REG
[1] = NIT_NULL
;
620 fra
.me
.REG
[2] = NIT_NULL
;
621 fra
.me
.REG
[3] = NIT_NULL
;
624 /* metamodel/genericity.nit:116 */
625 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
626 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
627 REGB0
= TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
628 if (UNTAG_Bool(REGB0
)) {
630 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity
, 116);
632 fra
.me
.REG
[3] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
633 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____leq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
634 if (UNTAG_Bool(REGB0
)) {
635 /* metamodel/genericity.nit:117 */
636 REGB0
= TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
637 if (UNTAG_Bool(REGB0
)) {
639 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity
, 117);
641 fra
.me
.REG
[3] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
642 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___upcast_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
643 /* metamodel/genericity.nit:118 */
644 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_metamodel___genericity___MMTypeGeneric
, ID_metamodel___genericity___MMTypeGeneric
)) /*cast MMTypeGeneric*/;
645 if (UNTAG_Bool(REGB0
)) {
646 /* metamodel/genericity.nit:119 */
647 REGB0
= CALL_metamodel___genericity___MMTypeGeneric___is_subtype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
651 /* metamodel/genericity.nit:122 */
652 REGB1
= TAG_Bool(false);
656 stack_frame_head
= fra
.me
.prev
;
659 val_t
metamodel___genericity___MMTypeGeneric___upcast_for(val_t p0
, val_t p1
){
660 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
664 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
665 fra
.me
.file
= LOCATE_metamodel___genericity
;
667 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___upcast_for
;
668 fra
.me
.has_broke
= 0;
670 fra
.me
.nitni_local_ref_head
= NULL
;
671 fra
.me
.REG
[0] = NIT_NULL
;
672 fra
.me
.REG
[1] = NIT_NULL
;
673 fra
.me
.REG
[2] = NIT_NULL
;
676 /* metamodel/genericity.nit:125 */
677 fra
.me
.REG
[2] = fra
.me
.REG
[0];
678 /* metamodel/genericity.nit:127 */
679 fra
.me
.REG
[1] = CALL_SUPER_metamodel___genericity___MMTypeGeneric___upcast_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
680 /* metamodel/genericity.nit:128 */
681 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
682 if (UNTAG_Bool(REGB0
)) {
684 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
687 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
688 if (UNTAG_Bool(REGB0
)) {
689 /* metamodel/genericity.nit:129 */
690 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___adapt_to(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
691 fra
.me
.REG
[1] = fra
.me
.REG
[2];
693 /* metamodel/genericity.nit:131 */
696 stack_frame_head
= fra
.me
.prev
;
697 return fra
.me
.REG
[1];
699 val_t
metamodel___genericity___MMTypeGeneric___for_module(val_t p0
, val_t p1
){
700 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
705 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
706 fra
.me
.file
= LOCATE_metamodel___genericity
;
708 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___for_module
;
709 fra
.me
.has_broke
= 0;
711 fra
.me
.nitni_local_ref_head
= NULL
;
712 fra
.me
.REG
[0] = NIT_NULL
;
713 fra
.me
.REG
[1] = NIT_NULL
;
714 fra
.me
.REG
[2] = NIT_NULL
;
715 fra
.me
.REG
[3] = NIT_NULL
;
716 fra
.me
.REG
[4] = NIT_NULL
;
717 fra
.me
.REG
[5] = NIT_NULL
;
718 fra
.me
.REG
[6] = NIT_NULL
;
721 /* metamodel/genericity.nit:136 */
722 fra
.me
.REG
[2] = fra
.me
.REG
[0];
723 /* metamodel/genericity.nit:137 */
724 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
725 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[1]));
726 if (UNTAG_Bool(REGB0
)) {
728 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
731 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
732 if (UNTAG_Bool(REGB0
)) {
733 /* metamodel/genericity.nit:138 */
734 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
735 /* metamodel/genericity.nit:139 */
736 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
737 if (UNTAG_Bool(REGB0
)) {
739 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 139);
741 fra
.me
.REG
[4] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
742 /* ../lib/standard/collection/array.nit:269 */
744 /* ../lib/standard/collection/array.nit:270 */
745 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
746 if (UNTAG_Bool(REGB1
)) {
748 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
750 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
751 /* ../lib/standard/collection/array.nit:271 */
752 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
753 /* ../lib/standard/collection/array.nit:272 */
755 /* ../lib/standard/collection/array.nit:24 */
756 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
757 if (UNTAG_Bool(REGB1
)) {
759 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
761 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
762 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
763 if (UNTAG_Bool(REGB2
)) {
765 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
767 /* ../lib/standard/kernel.nit:232 */
768 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
769 /* ../lib/standard/collection/array.nit:272 */
770 if (UNTAG_Bool(REGB1
)) {
771 /* ../lib/standard/collection/array.nit:273 */
772 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
773 if (UNTAG_Bool(REGB1
)) {
774 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
776 /* ../lib/standard/collection/array.nit:718 */
777 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
778 /* metamodel/genericity.nit:140 */
779 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
780 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
781 /* ../lib/standard/collection/array.nit:274 */
783 /* ../lib/standard/kernel.nit:235 */
784 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
785 /* ../lib/standard/collection/array.nit:274 */
788 /* ../lib/standard/collection/array.nit:272 */
793 /* metamodel/genericity.nit:142 */
794 REGB0
= TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
795 if (UNTAG_Bool(REGB0
)) {
797 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity
, 142);
799 fra
.me
.REG
[0] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
800 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
801 /* metamodel/genericity.nit:143 */
802 fra
.me
.REG
[3] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
803 fra
.me
.REG
[2] = fra
.me
.REG
[3];
805 /* metamodel/genericity.nit:145 */
808 stack_frame_head
= fra
.me
.prev
;
809 return fra
.me
.REG
[2];
811 val_t
metamodel___genericity___MMTypeGeneric___adapt_to(val_t p0
, val_t p1
){
812 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
817 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
818 fra
.me
.file
= LOCATE_metamodel___genericity
;
820 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___adapt_to
;
821 fra
.me
.has_broke
= 0;
823 fra
.me
.nitni_local_ref_head
= NULL
;
824 fra
.me
.REG
[0] = NIT_NULL
;
825 fra
.me
.REG
[1] = NIT_NULL
;
826 fra
.me
.REG
[2] = NIT_NULL
;
827 fra
.me
.REG
[3] = NIT_NULL
;
828 fra
.me
.REG
[4] = NIT_NULL
;
829 fra
.me
.REG
[5] = NIT_NULL
;
832 /* metamodel/genericity.nit:150 */
833 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
834 /* metamodel/genericity.nit:151 */
835 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
836 if (UNTAG_Bool(REGB0
)) {
838 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 151);
840 fra
.me
.REG
[3] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
841 /* ../lib/standard/collection/array.nit:269 */
843 /* ../lib/standard/collection/array.nit:270 */
844 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
845 if (UNTAG_Bool(REGB1
)) {
847 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
849 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
850 /* ../lib/standard/collection/array.nit:271 */
851 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
852 /* ../lib/standard/collection/array.nit:272 */
854 /* ../lib/standard/collection/array.nit:24 */
855 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
856 if (UNTAG_Bool(REGB1
)) {
858 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
860 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
861 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
862 if (UNTAG_Bool(REGB2
)) {
864 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
866 /* ../lib/standard/kernel.nit:232 */
867 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
868 /* ../lib/standard/collection/array.nit:272 */
869 if (UNTAG_Bool(REGB1
)) {
870 /* ../lib/standard/collection/array.nit:273 */
871 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
872 if (UNTAG_Bool(REGB1
)) {
873 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
875 /* ../lib/standard/collection/array.nit:718 */
876 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
877 /* metamodel/genericity.nit:152 */
878 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___adapt_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
880 /* ../lib/standard/collection/array.nit:274 */
882 /* ../lib/standard/kernel.nit:235 */
883 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
884 /* ../lib/standard/collection/array.nit:274 */
887 /* ../lib/standard/collection/array.nit:272 */
892 /* metamodel/genericity.nit:154 */
893 REGB0
= TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
894 if (UNTAG_Bool(REGB0
)) {
896 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity
, 154);
898 fra
.me
.REG
[0] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
899 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
900 /* metamodel/genericity.nit:155 */
903 stack_frame_head
= fra
.me
.prev
;
904 return fra
.me
.REG
[2];
906 val_t
metamodel___genericity___MMTypeGeneric___params_equals(val_t p0
, val_t p1
){
907 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
916 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
917 fra
.me
.file
= LOCATE_metamodel___genericity
;
919 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___params_equals
;
920 fra
.me
.has_broke
= 0;
922 fra
.me
.nitni_local_ref_head
= NULL
;
923 fra
.me
.REG
[0] = NIT_NULL
;
924 fra
.me
.REG
[1] = NIT_NULL
;
925 fra
.me
.REG
[2] = NIT_NULL
;
926 fra
.me
.REG
[3] = NIT_NULL
;
929 /* ../lib/standard/collection/array.nit:24 */
930 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
931 if (UNTAG_Bool(REGB0
)) {
933 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
935 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
936 /* metamodel/genericity.nit:160 */
937 REGB1
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
938 if (UNTAG_Bool(REGB1
)) {
940 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 160);
942 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
943 /* ../lib/standard/collection/array.nit:24 */
944 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
945 if (UNTAG_Bool(REGB1
)) {
947 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
949 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
950 /* metamodel/genericity.nit:160 */
951 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
952 if (UNTAG_Bool(REGB2
)) {
954 /* ../lib/standard/kernel.nit:227 */
955 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
956 /* metamodel/genericity.nit:160 */
959 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
960 if (UNTAG_Bool(REGB2
)) {
961 /* metamodel/genericity.nit:161 */
962 REGB2
= TAG_Bool(false);
965 /* metamodel/genericity.nit:163 */
967 /* ../lib/standard/collection/array.nit:24 */
968 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
969 if (UNTAG_Bool(REGB0
)) {
971 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
973 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
974 /* ../lib/standard/kernel.nit:352 */
976 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
977 if (UNTAG_Bool(REGB3
)) {
979 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
981 /* ../lib/standard/kernel.nit:232 */
982 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
983 /* ../lib/standard/kernel.nit:352 */
984 if (UNTAG_Bool(REGB3
)) {
985 /* metamodel/genericity.nit:163 */
987 /* metamodel/genericity.nit:164 */
988 REGB4
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
989 if (UNTAG_Bool(REGB4
)) {
991 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 164);
993 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
994 /* ../lib/standard/collection/array.nit:278 */
996 /* ../lib/standard/collection/array.nit:280 */
998 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
999 if (UNTAG_Bool(REGB6
)) {
1001 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1003 /* ../lib/standard/kernel.nit:233 */
1004 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
1005 /* ../lib/standard/collection/array.nit:280 */
1006 if (UNTAG_Bool(REGB5
)) {
1007 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1008 if (UNTAG_Bool(REGB5
)) {
1010 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1012 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1013 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1014 if (UNTAG_Bool(REGB6
)) {
1016 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1018 /* ../lib/standard/kernel.nit:232 */
1019 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
1021 /* ../lib/standard/collection/array.nit:280 */
1022 REGB6
= TAG_Bool(false);
1025 if (UNTAG_Bool(REGB5
)) {
1027 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1029 /* ../lib/standard/collection/array.nit:281 */
1030 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1031 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1032 if (UNTAG_Bool(REGB5
)) {
1033 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1035 /* ../lib/standard/collection/array.nit:718 */
1036 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
1037 /* ../lib/standard/collection/array.nit:281 */
1040 /* ../lib/standard/collection/array.nit:278 */
1041 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1042 /* ../lib/standard/collection/array.nit:280 */
1044 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1045 if (UNTAG_Bool(REGB5
)) {
1047 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1049 /* ../lib/standard/kernel.nit:233 */
1050 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
1051 /* ../lib/standard/collection/array.nit:280 */
1052 if (UNTAG_Bool(REGB4
)) {
1053 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1054 if (UNTAG_Bool(REGB4
)) {
1056 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1058 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1059 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1060 if (UNTAG_Bool(REGB5
)) {
1062 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1064 /* ../lib/standard/kernel.nit:232 */
1065 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1067 /* ../lib/standard/collection/array.nit:280 */
1068 REGB5
= TAG_Bool(false);
1071 if (UNTAG_Bool(REGB4
)) {
1073 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1075 /* ../lib/standard/collection/array.nit:281 */
1076 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1077 REGB4
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1078 if (UNTAG_Bool(REGB4
)) {
1079 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1081 /* ../lib/standard/collection/array.nit:718 */
1082 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB3
)];
1083 /* ../lib/standard/collection/array.nit:281 */
1086 /* metamodel/genericity.nit:164 */
1087 REGB3
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[3]));
1088 if (UNTAG_Bool(REGB3
)) {
1090 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1091 if (UNTAG_Bool(REGB4
)) {
1092 REGB4
= TAG_Bool(false);
1095 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1099 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
1100 if (UNTAG_Bool(REGB3
)) {
1101 /* metamodel/genericity.nit:165 */
1102 REGB3
= TAG_Bool(false);
1106 /* ../lib/standard/kernel.nit:354 */
1108 /* ../lib/standard/kernel.nit:235 */
1109 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1110 /* ../lib/standard/kernel.nit:354 */
1113 /* ../lib/standard/kernel.nit:352 */
1118 /* metamodel/genericity.nit:168 */
1119 REGB1
= TAG_Bool(true);
1123 stack_frame_head
= fra
.me
.prev
;
1126 val_t
metamodel___genericity___MMTypeGeneric___to_s(val_t p0
){
1127 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1130 static val_t once_value_1
; /* Once value */
1131 static val_t once_value_2
; /* Once value */
1132 static val_t once_value_3
; /* Once value */
1133 static val_t once_value_4
; /* Once value */
1134 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1135 fra
.me
.file
= LOCATE_metamodel___genericity
;
1137 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___to_s
;
1138 fra
.me
.has_broke
= 0;
1139 fra
.me
.REG_size
= 4;
1140 fra
.me
.nitni_local_ref_head
= NULL
;
1141 fra
.me
.REG
[0] = NIT_NULL
;
1142 fra
.me
.REG
[1] = NIT_NULL
;
1143 fra
.me
.REG
[2] = NIT_NULL
;
1144 fra
.me
.REG
[3] = NIT_NULL
;
1146 /* metamodel/genericity.nit:171 */
1147 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1148 /* metamodel/genericity.nit:173 */
1150 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1151 if (!once_value_1
) {
1152 fra
.me
.REG
[3] = BOX_NativeString("");
1154 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1155 once_value_1
= fra
.me
.REG
[3];
1156 register_static_object(&once_value_1
);
1157 } else fra
.me
.REG
[3] = once_value_1
;
1158 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1159 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1160 fra
.me
.REG
[0] = CALL_SUPER_metamodel___genericity___MMTypeGeneric___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1162 if (!once_value_2
) {
1163 fra
.me
.REG
[0] = BOX_NativeString("[");
1165 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1166 once_value_2
= fra
.me
.REG
[0];
1167 register_static_object(&once_value_2
);
1168 } else fra
.me
.REG
[0] = once_value_2
;
1169 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1170 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1171 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[1])!=NIT_NULL
);
1172 if (UNTAG_Bool(REGB0
)) {
1174 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 173);
1176 fra
.me
.REG
[1] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[1]);
1177 if (!once_value_3
) {
1178 fra
.me
.REG
[0] = BOX_NativeString(", ");
1180 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1181 once_value_3
= fra
.me
.REG
[0];
1182 register_static_object(&once_value_3
);
1183 } else fra
.me
.REG
[0] = once_value_3
;
1184 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1185 fra
.me
.REG
[0] = CALL_standard___string___Collection___join(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1187 if (!once_value_4
) {
1188 fra
.me
.REG
[0] = BOX_NativeString("]");
1190 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1191 once_value_4
= fra
.me
.REG
[0];
1192 register_static_object(&once_value_4
);
1193 } else fra
.me
.REG
[0] = once_value_4
;
1194 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1195 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1196 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1199 stack_frame_head
= fra
.me
.prev
;
1200 return fra
.me
.REG
[2];
1202 val_t
metamodel___genericity___MMTypeGeneric___is_subtype(val_t p0
, val_t p1
){
1203 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1211 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1212 fra
.me
.file
= LOCATE_metamodel___genericity
;
1214 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___is_subtype
;
1215 fra
.me
.has_broke
= 0;
1216 fra
.me
.REG_size
= 4;
1217 fra
.me
.nitni_local_ref_head
= NULL
;
1218 fra
.me
.REG
[0] = NIT_NULL
;
1219 fra
.me
.REG
[1] = NIT_NULL
;
1220 fra
.me
.REG
[2] = NIT_NULL
;
1221 fra
.me
.REG
[3] = NIT_NULL
;
1224 /* metamodel/genericity.nit:180 */
1226 REGB1
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
1227 if (UNTAG_Bool(REGB1
)) {
1229 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 180);
1231 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
1232 /* ../lib/standard/collection/array.nit:24 */
1233 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1234 if (UNTAG_Bool(REGB1
)) {
1236 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1238 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1239 /* ../lib/standard/kernel.nit:352 */
1241 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1242 if (UNTAG_Bool(REGB2
)) {
1244 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1246 /* ../lib/standard/kernel.nit:232 */
1247 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1248 /* ../lib/standard/kernel.nit:352 */
1249 if (UNTAG_Bool(REGB2
)) {
1250 /* metamodel/genericity.nit:180 */
1252 /* metamodel/genericity.nit:182 */
1253 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMTypeGeneric___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1254 /* ../lib/standard/collection/array.nit:278 */
1256 /* ../lib/standard/collection/array.nit:280 */
1258 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1259 if (UNTAG_Bool(REGB5
)) {
1261 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1263 /* ../lib/standard/kernel.nit:233 */
1264 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
1265 /* ../lib/standard/collection/array.nit:280 */
1266 if (UNTAG_Bool(REGB4
)) {
1267 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1268 if (UNTAG_Bool(REGB4
)) {
1270 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1272 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1273 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1274 if (UNTAG_Bool(REGB5
)) {
1276 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1278 /* ../lib/standard/kernel.nit:232 */
1279 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1281 /* ../lib/standard/collection/array.nit:280 */
1282 REGB5
= TAG_Bool(false);
1285 if (UNTAG_Bool(REGB4
)) {
1287 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1289 /* ../lib/standard/collection/array.nit:281 */
1290 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1291 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1292 if (UNTAG_Bool(REGB4
)) {
1293 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1295 /* ../lib/standard/collection/array.nit:718 */
1296 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB3
)];
1297 /* ../lib/standard/collection/array.nit:281 */
1300 /* metamodel/genericity.nit:182 */
1301 REGB3
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
1302 if (UNTAG_Bool(REGB3
)) {
1304 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 182);
1306 fra
.me
.REG
[3] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
1307 /* ../lib/standard/collection/array.nit:280 */
1309 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1310 if (UNTAG_Bool(REGB4
)) {
1312 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1314 /* ../lib/standard/kernel.nit:233 */
1315 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
1316 /* ../lib/standard/collection/array.nit:280 */
1317 if (UNTAG_Bool(REGB3
)) {
1318 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1319 if (UNTAG_Bool(REGB3
)) {
1321 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1323 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1324 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1325 if (UNTAG_Bool(REGB4
)) {
1327 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1329 /* ../lib/standard/kernel.nit:232 */
1330 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
1332 /* ../lib/standard/collection/array.nit:280 */
1333 REGB4
= TAG_Bool(false);
1336 if (UNTAG_Bool(REGB3
)) {
1338 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1340 /* ../lib/standard/collection/array.nit:281 */
1341 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1342 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1343 if (UNTAG_Bool(REGB3
)) {
1344 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1346 /* ../lib/standard/collection/array.nit:718 */
1347 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB2
)];
1348 /* ../lib/standard/collection/array.nit:281 */
1351 /* metamodel/genericity.nit:182 */
1352 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1353 if (UNTAG_Bool(REGB2
)) {
1354 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___genericity
, 182);
1356 REGB2
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1357 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1358 if (UNTAG_Bool(REGB2
)) {
1359 /* metamodel/genericity.nit:183 */
1360 REGB2
= TAG_Bool(false);
1363 /* ../lib/standard/kernel.nit:354 */
1365 /* ../lib/standard/kernel.nit:235 */
1366 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1367 /* ../lib/standard/kernel.nit:354 */
1370 /* ../lib/standard/kernel.nit:352 */
1375 /* metamodel/genericity.nit:186 */
1376 REGB0
= TAG_Bool(true);
1380 stack_frame_head
= fra
.me
.prev
;
1383 void metamodel___genericity___MMTypeGeneric___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1384 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___genericity___MMTypeGeneric
].i
;
1385 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1387 if (init_table
[itpos0
]) return;
1388 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1389 fra
.me
.file
= LOCATE_metamodel___genericity
;
1391 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___init
;
1392 fra
.me
.has_broke
= 0;
1393 fra
.me
.REG_size
= 4;
1394 fra
.me
.nitni_local_ref_head
= NULL
;
1395 fra
.me
.REG
[0] = NIT_NULL
;
1396 fra
.me
.REG
[1] = NIT_NULL
;
1397 fra
.me
.REG
[2] = NIT_NULL
;
1398 fra
.me
.REG
[3] = NIT_NULL
;
1402 /* metamodel/genericity.nit:189 */
1403 fra
.me
.REG
[3] = fra
.me
.REG
[0];
1404 /* metamodel/genericity.nit:191 */
1405 CALL_metamodel___static_type___MMTypeClass___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1406 /* metamodel/genericity.nit:192 */
1407 ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
1408 stack_frame_head
= fra
.me
.prev
;
1409 init_table
[itpos0
] = 1;
1412 val_t
metamodel___genericity___MMTypeFormalParameter___def_class(val_t p0
){
1413 struct {struct stack_frame_t me
;} fra
;
1416 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1417 fra
.me
.file
= LOCATE_metamodel___genericity
;
1419 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___def_class
;
1420 fra
.me
.has_broke
= 0;
1421 fra
.me
.REG_size
= 1;
1422 fra
.me
.nitni_local_ref_head
= NULL
;
1423 fra
.me
.REG
[0] = NIT_NULL
;
1425 /* metamodel/genericity.nit:198 */
1426 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0])!=NIT_NULL
);
1427 if (UNTAG_Bool(REGB0
)) {
1429 nit_abort("Uninitialized attribute %s", "_def_class", LOCATE_metamodel___genericity
, 198);
1431 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0]);
1432 stack_frame_head
= fra
.me
.prev
;
1433 return fra
.me
.REG
[0];
1435 val_t
metamodel___genericity___MMTypeFormalParameter___position(val_t p0
){
1436 struct {struct stack_frame_t me
;} fra
;
1439 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1440 fra
.me
.file
= LOCATE_metamodel___genericity
;
1442 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___position
;
1443 fra
.me
.has_broke
= 0;
1444 fra
.me
.REG_size
= 1;
1445 fra
.me
.nitni_local_ref_head
= NULL
;
1446 fra
.me
.REG
[0] = NIT_NULL
;
1448 /* metamodel/genericity.nit:201 */
1449 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____position(fra
.me
.REG
[0])!=NIT_NULL
);
1450 if (UNTAG_Bool(REGB0
)) {
1452 nit_abort("Uninitialized attribute %s", "_position", LOCATE_metamodel___genericity
, 201);
1454 REGB0
= ATTR_metamodel___genericity___MMTypeFormalParameter____position(fra
.me
.REG
[0]);
1455 stack_frame_head
= fra
.me
.prev
;
1458 val_t
metamodel___genericity___MMTypeFormalParameter___mmmodule(val_t p0
){
1459 struct {struct stack_frame_t me
;} fra
;
1462 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1463 fra
.me
.file
= LOCATE_metamodel___genericity
;
1465 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___mmmodule
;
1466 fra
.me
.has_broke
= 0;
1467 fra
.me
.REG_size
= 1;
1468 fra
.me
.nitni_local_ref_head
= NULL
;
1469 fra
.me
.REG
[0] = NIT_NULL
;
1471 /* metamodel/genericity.nit:204 */
1472 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0])!=NIT_NULL
);
1473 if (UNTAG_Bool(REGB0
)) {
1475 nit_abort("Uninitialized attribute %s", "_def_class", LOCATE_metamodel___genericity
, 204);
1477 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0]);
1478 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1481 stack_frame_head
= fra
.me
.prev
;
1482 return fra
.me
.REG
[0];
1484 val_t
metamodel___genericity___MMTypeFormalParameter___for_module(val_t p0
, val_t p1
){
1485 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1489 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1490 fra
.me
.file
= LOCATE_metamodel___genericity
;
1492 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___for_module
;
1493 fra
.me
.has_broke
= 0;
1494 fra
.me
.REG_size
= 4;
1495 fra
.me
.nitni_local_ref_head
= NULL
;
1496 fra
.me
.REG
[0] = NIT_NULL
;
1497 fra
.me
.REG
[1] = NIT_NULL
;
1498 fra
.me
.REG
[2] = NIT_NULL
;
1499 fra
.me
.REG
[3] = NIT_NULL
;
1502 /* metamodel/genericity.nit:208 */
1503 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1504 /* metamodel/genericity.nit:209 */
1505 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1506 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[1]));
1507 if (UNTAG_Bool(REGB0
)) {
1509 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1512 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1513 if (UNTAG_Bool(REGB0
)) {
1514 /* metamodel/genericity.nit:210 */
1515 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0])!=NIT_NULL
);
1516 if (UNTAG_Bool(REGB0
)) {
1518 nit_abort("Uninitialized attribute %s", "_def_class", LOCATE_metamodel___genericity
, 210);
1520 fra
.me
.REG
[3] = ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0]);
1521 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1522 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1523 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1524 fra
.me
.REG
[3] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1525 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1527 /* metamodel/genericity.nit:212 */
1530 stack_frame_head
= fra
.me
.prev
;
1531 return fra
.me
.REG
[2];
1533 val_t
metamodel___genericity___MMTypeFormalParameter___upcast_for(val_t p0
, val_t p1
){
1534 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1537 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1538 fra
.me
.file
= LOCATE_metamodel___genericity
;
1540 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___upcast_for
;
1541 fra
.me
.has_broke
= 0;
1542 fra
.me
.REG_size
= 2;
1543 fra
.me
.nitni_local_ref_head
= NULL
;
1544 fra
.me
.REG
[0] = NIT_NULL
;
1545 fra
.me
.REG
[1] = NIT_NULL
;
1548 /* metamodel/genericity.nit:215 */
1549 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
1550 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1551 if (UNTAG_Bool(REGB0
)) {
1552 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___genericity
, 215);
1554 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___upcast_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1557 stack_frame_head
= fra
.me
.prev
;
1558 return fra
.me
.REG
[1];
1560 void metamodel___genericity___MMTypeFormalParameter___bound__eq(val_t p0
, val_t p1
){
1561 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1565 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1566 fra
.me
.file
= LOCATE_metamodel___genericity
;
1568 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___bound__eq
;
1569 fra
.me
.has_broke
= 0;
1570 fra
.me
.REG_size
= 3;
1571 fra
.me
.nitni_local_ref_head
= NULL
;
1572 fra
.me
.REG
[0] = NIT_NULL
;
1573 fra
.me
.REG
[1] = NIT_NULL
;
1574 fra
.me
.REG
[2] = NIT_NULL
;
1577 /* metamodel/genericity.nit:219 */
1578 fra
.me
.REG
[2] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
1579 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1580 if (UNTAG_Bool(REGB0
)) {
1582 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1583 if (UNTAG_Bool(REGB1
)) {
1584 REGB1
= TAG_Bool(false);
1587 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1591 if (UNTAG_Bool(REGB0
)) {
1593 nit_abort("Assert failed", NULL
, LOCATE_metamodel___genericity
, 219);
1595 /* metamodel/genericity.nit:220 */
1596 ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1597 stack_frame_head
= fra
.me
.prev
;
1600 val_t
metamodel___genericity___MMTypeFormalParameter___adapt_to(val_t p0
, val_t p1
){
1601 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1606 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1607 fra
.me
.file
= LOCATE_metamodel___genericity
;
1609 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___adapt_to
;
1610 fra
.me
.has_broke
= 0;
1611 fra
.me
.REG_size
= 3;
1612 fra
.me
.nitni_local_ref_head
= NULL
;
1613 fra
.me
.REG
[0] = NIT_NULL
;
1614 fra
.me
.REG
[1] = NIT_NULL
;
1615 fra
.me
.REG
[2] = NIT_NULL
;
1618 /* metamodel/genericity.nit:225 */
1619 fra
.me
.REG
[2] = CALL_metamodel___type_formal___MMType___direct_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1620 fra
.me
.REG
[1] = fra
.me
.REG
[2];
1621 /* metamodel/genericity.nit:226 */
1622 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMTypeFormalParameter___def_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1623 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___upcast_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1624 /* metamodel/genericity.nit:231 */
1625 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_metamodel___genericity___MMTypeGeneric
, ID_metamodel___genericity___MMTypeGeneric
)) /*cast MMTypeGeneric*/;
1626 if (UNTAG_Bool(REGB0
)) {
1628 nit_abort("Assert failed", NULL
, LOCATE_metamodel___genericity
, 231);
1630 /* metamodel/genericity.nit:232 */
1631 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMTypeGeneric___params(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1632 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1633 /* ../lib/standard/collection/array.nit:280 */
1635 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1636 if (UNTAG_Bool(REGB2
)) {
1638 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1640 /* ../lib/standard/kernel.nit:233 */
1641 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1642 /* ../lib/standard/collection/array.nit:280 */
1643 if (UNTAG_Bool(REGB1
)) {
1644 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1645 if (UNTAG_Bool(REGB1
)) {
1647 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1649 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1650 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1651 if (UNTAG_Bool(REGB2
)) {
1653 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1655 /* ../lib/standard/kernel.nit:232 */
1656 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1658 /* ../lib/standard/collection/array.nit:280 */
1659 REGB2
= TAG_Bool(false);
1662 if (UNTAG_Bool(REGB1
)) {
1664 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1666 /* ../lib/standard/collection/array.nit:281 */
1667 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1668 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1669 if (UNTAG_Bool(REGB1
)) {
1670 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1672 /* ../lib/standard/collection/array.nit:718 */
1673 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1674 /* ../lib/standard/collection/array.nit:281 */
1677 /* metamodel/genericity.nit:233 */
1680 stack_frame_head
= fra
.me
.prev
;
1681 return fra
.me
.REG
[2];
1683 void metamodel___genericity___MMTypeFormalParameter___with_bound(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
, int* init_table
){
1684 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___genericity___MMTypeFormalParameter
].i
;
1685 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1688 if (init_table
[itpos1
]) return;
1689 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1690 fra
.me
.file
= LOCATE_metamodel___genericity
;
1692 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___with_bound
;
1693 fra
.me
.has_broke
= 0;
1694 fra
.me
.REG_size
= 4;
1695 fra
.me
.nitni_local_ref_head
= NULL
;
1696 fra
.me
.REG
[0] = NIT_NULL
;
1697 fra
.me
.REG
[1] = NIT_NULL
;
1698 fra
.me
.REG
[2] = NIT_NULL
;
1699 fra
.me
.REG
[3] = NIT_NULL
;
1705 /* metamodel/genericity.nit:238 */
1706 CALL_metamodel___genericity___MMTypeFormalParameter___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
, fra
.me
.REG
[2], init_table
);
1707 /* metamodel/genericity.nit:239 */
1708 ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1709 stack_frame_head
= fra
.me
.prev
;
1710 init_table
[itpos1
] = 1;
1713 void metamodel___genericity___MMTypeFormalParameter___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1714 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___genericity___MMTypeFormalParameter
].i
;
1715 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1718 if (init_table
[itpos2
]) return;
1719 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1720 fra
.me
.file
= LOCATE_metamodel___genericity
;
1722 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___init
;
1723 fra
.me
.has_broke
= 0;
1724 fra
.me
.REG_size
= 4;
1725 fra
.me
.nitni_local_ref_head
= NULL
;
1726 fra
.me
.REG
[0] = NIT_NULL
;
1727 fra
.me
.REG
[1] = NIT_NULL
;
1728 fra
.me
.REG
[2] = NIT_NULL
;
1729 fra
.me
.REG
[3] = NIT_NULL
;
1734 /* metamodel/genericity.nit:242 */
1735 fra
.me
.REG
[3] = fra
.me
.REG
[0];
1736 /* metamodel/genericity.nit:244 */
1737 CALL_metamodel___type_formal___MMTypeFormal___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, init_table
);
1738 /* metamodel/genericity.nit:245 */
1739 ATTR_metamodel___genericity___MMTypeFormalParameter____position(fra
.me
.REG
[3]) = REGB0
;
1740 /* metamodel/genericity.nit:246 */
1741 ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
1742 stack_frame_head
= fra
.me
.prev
;
1743 init_table
[itpos2
] = 1;
1746 val_t
metamodel___genericity___MMTypeNone___is_generic(val_t p0
){
1747 struct {struct stack_frame_t me
;} fra
;
1750 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1751 fra
.me
.file
= LOCATE_metamodel___genericity
;
1753 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeNone___is_generic
;
1754 fra
.me
.has_broke
= 0;
1755 fra
.me
.REG_size
= 1;
1756 fra
.me
.nitni_local_ref_head
= NULL
;
1757 fra
.me
.REG
[0] = NIT_NULL
;
1759 /* metamodel/genericity.nit:251 */
1760 REGB0
= TAG_Bool(false);
1763 stack_frame_head
= fra
.me
.prev
;
1766 val_t
metamodel___genericity___MMTypeNone___for_module(val_t p0
, val_t p1
){
1767 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1769 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1770 fra
.me
.file
= LOCATE_metamodel___genericity
;
1772 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeNone___for_module
;
1773 fra
.me
.has_broke
= 0;
1774 fra
.me
.REG_size
= 2;
1775 fra
.me
.nitni_local_ref_head
= NULL
;
1776 fra
.me
.REG
[0] = NIT_NULL
;
1777 fra
.me
.REG
[1] = NIT_NULL
;
1780 /* metamodel/genericity.nit:252 */
1783 stack_frame_head
= fra
.me
.prev
;
1784 return fra
.me
.REG
[0];
1786 val_t
metamodel___genericity___MMTypeNone___adapt_to(val_t p0
, val_t p1
){
1787 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1789 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1790 fra
.me
.file
= LOCATE_metamodel___genericity
;
1792 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeNone___adapt_to
;
1793 fra
.me
.has_broke
= 0;
1794 fra
.me
.REG_size
= 2;
1795 fra
.me
.nitni_local_ref_head
= NULL
;
1796 fra
.me
.REG
[0] = NIT_NULL
;
1797 fra
.me
.REG
[1] = NIT_NULL
;
1800 /* metamodel/genericity.nit:253 */
1803 stack_frame_head
= fra
.me
.prev
;
1804 return fra
.me
.REG
[0];