nitc :: MNullableType :: defaultinit
# A type prefixed with "nullable"
class MNullableType
super MProxyType
init
do
self.to_s = "nullable {mtype}"
end
redef var to_s is noinit
redef var full_name is lazy do return "nullable {mtype.full_name}"
redef var c_name is lazy do return "nullable__{mtype.c_name}"
redef fun as_nullable do return self
redef fun resolve_for(mtype, anchor, mmodule, cleanup_virtual)
do
var res = super
return res.as_nullable
end
# Efficiently returns `mtype.lookup_fixed(mmodule, resolved_receiver).as_nullable`
redef fun lookup_fixed(mmodule, resolved_receiver)
do
var t = super
if t == mtype then return self
return t.as_nullable
end
redef fun mdoc_or_fallback do return mtype.mdoc_or_fallback
end
src/model/model.nit:1830,1--1861,3