public final class ReferenceType extends AbstractType
ReferenceType is covariant in the referenced type.
Constructor and Description |
---|
ReferenceType(Type type)
Creates a new ReferenceType referring the provided type.
|
Modifier and Type | Method and Description |
---|---|
<T,E extends Throwable> |
accept(TypeVisitor<T,E> visitor)
Accepts type visitor.
|
boolean |
assignableTo(Type target)
Returns information whether a value of this type can be assigned to a
variable of another type.
|
boolean |
equals(Object target) |
Type |
findCommonSubtype(Type other)
Returns the common subtype, i.e.
|
Type |
findCommonSupertype(Type other)
Returns the common supertype, i.e.
|
Class<?> |
getJavaClass()
Returns the Java class represented by this type.
|
Type |
getReferencedType()
Returns the referred type.
|
Type |
getSupertype()
Returns a direct supertype to this type (or null for "Object" type).
|
boolean |
hasFreeTypes() |
int |
hashCode() |
boolean |
hasIntersectionType() |
boolean |
matchesSubtype(Type other,
TypeMapping mapping)
Performs type matching on this type.
|
boolean |
matchesSupertype(Type other,
TypeMapping mapping)
Performs type matching on this type.
|
ReferenceType |
substituteFreeTypes(FreeTypeMapping mapping)
Returns a type where free types are substituted by provided mapping.
|
String |
toString()
Returns string representation of this reference type in the form
Reference<#type> . |
getFreeTypes, isCollection, performConversion
public static final String NAME
public ReferenceType(Type type)
type
- type which is referredpublic Type getSupertype()
Type
public boolean assignableTo(Type target)
Type
assignableTo
in interface Type
assignableTo
in class AbstractType
target
- type of the target variablepublic Type findCommonSupertype(Type other)
Type
other
.findCommonSupertype
in interface Type
findCommonSupertype
in class AbstractType
public Type findCommonSubtype(Type other)
Type
other
.findCommonSubtype
in interface Type
findCommonSubtype
in class AbstractType
public Type getReferencedType()
public String toString()
Reference<#type>
.toString
in class Object
Object.toString()
public <T,E extends Throwable> T accept(TypeVisitor<T,E> visitor) throws E extends Throwable
Type
T
- visitor return typevisitor
- visitor to visitE
E extends Throwable
public ReferenceType substituteFreeTypes(FreeTypeMapping mapping)
Type
substituteFreeTypes
in interface Type
substituteFreeTypes
in class AbstractType
public Class<?> getJavaClass()
Type
public boolean matchesSupertype(Type other, TypeMapping mapping)
Type
mapping
. Returns true if
this type matches supertype of other
type.matchesSupertype
in interface Type
matchesSupertype
in class AbstractType
other
typepublic boolean matchesSubtype(Type other, TypeMapping mapping)
Type
mapping
. Returns true if
this type matches subtype of other
type.matchesSubtype
in interface Type
matchesSubtype
in class AbstractType
other
typepublic boolean hasFreeTypes()
hasFreeTypes
in interface Type
hasFreeTypes
in class AbstractType
true
if the type contains a free typepublic boolean hasIntersectionType()
true
if the type contains an intersection typeCopyright © 2007-2020 Whitestein Technologies. All Rights Reserved.