Class ReferenceTypeImpl
- java.lang.Object
-
- com.github.javaparser.resolution.types.ResolvedReferenceType
-
- com.github.javaparser.resolution.model.typesystem.ReferenceTypeImpl
-
- All Implemented Interfaces:
ResolvedTypeParameterValueProvider
,ResolvedTypeParametrized
,ResolvedType
public class ReferenceTypeImpl extends ResolvedReferenceType
- Author:
- Federico Tomassetti
-
-
Field Summary
-
Fields inherited from class com.github.javaparser.resolution.types.ResolvedReferenceType
JAVA_LANG_ENUM, JAVA_LANG_OBJECT, typeDeclaration, typeParametersMap
-
-
Constructor Summary
Constructors Constructor Description ReferenceTypeImpl(ResolvedReferenceTypeDeclaration typeDeclaration)
ReferenceTypeImpl(ResolvedReferenceTypeDeclaration typeDeclaration, List<ResolvedType> typeArguments)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ResolvedTypeParameterDeclaration
asTypeParameter()
protected ResolvedReferenceType
create(ResolvedReferenceTypeDeclaration typeDeclaration)
protected ResolvedReferenceType
create(ResolvedReferenceTypeDeclaration typeDeclaration, List<ResolvedType> typeParametersCorrected)
ResolvedReferenceType
deriveTypeParameters(ResolvedTypeParametersMap typeParametersMap)
List<ResolvedReferenceType>
getAllAncestors()
Return all ancestors, that means all superclasses and interfaces.List<ResolvedReferenceType>
getAllAncestors(Function<ResolvedReferenceTypeDeclaration,List<ResolvedReferenceType>> traverser)
Return all ancestors, that means all superclasses and interfaces.Set<ResolvedFieldDeclaration>
getDeclaredFields()
Fields declared on this type.Set<MethodUsage>
getDeclaredMethods()
Methods declared on this type.List<ResolvedReferenceType>
getDirectAncestors()
Return direct ancestors, that means the superclasses and interfaces implemented directly.boolean
isAssignableBy(ResolvedType other)
This method checks if ThisType t = new OtherType() would compile.boolean
mention(List<ResolvedTypeParameterDeclaration> typeParameters)
Does this type mention at all, directly or indirectly, the given type parameters?ResolvedType
toRawType()
ResolvedType
transformTypeParameters(ResolvedTypeTransformer transformer)
Execute a transformation on all the type parameters of this element.static ResolvedReferenceType
undeterminedParameters(ResolvedReferenceTypeDeclaration typeDeclaration)
-
Methods inherited from class com.github.javaparser.resolution.types.ResolvedReferenceType
asReferenceType, compareConsideringTypeParameters, create, describe, equals, erasure, getAllClassesAncestors, getAllFieldsVisibleToInheritors, getAllInterfacesAncestors, getAllMethods, getAllMethodsVisibleToInheritors, getFieldType, getGenericParameterByName, getId, getQualifiedName, getTypeDeclaration, getTypeParametersMap, hashCode, hasName, isCorrespondingBoxingType, isJavaLangEnum, isJavaLangObject, isRawType, isReferenceType, isUnboxable, isUnboxableTo, replaceTypeVariables, toDescriptor, toString, toUnboxedType, typeParametersMap, typeParametersValues, typeParamValue
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.github.javaparser.resolution.types.ResolvedType
arrayLevel, asArrayType, asConstraintType, asPrimitive, asTypeVariable, asUnionType, asWildcard, isArray, isConstraint, isInferenceVariable, isNull, isNumericType, isPrimitive, isReference, isTypeVariable, isUnionType, isVoid, isWildcard, replaceTypeVariables, solveGenericTypes
-
Methods inherited from interface com.github.javaparser.resolution.types.parametrization.ResolvedTypeParameterValueProvider
useThisTypeParametersOnTheGivenType
-
-
-
-
Constructor Detail
-
ReferenceTypeImpl
public ReferenceTypeImpl(ResolvedReferenceTypeDeclaration typeDeclaration)
-
ReferenceTypeImpl
public ReferenceTypeImpl(ResolvedReferenceTypeDeclaration typeDeclaration, List<ResolvedType> typeArguments)
-
-
Method Detail
-
undeterminedParameters
public static ResolvedReferenceType undeterminedParameters(ResolvedReferenceTypeDeclaration typeDeclaration)
-
create
protected ResolvedReferenceType create(ResolvedReferenceTypeDeclaration typeDeclaration, List<ResolvedType> typeParametersCorrected)
- Specified by:
create
in classResolvedReferenceType
-
create
protected ResolvedReferenceType create(ResolvedReferenceTypeDeclaration typeDeclaration)
- Specified by:
create
in classResolvedReferenceType
-
asTypeParameter
public ResolvedTypeParameterDeclaration asTypeParameter()
-
isAssignableBy
public boolean isAssignableBy(ResolvedType other)
This method checks if ThisType t = new OtherType() would compile.- Specified by:
isAssignableBy
in interfaceResolvedType
- Specified by:
isAssignableBy
in classResolvedReferenceType
-
getDeclaredMethods
public Set<MethodUsage> getDeclaredMethods()
Description copied from class:ResolvedReferenceType
Methods declared on this type.- Specified by:
getDeclaredMethods
in classResolvedReferenceType
-
toRawType
public ResolvedType toRawType()
- Specified by:
toRawType
in classResolvedReferenceType
- Returns:
- A copy of the current reference type, without type parameters.
-
mention
public boolean mention(List<ResolvedTypeParameterDeclaration> typeParameters)
Description copied from interface:ResolvedType
Does this type mention at all, directly or indirectly, the given type parameters?
-
transformTypeParameters
public ResolvedType transformTypeParameters(ResolvedTypeTransformer transformer)
Execute a transformation on all the type parameters of this element.- Specified by:
transformTypeParameters
in classResolvedReferenceType
-
getAllAncestors
public List<ResolvedReferenceType> getAllAncestors()
Description copied from class:ResolvedReferenceType
Return all ancestors, that means all superclasses and interfaces. This list should always include Object (unless this is a reference to Object). The type typeParametersValues should be expressed in terms of this type typeParametersValues. The default order of presenting ancestors corresponds to a search in depth.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>.
- Specified by:
getAllAncestors
in classResolvedReferenceType
-
getAllAncestors
public List<ResolvedReferenceType> getAllAncestors(Function<ResolvedReferenceTypeDeclaration,List<ResolvedReferenceType>> traverser)
Description copied from class:ResolvedReferenceType
Return all ancestors, that means all superclasses and interfaces. This list should always include Object (unless this is a reference to Object). The type typeParametersValues should be expressed in terms of this type typeParametersValues.- Specified by:
getAllAncestors
in classResolvedReferenceType
-
getDirectAncestors
public List<ResolvedReferenceType> getDirectAncestors()
Description copied from class:ResolvedReferenceType
Return direct ancestors, that means the superclasses and interfaces implemented directly. This list should include Object if the class has no other superclass or the interface is not extending another interface. There is an exception for Object itself.- Specified by:
getDirectAncestors
in classResolvedReferenceType
-
deriveTypeParameters
public ResolvedReferenceType deriveTypeParameters(ResolvedTypeParametersMap typeParametersMap)
- Specified by:
deriveTypeParameters
in classResolvedReferenceType
-
getDeclaredFields
public Set<ResolvedFieldDeclaration> getDeclaredFields()
Description copied from class:ResolvedReferenceType
Fields declared on this type.- Specified by:
getDeclaredFields
in classResolvedReferenceType
-
-