public abstract class ResolvedReferenceType extends Object implements ResolvedType, ResolvedTypeParametrized, ResolvedTypeParameterValueProvider
Modifier and Type | Field and Description |
---|---|
protected ResolvedReferenceTypeDeclaration |
typeDeclaration |
protected ResolvedTypeParametersMap |
typeParametersMap |
Constructor and Description |
---|
ResolvedReferenceType(ResolvedReferenceTypeDeclaration typeDeclaration) |
ResolvedReferenceType(ResolvedReferenceTypeDeclaration typeDeclaration,
List<ResolvedType> typeArguments) |
Modifier and Type | Method and Description |
---|---|
ResolvedReferenceType |
asReferenceType() |
protected boolean |
compareConsideringTypeParameters(ResolvedReferenceType other) |
protected abstract ResolvedReferenceType |
create(ResolvedReferenceTypeDeclaration typeDeclaration) |
protected abstract ResolvedReferenceType |
create(ResolvedReferenceTypeDeclaration typeDeclaration,
List<ResolvedType> typeParameters) |
protected ResolvedReferenceType |
create(ResolvedReferenceTypeDeclaration typeDeclaration,
ResolvedTypeParametersMap typeParametersMap) |
abstract ResolvedReferenceType |
deriveTypeParameters(ResolvedTypeParametersMap typeParametersMap) |
String |
describe() |
boolean |
equals(Object o) |
abstract List<ResolvedReferenceType> |
getAllAncestors()
Return all ancestors, that means all superclasses and interfaces.
|
List<ResolvedReferenceType> |
getAllClassesAncestors() |
List<ResolvedFieldDeclaration> |
getAllFieldsVisibleToInheritors()
Fields which are visible to inheritors.
|
List<ResolvedReferenceType> |
getAllInterfacesAncestors() |
List<ResolvedMethodDeclaration> |
getAllMethods()
Get a list of all the methods available on this type.
|
List<ResolvedMethodDeclaration> |
getAllMethodsVisibleToInheritors() |
abstract Set<ResolvedFieldDeclaration> |
getDeclaredFields()
Fields declared on this type.
|
abstract Set<MethodUsage> |
getDeclaredMethods()
Methods declared on this type.
|
abstract List<ResolvedReferenceType> |
getDirectAncestors()
Return direct ancestors, that means the superclasses and interfaces implemented directly.
|
Optional<ResolvedType> |
getFieldType(String name)
The type of the field could be different from the one in the corresponding FieldDeclaration because
type variables would be solved.
|
Optional<ResolvedType> |
getGenericParameterByName(String name)
Get the type associated with the type parameter with the given name.
|
String |
getId()
Id of the declaration.
|
String |
getQualifiedName()
Qualified name of the declaration.
|
ResolvedReferenceTypeDeclaration |
getTypeDeclaration()
Corresponding TypeDeclaration
|
List<Pair<ResolvedTypeParameterDeclaration,ResolvedType>> |
getTypeParametersMap()
Get the values for all type parameters declared on this type.
|
int |
hashCode() |
boolean |
hasName()
Has the TypeDeclaration a name? Anonymous classes do not have one.
|
abstract boolean |
isAssignableBy(ResolvedType other)
This method checks if ThisType t = new OtherType() would compile.
|
protected boolean |
isCorrespondingBoxingType(String typeName) |
boolean |
isRawType() |
boolean |
isReferenceType()
Can this be seen as a ReferenceTypeUsage?
In other words: is this a reference to a class, an interface or an enum?
|
ResolvedType |
replaceTypeVariables(ResolvedTypeParameterDeclaration tpToReplace,
ResolvedType replaced,
Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)
Replace all variables referring to the given TypeParameter with the given value.
|
abstract ResolvedType |
toRawType() |
String |
toString() |
abstract ResolvedType |
transformTypeParameters(ResolvedTypeTransformer transformer)
Execute a transformation on all the type parameters of this element.
|
ResolvedTypeParametersMap |
typeParametersMap() |
List<ResolvedType> |
typeParametersValues()
Get the values for all type parameters declared on this type.
|
Optional<ResolvedType> |
typeParamValue(ResolvedTypeParameterDeclaration typeParameterDeclaration)
Calculate the value for the given type parameter.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
arrayLevel, asArrayType, asConstraintType, asPrimitive, asTypeParameter, asTypeVariable, asUnionType, asWildcard, isArray, isConstraint, isNull, isPrimitive, isReference, isTypeVariable, isUnionType, isVoid, isWildcard, mention, replaceTypeVariables
useThisTypeParametersOnTheGivenType
protected ResolvedReferenceTypeDeclaration typeDeclaration
protected ResolvedTypeParametersMap typeParametersMap
public ResolvedReferenceType(ResolvedReferenceTypeDeclaration typeDeclaration)
public ResolvedReferenceType(ResolvedReferenceTypeDeclaration typeDeclaration, List<ResolvedType> typeArguments)
public final boolean isReferenceType()
ResolvedType
isReferenceType
in interface ResolvedType
public ResolvedReferenceType asReferenceType()
asReferenceType
in interface ResolvedType
public String describe()
describe
in interface ResolvedType
public abstract ResolvedType transformTypeParameters(ResolvedTypeTransformer transformer)
public ResolvedType replaceTypeVariables(ResolvedTypeParameterDeclaration tpToReplace, ResolvedType replaced, Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)
ResolvedType
replaceTypeVariables
in interface ResolvedType
public abstract boolean isAssignableBy(ResolvedType other)
isAssignableBy
in interface ResolvedType
public abstract List<ResolvedReferenceType> getAllAncestors()
For example, given:
class Foo<A, B> {} class Bar<C> extends Foo<C, String> {}
a call to getAllAncestors on a reference to Bar having type parameter Boolean should include Foo<Boolean, String>.
public abstract List<ResolvedReferenceType> getDirectAncestors()
public final List<ResolvedReferenceType> getAllInterfacesAncestors()
public final List<ResolvedReferenceType> getAllClassesAncestors()
public Optional<ResolvedType> getGenericParameterByName(String name)
getGenericParameterByName
in interface ResolvedTypeParameterValueProvider
public List<ResolvedType> typeParametersValues()
public List<Pair<ResolvedTypeParameterDeclaration,ResolvedType>> getTypeParametersMap()
public ResolvedTypeParametersMap typeParametersMap()
typeParametersMap
in interface ResolvedTypeParametrized
public final ResolvedReferenceTypeDeclaration getTypeDeclaration()
public Optional<ResolvedType> getFieldType(String name)
public boolean hasName()
public String getQualifiedName()
public String getId()
public abstract Set<MethodUsage> getDeclaredMethods()
public abstract Set<ResolvedFieldDeclaration> getDeclaredFields()
public boolean isRawType()
public Optional<ResolvedType> typeParamValue(ResolvedTypeParameterDeclaration typeParameterDeclaration)
ResolvedTypeParameterValueProvider
typeParamValue
in interface ResolvedTypeParameterValueProvider
public abstract ResolvedType toRawType()
public List<ResolvedMethodDeclaration> getAllMethods()
public List<ResolvedFieldDeclaration> getAllFieldsVisibleToInheritors()
public List<ResolvedMethodDeclaration> getAllMethodsVisibleToInheritors()
protected abstract ResolvedReferenceType create(ResolvedReferenceTypeDeclaration typeDeclaration, List<ResolvedType> typeParameters)
protected ResolvedReferenceType create(ResolvedReferenceTypeDeclaration typeDeclaration, ResolvedTypeParametersMap typeParametersMap)
protected abstract ResolvedReferenceType create(ResolvedReferenceTypeDeclaration typeDeclaration)
protected boolean isCorrespondingBoxingType(String typeName)
protected boolean compareConsideringTypeParameters(ResolvedReferenceType other)
public abstract ResolvedReferenceType deriveTypeParameters(ResolvedTypeParametersMap typeParametersMap)
Copyright © 2007–2018. All rights reserved.