| java.lang.Object mlsub.typing.Monotype
All known Subclasses: mlsub.typing.MonotypeConstructor, mlsub.typing.FunType, mlsub.typing.MonotypeVar, mlsub.typing.UnknownMonotype, mlsub.typing.TupleType, mlsub.typing.TopMonotype,
Monotype | abstract public class Monotype implements mlsub.typing.lowlevel.Element(Code) | | A monomorphic type.
version: $Date: 2005/06/21 18:31:00 $ author: Daniel Bonniot (d.bonniot@mail.dotcom.fr) |
zeroMonotypes | final static Monotype[] zeroMonotypes(Code) | | A zero length Monotype array.
Can be shared, since it's empty, thus immutable.
|
canonify | abstract Monotype canonify()(Code) | | Return the monotype this one reduces to after simplification.
|
domain | public Monotype[] domain()(Code) | | If this monotype is functional, return its domain.
Otherwise return null.
|
equivalent | public Monotype equivalent()(Code) | | Return the monotype used for type checking.
Should be this, except in class MonotypeVar
where equivalent is a monotype with the correct Kind
once the kind is known.
|
head | public TypeConstructor head()(Code) | | Return the head type constructor if this monotype is
of a known variance, or null.
|
isConcrete | final public boolean isConcrete()(Code) | | |
isExistential | public boolean isExistential()(Code) | | |
isRigid | public boolean isRigid()(Code) | | Returns true if this monotype is only made of
top-level, rigid type constructors
|
isUnknown | public boolean isUnknown()(Code) | | |
substitute | abstract Monotype substitute(Map map)(Code) | | Perform type symbol substitution inside the monotype.
Does not need to create a new object,
but must not modify the monotype.
Parameters: map - a map from TypeSymbols to TypeSymbols a monotype with substitution performed |
tag | abstract void tag(int variance)(Code) | | Propagate information for type simplification.
Not public.
|
toString | public String toString(boolean isNull, String suffix)(Code) | | Print the monotype, using context information.
|
|
|