nitc :: MProxyType :: defaultinit
# A type that decorates another type.
#
# The point of this class is to provide a common implementation of sevices that just forward to the original type.
# Specific decorator are expected to redefine (or to extend) the default implementation as this suit them.
abstract class MProxyType
super MType
# The base type
var mtype: MType
redef fun location do return mtype.location
redef fun model do return self.mtype.model
redef fun need_anchor do return mtype.need_anchor
redef fun as_nullable do return mtype.as_nullable
redef fun as_notnull do return mtype.as_notnull
redef fun undecorate do return mtype.undecorate
redef fun resolve_for(mtype, anchor, mmodule, cleanup_virtual)
do
var res = self.mtype.resolve_for(mtype, anchor, mmodule, cleanup_virtual)
return res
end
redef fun can_resolve_for(mtype, anchor, mmodule)
do
return self.mtype.can_resolve_for(mtype, anchor, mmodule)
end
redef fun is_ok do return mtype.is_ok
redef fun is_legal_in(mmodule, anchor) do return mtype.is_legal_in(mmodule, anchor)
redef fun lookup_fixed(mmodule, resolved_receiver)
do
var t = mtype.lookup_fixed(mmodule, resolved_receiver)
return t
end
redef fun depth do return self.mtype.depth
redef fun length do return self.mtype.length
redef fun collect_mclassdefs(mmodule)
do
assert not self.need_anchor
return self.mtype.collect_mclassdefs(mmodule)
end
redef fun collect_mclasses(mmodule)
do
assert not self.need_anchor
return self.mtype.collect_mclasses(mmodule)
end
redef fun collect_mtypes(mmodule)
do
assert not self.need_anchor
return self.mtype.collect_mtypes(mmodule)
end
end
src/model/model.nit:1770,1--1828,3