1 /* This C file is generated by NIT to compile module genericity. */
2 #include "genericity._sep.h"
3 val_t
genericity___MMLocalClass___get_type(val_t p0
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_genericity
;
11 fra
.me
.meth
= LOCATE_genericity___MMLocalClass___get_type
;
14 fra
.me
.REG
[0] = NIT_NULL
;
15 fra
.me
.REG
[1] = NIT_NULL
;
16 fra
.me
.REG
[2] = NIT_NULL
;
18 fra
.me
.REG
[1] = fra
.me
.REG
[0];
19 fra
.me
.REG
[2] = ATTR_static_type___MMLocalClass____base_type_cache(fra
.me
.REG
[1]);
20 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
21 /* ./metamodel//genericity.nit:82 */
22 if (UNTAG_Bool(REGB0
)) {
24 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
25 if (UNTAG_Bool(REGB1
)) {
26 REGB1
= TAG_Bool(false);
29 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
33 if (UNTAG_Bool(REGB0
)) {
34 REGB0
= CALL_genericity___MMLocalClass___is_generic(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
36 REGB1
= TAG_Bool(false);
39 if (UNTAG_Bool(REGB0
)) {
40 fra
.me
.REG
[2] = CALL_genericity___MMLocalClass___formals_types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
41 fra
.me
.REG
[2] = CALL_genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
42 /* ./metamodel//genericity.nit:83 */
43 ATTR_static_type___MMLocalClass____base_type_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
44 fra
.me
.REG
[1] = ATTR_static_type___MMLocalClass____base_type_cache(fra
.me
.REG
[1]);
45 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_MMType
, ID_MMType
)) /*cast MMType*/;
46 /* ./metamodel//genericity.nit:84 */
47 if (UNTAG_Bool(REGB0
)) {
49 fprintf(stderr
, "Cast failed");
50 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 84);
55 fra
.me
.REG
[0] = CALL_SUPER_genericity___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
56 fra
.me
.REG
[1] = fra
.me
.REG
[0];
57 /* ./metamodel//genericity.nit:86 */
61 stack_frame_head
= fra
.me
.prev
;
64 val_t
genericity___MMLocalClass___get_formal(val_t p0
, val_t p1
){
65 struct {struct stack_frame_t me
;} fra
;
70 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
71 fra
.me
.file
= LOCATE_genericity
;
73 fra
.me
.meth
= LOCATE_genericity___MMLocalClass___get_formal
;
76 fra
.me
.REG
[0] = NIT_NULL
;
79 fra
.me
.REG
[0] = CALL_genericity___MMLocalClass___formals_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
81 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
82 /* ./../lib/standard//collection//array.nit:233 */
83 if (UNTAG_Bool(REGB1
)) {
84 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
85 if (UNTAG_Bool(REGB1
)) {
87 fprintf(stderr
, "Uninitialized attribute %s", "_length");
88 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
91 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
92 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
93 /* ./../lib/standard//collection//array.nit:233 */
95 REGB2
= TAG_Bool(false);
98 if (UNTAG_Bool(REGB1
)) {
100 fprintf(stderr
, "Assert %s failed", "'index'");
101 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
104 fra
.me
.REG
[0] = ATTR_array___Array____items(fra
.me
.REG
[0]);
105 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
106 /* ./../lib/standard//collection//array.nit:234 */
107 if (UNTAG_Bool(REGB1
)) {
108 fprintf(stderr
, "Reciever is null");
109 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
112 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
113 /* ./../lib/standard//collection//array.nit:234 */
116 /* ./metamodel//genericity.nit:28 */
119 stack_frame_head
= fra
.me
.prev
;
120 return fra
.me
.REG
[0];
122 void genericity___MMLocalClass___register_formal(val_t p0
, val_t p1
){
123 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
128 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
129 fra
.me
.file
= LOCATE_genericity
;
131 fra
.me
.meth
= LOCATE_genericity___MMLocalClass___register_formal
;
132 fra
.me
.has_broke
= 0;
134 fra
.me
.REG
[0] = NIT_NULL
;
135 fra
.me
.REG
[1] = NIT_NULL
;
136 fra
.me
.REG
[2] = NIT_NULL
;
139 fra
.me
.REG
[2] = CALL_genericity___MMTypeFormalParameter___def_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
140 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[0]));
141 /* ./metamodel//genericity.nit:35 */
142 if (UNTAG_Bool(REGB0
)) {
144 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
147 if (UNTAG_Bool(REGB0
)) {
149 fprintf(stderr
, "Assert failed");
150 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 35);
153 REGB0
= CALL_genericity___MMTypeFormalParameter___position(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
154 REGB1
= TAG_Bool(ATTR_genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
155 /* ./metamodel//genericity.nit:36 */
156 if (UNTAG_Bool(REGB1
)) {
158 fprintf(stderr
, "Uninitialized attribute %s", "_formals_types");
159 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 36);
162 fra
.me
.REG
[2] = ATTR_genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
163 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
164 /* ./../lib/standard//collection//array.nit:23 */
165 if (UNTAG_Bool(REGB1
)) {
167 fprintf(stderr
, "Uninitialized attribute %s", "_length");
168 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
171 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
172 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
173 /* ./metamodel//genericity.nit:36 */
174 if (UNTAG_Bool(REGB2
)) {
176 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
178 /* ./metamodel//genericity.nit:36 */
180 if (UNTAG_Bool(REGB2
)) {
182 fprintf(stderr
, "Assert failed");
183 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 36);
186 REGB2
= TAG_Bool(ATTR_genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
187 /* ./metamodel//genericity.nit:37 */
188 if (UNTAG_Bool(REGB2
)) {
190 fprintf(stderr
, "Uninitialized attribute %s", "_formals_types");
191 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 37);
194 fra
.me
.REG
[0] = ATTR_genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
195 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[1]);
196 stack_frame_head
= fra
.me
.prev
;
199 val_t
genericity___MMLocalClass___get_instantiate_type(val_t p0
, val_t p1
){
200 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
203 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
204 fra
.me
.file
= LOCATE_genericity
;
206 fra
.me
.meth
= LOCATE_genericity___MMLocalClass___get_instantiate_type
;
207 fra
.me
.has_broke
= 0;
209 fra
.me
.REG
[0] = NIT_NULL
;
210 fra
.me
.REG
[1] = NIT_NULL
;
211 fra
.me
.REG
[2] = NIT_NULL
;
212 fra
.me
.REG
[3] = NIT_NULL
;
215 REGB0
= TAG_Bool(ATTR_genericity___MMLocalClass____types(fra
.me
.REG
[0])!=NIT_NULL
);
216 /* ./metamodel//genericity.nit:46 */
217 if (UNTAG_Bool(REGB0
)) {
219 fprintf(stderr
, "Uninitialized attribute %s", "_types");
220 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 46);
223 fra
.me
.REG
[2] = ATTR_genericity___MMLocalClass____types(fra
.me
.REG
[0]);
224 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
226 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
227 if (UNTAG_Bool(REGB0
)) {
228 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
229 REGB0
= CALL_genericity___MMTypeGeneric___params_equals(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
230 /* ./metamodel//genericity.nit:47 */
231 if (UNTAG_Bool(REGB0
)) {
235 /* ./metamodel//genericity.nit:46 */
238 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
241 fra
.me
.REG
[1] = NEW_MMTypeGeneric_genericity___MMTypeGeneric___init(fra
.me
.REG
[0], fra
.me
.REG
[1]);
242 REGB0
= TAG_Bool(ATTR_genericity___MMLocalClass____types(fra
.me
.REG
[0])!=NIT_NULL
);
243 /* ./metamodel//genericity.nit:50 */
244 if (UNTAG_Bool(REGB0
)) {
246 fprintf(stderr
, "Uninitialized attribute %s", "_types");
247 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 50);
250 fra
.me
.REG
[0] = ATTR_genericity___MMLocalClass____types(fra
.me
.REG
[0]);
251 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[1]);
252 fra
.me
.REG
[3] = fra
.me
.REG
[1];
253 /* ./metamodel//genericity.nit:51 */
256 stack_frame_head
= fra
.me
.prev
;
257 return fra
.me
.REG
[3];
259 val_t
genericity___MMLocalClass___formals_types(val_t p0
){
260 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
265 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
266 fra
.me
.file
= LOCATE_genericity
;
268 fra
.me
.meth
= LOCATE_genericity___MMLocalClass___formals_types
;
269 fra
.me
.has_broke
= 0;
271 fra
.me
.REG
[0] = NIT_NULL
;
272 fra
.me
.REG
[1] = NIT_NULL
;
273 fra
.me
.REG
[2] = NIT_NULL
;
274 fra
.me
.REG
[3] = NIT_NULL
;
275 fra
.me
.REG
[4] = NIT_NULL
;
277 REGB0
= TAG_Bool(ATTR_genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
278 /* ./metamodel//genericity.nit:61 */
279 if (UNTAG_Bool(REGB0
)) {
281 fprintf(stderr
, "Uninitialized attribute %s", "_formals_types");
282 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 61);
285 fra
.me
.REG
[1] = ATTR_genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
286 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
287 if (UNTAG_Bool(REGB0
)) {
288 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_MMConcreteClass
, ID_MMConcreteClass
)) /*cast MMConcreteClass*/;
289 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
290 /* ./metamodel//genericity.nit:62 */
291 if (UNTAG_Bool(REGB0
)) {
293 fprintf(stderr
, "Assert failed");
294 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 62);
298 REGB1
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
299 fra
.me
.REG
[1] = NEW_Range_range___Range___without_last(REGB0
, REGB1
);
300 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
301 /* ./metamodel//genericity.nit:65 */
303 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
304 if (UNTAG_Bool(REGB1
)) {
305 REGB1
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
306 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
307 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
308 fra
.me
.REG
[2] = CALL_genericity___MMLocalClass___get_formal(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
309 fra
.me
.REG
[2] = CALL_type_formal___MMTypeFormal___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
310 fra
.me
.REG
[2] = NEW_MMTypeFormalParameter_genericity___MMTypeFormalParameter___init(fra
.me
.REG
[2], REGB1
, fra
.me
.REG
[0]);
311 /* ./metamodel//genericity.nit:68 */
312 CALL_genericity___MMLocalClass___register_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
314 /* ./metamodel//genericity.nit:65 */
317 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
321 REGB0
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
322 fra
.me
.REG
[1] = NEW_Range_range___Range___without_last(REGB1
, REGB0
);
323 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
324 /* ./metamodel//genericity.nit:71 */
326 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
327 if (UNTAG_Bool(REGB0
)) {
328 REGB0
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
329 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
330 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
331 fra
.me
.REG
[2] = CALL_genericity___MMLocalClass___get_formal(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
332 REGB1
= TAG_Bool(ATTR_genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
333 /* ./metamodel//genericity.nit:73 */
334 if (UNTAG_Bool(REGB1
)) {
336 fprintf(stderr
, "Uninitialized attribute %s", "_formals_types");
337 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 73);
340 fra
.me
.REG
[3] = ATTR_genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
342 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
343 /* ./../lib/standard//collection//array.nit:233 */
344 if (UNTAG_Bool(REGB1
)) {
345 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
346 if (UNTAG_Bool(REGB1
)) {
348 fprintf(stderr
, "Uninitialized attribute %s", "_length");
349 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
352 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
353 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
354 /* ./../lib/standard//collection//array.nit:233 */
356 REGB2
= TAG_Bool(false);
359 if (UNTAG_Bool(REGB1
)) {
361 fprintf(stderr
, "Assert %s failed", "'index'");
362 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
365 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[3]);
366 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
367 /* ./../lib/standard//collection//array.nit:234 */
368 if (UNTAG_Bool(REGB1
)) {
369 fprintf(stderr
, "Reciever is null");
370 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
373 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
374 /* ./../lib/standard//collection//array.nit:234 */
377 fra
.me
.REG
[2] = CALL_type_formal___MMTypeFormal___bound(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
378 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
379 fra
.me
.REG
[4] = CALL_static_type___MMType___for_module(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
380 /* ./metamodel//genericity.nit:74 */
381 CALL_genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
383 /* ./metamodel//genericity.nit:71 */
386 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
390 REGB0
= TAG_Bool(ATTR_genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
391 /* ./metamodel//genericity.nit:77 */
392 if (UNTAG_Bool(REGB0
)) {
394 fprintf(stderr
, "Uninitialized attribute %s", "_formals_types");
395 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 77);
398 fra
.me
.REG
[0] = ATTR_genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
401 stack_frame_head
= fra
.me
.prev
;
402 return fra
.me
.REG
[0];
404 val_t
genericity___MMLocalClass___is_generic(val_t p0
){
405 struct {struct stack_frame_t me
;} fra
;
409 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
410 fra
.me
.file
= LOCATE_genericity
;
412 fra
.me
.meth
= LOCATE_genericity___MMLocalClass___is_generic
;
413 fra
.me
.has_broke
= 0;
415 fra
.me
.REG
[0] = NIT_NULL
;
417 REGB0
= CALL_abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
419 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
420 /* ./metamodel//genericity.nit:91 */
423 stack_frame_head
= fra
.me
.prev
;
426 val_t
genericity___MMType___is_generic(val_t p0
){
427 struct {struct stack_frame_t me
;} fra
;
429 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
430 fra
.me
.file
= LOCATE_genericity
;
432 fra
.me
.meth
= LOCATE_genericity___MMType___is_generic
;
433 fra
.me
.has_broke
= 0;
435 /* ./metamodel//genericity.nit:95 */
436 fprintf(stderr
, "Deferred method called");
437 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 95);
439 stack_frame_head
= fra
.me
.prev
;
442 val_t
genericity___MMTypeFormal___is_generic(val_t p0
){
443 struct {struct stack_frame_t me
;} fra
;
446 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
447 fra
.me
.file
= LOCATE_genericity
;
449 fra
.me
.meth
= LOCATE_genericity___MMTypeFormal___is_generic
;
450 fra
.me
.has_broke
= 0;
452 fra
.me
.REG
[0] = NIT_NULL
;
454 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
455 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
456 /* ./metamodel//genericity.nit:100 */
457 if (UNTAG_Bool(REGB0
)) {
458 fprintf(stderr
, "Reciever is null");
459 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 100);
462 REGB0
= CALL_genericity___MMType___is_generic(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
465 stack_frame_head
= fra
.me
.prev
;
468 val_t
genericity___MMTypeSimpleClass___is_generic(val_t p0
){
469 struct {struct stack_frame_t me
;} fra
;
472 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
473 fra
.me
.file
= LOCATE_genericity
;
475 fra
.me
.meth
= LOCATE_genericity___MMTypeSimpleClass___is_generic
;
476 fra
.me
.has_broke
= 0;
478 fra
.me
.REG
[0] = NIT_NULL
;
480 REGB0
= TAG_Bool(false);
481 /* ./metamodel//genericity.nit:104 */
484 stack_frame_head
= fra
.me
.prev
;
487 val_t
genericity___MMTypeGeneric___to_s(val_t p0
){
488 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
491 static val_t once_value_1
; /* Once value */
492 static val_t once_value_2
; /* Once value */
493 static val_t once_value_3
; /* Once value */
494 static val_t once_value_4
; /* Once value */
495 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
496 fra
.me
.file
= LOCATE_genericity
;
498 fra
.me
.meth
= LOCATE_genericity___MMTypeGeneric___to_s
;
499 fra
.me
.has_broke
= 0;
501 fra
.me
.REG
[0] = NIT_NULL
;
502 fra
.me
.REG
[1] = NIT_NULL
;
503 fra
.me
.REG
[2] = NIT_NULL
;
504 fra
.me
.REG
[3] = NIT_NULL
;
506 fra
.me
.REG
[1] = fra
.me
.REG
[0];
508 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
509 /* ./metamodel//genericity.nit:173 */
511 fra
.me
.REG
[3] = BOX_NativeString("");
513 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
514 once_value_1
= fra
.me
.REG
[3];
515 register_static_object(&once_value_1
);
516 } else fra
.me
.REG
[3] = once_value_1
;
517 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
518 fra
.me
.REG
[0] = CALL_SUPER_genericity___MMTypeGeneric___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
519 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
521 fra
.me
.REG
[0] = BOX_NativeString("[");
523 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
524 once_value_2
= fra
.me
.REG
[0];
525 register_static_object(&once_value_2
);
526 } else fra
.me
.REG
[0] = once_value_2
;
527 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
528 REGB0
= TAG_Bool(ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[1])!=NIT_NULL
);
529 if (UNTAG_Bool(REGB0
)) {
531 fprintf(stderr
, "Uninitialized attribute %s", "_params");
532 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 173);
535 fra
.me
.REG
[1] = ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[1]);
537 fra
.me
.REG
[0] = BOX_NativeString(", ");
539 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
540 once_value_3
= fra
.me
.REG
[0];
541 register_static_object(&once_value_3
);
542 } else fra
.me
.REG
[0] = once_value_3
;
543 fra
.me
.REG
[0] = CALL_string___Collection___join(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
544 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
546 fra
.me
.REG
[0] = BOX_NativeString("]");
548 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
549 once_value_4
= fra
.me
.REG
[0];
550 register_static_object(&once_value_4
);
551 } else fra
.me
.REG
[0] = once_value_4
;
552 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
553 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
556 stack_frame_head
= fra
.me
.prev
;
557 return fra
.me
.REG
[2];
559 val_t
genericity___MMTypeGeneric___is_supertype(val_t p0
, val_t p1
){
560 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
564 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
565 fra
.me
.file
= LOCATE_genericity
;
567 fra
.me
.meth
= LOCATE_genericity___MMTypeGeneric___is_supertype
;
568 fra
.me
.has_broke
= 0;
570 fra
.me
.REG
[0] = NIT_NULL
;
571 fra
.me
.REG
[1] = NIT_NULL
;
572 fra
.me
.REG
[2] = NIT_NULL
;
573 fra
.me
.REG
[3] = NIT_NULL
;
576 fra
.me
.REG
[2] = CALL_static_type___MMType___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
577 fra
.me
.REG
[2] = CALL_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
578 REGB0
= TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
579 /* ./metamodel//genericity.nit:116 */
580 if (UNTAG_Bool(REGB0
)) {
582 fprintf(stderr
, "Uninitialized attribute %s", "_local_class");
583 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 116);
586 fra
.me
.REG
[3] = ATTR_static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
587 REGB0
= CALL_partial_order___PartialOrderElement_____leq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
588 if (UNTAG_Bool(REGB0
)) {
589 REGB0
= TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
590 /* ./metamodel//genericity.nit:117 */
591 if (UNTAG_Bool(REGB0
)) {
593 fprintf(stderr
, "Uninitialized attribute %s", "_local_class");
594 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 117);
597 fra
.me
.REG
[3] = ATTR_static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
598 fra
.me
.REG
[3] = CALL_static_type___MMType___upcast_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
599 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_MMTypeGeneric
, ID_MMTypeGeneric
)) /*cast MMTypeGeneric*/;
600 /* ./metamodel//genericity.nit:118 */
601 if (UNTAG_Bool(REGB0
)) {
602 REGB0
= CALL_genericity___MMTypeGeneric___is_subtype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
603 /* ./metamodel//genericity.nit:119 */
607 REGB1
= TAG_Bool(false);
609 /* ./metamodel//genericity.nit:122 */
612 stack_frame_head
= fra
.me
.prev
;
615 val_t
genericity___MMTypeGeneric___for_module(val_t p0
, val_t p1
){
616 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
620 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
621 fra
.me
.file
= LOCATE_genericity
;
623 fra
.me
.meth
= LOCATE_genericity___MMTypeGeneric___for_module
;
624 fra
.me
.has_broke
= 0;
626 fra
.me
.REG
[0] = NIT_NULL
;
627 fra
.me
.REG
[1] = NIT_NULL
;
628 fra
.me
.REG
[2] = NIT_NULL
;
629 fra
.me
.REG
[3] = NIT_NULL
;
630 fra
.me
.REG
[4] = NIT_NULL
;
631 fra
.me
.REG
[5] = NIT_NULL
;
634 fra
.me
.REG
[2] = fra
.me
.REG
[0];
635 fra
.me
.REG
[3] = CALL_static_type___MMType___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
636 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[1]));
637 /* ./metamodel//genericity.nit:137 */
638 if (UNTAG_Bool(REGB0
)) {
640 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
643 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
644 if (UNTAG_Bool(REGB0
)) {
645 fra
.me
.REG
[3] = NEW_Array_array___Array___init();
646 REGB0
= TAG_Bool(ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
647 /* ./metamodel//genericity.nit:139 */
648 if (UNTAG_Bool(REGB0
)) {
650 fprintf(stderr
, "Uninitialized attribute %s", "_params");
651 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 139);
654 fra
.me
.REG
[4] = ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
655 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
657 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
658 if (UNTAG_Bool(REGB0
)) {
659 fra
.me
.REG
[5] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
660 fra
.me
.REG
[5] = CALL_static_type___MMType___for_module(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
661 /* ./metamodel//genericity.nit:140 */
662 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[5]);
664 /* ./metamodel//genericity.nit:139 */
667 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
670 REGB0
= TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
671 /* ./metamodel//genericity.nit:142 */
672 if (UNTAG_Bool(REGB0
)) {
674 fprintf(stderr
, "Uninitialized attribute %s", "_local_class");
675 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 142);
678 fra
.me
.REG
[0] = ATTR_static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
679 fra
.me
.REG
[1] = CALL_abstractmetamodel___MMLocalClass___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
680 fra
.me
.REG
[3] = CALL_genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
681 fra
.me
.REG
[2] = fra
.me
.REG
[3];
682 /* ./metamodel//genericity.nit:143 */
684 /* ./metamodel//genericity.nit:145 */
687 stack_frame_head
= fra
.me
.prev
;
688 return fra
.me
.REG
[2];
690 val_t
genericity___MMTypeGeneric___adapt_to(val_t p0
, val_t p1
){
691 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
694 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
695 fra
.me
.file
= LOCATE_genericity
;
697 fra
.me
.meth
= LOCATE_genericity___MMTypeGeneric___adapt_to
;
698 fra
.me
.has_broke
= 0;
700 fra
.me
.REG
[0] = NIT_NULL
;
701 fra
.me
.REG
[1] = NIT_NULL
;
702 fra
.me
.REG
[2] = NIT_NULL
;
703 fra
.me
.REG
[3] = NIT_NULL
;
704 fra
.me
.REG
[4] = NIT_NULL
;
707 fra
.me
.REG
[2] = NEW_Array_array___Array___init();
708 REGB0
= TAG_Bool(ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
709 /* ./metamodel//genericity.nit:151 */
710 if (UNTAG_Bool(REGB0
)) {
712 fprintf(stderr
, "Uninitialized attribute %s", "_params");
713 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 151);
716 fra
.me
.REG
[3] = ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
717 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
719 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
720 if (UNTAG_Bool(REGB0
)) {
721 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
722 fra
.me
.REG
[4] = CALL_static_type___MMType___adapt_to(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
723 /* ./metamodel//genericity.nit:152 */
724 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
726 /* ./metamodel//genericity.nit:151 */
729 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
732 REGB0
= TAG_Bool(ATTR_static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
733 /* ./metamodel//genericity.nit:154 */
734 if (UNTAG_Bool(REGB0
)) {
736 fprintf(stderr
, "Uninitialized attribute %s", "_local_class");
737 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 154);
740 fra
.me
.REG
[0] = ATTR_static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
741 fra
.me
.REG
[2] = CALL_genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
742 /* ./metamodel//genericity.nit:155 */
745 stack_frame_head
= fra
.me
.prev
;
746 return fra
.me
.REG
[2];
748 val_t
genericity___MMTypeGeneric___upcast_for(val_t p0
, val_t p1
){
749 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
753 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
754 fra
.me
.file
= LOCATE_genericity
;
756 fra
.me
.meth
= LOCATE_genericity___MMTypeGeneric___upcast_for
;
757 fra
.me
.has_broke
= 0;
759 fra
.me
.REG
[0] = NIT_NULL
;
760 fra
.me
.REG
[1] = NIT_NULL
;
761 fra
.me
.REG
[2] = NIT_NULL
;
764 fra
.me
.REG
[2] = fra
.me
.REG
[0];
765 fra
.me
.REG
[1] = CALL_SUPER_genericity___MMTypeGeneric___upcast_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
766 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
767 /* ./metamodel//genericity.nit:128 */
768 if (UNTAG_Bool(REGB0
)) {
770 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
773 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
774 if (UNTAG_Bool(REGB0
)) {
775 fra
.me
.REG
[2] = CALL_static_type___MMType___adapt_to(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
776 fra
.me
.REG
[1] = fra
.me
.REG
[2];
777 /* ./metamodel//genericity.nit:129 */
779 /* ./metamodel//genericity.nit:131 */
782 stack_frame_head
= fra
.me
.prev
;
783 return fra
.me
.REG
[1];
785 val_t
genericity___MMTypeGeneric___is_generic(val_t p0
){
786 struct {struct stack_frame_t me
;} fra
;
789 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
790 fra
.me
.file
= LOCATE_genericity
;
792 fra
.me
.meth
= LOCATE_genericity___MMTypeGeneric___is_generic
;
793 fra
.me
.has_broke
= 0;
795 fra
.me
.REG
[0] = NIT_NULL
;
797 REGB0
= TAG_Bool(true);
798 /* ./metamodel//genericity.nit:112 */
801 stack_frame_head
= fra
.me
.prev
;
804 val_t
genericity___MMTypeGeneric___params(val_t p0
){
805 struct {struct stack_frame_t me
;} fra
;
808 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
809 fra
.me
.file
= LOCATE_genericity
;
811 fra
.me
.meth
= LOCATE_genericity___MMTypeGeneric___params
;
812 fra
.me
.has_broke
= 0;
814 fra
.me
.REG
[0] = NIT_NULL
;
816 REGB0
= TAG_Bool(ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
817 /* ./metamodel//genericity.nit:109 */
818 if (UNTAG_Bool(REGB0
)) {
820 fprintf(stderr
, "Uninitialized attribute %s", "_params");
821 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 109);
824 fra
.me
.REG
[0] = ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
825 stack_frame_head
= fra
.me
.prev
;
826 return fra
.me
.REG
[0];
828 val_t
genericity___MMTypeGeneric___params_equals(val_t p0
, val_t p1
){
829 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
836 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
837 fra
.me
.file
= LOCATE_genericity
;
839 fra
.me
.meth
= LOCATE_genericity___MMTypeGeneric___params_equals
;
840 fra
.me
.has_broke
= 0;
842 fra
.me
.REG
[0] = NIT_NULL
;
843 fra
.me
.REG
[1] = NIT_NULL
;
844 fra
.me
.REG
[2] = NIT_NULL
;
845 fra
.me
.REG
[3] = NIT_NULL
;
846 fra
.me
.REG
[4] = NIT_NULL
;
849 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
850 /* ./../lib/standard//collection//array.nit:23 */
851 if (UNTAG_Bool(REGB0
)) {
853 fprintf(stderr
, "Uninitialized attribute %s", "_length");
854 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
857 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
858 REGB1
= TAG_Bool(ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
859 /* ./metamodel//genericity.nit:160 */
860 if (UNTAG_Bool(REGB1
)) {
862 fprintf(stderr
, "Uninitialized attribute %s", "_params");
863 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 160);
866 fra
.me
.REG
[2] = ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
867 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
868 /* ./../lib/standard//collection//array.nit:23 */
869 if (UNTAG_Bool(REGB1
)) {
871 fprintf(stderr
, "Uninitialized attribute %s", "_length");
872 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
875 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
876 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
877 /* ./metamodel//genericity.nit:160 */
878 if (UNTAG_Bool(REGB2
)) {
880 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
882 /* ./metamodel//genericity.nit:160 */
884 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
885 if (UNTAG_Bool(REGB2
)) {
886 REGB2
= TAG_Bool(false);
887 /* ./metamodel//genericity.nit:161 */
891 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
892 /* ./../lib/standard//collection//array.nit:23 */
893 if (UNTAG_Bool(REGB0
)) {
895 fprintf(stderr
, "Uninitialized attribute %s", "_length");
896 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
899 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
900 fra
.me
.REG
[2] = NEW_Range_range___Range___without_last(REGB1
, REGB0
);
901 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
902 /* ./metamodel//genericity.nit:163 */
904 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
905 if (UNTAG_Bool(REGB0
)) {
906 REGB0
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
907 REGB1
= TAG_Bool(ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
908 /* ./metamodel//genericity.nit:164 */
909 if (UNTAG_Bool(REGB1
)) {
911 fprintf(stderr
, "Uninitialized attribute %s", "_params");
912 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 164);
915 fra
.me
.REG
[3] = ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
918 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB3
));
919 /* ./../lib/standard//collection//array.nit:233 */
920 if (UNTAG_Bool(REGB3
)) {
921 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
922 if (UNTAG_Bool(REGB3
)) {
924 fprintf(stderr
, "Uninitialized attribute %s", "_length");
925 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
928 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
929 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
930 /* ./../lib/standard//collection//array.nit:233 */
932 REGB4
= TAG_Bool(false);
935 if (UNTAG_Bool(REGB3
)) {
937 fprintf(stderr
, "Assert %s failed", "'index'");
938 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
941 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[3]);
942 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
943 /* ./../lib/standard//collection//array.nit:234 */
944 if (UNTAG_Bool(REGB3
)) {
945 fprintf(stderr
, "Reciever is null");
946 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
949 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB1
)];
950 /* ./../lib/standard//collection//array.nit:234 */
953 fra
.me
.REG
[4] = fra
.me
.REG
[1];
955 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
956 /* ./../lib/standard//collection//array.nit:233 */
957 if (UNTAG_Bool(REGB1
)) {
958 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
959 if (UNTAG_Bool(REGB1
)) {
961 fprintf(stderr
, "Uninitialized attribute %s", "_length");
962 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
965 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
966 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
967 /* ./../lib/standard//collection//array.nit:233 */
969 REGB3
= TAG_Bool(false);
972 if (UNTAG_Bool(REGB1
)) {
974 fprintf(stderr
, "Assert %s failed", "'index'");
975 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
978 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[4]);
979 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
980 /* ./../lib/standard//collection//array.nit:234 */
981 if (UNTAG_Bool(REGB1
)) {
982 fprintf(stderr
, "Reciever is null");
983 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
986 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
987 /* ./../lib/standard//collection//array.nit:234 */
990 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[3],fra
.me
.REG
[4]));
991 /* ./metamodel//genericity.nit:164 */
992 if (UNTAG_Bool(REGB0
)) {
994 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
995 if (UNTAG_Bool(REGB1
)) {
996 REGB1
= TAG_Bool(false);
999 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1003 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1004 if (UNTAG_Bool(REGB0
)) {
1005 REGB0
= TAG_Bool(false);
1007 /* ./metamodel//genericity.nit:165 */
1011 /* ./metamodel//genericity.nit:163 */
1014 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1017 REGB0
= TAG_Bool(true);
1019 /* ./metamodel//genericity.nit:168 */
1022 stack_frame_head
= fra
.me
.prev
;
1025 val_t
genericity___MMTypeGeneric___is_subtype(val_t p0
, val_t p1
){
1026 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1032 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1033 fra
.me
.file
= LOCATE_genericity
;
1035 fra
.me
.meth
= LOCATE_genericity___MMTypeGeneric___is_subtype
;
1036 fra
.me
.has_broke
= 0;
1037 fra
.me
.REG_size
= 5;
1038 fra
.me
.REG
[0] = NIT_NULL
;
1039 fra
.me
.REG
[1] = NIT_NULL
;
1040 fra
.me
.REG
[2] = NIT_NULL
;
1041 fra
.me
.REG
[3] = NIT_NULL
;
1042 fra
.me
.REG
[4] = NIT_NULL
;
1046 REGB1
= TAG_Bool(ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
1047 /* ./metamodel//genericity.nit:180 */
1048 if (UNTAG_Bool(REGB1
)) {
1050 fprintf(stderr
, "Uninitialized attribute %s", "_params");
1051 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 180);
1054 fra
.me
.REG
[2] = ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
1055 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1056 /* ./../lib/standard//collection//array.nit:23 */
1057 if (UNTAG_Bool(REGB1
)) {
1059 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1060 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1063 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1064 fra
.me
.REG
[2] = NEW_Range_range___Range___without_last(REGB0
, REGB1
);
1065 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1066 /* ./metamodel//genericity.nit:180 */
1068 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1069 if (UNTAG_Bool(REGB1
)) {
1070 REGB1
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1071 fra
.me
.REG
[3] = CALL_genericity___MMTypeGeneric___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1074 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
1075 /* ./../lib/standard//collection//array.nit:233 */
1076 if (UNTAG_Bool(REGB2
)) {
1077 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1078 if (UNTAG_Bool(REGB2
)) {
1080 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1081 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1084 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1085 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1086 /* ./../lib/standard//collection//array.nit:233 */
1088 REGB3
= TAG_Bool(false);
1091 if (UNTAG_Bool(REGB2
)) {
1093 fprintf(stderr
, "Assert %s failed", "'index'");
1094 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1097 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[3]);
1098 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1099 /* ./../lib/standard//collection//array.nit:234 */
1100 if (UNTAG_Bool(REGB2
)) {
1101 fprintf(stderr
, "Reciever is null");
1102 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
1105 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
1106 /* ./../lib/standard//collection//array.nit:234 */
1109 REGB0
= TAG_Bool(ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
1110 /* ./metamodel//genericity.nit:182 */
1111 if (UNTAG_Bool(REGB0
)) {
1113 fprintf(stderr
, "Uninitialized attribute %s", "_params");
1114 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 182);
1117 fra
.me
.REG
[4] = ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
1119 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
1120 /* ./../lib/standard//collection//array.nit:233 */
1121 if (UNTAG_Bool(REGB0
)) {
1122 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1123 if (UNTAG_Bool(REGB0
)) {
1125 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1126 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1129 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1130 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
1131 /* ./../lib/standard//collection//array.nit:233 */
1133 REGB2
= TAG_Bool(false);
1136 if (UNTAG_Bool(REGB0
)) {
1138 fprintf(stderr
, "Assert %s failed", "'index'");
1139 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1142 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[4]);
1143 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1144 /* ./../lib/standard//collection//array.nit:234 */
1145 if (UNTAG_Bool(REGB0
)) {
1146 fprintf(stderr
, "Reciever is null");
1147 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
1150 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
1151 /* ./../lib/standard//collection//array.nit:234 */
1154 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1155 /* ./metamodel//genericity.nit:182 */
1156 if (UNTAG_Bool(REGB1
)) {
1157 fprintf(stderr
, "Reciever is null");
1158 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 182);
1161 REGB1
= CALL_static_type___MMType_____l(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1162 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1163 if (UNTAG_Bool(REGB1
)) {
1164 REGB1
= TAG_Bool(false);
1165 /* ./metamodel//genericity.nit:183 */
1169 /* ./metamodel//genericity.nit:180 */
1172 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1175 REGB0
= TAG_Bool(true);
1177 /* ./metamodel//genericity.nit:186 */
1180 stack_frame_head
= fra
.me
.prev
;
1183 void genericity___MMTypeGeneric___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1184 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_MMTypeGeneric
].i
;
1185 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1187 if (init_table
[itpos0
]) return;
1188 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1189 fra
.me
.file
= LOCATE_genericity
;
1191 fra
.me
.meth
= LOCATE_genericity___MMTypeGeneric___init
;
1192 fra
.me
.has_broke
= 0;
1193 fra
.me
.REG_size
= 4;
1194 fra
.me
.REG
[0] = NIT_NULL
;
1195 fra
.me
.REG
[1] = NIT_NULL
;
1196 fra
.me
.REG
[2] = NIT_NULL
;
1197 fra
.me
.REG
[3] = NIT_NULL
;
1201 fra
.me
.REG
[3] = fra
.me
.REG
[0];
1202 /* ./metamodel//genericity.nit:191 */
1203 CALL_static_type___MMTypeClass___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1204 /* ./metamodel//genericity.nit:192 */
1205 ATTR_genericity___MMTypeGeneric____params(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
1206 stack_frame_head
= fra
.me
.prev
;
1207 init_table
[itpos0
] = 1;
1210 val_t
genericity___MMTypeFormalParameter___module(val_t p0
){
1211 struct {struct stack_frame_t me
;} fra
;
1214 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1215 fra
.me
.file
= LOCATE_genericity
;
1217 fra
.me
.meth
= LOCATE_genericity___MMTypeFormalParameter___module
;
1218 fra
.me
.has_broke
= 0;
1219 fra
.me
.REG_size
= 1;
1220 fra
.me
.REG
[0] = NIT_NULL
;
1222 REGB0
= TAG_Bool(ATTR_genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0])!=NIT_NULL
);
1223 /* ./metamodel//genericity.nit:204 */
1224 if (UNTAG_Bool(REGB0
)) {
1226 fprintf(stderr
, "Uninitialized attribute %s", "_def_class");
1227 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 204);
1230 fra
.me
.REG
[0] = ATTR_genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0]);
1231 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1234 stack_frame_head
= fra
.me
.prev
;
1235 return fra
.me
.REG
[0];
1237 val_t
genericity___MMTypeFormalParameter___for_module(val_t p0
, val_t p1
){
1238 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1242 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1243 fra
.me
.file
= LOCATE_genericity
;
1245 fra
.me
.meth
= LOCATE_genericity___MMTypeFormalParameter___for_module
;
1246 fra
.me
.has_broke
= 0;
1247 fra
.me
.REG_size
= 4;
1248 fra
.me
.REG
[0] = NIT_NULL
;
1249 fra
.me
.REG
[1] = NIT_NULL
;
1250 fra
.me
.REG
[2] = NIT_NULL
;
1251 fra
.me
.REG
[3] = NIT_NULL
;
1254 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1255 fra
.me
.REG
[3] = CALL_static_type___MMType___module(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1256 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[1]));
1257 /* ./metamodel//genericity.nit:209 */
1258 if (UNTAG_Bool(REGB0
)) {
1260 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1263 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1264 if (UNTAG_Bool(REGB0
)) {
1265 REGB0
= TAG_Bool(ATTR_genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0])!=NIT_NULL
);
1266 /* ./metamodel//genericity.nit:210 */
1267 if (UNTAG_Bool(REGB0
)) {
1269 fprintf(stderr
, "Uninitialized attribute %s", "_def_class");
1270 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 210);
1273 fra
.me
.REG
[3] = ATTR_genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0]);
1274 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1275 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMModule_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1276 REGB0
= CALL_genericity___MMTypeFormalParameter___position(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1277 fra
.me
.REG
[3] = CALL_genericity___MMLocalClass___get_formal(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1278 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1280 /* ./metamodel//genericity.nit:212 */
1283 stack_frame_head
= fra
.me
.prev
;
1284 return fra
.me
.REG
[2];
1286 val_t
genericity___MMTypeFormalParameter___adapt_to(val_t p0
, val_t p1
){
1287 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1292 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1293 fra
.me
.file
= LOCATE_genericity
;
1295 fra
.me
.meth
= LOCATE_genericity___MMTypeFormalParameter___adapt_to
;
1296 fra
.me
.has_broke
= 0;
1297 fra
.me
.REG_size
= 3;
1298 fra
.me
.REG
[0] = NIT_NULL
;
1299 fra
.me
.REG
[1] = NIT_NULL
;
1300 fra
.me
.REG
[2] = NIT_NULL
;
1303 fra
.me
.REG
[2] = CALL_type_formal___MMType___direct_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1304 fra
.me
.REG
[1] = fra
.me
.REG
[2];
1305 fra
.me
.REG
[2] = CALL_genericity___MMTypeFormalParameter___def_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1306 fra
.me
.REG
[2] = CALL_static_type___MMType___upcast_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1307 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_MMTypeGeneric
, ID_MMTypeGeneric
)) /*cast MMTypeGeneric*/;
1308 /* ./metamodel//genericity.nit:231 */
1309 if (UNTAG_Bool(REGB0
)) {
1311 fprintf(stderr
, "Assert failed");
1312 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 231);
1315 fra
.me
.REG
[2] = CALL_genericity___MMTypeGeneric___params(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1316 REGB0
= CALL_genericity___MMTypeFormalParameter___position(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1318 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1319 /* ./../lib/standard//collection//array.nit:233 */
1320 if (UNTAG_Bool(REGB1
)) {
1321 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1322 if (UNTAG_Bool(REGB1
)) {
1324 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1325 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1328 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1329 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1330 /* ./../lib/standard//collection//array.nit:233 */
1332 REGB2
= TAG_Bool(false);
1335 if (UNTAG_Bool(REGB1
)) {
1337 fprintf(stderr
, "Assert %s failed", "'index'");
1338 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
1341 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
1342 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1343 /* ./../lib/standard//collection//array.nit:234 */
1344 if (UNTAG_Bool(REGB1
)) {
1345 fprintf(stderr
, "Reciever is null");
1346 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
1349 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1350 /* ./../lib/standard//collection//array.nit:234 */
1353 /* ./metamodel//genericity.nit:233 */
1356 stack_frame_head
= fra
.me
.prev
;
1357 return fra
.me
.REG
[2];
1359 val_t
genericity___MMTypeFormalParameter___upcast_for(val_t p0
, val_t p1
){
1360 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1363 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1364 fra
.me
.file
= LOCATE_genericity
;
1366 fra
.me
.meth
= LOCATE_genericity___MMTypeFormalParameter___upcast_for
;
1367 fra
.me
.has_broke
= 0;
1368 fra
.me
.REG_size
= 2;
1369 fra
.me
.REG
[0] = NIT_NULL
;
1370 fra
.me
.REG
[1] = NIT_NULL
;
1373 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
1374 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1375 /* ./metamodel//genericity.nit:215 */
1376 if (UNTAG_Bool(REGB0
)) {
1377 fprintf(stderr
, "Reciever is null");
1378 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 215);
1381 fra
.me
.REG
[1] = CALL_static_type___MMType___upcast_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1384 stack_frame_head
= fra
.me
.prev
;
1385 return fra
.me
.REG
[1];
1387 val_t
genericity___MMTypeFormalParameter___def_class(val_t p0
){
1388 struct {struct stack_frame_t me
;} fra
;
1391 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1392 fra
.me
.file
= LOCATE_genericity
;
1394 fra
.me
.meth
= LOCATE_genericity___MMTypeFormalParameter___def_class
;
1395 fra
.me
.has_broke
= 0;
1396 fra
.me
.REG_size
= 1;
1397 fra
.me
.REG
[0] = NIT_NULL
;
1399 REGB0
= TAG_Bool(ATTR_genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0])!=NIT_NULL
);
1400 /* ./metamodel//genericity.nit:198 */
1401 if (UNTAG_Bool(REGB0
)) {
1403 fprintf(stderr
, "Uninitialized attribute %s", "_def_class");
1404 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 198);
1407 fra
.me
.REG
[0] = ATTR_genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0]);
1408 stack_frame_head
= fra
.me
.prev
;
1409 return fra
.me
.REG
[0];
1411 val_t
genericity___MMTypeFormalParameter___position(val_t p0
){
1412 struct {struct stack_frame_t me
;} fra
;
1415 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1416 fra
.me
.file
= LOCATE_genericity
;
1418 fra
.me
.meth
= LOCATE_genericity___MMTypeFormalParameter___position
;
1419 fra
.me
.has_broke
= 0;
1420 fra
.me
.REG_size
= 1;
1421 fra
.me
.REG
[0] = NIT_NULL
;
1423 REGB0
= TAG_Bool(ATTR_genericity___MMTypeFormalParameter____position(fra
.me
.REG
[0])!=NIT_NULL
);
1424 /* ./metamodel//genericity.nit:201 */
1425 if (UNTAG_Bool(REGB0
)) {
1427 fprintf(stderr
, "Uninitialized attribute %s", "_position");
1428 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 201);
1431 REGB0
= ATTR_genericity___MMTypeFormalParameter____position(fra
.me
.REG
[0]);
1432 stack_frame_head
= fra
.me
.prev
;
1435 void genericity___MMTypeFormalParameter___bound__eq(val_t p0
, val_t p1
){
1436 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1440 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1441 fra
.me
.file
= LOCATE_genericity
;
1443 fra
.me
.meth
= LOCATE_genericity___MMTypeFormalParameter___bound__eq
;
1444 fra
.me
.has_broke
= 0;
1445 fra
.me
.REG_size
= 3;
1446 fra
.me
.REG
[0] = NIT_NULL
;
1447 fra
.me
.REG
[1] = NIT_NULL
;
1448 fra
.me
.REG
[2] = NIT_NULL
;
1451 fra
.me
.REG
[2] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
1452 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1453 /* ./metamodel//genericity.nit:219 */
1454 if (UNTAG_Bool(REGB0
)) {
1456 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1457 if (UNTAG_Bool(REGB1
)) {
1458 REGB1
= TAG_Bool(false);
1461 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1465 if (UNTAG_Bool(REGB0
)) {
1467 fprintf(stderr
, "Assert failed");
1468 fprintf(stderr
, " (%s:%d)\n", LOCATE_genericity
, 219);
1471 /* ./metamodel//genericity.nit:220 */
1472 ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1473 stack_frame_head
= fra
.me
.prev
;
1476 void genericity___MMTypeFormalParameter___with_bound(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
, int* init_table
){
1477 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_MMTypeFormalParameter
].i
;
1478 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1481 if (init_table
[itpos1
]) return;
1482 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1483 fra
.me
.file
= LOCATE_genericity
;
1485 fra
.me
.meth
= LOCATE_genericity___MMTypeFormalParameter___with_bound
;
1486 fra
.me
.has_broke
= 0;
1487 fra
.me
.REG_size
= 4;
1488 fra
.me
.REG
[0] = NIT_NULL
;
1489 fra
.me
.REG
[1] = NIT_NULL
;
1490 fra
.me
.REG
[2] = NIT_NULL
;
1491 fra
.me
.REG
[3] = NIT_NULL
;
1497 /* ./metamodel//genericity.nit:238 */
1498 CALL_genericity___MMTypeFormalParameter___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
, fra
.me
.REG
[2], init_table
);
1499 /* ./metamodel//genericity.nit:239 */
1500 ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1501 stack_frame_head
= fra
.me
.prev
;
1502 init_table
[itpos1
] = 1;
1505 void genericity___MMTypeFormalParameter___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1506 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_MMTypeFormalParameter
].i
;
1507 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1510 if (init_table
[itpos2
]) return;
1511 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1512 fra
.me
.file
= LOCATE_genericity
;
1514 fra
.me
.meth
= LOCATE_genericity___MMTypeFormalParameter___init
;
1515 fra
.me
.has_broke
= 0;
1516 fra
.me
.REG_size
= 4;
1517 fra
.me
.REG
[0] = NIT_NULL
;
1518 fra
.me
.REG
[1] = NIT_NULL
;
1519 fra
.me
.REG
[2] = NIT_NULL
;
1520 fra
.me
.REG
[3] = NIT_NULL
;
1525 fra
.me
.REG
[3] = fra
.me
.REG
[0];
1526 /* ./metamodel//genericity.nit:244 */
1527 CALL_type_formal___MMTypeFormal___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, init_table
);
1528 /* ./metamodel//genericity.nit:245 */
1529 ATTR_genericity___MMTypeFormalParameter____position(fra
.me
.REG
[3]) = REGB0
;
1530 /* ./metamodel//genericity.nit:246 */
1531 ATTR_genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
1532 stack_frame_head
= fra
.me
.prev
;
1533 init_table
[itpos2
] = 1;
1536 val_t
genericity___MMTypeNone___for_module(val_t p0
, val_t p1
){
1537 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1539 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1540 fra
.me
.file
= LOCATE_genericity
;
1542 fra
.me
.meth
= LOCATE_genericity___MMTypeNone___for_module
;
1543 fra
.me
.has_broke
= 0;
1544 fra
.me
.REG_size
= 2;
1545 fra
.me
.REG
[0] = NIT_NULL
;
1546 fra
.me
.REG
[1] = NIT_NULL
;
1549 /* ./metamodel//genericity.nit:252 */
1552 stack_frame_head
= fra
.me
.prev
;
1553 return fra
.me
.REG
[0];
1555 val_t
genericity___MMTypeNone___adapt_to(val_t p0
, val_t p1
){
1556 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1558 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1559 fra
.me
.file
= LOCATE_genericity
;
1561 fra
.me
.meth
= LOCATE_genericity___MMTypeNone___adapt_to
;
1562 fra
.me
.has_broke
= 0;
1563 fra
.me
.REG_size
= 2;
1564 fra
.me
.REG
[0] = NIT_NULL
;
1565 fra
.me
.REG
[1] = NIT_NULL
;
1568 /* ./metamodel//genericity.nit:253 */
1571 stack_frame_head
= fra
.me
.prev
;
1572 return fra
.me
.REG
[0];
1574 val_t
genericity___MMTypeNone___is_generic(val_t p0
){
1575 struct {struct stack_frame_t me
;} fra
;
1578 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1579 fra
.me
.file
= LOCATE_genericity
;
1581 fra
.me
.meth
= LOCATE_genericity___MMTypeNone___is_generic
;
1582 fra
.me
.has_broke
= 0;
1583 fra
.me
.REG_size
= 1;
1584 fra
.me
.REG
[0] = NIT_NULL
;
1586 REGB0
= TAG_Bool(false);
1587 /* ./metamodel//genericity.nit:251 */
1590 stack_frame_head
= fra
.me
.prev
;