public interface TypeObject extends Copy<TypeObject>, java.io.Serializable
TypeObject
is a compile-time value created by the type system.
It is a static representation of a type that is not necessarily
first-class. It is similar to a compile-time meta-object.Modifier and Type | Method and Description |
---|---|
boolean |
equalsImpl(TypeObject t)
Return true iff this type object is the same as
t . |
boolean |
isCanonical()
Return true if the type object contains no unknown/ambiguous types.
|
Position |
position()
The object's position, or null.
|
TypeSystem |
typeSystem()
The object's type system.
|
boolean isCanonical()
TypeSystem typeSystem()
Position position()
boolean equalsImpl(TypeObject t)
t
.
All Polyglot extensions should attempt to maintain pointer
equality between equal TypeObjects. If this cannot be done,
extensions can override TypeObject_c.equalsImpl(), and
don't forget to override hashCode().TypeObject_c.equalsImpl(TypeObject)
,
Object.hashCode()