nitc :: MType :: is_legal_in
mmodule
(with an optional anchor
)?A type is valid if:
MErrorType
(see is_ok
).
# Is the type legal in a given `mmodule` (with an optional `anchor`)?
#
# A type is valid if:
#
# * it does not contain a `MErrorType` (see `is_ok`).
# * its generic formal arguments are within their bounds.
fun is_legal_in(mmodule: MModule, anchor: nullable MClassType): Bool do return is_ok
src/model/model.nit:1157,2--1163,85
redef fun is_legal_in(mmodule, anchor) do return mtype.is_legal_in(mmodule, anchor)
src/model/model.nit:1799,2--84
redef fun is_legal_in(mmodule, anchor)
do
var mtype
if need_anchor then
assert anchor != null
mtype = anchor_to(mmodule, anchor)
else
mtype = self
end
if not mtype.is_ok then return false
return mtype.is_subtype(mmodule, null, mtype.mclass.intro.bound_mtype)
end
src/model/model.nit:1472,2--1483,4