X-Git-Url: http://nitlanguage.org diff --git a/c_src/metamodel___genericity._sep.c b/c_src/metamodel___genericity._sep.c deleted file mode 100644 index 7968d14..0000000 --- a/c_src/metamodel___genericity._sep.c +++ /dev/null @@ -1,1923 +0,0 @@ -/* This C file is generated by NIT to compile module metamodel___genericity. */ -#include "metamodel___genericity._sep.h" -static const char LOCATE_metamodel___genericity___MMLocalClass___get_formal[] = "genericity::MMLocalClass::get_formal"; -val_t metamodel___genericity___MMLocalClass___get_formal(val_t p0, val_t p1){ - struct {struct stack_frame_t me;} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 25; - fra.me.meth = LOCATE_metamodel___genericity___MMLocalClass___get_formal; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - REGB0 = p1; - /* metamodel/genericity.nit:28 */ - fra.me.REG[0] = CALL_metamodel___genericity___MMLocalClass___formals_types(fra.me.REG[0])(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:281 */ - REGB1 = TAG_Int(0); - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:243 */ - REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1)); - /* ../lib/standard/collection/array.nit:281 */ - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 281); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]); - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB1 = TAG_Bool(UNTAG_Int(REGB0)val[UNTAG_Int(REGB0)]; - /* ../lib/standard/collection/array.nit:282 */ - goto label1; - label1: while(0); - /* metamodel/genericity.nit:28 */ - goto label2; - label2: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[0]; -} -static const char LOCATE_metamodel___genericity___MMLocalClass___register_formal[] = "genericity::MMLocalClass::register_formal"; -void metamodel___genericity___MMLocalClass___register_formal(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 31; - fra.me.meth = LOCATE_metamodel___genericity___MMLocalClass___register_formal; - fra.me.has_broke = 0; - fra.me.REG_size = 3; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:35 */ - fra.me.REG[2] = CALL_metamodel___genericity___MMTypeFormalParameter___def_class(fra.me.REG[1])(fra.me.REG[1]); - REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[0])); - if (UNTAG_Bool(REGB0)) { - } else { - REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]); - REGB0 = REGB1; - } - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Assert failed", NULL, LOCATE_metamodel___genericity, 35); - } - /* metamodel/genericity.nit:36 */ - REGB0 = CALL_metamodel___genericity___MMTypeFormalParameter___position(fra.me.REG[1])(fra.me.REG[1]); - REGB1 = TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity, 36); - } - fra.me.REG[2] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:24 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]); - /* metamodel/genericity.nit:36 */ - REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); - if (UNTAG_Bool(REGB2)) { - } else { - /* ../lib/standard/kernel.nit:237 */ - REGB1 = TAG_Bool((REGB0)==(REGB1)); - /* metamodel/genericity.nit:36 */ - REGB2 = REGB1; - } - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Assert failed", NULL, LOCATE_metamodel___genericity, 36); - } - /* metamodel/genericity.nit:37 */ - REGB2 = TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity, 37); - } - fra.me.REG[0] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra.me.REG[0]); - CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); - stack_frame_head = fra.me.prev; - return; -} -static const char LOCATE_metamodel___genericity___MMLocalClass___get_instantiate_type[] = "genericity::MMLocalClass::get_instantiate_type"; -val_t metamodel___genericity___MMLocalClass___get_instantiate_type(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[4];} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 43; - fra.me.meth = LOCATE_metamodel___genericity___MMLocalClass___get_instantiate_type; - fra.me.has_broke = 0; - fra.me.REG_size = 5; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[4] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:46 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____types(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_types", LOCATE_metamodel___genericity, 46); - } - fra.me.REG[2] = ATTR_metamodel___genericity___MMLocalClass____types(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:270 */ - REGB0 = TAG_Int(0); - /* ../lib/standard/collection/array.nit:271 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]); - /* ../lib/standard/collection/array.nit:272 */ - fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]); - /* ../lib/standard/collection/array.nit:273 */ - while(1) { - /* ../lib/standard/collection/array.nit:24 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]); - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB1 = TAG_Bool(UNTAG_Int(REGB0)val[UNTAG_Int(REGB0)]; - /* metamodel/genericity.nit:47 */ - REGB1 = CALL_metamodel___genericity___MMTypeGeneric___params_equals(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]); - if (UNTAG_Bool(REGB1)) { - goto label1; - } - /* ../lib/standard/collection/array.nit:275 */ - REGB1 = TAG_Int(1); - /* ../lib/standard/kernel.nit:245 */ - REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1)); - /* ../lib/standard/collection/array.nit:275 */ - REGB0 = REGB1; - } else { - /* ../lib/standard/collection/array.nit:273 */ - goto label2; - } - } - label2: while(0); - /* metamodel/genericity.nit:49 */ - fra.me.REG[1] = NEW_MMTypeGeneric_metamodel___genericity___MMTypeGeneric___init(fra.me.REG[0], fra.me.REG[1]); - /* metamodel/genericity.nit:50 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____types(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_types", LOCATE_metamodel___genericity, 50); - } - fra.me.REG[0] = ATTR_metamodel___genericity___MMLocalClass____types(fra.me.REG[0]); - CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); - /* metamodel/genericity.nit:51 */ - fra.me.REG[4] = fra.me.REG[1]; - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[4]; -} -static const char LOCATE_metamodel___genericity___MMLocalClass___formals_types[] = "genericity::MMLocalClass::formals_types"; -val_t metamodel___genericity___MMLocalClass___formals_types(val_t p0){ - struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t REGB3; - val_t REGB4; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 57; - fra.me.meth = LOCATE_metamodel___genericity___MMLocalClass___formals_types; - fra.me.has_broke = 0; - fra.me.REG_size = 4; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:61 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity, 61); - } - fra.me.REG[1] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra.me.REG[0]); - REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]); - if (UNTAG_Bool(REGB0)) { - /* metamodel/genericity.nit:62 */ - REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_metamodel___abstractmetamodel___MMConcreteClass, ID_metamodel___abstractmetamodel___MMConcreteClass)) /*cast MMConcreteClass*/; - REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Assert failed", NULL, LOCATE_metamodel___genericity, 62); - } - /* metamodel/genericity.nit:65 */ - REGB0 = TAG_Int(0); - REGB1 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[0])(fra.me.REG[0]); - /* ../lib/standard/kernel.nit:404 */ - while(1) { - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB2 = TAG_Bool(UNTAG_Int(REGB0)=UNTAG_Int(REGB3)); - /* ../lib/standard/collection/array.nit:281 */ - if (UNTAG_Bool(REGB3)) { - REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); - if (UNTAG_Bool(REGB3)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 281); - } - REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]); - REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/; - if (UNTAG_Bool(REGB4)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB3 = TAG_Bool(UNTAG_Int(REGB2)val[UNTAG_Int(REGB2)]; - /* ../lib/standard/collection/array.nit:282 */ - goto label2; - label2: while(0); - /* metamodel/genericity.nit:74 */ - fra.me.REG[1] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra.me.REG[1])(fra.me.REG[1]); - fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[0])(fra.me.REG[0]); - fra.me.REG[3] = CALL_metamodel___static_type___MMType___for_module(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]); - CALL_metamodel___genericity___MMTypeFormalParameter___bound__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); - /* ../lib/standard/kernel.nit:406 */ - REGB2 = TAG_Int(1); - /* ../lib/standard/kernel.nit:245 */ - REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2)); - /* ../lib/standard/kernel.nit:406 */ - REGB0 = REGB2; - } else { - /* ../lib/standard/kernel.nit:404 */ - goto label3; - } - } - label3: while(0); - } - /* metamodel/genericity.nit:77 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMLocalClass____formals_types(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_formals_types", LOCATE_metamodel___genericity, 77); - } - fra.me.REG[0] = ATTR_metamodel___genericity___MMLocalClass____formals_types(fra.me.REG[0]); - goto label4; - label4: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[0]; -} -static const char LOCATE_metamodel___genericity___MMLocalClass___get_type[] = "genericity::MMLocalClass::(static_type::MMLocalClass::get_type)"; -val_t metamodel___genericity___MMLocalClass___get_type(val_t p0){ - struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; - val_t REGB0; - val_t REGB1; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 80; - fra.me.meth = LOCATE_metamodel___genericity___MMLocalClass___get_type; - fra.me.has_broke = 0; - fra.me.REG_size = 3; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:80 */ - fra.me.REG[1] = fra.me.REG[0]; - /* metamodel/genericity.nit:82 */ - fra.me.REG[2] = ATTR_metamodel___static_type___MMLocalClass____base_type_cache(fra.me.REG[1]); - REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(0); - REGB0 = REGB1; - } else { - REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); - REGB0 = REGB1; - } - } - if (UNTAG_Bool(REGB0)) { - REGB0 = CALL_metamodel___genericity___MMLocalClass___is_generic(fra.me.REG[1])(fra.me.REG[1]); - } else { - REGB1 = TAG_Bool(0); - REGB0 = REGB1; - } - if (UNTAG_Bool(REGB0)) { - /* metamodel/genericity.nit:83 */ - fra.me.REG[2] = CALL_metamodel___genericity___MMLocalClass___formals_types(fra.me.REG[1])(fra.me.REG[1]); - fra.me.REG[2] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); - ATTR_metamodel___static_type___MMLocalClass____base_type_cache(fra.me.REG[1]) = fra.me.REG[2]; - /* metamodel/genericity.nit:84 */ - fra.me.REG[1] = ATTR_metamodel___static_type___MMLocalClass____base_type_cache(fra.me.REG[1]); - 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*/; - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_metamodel___genericity, 84); - } - goto label1; - } else { - /* metamodel/genericity.nit:86 */ - fra.me.REG[0] = CALL_SUPER_metamodel___genericity___MMLocalClass___get_type(fra.me.REG[0])(fra.me.REG[0]); - fra.me.REG[1] = fra.me.REG[0]; - goto label1; - } - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[1]; -} -static const char LOCATE_metamodel___genericity___MMLocalClass___is_generic[] = "genericity::MMLocalClass::is_generic"; -val_t metamodel___genericity___MMLocalClass___is_generic(val_t p0){ - struct {struct stack_frame_t me;} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 90; - fra.me.meth = LOCATE_metamodel___genericity___MMLocalClass___is_generic; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:91 */ - REGB0 = CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra.me.REG[0])(fra.me.REG[0]); - REGB1 = TAG_Int(0); - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:244 */ - REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1)); - /* metamodel/genericity.nit:91 */ - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return REGB1; -} -static const char LOCATE_metamodel___genericity___MMType___is_generic[] = "genericity::MMType::is_generic"; -val_t metamodel___genericity___MMType___is_generic(val_t p0){ - struct {struct stack_frame_t me;} fra; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 95; - fra.me.meth = LOCATE_metamodel___genericity___MMType___is_generic; - fra.me.has_broke = 0; - fra.me.REG_size = 0; - fra.me.nitni_local_ref_head = NULL; - /* metamodel/genericity.nit:95 */ - nit_abort("Deferred method called", NULL, LOCATE_metamodel___genericity, 95); - stack_frame_head = fra.me.prev; - return NIT_NULL; -} -static const char LOCATE_metamodel___genericity___MMTypeFormal___is_generic[] = "genericity::MMTypeFormal::(genericity::MMType::is_generic)"; -val_t metamodel___genericity___MMTypeFormal___is_generic(val_t p0){ - struct {struct stack_frame_t me;} fra; - val_t REGB0; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 100; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeFormal___is_generic; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:100 */ - fra.me.REG[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra.me.REG[0]); - REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL); - if (UNTAG_Bool(REGB0)) { - nit_abort("Reciever is null", NULL, LOCATE_metamodel___genericity, 100); - } - REGB0 = CALL_metamodel___genericity___MMType___is_generic(fra.me.REG[0])(fra.me.REG[0]); - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return REGB0; -} -static const char LOCATE_metamodel___genericity___MMTypeSimpleClass___is_generic[] = "genericity::MMTypeSimpleClass::(genericity::MMType::is_generic)"; -val_t metamodel___genericity___MMTypeSimpleClass___is_generic(val_t p0){ - struct {struct stack_frame_t me;} fra; - val_t REGB0; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 104; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeSimpleClass___is_generic; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:104 */ - REGB0 = TAG_Bool(0); - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return REGB0; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___params[] = "genericity::MMTypeGeneric::params"; -val_t metamodel___genericity___MMTypeGeneric___params(val_t p0){ - struct {struct stack_frame_t me;} fra; - val_t REGB0; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 109; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___params; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:109 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity, 109); - } - fra.me.REG[0] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0]); - stack_frame_head = fra.me.prev; - return fra.me.REG[0]; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___is_generic[] = "genericity::MMTypeGeneric::(genericity::MMType::is_generic)"; -val_t metamodel___genericity___MMTypeGeneric___is_generic(val_t p0){ - struct {struct stack_frame_t me;} fra; - val_t REGB0; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 112; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___is_generic; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:112 */ - REGB0 = TAG_Bool(1); - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return REGB0; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___is_supertype[] = "genericity::MMTypeGeneric::(static_type::MMType::is_supertype)"; -val_t metamodel___genericity___MMTypeGeneric___is_supertype(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; - val_t REGB0; - val_t REGB1; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 114; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___is_supertype; - fra.me.has_broke = 0; - fra.me.REG_size = 4; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:116 */ - fra.me.REG[2] = CALL_metamodel___static_type___MMType___local_class(fra.me.REG[1])(fra.me.REG[1]); - fra.me.REG[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra.me.REG[2])(fra.me.REG[2]); - REGB0 = TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity, 116); - } - fra.me.REG[3] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra.me.REG[0]); - REGB0 = CALL_metamodel___partial_order___PartialOrderElement_____leq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); - if (UNTAG_Bool(REGB0)) { - /* metamodel/genericity.nit:117 */ - REGB0 = TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity, 117); - } - fra.me.REG[3] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra.me.REG[0]); - fra.me.REG[3] = CALL_metamodel___static_type___MMType___upcast_for(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]); - /* metamodel/genericity.nit:118 */ - REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[3], COLOR_metamodel___genericity___MMTypeGeneric, ID_metamodel___genericity___MMTypeGeneric)) /*cast MMTypeGeneric*/; - if (UNTAG_Bool(REGB0)) { - /* metamodel/genericity.nit:119 */ - REGB0 = CALL_metamodel___genericity___MMTypeGeneric___is_subtype(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3]); - goto label1; - } - } - /* metamodel/genericity.nit:122 */ - REGB1 = TAG_Bool(0); - REGB0 = REGB1; - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return REGB0; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___upcast_for[] = "genericity::MMTypeGeneric::(static_type::MMType::upcast_for)"; -val_t metamodel___genericity___MMTypeGeneric___upcast_for(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; - val_t REGB0; - val_t REGB1; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 125; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___upcast_for; - fra.me.has_broke = 0; - fra.me.REG_size = 3; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:125 */ - fra.me.REG[2] = fra.me.REG[0]; - /* metamodel/genericity.nit:127 */ - fra.me.REG[1] = CALL_SUPER_metamodel___genericity___MMTypeGeneric___upcast_for(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); - /* metamodel/genericity.nit:128 */ - REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2])); - if (UNTAG_Bool(REGB0)) { - } else { - REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); - REGB0 = REGB1; - } - REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - if (UNTAG_Bool(REGB0)) { - /* metamodel/genericity.nit:129 */ - fra.me.REG[2] = CALL_metamodel___static_type___MMType___adapt_to(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); - fra.me.REG[1] = fra.me.REG[2]; - } - /* metamodel/genericity.nit:131 */ - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[1]; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___for_module[] = "genericity::MMTypeGeneric::(static_type::MMType::for_module)"; -val_t metamodel___genericity___MMTypeGeneric___for_module(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[6];} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 134; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___for_module; - fra.me.has_broke = 0; - fra.me.REG_size = 7; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[4] = NIT_NULL; - fra.me.REG[5] = NIT_NULL; - fra.me.REG[6] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:136 */ - fra.me.REG[2] = fra.me.REG[0]; - /* metamodel/genericity.nit:137 */ - fra.me.REG[3] = CALL_metamodel___static_type___MMType___mmmodule(fra.me.REG[0])(fra.me.REG[0]); - REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1])); - if (UNTAG_Bool(REGB0)) { - } else { - REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); - REGB0 = REGB1; - } - REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - if (UNTAG_Bool(REGB0)) { - /* metamodel/genericity.nit:138 */ - fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init(); - /* metamodel/genericity.nit:139 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity, 139); - } - fra.me.REG[4] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:270 */ - REGB0 = TAG_Int(0); - /* ../lib/standard/collection/array.nit:271 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]); - /* ../lib/standard/collection/array.nit:272 */ - fra.me.REG[5] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]); - /* ../lib/standard/collection/array.nit:273 */ - while(1) { - /* ../lib/standard/collection/array.nit:24 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]); - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB1 = TAG_Bool(UNTAG_Int(REGB0)val[UNTAG_Int(REGB0)]; - /* metamodel/genericity.nit:140 */ - fra.me.REG[6] = CALL_metamodel___static_type___MMType___for_module(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[1]); - CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[6]); - /* ../lib/standard/collection/array.nit:275 */ - REGB1 = TAG_Int(1); - /* ../lib/standard/kernel.nit:245 */ - REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1)); - /* ../lib/standard/collection/array.nit:275 */ - REGB0 = REGB1; - } else { - /* ../lib/standard/collection/array.nit:273 */ - goto label1; - } - } - label1: while(0); - /* metamodel/genericity.nit:142 */ - REGB0 = TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity, 142); - } - fra.me.REG[0] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra.me.REG[0]); - fra.me.REG[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___for_module(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); - /* metamodel/genericity.nit:143 */ - fra.me.REG[3] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]); - fra.me.REG[2] = fra.me.REG[3]; - } - /* metamodel/genericity.nit:145 */ - goto label2; - label2: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[2]; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___adapt_to[] = "genericity::MMTypeGeneric::(static_type::MMType::adapt_to)"; -val_t metamodel___genericity___MMTypeGeneric___adapt_to(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[5];} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 148; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___adapt_to; - fra.me.has_broke = 0; - fra.me.REG_size = 6; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[4] = NIT_NULL; - fra.me.REG[5] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:150 */ - fra.me.REG[2] = NEW_Array_standard___collection___array___Array___init(); - /* metamodel/genericity.nit:151 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity, 151); - } - fra.me.REG[3] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:270 */ - REGB0 = TAG_Int(0); - /* ../lib/standard/collection/array.nit:271 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]); - /* ../lib/standard/collection/array.nit:272 */ - fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]); - /* ../lib/standard/collection/array.nit:273 */ - while(1) { - /* ../lib/standard/collection/array.nit:24 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]); - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB1 = TAG_Bool(UNTAG_Int(REGB0)val[UNTAG_Int(REGB0)]; - /* metamodel/genericity.nit:152 */ - fra.me.REG[5] = CALL_metamodel___static_type___MMType___adapt_to(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[1]); - CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[5]); - /* ../lib/standard/collection/array.nit:275 */ - REGB1 = TAG_Int(1); - /* ../lib/standard/kernel.nit:245 */ - REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1)); - /* ../lib/standard/collection/array.nit:275 */ - REGB0 = REGB1; - } else { - /* ../lib/standard/collection/array.nit:273 */ - goto label1; - } - } - label1: while(0); - /* metamodel/genericity.nit:154 */ - REGB0 = TAG_Bool(ATTR_metamodel___static_type___MMTypeClass____local_class(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___genericity, 154); - } - fra.me.REG[0] = ATTR_metamodel___static_type___MMTypeClass____local_class(fra.me.REG[0]); - fra.me.REG[2] = CALL_metamodel___genericity___MMLocalClass___get_instantiate_type(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]); - /* metamodel/genericity.nit:155 */ - goto label2; - label2: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[2]; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___params_equals[] = "genericity::MMTypeGeneric::params_equals"; -val_t metamodel___genericity___MMTypeGeneric___params_equals(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t REGB3; - val_t REGB4; - val_t REGB5; - val_t REGB6; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 158; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___params_equals; - fra.me.has_broke = 0; - fra.me.REG_size = 4; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* ../lib/standard/collection/array.nit:24 */ - REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24); - } - REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]); - /* metamodel/genericity.nit:160 */ - REGB1 = TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity, 160); - } - fra.me.REG[2] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:24 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]); - /* metamodel/genericity.nit:160 */ - REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1)); - if (UNTAG_Bool(REGB2)) { - } else { - /* ../lib/standard/kernel.nit:237 */ - REGB1 = TAG_Bool((REGB0)==(REGB1)); - /* metamodel/genericity.nit:160 */ - REGB2 = REGB1; - } - REGB2 = TAG_Bool(!UNTAG_Bool(REGB2)); - if (UNTAG_Bool(REGB2)) { - /* metamodel/genericity.nit:161 */ - REGB2 = TAG_Bool(0); - goto label1; - } - /* metamodel/genericity.nit:163 */ - REGB1 = TAG_Int(0); - /* ../lib/standard/collection/array.nit:24 */ - REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24); - } - REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]); - /* ../lib/standard/kernel.nit:404 */ - while(1) { - REGB3 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/; - if (UNTAG_Bool(REGB3)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB3 = TAG_Bool(UNTAG_Int(REGB1)=UNTAG_Int(REGB5)); - /* ../lib/standard/collection/array.nit:281 */ - if (UNTAG_Bool(REGB5)) { - REGB5 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); - if (UNTAG_Bool(REGB5)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 281); - } - REGB5 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]); - REGB6 = TAG_Bool(VAL_ISA(REGB5, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4), VTID_standard___kernel___Comparable___OTHER(REGB4))) /*cast OTHER*/; - if (UNTAG_Bool(REGB6)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB5 = TAG_Bool(UNTAG_Int(REGB4)val[UNTAG_Int(REGB4)]; - /* ../lib/standard/collection/array.nit:282 */ - goto label2; - label2: while(0); - /* ../lib/standard/collection/array.nit:279 */ - fra.me.REG[3] = fra.me.REG[1]; - /* ../lib/standard/collection/array.nit:281 */ - REGB4 = TAG_Int(0); - REGB5 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/; - if (UNTAG_Bool(REGB5)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:243 */ - REGB4 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB4)); - /* ../lib/standard/collection/array.nit:281 */ - if (UNTAG_Bool(REGB4)) { - REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL); - if (UNTAG_Bool(REGB4)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 281); - } - REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]); - REGB5 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/; - if (UNTAG_Bool(REGB5)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB4 = TAG_Bool(UNTAG_Int(REGB3)val[UNTAG_Int(REGB3)]; - /* ../lib/standard/collection/array.nit:282 */ - goto label3; - label3: while(0); - /* metamodel/genericity.nit:164 */ - REGB3 = TAG_Bool(IS_EQUAL_NN(fra.me.REG[2],fra.me.REG[3])); - if (UNTAG_Bool(REGB3)) { - } else { - REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - if (UNTAG_Bool(REGB4)) { - REGB4 = TAG_Bool(0); - REGB3 = REGB4; - } else { - REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); - REGB3 = REGB4; - } - } - REGB3 = TAG_Bool(!UNTAG_Bool(REGB3)); - if (UNTAG_Bool(REGB3)) { - /* metamodel/genericity.nit:165 */ - REGB3 = TAG_Bool(0); - REGB2 = REGB3; - goto label1; - } - /* ../lib/standard/kernel.nit:406 */ - REGB3 = TAG_Int(1); - /* ../lib/standard/kernel.nit:245 */ - REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3)); - /* ../lib/standard/kernel.nit:406 */ - REGB1 = REGB3; - } else { - /* ../lib/standard/kernel.nit:404 */ - goto label4; - } - } - label4: while(0); - /* metamodel/genericity.nit:168 */ - REGB1 = TAG_Bool(1); - REGB2 = REGB1; - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return REGB2; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___to_s[] = "genericity::MMTypeGeneric::(string::Object::to_s)"; -val_t metamodel___genericity___MMTypeGeneric___to_s(val_t p0){ - struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; - val_t REGB0; - val_t tmp; - static val_t once_value_1; /* Once value */ - static val_t once_value_2; /* Once value */ - static val_t once_value_3; /* Once value */ - static val_t once_value_4; /* Once value */ - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 171; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___to_s; - fra.me.has_broke = 0; - fra.me.REG_size = 4; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:171 */ - fra.me.REG[1] = fra.me.REG[0]; - /* metamodel/genericity.nit:173 */ - REGB0 = TAG_Int(5); - fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0); - if (!once_value_1) { - fra.me.REG[3] = BOX_NativeString(""); - REGB0 = TAG_Int(0); - fra.me.REG[3] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[3])(fra.me.REG[3], REGB0); - once_value_1 = fra.me.REG[3]; - register_static_object(&once_value_1); - } else fra.me.REG[3] = once_value_1; - fra.me.REG[3] = fra.me.REG[3]; - CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); - fra.me.REG[0] = CALL_SUPER_metamodel___genericity___MMTypeGeneric___to_s(fra.me.REG[0])(fra.me.REG[0]); - CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]); - if (!once_value_2) { - fra.me.REG[0] = BOX_NativeString("["); - REGB0 = TAG_Int(1); - fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0); - once_value_2 = fra.me.REG[0]; - register_static_object(&once_value_2); - } else fra.me.REG[0] = once_value_2; - fra.me.REG[0] = fra.me.REG[0]; - CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]); - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[1])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity, 173); - } - fra.me.REG[1] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[1]); - if (!once_value_3) { - fra.me.REG[0] = BOX_NativeString(", "); - REGB0 = TAG_Int(2); - fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0); - once_value_3 = fra.me.REG[0]; - register_static_object(&once_value_3); - } else fra.me.REG[0] = once_value_3; - fra.me.REG[0] = fra.me.REG[0]; - fra.me.REG[0] = CALL_standard___string___Collection___join(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]); - CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]); - if (!once_value_4) { - fra.me.REG[0] = BOX_NativeString("]"); - REGB0 = TAG_Int(1); - fra.me.REG[0] = CALL_standard___string___NativeString___to_s_with_length(fra.me.REG[0])(fra.me.REG[0], REGB0); - once_value_4 = fra.me.REG[0]; - register_static_object(&once_value_4); - } else fra.me.REG[0] = once_value_4; - fra.me.REG[0] = fra.me.REG[0]; - CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]); - fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]); - goto label5; - label5: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[2]; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___is_subtype[] = "genericity::MMTypeGeneric::is_subtype"; -val_t metamodel___genericity___MMTypeGeneric___is_subtype(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t REGB3; - val_t REGB4; - val_t REGB5; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 176; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___is_subtype; - fra.me.has_broke = 0; - fra.me.REG_size = 4; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:180 */ - REGB0 = TAG_Int(0); - REGB1 = TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity, 180); - } - fra.me.REG[2] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:24 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]); - /* ../lib/standard/kernel.nit:404 */ - while(1) { - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB2 = TAG_Bool(UNTAG_Int(REGB0)=UNTAG_Int(REGB4)); - /* ../lib/standard/collection/array.nit:281 */ - if (UNTAG_Bool(REGB4)) { - REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); - if (UNTAG_Bool(REGB4)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 281); - } - REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]); - REGB5 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/; - if (UNTAG_Bool(REGB5)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB4 = TAG_Bool(UNTAG_Int(REGB3)val[UNTAG_Int(REGB3)]; - /* ../lib/standard/collection/array.nit:282 */ - goto label1; - label1: while(0); - /* metamodel/genericity.nit:182 */ - REGB3 = TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB3)) { - } else { - nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity, 182); - } - fra.me.REG[3] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:281 */ - REGB3 = TAG_Int(0); - REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/; - if (UNTAG_Bool(REGB4)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:243 */ - REGB3 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB3)); - /* ../lib/standard/collection/array.nit:281 */ - if (UNTAG_Bool(REGB3)) { - REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL); - if (UNTAG_Bool(REGB3)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 281); - } - REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]); - REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/; - if (UNTAG_Bool(REGB4)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB3 = TAG_Bool(UNTAG_Int(REGB2)val[UNTAG_Int(REGB2)]; - /* ../lib/standard/collection/array.nit:282 */ - goto label2; - label2: while(0); - /* metamodel/genericity.nit:182 */ - REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - if (UNTAG_Bool(REGB2)) { - nit_abort("Reciever is null", NULL, LOCATE_metamodel___genericity, 182); - } - REGB2 = CALL_metamodel___static_type___MMType_____l(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]); - REGB2 = TAG_Bool(!UNTAG_Bool(REGB2)); - if (UNTAG_Bool(REGB2)) { - /* metamodel/genericity.nit:183 */ - REGB2 = TAG_Bool(0); - goto label3; - } - /* ../lib/standard/kernel.nit:406 */ - REGB3 = TAG_Int(1); - /* ../lib/standard/kernel.nit:245 */ - REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3)); - /* ../lib/standard/kernel.nit:406 */ - REGB0 = REGB3; - } else { - /* ../lib/standard/kernel.nit:404 */ - goto label4; - } - } - label4: while(0); - /* metamodel/genericity.nit:186 */ - REGB0 = TAG_Bool(1); - REGB2 = REGB0; - goto label3; - label3: while(0); - stack_frame_head = fra.me.prev; - return REGB2; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___has_formal[] = "genericity::MMTypeGeneric::(type_formal::MMType::has_formal)"; -val_t metamodel___genericity___MMTypeGeneric___has_formal(val_t p0){ - struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 189; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___has_formal; - fra.me.has_broke = 0; - fra.me.REG_size = 3; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:191 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_params", LOCATE_metamodel___genericity, 191); - } - fra.me.REG[0] = ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:270 */ - REGB0 = TAG_Int(0); - /* ../lib/standard/collection/array.nit:271 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 271); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:272 */ - fra.me.REG[1] = ATTR_standard___collection___array___Array____items(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:273 */ - while(1) { - /* ../lib/standard/collection/array.nit:24 */ - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[0]); - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB1 = TAG_Bool(UNTAG_Int(REGB0)val[UNTAG_Int(REGB0)]; - /* metamodel/genericity.nit:192 */ - REGB1 = CALL_metamodel___type_formal___MMType___has_formal(fra.me.REG[2])(fra.me.REG[2]); - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(1); - goto label1; - } - /* ../lib/standard/collection/array.nit:275 */ - REGB2 = TAG_Int(1); - /* ../lib/standard/kernel.nit:245 */ - REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2)); - /* ../lib/standard/collection/array.nit:275 */ - REGB0 = REGB2; - } else { - /* ../lib/standard/collection/array.nit:273 */ - goto label2; - } - } - label2: while(0); - /* metamodel/genericity.nit:194 */ - REGB0 = TAG_Bool(0); - REGB1 = REGB0; - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return REGB1; -} -static const char LOCATE_metamodel___genericity___MMTypeGeneric___init[] = "genericity::MMTypeGeneric::init"; -void metamodel___genericity___MMTypeGeneric___init(val_t p0, val_t p1, val_t p2, int* init_table){ - int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_metamodel___genericity___MMTypeGeneric].i; - struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; - val_t tmp; - if (init_table[itpos0]) return; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 197; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeGeneric___init; - fra.me.has_broke = 0; - fra.me.REG_size = 4; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - fra.me.REG[2] = p2; - /* metamodel/genericity.nit:197 */ - fra.me.REG[3] = fra.me.REG[0]; - /* metamodel/genericity.nit:199 */ - CALL_metamodel___static_type___MMTypeClass___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], init_table); - /* metamodel/genericity.nit:200 */ - ATTR_metamodel___genericity___MMTypeGeneric____params(fra.me.REG[3]) = fra.me.REG[2]; - stack_frame_head = fra.me.prev; - init_table[itpos0] = 1; - return; -} -static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___def_class[] = "genericity::MMTypeFormalParameter::def_class"; -val_t metamodel___genericity___MMTypeFormalParameter___def_class(val_t p0){ - struct {struct stack_frame_t me;} fra; - val_t REGB0; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 206; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeFormalParameter___def_class; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:206 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_def_class", LOCATE_metamodel___genericity, 206); - } - fra.me.REG[0] = ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra.me.REG[0]); - stack_frame_head = fra.me.prev; - return fra.me.REG[0]; -} -static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___position[] = "genericity::MMTypeFormalParameter::position"; -val_t metamodel___genericity___MMTypeFormalParameter___position(val_t p0){ - struct {struct stack_frame_t me;} fra; - val_t REGB0; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 209; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeFormalParameter___position; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:209 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____position(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_position", LOCATE_metamodel___genericity, 209); - } - REGB0 = ATTR_metamodel___genericity___MMTypeFormalParameter____position(fra.me.REG[0]); - stack_frame_head = fra.me.prev; - return REGB0; -} -static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___mmmodule[] = "genericity::MMTypeFormalParameter::(static_type::MMType::mmmodule)"; -val_t metamodel___genericity___MMTypeFormalParameter___mmmodule(val_t p0){ - struct {struct stack_frame_t me;} fra; - val_t REGB0; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 212; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeFormalParameter___mmmodule; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:212 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_def_class", LOCATE_metamodel___genericity, 212); - } - fra.me.REG[0] = ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra.me.REG[0]); - fra.me.REG[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra.me.REG[0])(fra.me.REG[0]); - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[0]; -} -static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___for_module[] = "genericity::MMTypeFormalParameter::(static_type::MMType::for_module)"; -val_t metamodel___genericity___MMTypeFormalParameter___for_module(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; - val_t REGB0; - val_t REGB1; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 214; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeFormalParameter___for_module; - fra.me.has_broke = 0; - fra.me.REG_size = 4; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:216 */ - fra.me.REG[2] = fra.me.REG[0]; - /* metamodel/genericity.nit:217 */ - fra.me.REG[3] = CALL_metamodel___static_type___MMType___mmmodule(fra.me.REG[0])(fra.me.REG[0]); - REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1])); - if (UNTAG_Bool(REGB0)) { - } else { - REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]); - REGB0 = REGB1; - } - REGB0 = TAG_Bool(!UNTAG_Bool(REGB0)); - if (UNTAG_Bool(REGB0)) { - /* metamodel/genericity.nit:218 */ - REGB0 = TAG_Bool(ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra.me.REG[0])!=NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Uninitialized attribute %s", "_def_class", LOCATE_metamodel___genericity, 218); - } - fra.me.REG[3] = ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra.me.REG[0]); - fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra.me.REG[3])(fra.me.REG[3]); - fra.me.REG[3] = CALL_metamodel___abstractmetamodel___MMModule_____bra(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]); - REGB0 = CALL_metamodel___genericity___MMTypeFormalParameter___position(fra.me.REG[0])(fra.me.REG[0]); - fra.me.REG[3] = CALL_metamodel___genericity___MMLocalClass___get_formal(fra.me.REG[3])(fra.me.REG[3], REGB0); - fra.me.REG[2] = fra.me.REG[3]; - } - /* metamodel/genericity.nit:220 */ - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[2]; -} -static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___upcast_for[] = "genericity::MMTypeFormalParameter::(static_type::MMType::upcast_for)"; -val_t metamodel___genericity___MMTypeFormalParameter___upcast_for(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; - val_t REGB0; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 223; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeFormalParameter___upcast_for; - fra.me.has_broke = 0; - fra.me.REG_size = 2; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:223 */ - fra.me.REG[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra.me.REG[0]); - REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL); - if (UNTAG_Bool(REGB0)) { - nit_abort("Reciever is null", NULL, LOCATE_metamodel___genericity, 223); - } - fra.me.REG[1] = CALL_metamodel___static_type___MMType___upcast_for(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]); - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[1]; -} -static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___bound__eq[] = "genericity::MMTypeFormalParameter::bound="; -void metamodel___genericity___MMTypeFormalParameter___bound__eq(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; - val_t REGB0; - val_t REGB1; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 225; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeFormalParameter___bound__eq; - fra.me.has_broke = 0; - fra.me.REG_size = 3; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:227 */ - fra.me.REG[2] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra.me.REG[0]); - REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - if (UNTAG_Bool(REGB0)) { - } else { - REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL); - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(0); - REGB0 = REGB1; - } else { - REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL); - REGB0 = REGB1; - } - } - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Assert failed", NULL, LOCATE_metamodel___genericity, 227); - } - /* metamodel/genericity.nit:228 */ - ATTR_metamodel___type_formal___MMTypeFormal____bound(fra.me.REG[0]) = fra.me.REG[1]; - stack_frame_head = fra.me.prev; - return; -} -static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___adapt_to[] = "genericity::MMTypeFormalParameter::(static_type::MMType::adapt_to)"; -val_t metamodel___genericity___MMTypeFormalParameter___adapt_to(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[2];} fra; - val_t REGB0; - val_t REGB1; - val_t REGB2; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 231; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeFormalParameter___adapt_to; - fra.me.has_broke = 0; - fra.me.REG_size = 3; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:233 */ - fra.me.REG[2] = CALL_metamodel___type_formal___MMType___direct_type(fra.me.REG[1])(fra.me.REG[1]); - fra.me.REG[1] = fra.me.REG[2]; - /* metamodel/genericity.nit:234 */ - fra.me.REG[2] = CALL_metamodel___genericity___MMTypeFormalParameter___def_class(fra.me.REG[0])(fra.me.REG[0]); - fra.me.REG[2] = CALL_metamodel___static_type___MMType___upcast_for(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]); - /* metamodel/genericity.nit:239 */ - REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_metamodel___genericity___MMTypeGeneric, ID_metamodel___genericity___MMTypeGeneric)) /*cast MMTypeGeneric*/; - if (UNTAG_Bool(REGB0)) { - } else { - nit_abort("Assert failed", NULL, LOCATE_metamodel___genericity, 239); - } - /* metamodel/genericity.nit:240 */ - fra.me.REG[2] = CALL_metamodel___genericity___MMTypeGeneric___params(fra.me.REG[2])(fra.me.REG[2]); - REGB0 = CALL_metamodel___genericity___MMTypeFormalParameter___position(fra.me.REG[0])(fra.me.REG[0]); - /* ../lib/standard/collection/array.nit:281 */ - REGB1 = TAG_Int(0); - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:243 */ - REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1)); - /* ../lib/standard/collection/array.nit:281 */ - if (UNTAG_Bool(REGB1)) { - REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL); - if (UNTAG_Bool(REGB1)) { - } else { - nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 281); - } - REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]); - REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/; - if (UNTAG_Bool(REGB2)) { - } else { - nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0); - } - /* ../lib/standard/kernel.nit:242 */ - REGB1 = TAG_Bool(UNTAG_Int(REGB0)val[UNTAG_Int(REGB0)]; - /* ../lib/standard/collection/array.nit:282 */ - goto label1; - label1: while(0); - /* metamodel/genericity.nit:241 */ - goto label2; - label2: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[2]; -} -static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___with_bound[] = "genericity::MMTypeFormalParameter::with_bound"; -void metamodel___genericity___MMTypeFormalParameter___with_bound(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){ - int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_metamodel___genericity___MMTypeFormalParameter].i; - struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; - val_t REGB0; - val_t tmp; - if (init_table[itpos1]) return; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 244; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeFormalParameter___with_bound; - fra.me.has_broke = 0; - fra.me.REG_size = 4; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - REGB0 = p2; - fra.me.REG[2] = p3; - fra.me.REG[3] = p4; - /* metamodel/genericity.nit:246 */ - CALL_metamodel___genericity___MMTypeFormalParameter___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], REGB0, fra.me.REG[2], init_table); - /* metamodel/genericity.nit:247 */ - ATTR_metamodel___type_formal___MMTypeFormal____bound(fra.me.REG[0]) = fra.me.REG[3]; - stack_frame_head = fra.me.prev; - init_table[itpos1] = 1; - return; -} -static const char LOCATE_metamodel___genericity___MMTypeFormalParameter___init[] = "genericity::MMTypeFormalParameter::init"; -void metamodel___genericity___MMTypeFormalParameter___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){ - int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_metamodel___genericity___MMTypeFormalParameter].i; - struct {struct stack_frame_t me; val_t MORE_REG[3];} fra; - val_t REGB0; - val_t tmp; - if (init_table[itpos2]) return; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 250; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeFormalParameter___init; - fra.me.has_broke = 0; - fra.me.REG_size = 4; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[2] = NIT_NULL; - fra.me.REG[3] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - REGB0 = p2; - fra.me.REG[2] = p3; - /* metamodel/genericity.nit:250 */ - fra.me.REG[3] = fra.me.REG[0]; - /* metamodel/genericity.nit:252 */ - CALL_metamodel___type_formal___MMTypeFormal___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], NIT_NULL, init_table); - /* metamodel/genericity.nit:253 */ - ATTR_metamodel___genericity___MMTypeFormalParameter____position(fra.me.REG[3]) = REGB0; - /* metamodel/genericity.nit:254 */ - ATTR_metamodel___genericity___MMTypeFormalParameter____def_class(fra.me.REG[3]) = fra.me.REG[2]; - stack_frame_head = fra.me.prev; - init_table[itpos2] = 1; - return; -} -static const char LOCATE_metamodel___genericity___MMTypeNone___is_generic[] = "genericity::MMTypeNone::(genericity::MMType::is_generic)"; -val_t metamodel___genericity___MMTypeNone___is_generic(val_t p0){ - struct {struct stack_frame_t me;} fra; - val_t REGB0; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 259; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeNone___is_generic; - fra.me.has_broke = 0; - fra.me.REG_size = 1; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[0] = p0; - /* metamodel/genericity.nit:259 */ - REGB0 = TAG_Bool(0); - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return REGB0; -} -static const char LOCATE_metamodel___genericity___MMTypeNone___for_module[] = "genericity::MMTypeNone::(static_type::MMType::for_module)"; -val_t metamodel___genericity___MMTypeNone___for_module(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 260; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeNone___for_module; - fra.me.has_broke = 0; - fra.me.REG_size = 2; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:260 */ - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[0]; -} -static const char LOCATE_metamodel___genericity___MMTypeNone___adapt_to[] = "genericity::MMTypeNone::(static_type::MMType::adapt_to)"; -val_t metamodel___genericity___MMTypeNone___adapt_to(val_t p0, val_t p1){ - struct {struct stack_frame_t me; val_t MORE_REG[1];} fra; - val_t tmp; - fra.me.prev = stack_frame_head; stack_frame_head = &fra.me; - fra.me.file = LOCATE_metamodel___genericity; - fra.me.line = 261; - fra.me.meth = LOCATE_metamodel___genericity___MMTypeNone___adapt_to; - fra.me.has_broke = 0; - fra.me.REG_size = 2; - fra.me.nitni_local_ref_head = NULL; - fra.me.REG[0] = NIT_NULL; - fra.me.REG[1] = NIT_NULL; - fra.me.REG[0] = p0; - fra.me.REG[1] = p1; - /* metamodel/genericity.nit:261 */ - goto label1; - label1: while(0); - stack_frame_head = fra.me.prev; - return fra.me.REG[0]; -}