1 /* This C file is generated by NIT to compile module metamodel___genericity. */
2 #include "metamodel___genericity._sep.h"
3 static const char LOCATE_metamodel___genericity___MMLocalClass___get_formal
[] = "genericity::MMLocalClass::get_formal";
4 val_t
metamodel___genericity___MMLocalClass___get_formal(val_t p0
, val_t p1
){
5 struct {struct stack_frame_t me
;} fra
;
10 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11 fra
.me
.file
= LOCATE_metamodel___genericity
;
13 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___get_formal
;
16 fra
.me
.nitni_local_ref_head
= NULL
;
17 fra
.me
.REG
[0] = NIT_NULL
;
20 /* metamodel/genericity.nit:28 */
21 fra
.me
.REG
[0] = CALL_metamodel___genericity___MMLocalClass___formals_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
22 /* ../lib/standard/collection/array.nit:280 */
24 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
25 if (UNTAG_Bool(REGB2
)) {
27 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
29 /* ../lib/standard/kernel.nit:236 */
30 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
31 /* ../lib/standard/collection/array.nit:280 */
32 if (UNTAG_Bool(REGB1
)) {
33 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
34 if (UNTAG_Bool(REGB1
)) {
36 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
38 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
39 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
40 if (UNTAG_Bool(REGB2
)) {
42 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
44 /* ../lib/standard/kernel.nit:235 */
45 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
47 /* ../lib/standard/collection/array.nit:280 */
51 if (UNTAG_Bool(REGB1
)) {
53 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
55 /* ../lib/standard/collection/array.nit:281 */
56 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
57 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
58 if (UNTAG_Bool(REGB1
)) {
59 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
61 /* ../lib/standard/collection/array.nit:718 */
62 fra
.me
.REG
[0] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
63 /* ../lib/standard/collection/array.nit:281 */
66 /* metamodel/genericity.nit:28 */
69 stack_frame_head
= fra
.me
.prev
;
72 static const char LOCATE_metamodel___genericity___MMLocalClass___register_formal
[] = "genericity::MMLocalClass::register_formal";
73 void metamodel___genericity___MMLocalClass___register_formal(val_t p0
, val_t p1
){
74 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
79 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
80 fra
.me
.file
= LOCATE_metamodel___genericity
;
82 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___register_formal
;
85 fra
.me
.nitni_local_ref_head
= NULL
;
86 fra
.me
.REG
[0] = NIT_NULL
;
87 fra
.me
.REG
[1] = NIT_NULL
;
88 fra
.me
.REG
[2] = NIT_NULL
;
91 /* metamodel/genericity.nit:35 */
92 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMTypeFormalParameter___def_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
93 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[0]));
94 if (UNTAG_Bool(REGB0
)) {
96 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
99 if (UNTAG_Bool(REGB0
)) {
101 nit_abort("Assert failed", NULL
, LOCATE_metamodel___genericity
, 35);
103 /* metamodel/genericity.nit:36 */
104 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
105 REGB1
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
106 if (UNTAG_Bool(REGB1
)) {
108 nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity
, 36);
110 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
111 /* ../lib/standard/collection/array.nit:24 */
112 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
113 if (UNTAG_Bool(REGB1
)) {
115 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
117 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
118 /* metamodel/genericity.nit:36 */
119 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
120 if (UNTAG_Bool(REGB2
)) {
122 /* ../lib/standard/kernel.nit:230 */
123 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
124 /* metamodel/genericity.nit:36 */
127 if (UNTAG_Bool(REGB2
)) {
129 nit_abort("Assert failed", NULL
, LOCATE_metamodel___genericity
, 36);
131 /* metamodel/genericity.nit:37 */
132 REGB2
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
133 if (UNTAG_Bool(REGB2
)) {
135 nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity
, 37);
137 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
138 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
139 stack_frame_head
= fra
.me
.prev
;
142 static const char LOCATE_metamodel___genericity___MMLocalClass___get_instantiate_type
[] = "genericity::MMLocalClass::get_instantiate_type";
143 val_t
metamodel___genericity___MMLocalClass___get_instantiate_type(val_t p0
, val_t p1
){
144 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
149 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
150 fra
.me
.file
= LOCATE_metamodel___genericity
;
152 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___get_instantiate_type
;
153 fra
.me
.has_broke
= 0;
155 fra
.me
.nitni_local_ref_head
= NULL
;
156 fra
.me
.REG
[0] = NIT_NULL
;
157 fra
.me
.REG
[1] = NIT_NULL
;
158 fra
.me
.REG
[2] = NIT_NULL
;
159 fra
.me
.REG
[3] = NIT_NULL
;
160 fra
.me
.REG
[4] = NIT_NULL
;
163 /* metamodel/genericity.nit:46 */
164 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____types(fra
.me
.REG
[0])!=NIT_NULL
);
165 if (UNTAG_Bool(REGB0
)) {
167 nit_abort("Uninitialized attribute %s", "_types", LOCATE_metamodel___genericity
, 46);
169 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMLocalClass____types(fra
.me
.REG
[0]);
170 /* ../lib/standard/collection/array.nit:269 */
172 /* ../lib/standard/collection/array.nit:270 */
173 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
174 if (UNTAG_Bool(REGB1
)) {
176 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
178 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
179 /* ../lib/standard/collection/array.nit:271 */
180 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
181 /* ../lib/standard/collection/array.nit:272 */
183 /* ../lib/standard/collection/array.nit:24 */
184 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
185 if (UNTAG_Bool(REGB1
)) {
187 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
189 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
190 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
191 if (UNTAG_Bool(REGB2
)) {
193 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
195 /* ../lib/standard/kernel.nit:235 */
196 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
197 /* ../lib/standard/collection/array.nit:272 */
198 if (UNTAG_Bool(REGB1
)) {
199 /* ../lib/standard/collection/array.nit:273 */
200 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
201 if (UNTAG_Bool(REGB1
)) {
202 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
204 /* ../lib/standard/collection/array.nit:718 */
205 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
206 /* metamodel/genericity.nit:47 */
207 REGB1
= CALL_metamodel___genericity___MMTypeGeneric___params_equals(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
208 if (UNTAG_Bool(REGB1
)) {
211 /* ../lib/standard/collection/array.nit:274 */
213 /* ../lib/standard/kernel.nit:238 */
214 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
215 /* ../lib/standard/collection/array.nit:274 */
218 /* ../lib/standard/collection/array.nit:272 */
223 /* metamodel/genericity.nit:49 */
224 fra
.me
.REG
[1] = NEW_MMTypeGeneric_metamodel___genericity___MMTypeGeneric___init(fra
.me
.REG
[0], fra
.me
.REG
[1]);
225 /* metamodel/genericity.nit:50 */
226 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____types(fra
.me
.REG
[0])!=NIT_NULL
);
227 if (UNTAG_Bool(REGB0
)) {
229 nit_abort("Uninitialized attribute %s", "_types", LOCATE_metamodel___genericity
, 50);
231 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMLocalClass____types(fra
.me
.REG
[0]);
232 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
233 /* metamodel/genericity.nit:51 */
234 fra
.me
.REG
[4] = fra
.me
.REG
[1];
237 stack_frame_head
= fra
.me
.prev
;
238 return fra
.me
.REG
[4];
240 static const char LOCATE_metamodel___genericity___MMLocalClass___formals_types
[] = "genericity::MMLocalClass::formals_types";
241 val_t
metamodel___genericity___MMLocalClass___formals_types(val_t p0
){
242 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
249 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
250 fra
.me
.file
= LOCATE_metamodel___genericity
;
252 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___formals_types
;
253 fra
.me
.has_broke
= 0;
255 fra
.me
.nitni_local_ref_head
= NULL
;
256 fra
.me
.REG
[0] = NIT_NULL
;
257 fra
.me
.REG
[1] = NIT_NULL
;
258 fra
.me
.REG
[2] = NIT_NULL
;
259 fra
.me
.REG
[3] = NIT_NULL
;
261 /* metamodel/genericity.nit:61 */
262 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
263 if (UNTAG_Bool(REGB0
)) {
265 nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity
, 61);
267 fra
.me
.REG
[1] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
268 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
269 if (UNTAG_Bool(REGB0
)) {
270 /* metamodel/genericity.nit:62 */
271 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMConcreteClass
, ID_metamodel___abstractmetamodel___MMConcreteClass
)) /*cast MMConcreteClass*/;
272 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
273 if (UNTAG_Bool(REGB0
)) {
275 nit_abort("Assert failed", NULL
, LOCATE_metamodel___genericity
, 62);
277 /* metamodel/genericity.nit:65 */
279 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
280 /* ../lib/standard/kernel.nit:355 */
282 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
283 if (UNTAG_Bool(REGB2
)) {
285 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
287 /* ../lib/standard/kernel.nit:235 */
288 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
289 /* ../lib/standard/kernel.nit:355 */
290 if (UNTAG_Bool(REGB2
)) {
291 /* metamodel/genericity.nit:65 */
293 /* metamodel/genericity.nit:66 */
294 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
295 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
296 fra
.me
.REG
[1] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
297 /* metamodel/genericity.nit:67 */
298 fra
.me
.REG
[1] = CALL_metamodel___type_formal___MMTypeFormal___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
299 fra
.me
.REG
[1] = NEW_MMTypeFormalParameter_metamodel___genericity___MMTypeFormalParameter___init(fra
.me
.REG
[1], REGB2
, fra
.me
.REG
[0]);
300 /* metamodel/genericity.nit:68 */
301 CALL_metamodel___genericity___MMLocalClass___register_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
302 /* ../lib/standard/kernel.nit:357 */
304 /* ../lib/standard/kernel.nit:238 */
305 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
306 /* ../lib/standard/kernel.nit:357 */
309 /* ../lib/standard/kernel.nit:355 */
314 /* metamodel/genericity.nit:71 */
316 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
317 /* ../lib/standard/kernel.nit:355 */
319 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
320 if (UNTAG_Bool(REGB2
)) {
322 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
324 /* ../lib/standard/kernel.nit:235 */
325 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
326 /* ../lib/standard/kernel.nit:355 */
327 if (UNTAG_Bool(REGB2
)) {
328 /* metamodel/genericity.nit:71 */
330 /* metamodel/genericity.nit:72 */
331 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
332 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
333 fra
.me
.REG
[1] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
334 /* metamodel/genericity.nit:73 */
335 REGB3
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
336 if (UNTAG_Bool(REGB3
)) {
338 nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity
, 73);
340 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
341 /* ../lib/standard/collection/array.nit:280 */
343 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
344 if (UNTAG_Bool(REGB4
)) {
346 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
348 /* ../lib/standard/kernel.nit:236 */
349 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
350 /* ../lib/standard/collection/array.nit:280 */
351 if (UNTAG_Bool(REGB3
)) {
352 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
353 if (UNTAG_Bool(REGB3
)) {
355 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
357 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
358 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
359 if (UNTAG_Bool(REGB4
)) {
361 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
363 /* ../lib/standard/kernel.nit:235 */
364 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
366 /* ../lib/standard/collection/array.nit:280 */
370 if (UNTAG_Bool(REGB3
)) {
372 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
374 /* ../lib/standard/collection/array.nit:281 */
375 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
376 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
377 if (UNTAG_Bool(REGB3
)) {
378 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
380 /* ../lib/standard/collection/array.nit:718 */
381 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB2
)];
382 /* ../lib/standard/collection/array.nit:281 */
385 /* metamodel/genericity.nit:74 */
386 fra
.me
.REG
[1] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
387 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
388 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
389 CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
390 /* ../lib/standard/kernel.nit:357 */
392 /* ../lib/standard/kernel.nit:238 */
393 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
394 /* ../lib/standard/kernel.nit:357 */
397 /* ../lib/standard/kernel.nit:355 */
403 /* metamodel/genericity.nit:77 */
404 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0])!=NIT_NULL
);
405 if (UNTAG_Bool(REGB0
)) {
407 nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity
, 77);
409 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra
.me
.REG
[0]);
412 stack_frame_head
= fra
.me
.prev
;
413 return fra
.me
.REG
[0];
415 static const char LOCATE_metamodel___genericity___MMLocalClass___get_type
[] = "genericity::MMLocalClass::(static_type::MMLocalClass::get_type)";
416 val_t
metamodel___genericity___MMLocalClass___get_type(val_t p0
){
417 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
421 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
422 fra
.me
.file
= LOCATE_metamodel___genericity
;
424 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___get_type
;
425 fra
.me
.has_broke
= 0;
427 fra
.me
.nitni_local_ref_head
= NULL
;
428 fra
.me
.REG
[0] = NIT_NULL
;
429 fra
.me
.REG
[1] = NIT_NULL
;
430 fra
.me
.REG
[2] = NIT_NULL
;
432 /* metamodel/genericity.nit:80 */
433 fra
.me
.REG
[1] = fra
.me
.REG
[0];
434 /* metamodel/genericity.nit:82 */
435 fra
.me
.REG
[2] = ATTR_metamodel___static_type___MMLocalClass____base_type_cache(fra
.me
.REG
[1]);
436 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
437 if (UNTAG_Bool(REGB0
)) {
439 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
440 if (UNTAG_Bool(REGB1
)) {
444 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
448 if (UNTAG_Bool(REGB0
)) {
449 REGB0
= CALL_metamodel___genericity___MMLocalClass___is_generic(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
454 if (UNTAG_Bool(REGB0
)) {
455 /* metamodel/genericity.nit:83 */
456 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMLocalClass___formals_types(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
457 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
458 ATTR_metamodel___static_type___MMLocalClass____base_type_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
459 /* metamodel/genericity.nit:84 */
460 fra
.me
.REG
[1] = ATTR_metamodel___static_type___MMLocalClass____base_type_cache(fra
.me
.REG
[1]);
461 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*/;
462 if (UNTAG_Bool(REGB0
)) {
464 nit_abort("Cast failed", NULL
, LOCATE_metamodel___genericity
, 84);
468 /* metamodel/genericity.nit:86 */
469 fra
.me
.REG
[0] = CALL_SUPER_metamodel___genericity___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
470 fra
.me
.REG
[1] = fra
.me
.REG
[0];
474 stack_frame_head
= fra
.me
.prev
;
475 return fra
.me
.REG
[1];
477 static const char LOCATE_metamodel___genericity___MMLocalClass___is_generic
[] = "genericity::MMLocalClass::is_generic";
478 val_t
metamodel___genericity___MMLocalClass___is_generic(val_t p0
){
479 struct {struct stack_frame_t me
;} fra
;
484 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
485 fra
.me
.file
= LOCATE_metamodel___genericity
;
487 fra
.me
.meth
= LOCATE_metamodel___genericity___MMLocalClass___is_generic
;
488 fra
.me
.has_broke
= 0;
490 fra
.me
.nitni_local_ref_head
= NULL
;
491 fra
.me
.REG
[0] = NIT_NULL
;
493 /* metamodel/genericity.nit:91 */
494 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
496 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
497 if (UNTAG_Bool(REGB2
)) {
499 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
501 /* ../lib/standard/kernel.nit:237 */
502 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
503 /* metamodel/genericity.nit:91 */
506 stack_frame_head
= fra
.me
.prev
;
509 static const char LOCATE_metamodel___genericity___MMType___is_generic
[] = "genericity::MMType::is_generic";
510 val_t
metamodel___genericity___MMType___is_generic(val_t p0
){
511 struct {struct stack_frame_t me
;} fra
;
513 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
514 fra
.me
.file
= LOCATE_metamodel___genericity
;
516 fra
.me
.meth
= LOCATE_metamodel___genericity___MMType___is_generic
;
517 fra
.me
.has_broke
= 0;
519 fra
.me
.nitni_local_ref_head
= NULL
;
520 /* metamodel/genericity.nit:95 */
521 nit_abort("Deferred method called", NULL
, LOCATE_metamodel___genericity
, 95);
522 stack_frame_head
= fra
.me
.prev
;
525 static const char LOCATE_metamodel___genericity___MMTypeFormal___is_generic
[] = "genericity::MMTypeFormal::(genericity::MMType::is_generic)";
526 val_t
metamodel___genericity___MMTypeFormal___is_generic(val_t p0
){
527 struct {struct stack_frame_t me
;} fra
;
530 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
531 fra
.me
.file
= LOCATE_metamodel___genericity
;
533 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormal___is_generic
;
534 fra
.me
.has_broke
= 0;
536 fra
.me
.nitni_local_ref_head
= NULL
;
537 fra
.me
.REG
[0] = NIT_NULL
;
539 /* metamodel/genericity.nit:100 */
540 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
541 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
542 if (UNTAG_Bool(REGB0
)) {
543 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___genericity
, 100);
545 REGB0
= CALL_metamodel___genericity___MMType___is_generic(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
548 stack_frame_head
= fra
.me
.prev
;
551 static const char LOCATE_metamodel___genericity___MMTypeSimpleClass___is_generic
[] = "genericity::MMTypeSimpleClass::(genericity::MMType::is_generic)";
552 val_t
metamodel___genericity___MMTypeSimpleClass___is_generic(val_t p0
){
553 struct {struct stack_frame_t me
;} fra
;
556 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
557 fra
.me
.file
= LOCATE_metamodel___genericity
;
559 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeSimpleClass___is_generic
;
560 fra
.me
.has_broke
= 0;
562 fra
.me
.nitni_local_ref_head
= NULL
;
563 fra
.me
.REG
[0] = NIT_NULL
;
565 /* metamodel/genericity.nit:104 */
569 stack_frame_head
= fra
.me
.prev
;
572 static const char LOCATE_metamodel___genericity___MMTypeGeneric___params
[] = "genericity::MMTypeGeneric::params";
573 val_t
metamodel___genericity___MMTypeGeneric___params(val_t p0
){
574 struct {struct stack_frame_t me
;} fra
;
577 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
578 fra
.me
.file
= LOCATE_metamodel___genericity
;
580 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___params
;
581 fra
.me
.has_broke
= 0;
583 fra
.me
.nitni_local_ref_head
= NULL
;
584 fra
.me
.REG
[0] = NIT_NULL
;
586 /* metamodel/genericity.nit:109 */
587 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
588 if (UNTAG_Bool(REGB0
)) {
590 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 109);
592 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
593 stack_frame_head
= fra
.me
.prev
;
594 return fra
.me
.REG
[0];
596 static const char LOCATE_metamodel___genericity___MMTypeGeneric___is_generic
[] = "genericity::MMTypeGeneric::(genericity::MMType::is_generic)";
597 val_t
metamodel___genericity___MMTypeGeneric___is_generic(val_t p0
){
598 struct {struct stack_frame_t me
;} fra
;
601 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
602 fra
.me
.file
= LOCATE_metamodel___genericity
;
604 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___is_generic
;
605 fra
.me
.has_broke
= 0;
607 fra
.me
.nitni_local_ref_head
= NULL
;
608 fra
.me
.REG
[0] = NIT_NULL
;
610 /* metamodel/genericity.nit:112 */
614 stack_frame_head
= fra
.me
.prev
;
617 static const char LOCATE_metamodel___genericity___MMTypeGeneric___is_supertype
[] = "genericity::MMTypeGeneric::(static_type::MMType::is_supertype)";
618 val_t
metamodel___genericity___MMTypeGeneric___is_supertype(val_t p0
, val_t p1
){
619 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
623 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
624 fra
.me
.file
= LOCATE_metamodel___genericity
;
626 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___is_supertype
;
627 fra
.me
.has_broke
= 0;
629 fra
.me
.nitni_local_ref_head
= NULL
;
630 fra
.me
.REG
[0] = NIT_NULL
;
631 fra
.me
.REG
[1] = NIT_NULL
;
632 fra
.me
.REG
[2] = NIT_NULL
;
633 fra
.me
.REG
[3] = NIT_NULL
;
636 /* metamodel/genericity.nit:116 */
637 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
638 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
639 REGB0
= TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
640 if (UNTAG_Bool(REGB0
)) {
642 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity
, 116);
644 fra
.me
.REG
[3] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
645 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____leq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
646 if (UNTAG_Bool(REGB0
)) {
647 /* metamodel/genericity.nit:117 */
648 REGB0
= TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
649 if (UNTAG_Bool(REGB0
)) {
651 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity
, 117);
653 fra
.me
.REG
[3] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
654 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___upcast_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
655 /* metamodel/genericity.nit:118 */
656 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_metamodel___genericity___MMTypeGeneric
, ID_metamodel___genericity___MMTypeGeneric
)) /*cast MMTypeGeneric*/;
657 if (UNTAG_Bool(REGB0
)) {
658 /* metamodel/genericity.nit:119 */
659 REGB0
= CALL_metamodel___genericity___MMTypeGeneric___is_subtype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
663 /* metamodel/genericity.nit:122 */
668 stack_frame_head
= fra
.me
.prev
;
671 static const char LOCATE_metamodel___genericity___MMTypeGeneric___upcast_for
[] = "genericity::MMTypeGeneric::(static_type::MMType::upcast_for)";
672 val_t
metamodel___genericity___MMTypeGeneric___upcast_for(val_t p0
, val_t p1
){
673 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
677 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
678 fra
.me
.file
= LOCATE_metamodel___genericity
;
680 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___upcast_for
;
681 fra
.me
.has_broke
= 0;
683 fra
.me
.nitni_local_ref_head
= NULL
;
684 fra
.me
.REG
[0] = NIT_NULL
;
685 fra
.me
.REG
[1] = NIT_NULL
;
686 fra
.me
.REG
[2] = NIT_NULL
;
689 /* metamodel/genericity.nit:125 */
690 fra
.me
.REG
[2] = fra
.me
.REG
[0];
691 /* metamodel/genericity.nit:127 */
692 fra
.me
.REG
[1] = CALL_SUPER_metamodel___genericity___MMTypeGeneric___upcast_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
693 /* metamodel/genericity.nit:128 */
694 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
695 if (UNTAG_Bool(REGB0
)) {
697 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
700 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
701 if (UNTAG_Bool(REGB0
)) {
702 /* metamodel/genericity.nit:129 */
703 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___adapt_to(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
704 fra
.me
.REG
[1] = fra
.me
.REG
[2];
706 /* metamodel/genericity.nit:131 */
709 stack_frame_head
= fra
.me
.prev
;
710 return fra
.me
.REG
[1];
712 static const char LOCATE_metamodel___genericity___MMTypeGeneric___for_module
[] = "genericity::MMTypeGeneric::(static_type::MMType::for_module)";
713 val_t
metamodel___genericity___MMTypeGeneric___for_module(val_t p0
, val_t p1
){
714 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
719 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
720 fra
.me
.file
= LOCATE_metamodel___genericity
;
722 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___for_module
;
723 fra
.me
.has_broke
= 0;
725 fra
.me
.nitni_local_ref_head
= NULL
;
726 fra
.me
.REG
[0] = NIT_NULL
;
727 fra
.me
.REG
[1] = NIT_NULL
;
728 fra
.me
.REG
[2] = NIT_NULL
;
729 fra
.me
.REG
[3] = NIT_NULL
;
730 fra
.me
.REG
[4] = NIT_NULL
;
731 fra
.me
.REG
[5] = NIT_NULL
;
732 fra
.me
.REG
[6] = NIT_NULL
;
735 /* metamodel/genericity.nit:136 */
736 fra
.me
.REG
[2] = fra
.me
.REG
[0];
737 /* metamodel/genericity.nit:137 */
738 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
739 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[1]));
740 if (UNTAG_Bool(REGB0
)) {
742 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
745 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
746 if (UNTAG_Bool(REGB0
)) {
747 /* metamodel/genericity.nit:138 */
748 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
749 /* metamodel/genericity.nit:139 */
750 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
751 if (UNTAG_Bool(REGB0
)) {
753 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 139);
755 fra
.me
.REG
[4] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
756 /* ../lib/standard/collection/array.nit:269 */
758 /* ../lib/standard/collection/array.nit:270 */
759 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
760 if (UNTAG_Bool(REGB1
)) {
762 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
764 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
765 /* ../lib/standard/collection/array.nit:271 */
766 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
767 /* ../lib/standard/collection/array.nit:272 */
769 /* ../lib/standard/collection/array.nit:24 */
770 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
771 if (UNTAG_Bool(REGB1
)) {
773 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
775 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
776 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
777 if (UNTAG_Bool(REGB2
)) {
779 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
781 /* ../lib/standard/kernel.nit:235 */
782 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
783 /* ../lib/standard/collection/array.nit:272 */
784 if (UNTAG_Bool(REGB1
)) {
785 /* ../lib/standard/collection/array.nit:273 */
786 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
787 if (UNTAG_Bool(REGB1
)) {
788 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
790 /* ../lib/standard/collection/array.nit:718 */
791 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
792 /* metamodel/genericity.nit:140 */
793 fra
.me
.REG
[6] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
795 /* ../lib/standard/collection/array.nit:274 */
797 /* ../lib/standard/kernel.nit:238 */
798 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
799 /* ../lib/standard/collection/array.nit:274 */
802 /* ../lib/standard/collection/array.nit:272 */
807 /* metamodel/genericity.nit:142 */
808 REGB0
= TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
809 if (UNTAG_Bool(REGB0
)) {
811 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity
, 142);
813 fra
.me
.REG
[0] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
814 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
815 /* metamodel/genericity.nit:143 */
816 fra
.me
.REG
[3] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
817 fra
.me
.REG
[2] = fra
.me
.REG
[3];
819 /* metamodel/genericity.nit:145 */
822 stack_frame_head
= fra
.me
.prev
;
823 return fra
.me
.REG
[2];
825 static const char LOCATE_metamodel___genericity___MMTypeGeneric___adapt_to
[] = "genericity::MMTypeGeneric::(static_type::MMType::adapt_to)";
826 val_t
metamodel___genericity___MMTypeGeneric___adapt_to(val_t p0
, val_t p1
){
827 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
832 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
833 fra
.me
.file
= LOCATE_metamodel___genericity
;
835 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___adapt_to
;
836 fra
.me
.has_broke
= 0;
838 fra
.me
.nitni_local_ref_head
= NULL
;
839 fra
.me
.REG
[0] = NIT_NULL
;
840 fra
.me
.REG
[1] = NIT_NULL
;
841 fra
.me
.REG
[2] = NIT_NULL
;
842 fra
.me
.REG
[3] = NIT_NULL
;
843 fra
.me
.REG
[4] = NIT_NULL
;
844 fra
.me
.REG
[5] = NIT_NULL
;
847 /* metamodel/genericity.nit:150 */
848 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
849 /* metamodel/genericity.nit:151 */
850 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
851 if (UNTAG_Bool(REGB0
)) {
853 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 151);
855 fra
.me
.REG
[3] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
856 /* ../lib/standard/collection/array.nit:269 */
858 /* ../lib/standard/collection/array.nit:270 */
859 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
860 if (UNTAG_Bool(REGB1
)) {
862 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
864 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
865 /* ../lib/standard/collection/array.nit:271 */
866 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
867 /* ../lib/standard/collection/array.nit:272 */
869 /* ../lib/standard/collection/array.nit:24 */
870 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
871 if (UNTAG_Bool(REGB1
)) {
873 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
875 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
876 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
877 if (UNTAG_Bool(REGB2
)) {
879 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
881 /* ../lib/standard/kernel.nit:235 */
882 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
883 /* ../lib/standard/collection/array.nit:272 */
884 if (UNTAG_Bool(REGB1
)) {
885 /* ../lib/standard/collection/array.nit:273 */
886 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
887 if (UNTAG_Bool(REGB1
)) {
888 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
890 /* ../lib/standard/collection/array.nit:718 */
891 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
892 /* metamodel/genericity.nit:152 */
893 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMType___adapt_to(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
895 /* ../lib/standard/collection/array.nit:274 */
897 /* ../lib/standard/kernel.nit:238 */
898 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
899 /* ../lib/standard/collection/array.nit:274 */
902 /* ../lib/standard/collection/array.nit:272 */
907 /* metamodel/genericity.nit:154 */
908 REGB0
= TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
909 if (UNTAG_Bool(REGB0
)) {
911 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity
, 154);
913 fra
.me
.REG
[0] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra
.me
.REG
[0]);
914 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
915 /* metamodel/genericity.nit:155 */
918 stack_frame_head
= fra
.me
.prev
;
919 return fra
.me
.REG
[2];
921 static const char LOCATE_metamodel___genericity___MMTypeGeneric___params_equals
[] = "genericity::MMTypeGeneric::params_equals";
922 val_t
metamodel___genericity___MMTypeGeneric___params_equals(val_t p0
, val_t p1
){
923 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
932 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
933 fra
.me
.file
= LOCATE_metamodel___genericity
;
935 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___params_equals
;
936 fra
.me
.has_broke
= 0;
938 fra
.me
.nitni_local_ref_head
= NULL
;
939 fra
.me
.REG
[0] = NIT_NULL
;
940 fra
.me
.REG
[1] = NIT_NULL
;
941 fra
.me
.REG
[2] = NIT_NULL
;
942 fra
.me
.REG
[3] = NIT_NULL
;
945 /* ../lib/standard/collection/array.nit:24 */
946 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
947 if (UNTAG_Bool(REGB0
)) {
949 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
951 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
952 /* metamodel/genericity.nit:160 */
953 REGB1
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
954 if (UNTAG_Bool(REGB1
)) {
956 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 160);
958 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
959 /* ../lib/standard/collection/array.nit:24 */
960 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
961 if (UNTAG_Bool(REGB1
)) {
963 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
965 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
966 /* metamodel/genericity.nit:160 */
967 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
968 if (UNTAG_Bool(REGB2
)) {
970 /* ../lib/standard/kernel.nit:230 */
971 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
972 /* metamodel/genericity.nit:160 */
975 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
976 if (UNTAG_Bool(REGB2
)) {
977 /* metamodel/genericity.nit:161 */
981 /* metamodel/genericity.nit:163 */
983 /* ../lib/standard/collection/array.nit:24 */
984 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
985 if (UNTAG_Bool(REGB0
)) {
987 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
989 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
990 /* ../lib/standard/kernel.nit:355 */
992 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
993 if (UNTAG_Bool(REGB3
)) {
995 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
997 /* ../lib/standard/kernel.nit:235 */
998 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
999 /* ../lib/standard/kernel.nit:355 */
1000 if (UNTAG_Bool(REGB3
)) {
1001 /* metamodel/genericity.nit:163 */
1003 /* metamodel/genericity.nit:164 */
1004 REGB4
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
1005 if (UNTAG_Bool(REGB4
)) {
1007 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 164);
1009 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
1010 /* ../lib/standard/collection/array.nit:278 */
1012 /* ../lib/standard/collection/array.nit:280 */
1014 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1015 if (UNTAG_Bool(REGB6
)) {
1017 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1019 /* ../lib/standard/kernel.nit:236 */
1020 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB5
));
1021 /* ../lib/standard/collection/array.nit:280 */
1022 if (UNTAG_Bool(REGB5
)) {
1023 REGB5
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1024 if (UNTAG_Bool(REGB5
)) {
1026 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1028 REGB5
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1029 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1030 if (UNTAG_Bool(REGB6
)) {
1032 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1034 /* ../lib/standard/kernel.nit:235 */
1035 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB5
));
1037 /* ../lib/standard/collection/array.nit:280 */
1038 REGB6
= TAG_Bool(0);
1041 if (UNTAG_Bool(REGB5
)) {
1043 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1045 /* ../lib/standard/collection/array.nit:281 */
1046 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1047 REGB5
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1048 if (UNTAG_Bool(REGB5
)) {
1049 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1051 /* ../lib/standard/collection/array.nit:718 */
1052 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB4
)];
1053 /* ../lib/standard/collection/array.nit:281 */
1056 /* ../lib/standard/collection/array.nit:278 */
1057 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1058 /* ../lib/standard/collection/array.nit:280 */
1060 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1061 if (UNTAG_Bool(REGB5
)) {
1063 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1065 /* ../lib/standard/kernel.nit:236 */
1066 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
1067 /* ../lib/standard/collection/array.nit:280 */
1068 if (UNTAG_Bool(REGB4
)) {
1069 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1070 if (UNTAG_Bool(REGB4
)) {
1072 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1074 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1075 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1076 if (UNTAG_Bool(REGB5
)) {
1078 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1080 /* ../lib/standard/kernel.nit:235 */
1081 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1083 /* ../lib/standard/collection/array.nit:280 */
1084 REGB5
= TAG_Bool(0);
1087 if (UNTAG_Bool(REGB4
)) {
1089 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1091 /* ../lib/standard/collection/array.nit:281 */
1092 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1093 REGB4
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1094 if (UNTAG_Bool(REGB4
)) {
1095 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1097 /* ../lib/standard/collection/array.nit:718 */
1098 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB3
)];
1099 /* ../lib/standard/collection/array.nit:281 */
1102 /* metamodel/genericity.nit:164 */
1103 REGB3
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[3]));
1104 if (UNTAG_Bool(REGB3
)) {
1106 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1107 if (UNTAG_Bool(REGB4
)) {
1108 REGB4
= TAG_Bool(0);
1111 REGB4
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1115 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
1116 if (UNTAG_Bool(REGB3
)) {
1117 /* metamodel/genericity.nit:165 */
1118 REGB3
= TAG_Bool(0);
1122 /* ../lib/standard/kernel.nit:357 */
1124 /* ../lib/standard/kernel.nit:238 */
1125 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1126 /* ../lib/standard/kernel.nit:357 */
1129 /* ../lib/standard/kernel.nit:355 */
1134 /* metamodel/genericity.nit:168 */
1135 REGB1
= TAG_Bool(1);
1139 stack_frame_head
= fra
.me
.prev
;
1142 static const char LOCATE_metamodel___genericity___MMTypeGeneric___to_s
[] = "genericity::MMTypeGeneric::(string::Object::to_s)";
1143 val_t
metamodel___genericity___MMTypeGeneric___to_s(val_t p0
){
1144 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1147 static val_t once_value_1
; /* Once value */
1148 static val_t once_value_2
; /* Once value */
1149 static val_t once_value_3
; /* Once value */
1150 static val_t once_value_4
; /* Once value */
1151 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1152 fra
.me
.file
= LOCATE_metamodel___genericity
;
1154 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___to_s
;
1155 fra
.me
.has_broke
= 0;
1156 fra
.me
.REG_size
= 4;
1157 fra
.me
.nitni_local_ref_head
= NULL
;
1158 fra
.me
.REG
[0] = NIT_NULL
;
1159 fra
.me
.REG
[1] = NIT_NULL
;
1160 fra
.me
.REG
[2] = NIT_NULL
;
1161 fra
.me
.REG
[3] = NIT_NULL
;
1163 /* metamodel/genericity.nit:171 */
1164 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1165 /* metamodel/genericity.nit:173 */
1167 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1168 if (!once_value_1
) {
1169 fra
.me
.REG
[3] = BOX_NativeString("");
1171 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1172 once_value_1
= fra
.me
.REG
[3];
1173 register_static_object(&once_value_1
);
1174 } else fra
.me
.REG
[3] = once_value_1
;
1175 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1177 fra
.me
.REG
[0] = CALL_SUPER_metamodel___genericity___MMTypeGeneric___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1178 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1179 if (!once_value_2
) {
1180 fra
.me
.REG
[0] = BOX_NativeString("[");
1182 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1183 once_value_2
= fra
.me
.REG
[0];
1184 register_static_object(&once_value_2
);
1185 } else fra
.me
.REG
[0] = once_value_2
;
1186 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1188 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[1])!=NIT_NULL
);
1189 if (UNTAG_Bool(REGB0
)) {
1191 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 173);
1193 fra
.me
.REG
[1] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[1]);
1194 if (!once_value_3
) {
1195 fra
.me
.REG
[0] = BOX_NativeString(", ");
1197 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1198 once_value_3
= fra
.me
.REG
[0];
1199 register_static_object(&once_value_3
);
1200 } else fra
.me
.REG
[0] = once_value_3
;
1201 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1202 fra
.me
.REG
[0] = CALL_standard___string___Collection___join(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1203 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1204 if (!once_value_4
) {
1205 fra
.me
.REG
[0] = BOX_NativeString("]");
1207 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1208 once_value_4
= fra
.me
.REG
[0];
1209 register_static_object(&once_value_4
);
1210 } else fra
.me
.REG
[0] = once_value_4
;
1211 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1213 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1216 stack_frame_head
= fra
.me
.prev
;
1217 return fra
.me
.REG
[2];
1219 static const char LOCATE_metamodel___genericity___MMTypeGeneric___is_subtype
[] = "genericity::MMTypeGeneric::is_subtype";
1220 val_t
metamodel___genericity___MMTypeGeneric___is_subtype(val_t p0
, val_t p1
){
1221 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1229 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1230 fra
.me
.file
= LOCATE_metamodel___genericity
;
1232 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___is_subtype
;
1233 fra
.me
.has_broke
= 0;
1234 fra
.me
.REG_size
= 4;
1235 fra
.me
.nitni_local_ref_head
= NULL
;
1236 fra
.me
.REG
[0] = NIT_NULL
;
1237 fra
.me
.REG
[1] = NIT_NULL
;
1238 fra
.me
.REG
[2] = NIT_NULL
;
1239 fra
.me
.REG
[3] = NIT_NULL
;
1242 /* metamodel/genericity.nit:180 */
1244 REGB1
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
1245 if (UNTAG_Bool(REGB1
)) {
1247 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 180);
1249 fra
.me
.REG
[2] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
1250 /* ../lib/standard/collection/array.nit:24 */
1251 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1252 if (UNTAG_Bool(REGB1
)) {
1254 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1256 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1257 /* ../lib/standard/kernel.nit:355 */
1259 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1260 if (UNTAG_Bool(REGB2
)) {
1262 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1264 /* ../lib/standard/kernel.nit:235 */
1265 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1266 /* ../lib/standard/kernel.nit:355 */
1267 if (UNTAG_Bool(REGB2
)) {
1268 /* metamodel/genericity.nit:180 */
1270 /* metamodel/genericity.nit:182 */
1271 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMTypeGeneric___params(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1272 /* ../lib/standard/collection/array.nit:278 */
1274 /* ../lib/standard/collection/array.nit:280 */
1276 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1277 if (UNTAG_Bool(REGB5
)) {
1279 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1281 /* ../lib/standard/kernel.nit:236 */
1282 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
1283 /* ../lib/standard/collection/array.nit:280 */
1284 if (UNTAG_Bool(REGB4
)) {
1285 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1286 if (UNTAG_Bool(REGB4
)) {
1288 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1290 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1291 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1292 if (UNTAG_Bool(REGB5
)) {
1294 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1296 /* ../lib/standard/kernel.nit:235 */
1297 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1299 /* ../lib/standard/collection/array.nit:280 */
1300 REGB5
= TAG_Bool(0);
1303 if (UNTAG_Bool(REGB4
)) {
1305 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1307 /* ../lib/standard/collection/array.nit:281 */
1308 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1309 REGB4
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1310 if (UNTAG_Bool(REGB4
)) {
1311 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1313 /* ../lib/standard/collection/array.nit:718 */
1314 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB3
)];
1315 /* ../lib/standard/collection/array.nit:281 */
1318 /* metamodel/genericity.nit:182 */
1319 REGB3
= TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0])!=NIT_NULL
);
1320 if (UNTAG_Bool(REGB3
)) {
1322 nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity
, 182);
1324 fra
.me
.REG
[3] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[0]);
1325 /* ../lib/standard/collection/array.nit:280 */
1327 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1328 if (UNTAG_Bool(REGB4
)) {
1330 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1332 /* ../lib/standard/kernel.nit:236 */
1333 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
1334 /* ../lib/standard/collection/array.nit:280 */
1335 if (UNTAG_Bool(REGB3
)) {
1336 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1337 if (UNTAG_Bool(REGB3
)) {
1339 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1341 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1342 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1343 if (UNTAG_Bool(REGB4
)) {
1345 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1347 /* ../lib/standard/kernel.nit:235 */
1348 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
1350 /* ../lib/standard/collection/array.nit:280 */
1351 REGB4
= TAG_Bool(0);
1354 if (UNTAG_Bool(REGB3
)) {
1356 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1358 /* ../lib/standard/collection/array.nit:281 */
1359 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1360 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1361 if (UNTAG_Bool(REGB3
)) {
1362 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1364 /* ../lib/standard/collection/array.nit:718 */
1365 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB2
)];
1366 /* ../lib/standard/collection/array.nit:281 */
1369 /* metamodel/genericity.nit:182 */
1370 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1371 if (UNTAG_Bool(REGB2
)) {
1372 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___genericity
, 182);
1374 REGB2
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1375 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1376 if (UNTAG_Bool(REGB2
)) {
1377 /* metamodel/genericity.nit:183 */
1378 REGB2
= TAG_Bool(0);
1381 /* ../lib/standard/kernel.nit:357 */
1383 /* ../lib/standard/kernel.nit:238 */
1384 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1385 /* ../lib/standard/kernel.nit:357 */
1388 /* ../lib/standard/kernel.nit:355 */
1393 /* metamodel/genericity.nit:186 */
1394 REGB0
= TAG_Bool(1);
1398 stack_frame_head
= fra
.me
.prev
;
1401 static const char LOCATE_metamodel___genericity___MMTypeGeneric___init
[] = "genericity::MMTypeGeneric::init";
1402 void metamodel___genericity___MMTypeGeneric___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
1403 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___genericity___MMTypeGeneric
].i
;
1404 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1406 if (init_table
[itpos0
]) return;
1407 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1408 fra
.me
.file
= LOCATE_metamodel___genericity
;
1410 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeGeneric___init
;
1411 fra
.me
.has_broke
= 0;
1412 fra
.me
.REG_size
= 4;
1413 fra
.me
.nitni_local_ref_head
= NULL
;
1414 fra
.me
.REG
[0] = NIT_NULL
;
1415 fra
.me
.REG
[1] = NIT_NULL
;
1416 fra
.me
.REG
[2] = NIT_NULL
;
1417 fra
.me
.REG
[3] = NIT_NULL
;
1421 /* metamodel/genericity.nit:189 */
1422 fra
.me
.REG
[3] = fra
.me
.REG
[0];
1423 /* metamodel/genericity.nit:191 */
1424 CALL_metamodel___static_type___MMTypeClass___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1425 /* metamodel/genericity.nit:192 */
1426 ATTR_metamodel___genericity___MMTypeGeneric____params(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
1427 stack_frame_head
= fra
.me
.prev
;
1428 init_table
[itpos0
] = 1;
1431 static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___def_class
[] = "genericity::MMTypeFormalParameter::def_class";
1432 val_t
metamodel___genericity___MMTypeFormalParameter___def_class(val_t p0
){
1433 struct {struct stack_frame_t me
;} fra
;
1436 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1437 fra
.me
.file
= LOCATE_metamodel___genericity
;
1439 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___def_class
;
1440 fra
.me
.has_broke
= 0;
1441 fra
.me
.REG_size
= 1;
1442 fra
.me
.nitni_local_ref_head
= NULL
;
1443 fra
.me
.REG
[0] = NIT_NULL
;
1445 /* metamodel/genericity.nit:198 */
1446 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0])!=NIT_NULL
);
1447 if (UNTAG_Bool(REGB0
)) {
1449 nit_abort("Uninitialized attribute %s", "_def_class", LOCATE_metamodel___genericity
, 198);
1451 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0]);
1452 stack_frame_head
= fra
.me
.prev
;
1453 return fra
.me
.REG
[0];
1455 static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___position
[] = "genericity::MMTypeFormalParameter::position";
1456 val_t
metamodel___genericity___MMTypeFormalParameter___position(val_t p0
){
1457 struct {struct stack_frame_t me
;} fra
;
1460 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1461 fra
.me
.file
= LOCATE_metamodel___genericity
;
1463 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___position
;
1464 fra
.me
.has_broke
= 0;
1465 fra
.me
.REG_size
= 1;
1466 fra
.me
.nitni_local_ref_head
= NULL
;
1467 fra
.me
.REG
[0] = NIT_NULL
;
1469 /* metamodel/genericity.nit:201 */
1470 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____position(fra
.me
.REG
[0])!=NIT_NULL
);
1471 if (UNTAG_Bool(REGB0
)) {
1473 nit_abort("Uninitialized attribute %s", "_position", LOCATE_metamodel___genericity
, 201);
1475 REGB0
= ATTR_metamodel___genericity___MMTypeFormalParameter____position(fra
.me
.REG
[0]);
1476 stack_frame_head
= fra
.me
.prev
;
1479 static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___mmmodule
[] = "genericity::MMTypeFormalParameter::(static_type::MMType::mmmodule)";
1480 val_t
metamodel___genericity___MMTypeFormalParameter___mmmodule(val_t p0
){
1481 struct {struct stack_frame_t me
;} fra
;
1484 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1485 fra
.me
.file
= LOCATE_metamodel___genericity
;
1487 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___mmmodule
;
1488 fra
.me
.has_broke
= 0;
1489 fra
.me
.REG_size
= 1;
1490 fra
.me
.nitni_local_ref_head
= NULL
;
1491 fra
.me
.REG
[0] = NIT_NULL
;
1493 /* metamodel/genericity.nit:204 */
1494 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0])!=NIT_NULL
);
1495 if (UNTAG_Bool(REGB0
)) {
1497 nit_abort("Uninitialized attribute %s", "_def_class", LOCATE_metamodel___genericity
, 204);
1499 fra
.me
.REG
[0] = ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0]);
1500 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1503 stack_frame_head
= fra
.me
.prev
;
1504 return fra
.me
.REG
[0];
1506 static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___for_module
[] = "genericity::MMTypeFormalParameter::(static_type::MMType::for_module)";
1507 val_t
metamodel___genericity___MMTypeFormalParameter___for_module(val_t p0
, val_t p1
){
1508 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1512 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1513 fra
.me
.file
= LOCATE_metamodel___genericity
;
1515 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___for_module
;
1516 fra
.me
.has_broke
= 0;
1517 fra
.me
.REG_size
= 4;
1518 fra
.me
.nitni_local_ref_head
= NULL
;
1519 fra
.me
.REG
[0] = NIT_NULL
;
1520 fra
.me
.REG
[1] = NIT_NULL
;
1521 fra
.me
.REG
[2] = NIT_NULL
;
1522 fra
.me
.REG
[3] = NIT_NULL
;
1525 /* metamodel/genericity.nit:208 */
1526 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1527 /* metamodel/genericity.nit:209 */
1528 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1529 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[1]));
1530 if (UNTAG_Bool(REGB0
)) {
1532 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1535 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1536 if (UNTAG_Bool(REGB0
)) {
1537 /* metamodel/genericity.nit:210 */
1538 REGB0
= TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0])!=NIT_NULL
);
1539 if (UNTAG_Bool(REGB0
)) {
1541 nit_abort("Uninitialized attribute %s", "_def_class", LOCATE_metamodel___genericity
, 210);
1543 fra
.me
.REG
[3] = ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[0]);
1544 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1545 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1546 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1547 fra
.me
.REG
[3] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1548 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1550 /* metamodel/genericity.nit:212 */
1553 stack_frame_head
= fra
.me
.prev
;
1554 return fra
.me
.REG
[2];
1556 static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___upcast_for
[] = "genericity::MMTypeFormalParameter::(static_type::MMType::upcast_for)";
1557 val_t
metamodel___genericity___MMTypeFormalParameter___upcast_for(val_t p0
, val_t p1
){
1558 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1561 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1562 fra
.me
.file
= LOCATE_metamodel___genericity
;
1564 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___upcast_for
;
1565 fra
.me
.has_broke
= 0;
1566 fra
.me
.REG_size
= 2;
1567 fra
.me
.nitni_local_ref_head
= NULL
;
1568 fra
.me
.REG
[0] = NIT_NULL
;
1569 fra
.me
.REG
[1] = NIT_NULL
;
1572 /* metamodel/genericity.nit:215 */
1573 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
1574 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1575 if (UNTAG_Bool(REGB0
)) {
1576 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___genericity
, 215);
1578 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___upcast_for(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1581 stack_frame_head
= fra
.me
.prev
;
1582 return fra
.me
.REG
[1];
1584 static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___bound__eq
[] = "genericity::MMTypeFormalParameter::bound=";
1585 void metamodel___genericity___MMTypeFormalParameter___bound__eq(val_t p0
, val_t p1
){
1586 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1590 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1591 fra
.me
.file
= LOCATE_metamodel___genericity
;
1593 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___bound__eq
;
1594 fra
.me
.has_broke
= 0;
1595 fra
.me
.REG_size
= 3;
1596 fra
.me
.nitni_local_ref_head
= NULL
;
1597 fra
.me
.REG
[0] = NIT_NULL
;
1598 fra
.me
.REG
[1] = NIT_NULL
;
1599 fra
.me
.REG
[2] = NIT_NULL
;
1602 /* metamodel/genericity.nit:219 */
1603 fra
.me
.REG
[2] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
1604 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1605 if (UNTAG_Bool(REGB0
)) {
1607 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1608 if (UNTAG_Bool(REGB1
)) {
1609 REGB1
= TAG_Bool(0);
1612 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1616 if (UNTAG_Bool(REGB0
)) {
1618 nit_abort("Assert failed", NULL
, LOCATE_metamodel___genericity
, 219);
1620 /* metamodel/genericity.nit:220 */
1621 ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1622 stack_frame_head
= fra
.me
.prev
;
1625 static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___adapt_to
[] = "genericity::MMTypeFormalParameter::(static_type::MMType::adapt_to)";
1626 val_t
metamodel___genericity___MMTypeFormalParameter___adapt_to(val_t p0
, val_t p1
){
1627 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1632 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1633 fra
.me
.file
= LOCATE_metamodel___genericity
;
1635 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___adapt_to
;
1636 fra
.me
.has_broke
= 0;
1637 fra
.me
.REG_size
= 3;
1638 fra
.me
.nitni_local_ref_head
= NULL
;
1639 fra
.me
.REG
[0] = NIT_NULL
;
1640 fra
.me
.REG
[1] = NIT_NULL
;
1641 fra
.me
.REG
[2] = NIT_NULL
;
1644 /* metamodel/genericity.nit:225 */
1645 fra
.me
.REG
[2] = CALL_metamodel___type_formal___MMType___direct_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1646 fra
.me
.REG
[1] = fra
.me
.REG
[2];
1647 /* metamodel/genericity.nit:226 */
1648 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMTypeFormalParameter___def_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1649 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___upcast_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1650 /* metamodel/genericity.nit:231 */
1651 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[2], COLOR_metamodel___genericity___MMTypeGeneric
, ID_metamodel___genericity___MMTypeGeneric
)) /*cast MMTypeGeneric*/;
1652 if (UNTAG_Bool(REGB0
)) {
1654 nit_abort("Assert failed", NULL
, LOCATE_metamodel___genericity
, 231);
1656 /* metamodel/genericity.nit:232 */
1657 fra
.me
.REG
[2] = CALL_metamodel___genericity___MMTypeGeneric___params(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1658 REGB0
= CALL_metamodel___genericity___MMTypeFormalParameter___position(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1659 /* ../lib/standard/collection/array.nit:280 */
1661 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1662 if (UNTAG_Bool(REGB2
)) {
1664 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1666 /* ../lib/standard/kernel.nit:236 */
1667 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1668 /* ../lib/standard/collection/array.nit:280 */
1669 if (UNTAG_Bool(REGB1
)) {
1670 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1671 if (UNTAG_Bool(REGB1
)) {
1673 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1675 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1676 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1677 if (UNTAG_Bool(REGB2
)) {
1679 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1681 /* ../lib/standard/kernel.nit:235 */
1682 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1684 /* ../lib/standard/collection/array.nit:280 */
1685 REGB2
= TAG_Bool(0);
1688 if (UNTAG_Bool(REGB1
)) {
1690 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1692 /* ../lib/standard/collection/array.nit:281 */
1693 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1694 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1695 if (UNTAG_Bool(REGB1
)) {
1696 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1698 /* ../lib/standard/collection/array.nit:718 */
1699 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1700 /* ../lib/standard/collection/array.nit:281 */
1703 /* metamodel/genericity.nit:233 */
1706 stack_frame_head
= fra
.me
.prev
;
1707 return fra
.me
.REG
[2];
1709 static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___with_bound
[] = "genericity::MMTypeFormalParameter::with_bound";
1710 void metamodel___genericity___MMTypeFormalParameter___with_bound(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
, int* init_table
){
1711 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___genericity___MMTypeFormalParameter
].i
;
1712 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1715 if (init_table
[itpos1
]) return;
1716 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1717 fra
.me
.file
= LOCATE_metamodel___genericity
;
1719 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___with_bound
;
1720 fra
.me
.has_broke
= 0;
1721 fra
.me
.REG_size
= 4;
1722 fra
.me
.nitni_local_ref_head
= NULL
;
1723 fra
.me
.REG
[0] = NIT_NULL
;
1724 fra
.me
.REG
[1] = NIT_NULL
;
1725 fra
.me
.REG
[2] = NIT_NULL
;
1726 fra
.me
.REG
[3] = NIT_NULL
;
1732 /* metamodel/genericity.nit:238 */
1733 CALL_metamodel___genericity___MMTypeFormalParameter___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
, fra
.me
.REG
[2], init_table
);
1734 /* metamodel/genericity.nit:239 */
1735 ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1736 stack_frame_head
= fra
.me
.prev
;
1737 init_table
[itpos1
] = 1;
1740 static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___init
[] = "genericity::MMTypeFormalParameter::init";
1741 void metamodel___genericity___MMTypeFormalParameter___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1742 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___genericity___MMTypeFormalParameter
].i
;
1743 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1746 if (init_table
[itpos2
]) return;
1747 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1748 fra
.me
.file
= LOCATE_metamodel___genericity
;
1750 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeFormalParameter___init
;
1751 fra
.me
.has_broke
= 0;
1752 fra
.me
.REG_size
= 4;
1753 fra
.me
.nitni_local_ref_head
= NULL
;
1754 fra
.me
.REG
[0] = NIT_NULL
;
1755 fra
.me
.REG
[1] = NIT_NULL
;
1756 fra
.me
.REG
[2] = NIT_NULL
;
1757 fra
.me
.REG
[3] = NIT_NULL
;
1762 /* metamodel/genericity.nit:242 */
1763 fra
.me
.REG
[3] = fra
.me
.REG
[0];
1764 /* metamodel/genericity.nit:244 */
1765 CALL_metamodel___type_formal___MMTypeFormal___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], NIT_NULL
, init_table
);
1766 /* metamodel/genericity.nit:245 */
1767 ATTR_metamodel___genericity___MMTypeFormalParameter____position(fra
.me
.REG
[3]) = REGB0
;
1768 /* metamodel/genericity.nit:246 */
1769 ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
1770 stack_frame_head
= fra
.me
.prev
;
1771 init_table
[itpos2
] = 1;
1774 static const char LOCATE_metamodel___genericity___MMTypeNone___is_generic
[] = "genericity::MMTypeNone::(genericity::MMType::is_generic)";
1775 val_t
metamodel___genericity___MMTypeNone___is_generic(val_t p0
){
1776 struct {struct stack_frame_t me
;} fra
;
1779 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1780 fra
.me
.file
= LOCATE_metamodel___genericity
;
1782 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeNone___is_generic
;
1783 fra
.me
.has_broke
= 0;
1784 fra
.me
.REG_size
= 1;
1785 fra
.me
.nitni_local_ref_head
= NULL
;
1786 fra
.me
.REG
[0] = NIT_NULL
;
1788 /* metamodel/genericity.nit:251 */
1789 REGB0
= TAG_Bool(0);
1792 stack_frame_head
= fra
.me
.prev
;
1795 static const char LOCATE_metamodel___genericity___MMTypeNone___for_module
[] = "genericity::MMTypeNone::(static_type::MMType::for_module)";
1796 val_t
metamodel___genericity___MMTypeNone___for_module(val_t p0
, val_t p1
){
1797 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1799 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1800 fra
.me
.file
= LOCATE_metamodel___genericity
;
1802 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeNone___for_module
;
1803 fra
.me
.has_broke
= 0;
1804 fra
.me
.REG_size
= 2;
1805 fra
.me
.nitni_local_ref_head
= NULL
;
1806 fra
.me
.REG
[0] = NIT_NULL
;
1807 fra
.me
.REG
[1] = NIT_NULL
;
1810 /* metamodel/genericity.nit:252 */
1813 stack_frame_head
= fra
.me
.prev
;
1814 return fra
.me
.REG
[0];
1816 static const char LOCATE_metamodel___genericity___MMTypeNone___adapt_to
[] = "genericity::MMTypeNone::(static_type::MMType::adapt_to)";
1817 val_t
metamodel___genericity___MMTypeNone___adapt_to(val_t p0
, val_t p1
){
1818 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1820 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1821 fra
.me
.file
= LOCATE_metamodel___genericity
;
1823 fra
.me
.meth
= LOCATE_metamodel___genericity___MMTypeNone___adapt_to
;
1824 fra
.me
.has_broke
= 0;
1825 fra
.me
.REG_size
= 2;
1826 fra
.me
.nitni_local_ref_head
= NULL
;
1827 fra
.me
.REG
[0] = NIT_NULL
;
1828 fra
.me
.REG
[1] = NIT_NULL
;
1831 /* metamodel/genericity.nit:253 */
1834 stack_frame_head
= fra
.me
.prev
;
1835 return fra
.me
.REG
[0];