|
|||||||||
| Home >> All >> mlsub >> [ typing overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
mlsub.typing
Class MonotypeConstructor

java.lang.Objectmlsub.typing.Monotype
mlsub.typing.MonotypeConstructor
- All Implemented Interfaces:
- mlsub.typing.lowlevel.Element
- public final class MonotypeConstructor
- extends Monotype
A monotype, build by application of a type constructor to type parameters.
| Field Summary | |
(package private) Monotype[] |
parameters
|
TypeConstructor |
tc
|
| Fields inherited from class mlsub.typing.Monotype |
zeroMonotypes |
| Constructor Summary | |
MonotypeConstructor(TypeConstructor tc,
Monotype[] parameters)
Constructs a monotype by application of the type constructor to the type parameters. |
|
| Method Summary | |
static MonotypeConstructor |
apply(TypeConstructor tc,
Monotype parameter)
Constructs a monotype by application of the type constructor to one type parameter. |
(package private) Monotype |
canonify()
Return the monotype this one reduces to after simplification. |
boolean |
equals(java.lang.Object o)
Determine whether this Object is semantically equal to another Object. |
int |
getId()
low-level interface |
mlsub.typing.lowlevel.Kind |
getKind()
|
TypeConstructor |
getTC()
|
Monotype[] |
getTP()
|
TypeConstructor |
head()
Return the head type constructor if this monotype is of a known variance, or null. |
boolean |
isRigid()
Returns true if this monotype is only made of top-level, rigid type constructors |
void |
setId(int value)
|
void |
setKind(mlsub.typing.lowlevel.Kind value)
|
(package private) Monotype |
substitute(java.util.Map map)
Perform type symbol substitution inside the monotype. |
(package private) void |
tag(int variance)
Simplification |
java.lang.String |
toString()
Convert this Object to a human-readable String. |
java.lang.String |
toString(boolean isNull,
java.lang.String suffix)
Print the monotype, using context information. |
| Methods inherited from class mlsub.typing.Monotype |
canonify, domain, equivalent, isConcrete, isRigid, substitute, tag |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
tc
public TypeConstructor tc
parameters
Monotype[] parameters
| Constructor Detail |
MonotypeConstructor
public MonotypeConstructor(TypeConstructor tc, Monotype[] parameters) throws BadSizeEx
- Constructs a monotype by application of the type constructor
to the type parameters.
| Method Detail |
apply
public static MonotypeConstructor apply(TypeConstructor tc, Monotype parameter) throws BadSizeEx
- Constructs a monotype by application of the type constructor
to one type parameter.
head
public TypeConstructor head()
- Return the head type constructor if this monotype is
of a known variance, or null.
getTC
public TypeConstructor getTC()
getTP
public Monotype[] getTP()
isRigid
public boolean isRigid()
- Returns true if this monotype is only made of
top-level, rigid type constructors
substitute
Monotype substitute(java.util.Map map)
- Perform type symbol substitution inside the monotype.
Does not need to create a new object, but must not
imperatively modify the monotype.
- Specified by:
substitutein classMonotype
getId
public int getId()
- low-level interface
setId
public void setId(int value)
getKind
public mlsub.typing.lowlevel.Kind getKind()
setKind
public void setKind(mlsub.typing.lowlevel.Kind value)
equals
public boolean equals(java.lang.Object o)
- Description copied from class:
java.lang.Object - Determine whether this Object is semantically equal
to another Object.
There are some fairly strict requirements on this method which subclasses must follow:
- It must be transitive. If
a.equals(b)andb.equals(c), thena.equals(c)must be true as well. - It must be symmetric.
a.equals(b)andb.equals(a)must have the same value. - It must be reflexive.
a.equals(a)must always be true. - It must be consistent. Whichever value a.equals(b) returns on the first invocation must be the value returned on all later invocations.
a.equals(null)must be false.- It must be consistent with hashCode(). That is,
a.equals(b)must implya.hashCode() == b.hashCode(). The reverse is not true; two objects that are not equal may have the same hashcode, but that has the potential to harm hashing performance.
This is typically overridden to throw a java.lang.ClassCastException if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal for
a.equals(b)to be true even thougha.getClass() != b.getClass(). Also, it is typical to never cause a java.lang.NullPointerException.In general, the Collections API (
java.util) use theequalsmethod rather than the==operator to compare objects. However, java.util.IdentityHashMap is an exception to this rule, for its own good reasons.The default implementation returns
this == o. - It must be transitive. If
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object - Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string concatenation with this object. If the result is
null, string concatenation will instead use"null".The default implementation returns
getClass().getName() + "@" + Integer.toHexString(hashCode()).
toString
public java.lang.String toString(boolean isNull, java.lang.String suffix)
- Description copied from class:
Monotype - Print the monotype, using context information.
tag
void tag(int variance)
canonify
Monotype canonify()
- Description copied from class:
Monotype - Return the monotype this one reduces to after simplification.
|
|||||||||
| Home >> All >> mlsub >> [ typing overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC