+static const char LOCATE_metamodel___static_type___MMNullableType___base_type[] = "static_type::MMNullableType::base_type";
+val_t metamodel___static_type___MMNullableType___base_type(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___static_type;
+ fra.me.line = 420;
+ fra.me.meth = LOCATE_metamodel___static_type___MMNullableType___base_type;
+ 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/static_type.nit:420 */
+ REGB0 = TAG_Bool(ATTR_metamodel___static_type___MMNullableType____base_type(fra.me.REG[0])!=NIT_NULL);
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ nit_abort("Uninitialized attribute %s", "_base_type", LOCATE_metamodel___static_type, 420);
+ }
+ fra.me.REG[0] = ATTR_metamodel___static_type___MMNullableType____base_type(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}