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<ResolvedReferenceType> |
getAllInterfacesAncestors() |
abstract Set<MethodUsage> |
getDeclaredMethods()
Methods declared on this type.
|
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, waitarrayLevel, asArrayType, asConstraintType, asPrimitive, asTypeParameter, asTypeVariable, asUnionType, asWildcard, isArray, isConstraint, isNull, isPrimitive, isReference, isTypeVariable, isUnionType, isVoid, isWildcard, mention, replaceTypeVariablesuseThisTypeParametersOnTheGivenTypeprotected ResolvedReferenceTypeDeclaration typeDeclaration
protected ResolvedTypeParametersMap typeParametersMap
public ResolvedReferenceType(ResolvedReferenceTypeDeclaration typeDeclaration)
public ResolvedReferenceType(ResolvedReferenceTypeDeclaration typeDeclaration, List<ResolvedType> typeArguments)
public final boolean isReferenceType()
ResolvedTypeisReferenceType in interface ResolvedTypepublic ResolvedReferenceType asReferenceType()
asReferenceType in interface ResolvedTypepublic String describe()
describe in interface ResolvedTypepublic abstract ResolvedType transformTypeParameters(ResolvedTypeTransformer transformer)
public ResolvedType replaceTypeVariables(ResolvedTypeParameterDeclaration tpToReplace, ResolvedType replaced, Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)
ResolvedTypereplaceTypeVariables in interface ResolvedTypepublic abstract boolean isAssignableBy(ResolvedType other)
isAssignableBy in interface ResolvedTypepublic 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 final List<ResolvedReferenceType> getAllInterfacesAncestors()
public final List<ResolvedReferenceType> getAllClassesAncestors()
public Optional<ResolvedType> getGenericParameterByName(String name)
getGenericParameterByName in interface ResolvedTypeParameterValueProviderpublic List<ResolvedType> typeParametersValues()
public List<Pair<ResolvedTypeParameterDeclaration,ResolvedType>> getTypeParametersMap()
public ResolvedTypeParametersMap typeParametersMap()
typeParametersMap in interface ResolvedTypeParametrizedpublic final ResolvedReferenceTypeDeclaration getTypeDeclaration()
public Optional<ResolvedType> getFieldType(String name)
public boolean hasName()
public String getQualifiedName()
public String getId()
public abstract Set<MethodUsage> getDeclaredMethods()
public boolean isRawType()
public Optional<ResolvedType> typeParamValue(ResolvedTypeParameterDeclaration typeParameterDeclaration)
ResolvedTypeParameterValueProvidertypeParamValue in interface ResolvedTypeParameterValueProviderpublic abstract ResolvedType toRawType()
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.