public abstract class ResolvedReferenceType extends Object implements ResolvedType, ResolvedTypeParametrized, ResolvedTypeParameterValueProvider
| Modifier and Type | Field and Description |
|---|---|
protected static String |
JAVA_LANG_ENUM |
protected static String |
JAVA_LANG_OBJECT |
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) |
ResolvedType |
erasure() |
abstract List<ResolvedReferenceType> |
getAllAncestors()
Return all ancestors, that means all superclasses and interfaces.
|
abstract List<ResolvedReferenceType> |
getAllAncestors(Function<ResolvedReferenceTypeDeclaration,List<ResolvedReferenceType>> traverser)
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.
|
Optional<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?
|
abstract boolean |
isAssignableBy(ResolvedType other)
This method checks if ThisType t = new OtherType() would compile.
|
protected boolean |
isCorrespondingBoxingType(String typeName) |
boolean |
isJavaLangEnum() |
boolean |
isJavaLangObject()
We don't make this _ex_plicit in the data representation because that would affect codegen
and make everything generate like
<T extends Object> instead of <T> |
boolean |
isRawType() |
boolean |
isReferenceType()
Can this be seen as a ReferenceTypeUsage?
|
boolean |
isUnboxable() |
boolean |
isUnboxableTo(ResolvedPrimitiveType primitiveType) |
ResolvedType |
replaceTypeVariables(ResolvedTypeParameterDeclaration tpToReplace,
ResolvedType replaced,
Map<ResolvedTypeParameterDeclaration,ResolvedType> inferredTypes)
Replace all variables referring to the given TypeParameter with the given value.
|
String |
toDescriptor() |
abstract ResolvedType |
toRawType() |
String |
toString() |
Optional<ResolvedPrimitiveType> |
toUnboxedType() |
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, isInferenceVariable, isNull, isNumericType, isPrimitive, isReference, isTypeVariable, isUnionType, isVoid, isWildcard, mention, replaceTypeVariables, solveGenericTypesuseThisTypeParametersOnTheGivenTypeprotected static String JAVA_LANG_ENUM
protected static String JAVA_LANG_OBJECT
protected 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 abstract List<ResolvedReferenceType> getAllAncestors(Function<ResolvedReferenceTypeDeclaration,List<ResolvedReferenceType>> traverser)
public abstract List<ResolvedReferenceType> getDirectAncestors()
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 Optional<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)
ResolvedTypeParameterValueProvidertypeParamValue in interface ResolvedTypeParameterValueProviderpublic 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)
public boolean isJavaLangObject()
<T extends Object> instead of <T>java.lang.ObjectResolvedReferenceTypeDeclaration.isJavaLangObject(),
https://github.com/javaparser/javaparser/issues/2044public boolean isJavaLangEnum()
java.lang.EnumResolvedReferenceTypeDeclaration.isJavaLangEnum()public boolean isUnboxable()
public boolean isUnboxableTo(ResolvedPrimitiveType primitiveType)
public Optional<ResolvedPrimitiveType> toUnboxedType()
public ResolvedType erasure()
erasure in interface ResolvedTypepublic String toDescriptor()
toDescriptor in interface ResolvedTypeCopyright © 2007–2023. All rights reserved.