class MMNullableType
super MMType
- var _base_type: MMType
+ readable var _base_type: MMType
redef fun is_valid do return _base_type.is_valid
redef fun is_nullable: Bool do return true
redef fun as_notnull do return _base_type
redef class MMType
# The type a indirect type refers to
fun direct_type: MMType do return self
+
+ fun has_formal: Bool do return false
end
# Formal types are named indirect types
redef fun is_nullable do return _bound.is_nullable
redef fun direct_type do return _bound.direct_type
redef fun local_class do return _bound.local_class
+ redef fun has_formal do return true
redef fun to_s do return _name.to_s
end
end
+redef class MMNullableType
+ redef fun has_formal do return self.base_type.has_formal
+end