Class TypeVariableSignature
A type variable signature.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) MethodTypeSignatureThe method signature that this type variable is part of.private final StringThe name of the class that this type variable is defined in.private final StringThe type variable name.private TypeParameterThe resolved type parameter, if any.Fields inherited from class HierarchicalTypeSignature
typeAnnotationInfoFields inherited from class ScanResultObject
classRef, scanResult -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateTypeVariableSignature(String typeVariableName, String definingClassName) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddTypeAnnotation(List<Classfile.TypePathNode> typePath, AnnotationInfo annotationInfo) Add a type annotation to this type.booleanbooleanCompare base types, ignoring generic type parameters.protected voidfindReferencedClassNames(Set<String> refdClassNames) Get the names of any classes referenced in the type signature.protected StringReturn definingClassName, so that getClassInfo() returns theClassInfoobject for the containing class.getName()Get the name of the type variable.inthashCode()(package private) static TypeVariableSignatureParse a TypeVariableSignature.resolve()Look up a type variable (e.g.(package private) voidsetScanResult(ScanResult scanResult) Set ScanResult backreferences in info objects after scan has completed.protected voidtoStringInternal(boolean useSimpleNames, AnnotationInfoList annotationsToExclude, StringBuilder buf) Render type signature to string.Returns the type variable along with its type bound, if available (e.g.Methods inherited from class ReferenceTypeSignature
parseClassBound, parseReferenceTypeSignatureMethods inherited from class TypeSignature
findReferencedClassInfo, getTypeAnnotationInfo, parseMethods inherited from class HierarchicalTypeSignature
addTypeAnnotation, toStringMethods inherited from class ScanResultObject
findReferencedClassInfo, getClassInfo, loadClass, loadClass, loadClass, loadClass, toString, toString, toStringWithSimpleNames
-
Field Details
-
name
The type variable name. -
definingClassName
The name of the class that this type variable is defined in. -
containingMethodSignature
MethodTypeSignature containingMethodSignatureThe method signature that this type variable is part of. -
typeParameterCached
The resolved type parameter, if any.
-
-
Constructor Details
-
TypeVariableSignature
-
-
Method Details
-
getName
-
resolve
Look up a type variable (e.g. "T") in the defining method and/or enclosing class' type parameters, and return the type parameter with the same name (e.g. "T extends com.xyz.Cls").- Returns:
- the type parameter (e.g. "T extends com.xyz.Cls", or simply "T" if the type parameter does not have any bounds).
- Throws:
IllegalArgumentException- if a type parameter with the same name as the type variable could not be found in the defining method or the enclosing class.
-
addTypeAnnotation
protected void addTypeAnnotation(List<Classfile.TypePathNode> typePath, AnnotationInfo annotationInfo) Description copied from class:TypeSignatureAdd a type annotation to this type.- Specified by:
addTypeAnnotationin classTypeSignature- Parameters:
typePath- The type path.annotationInfo- The annotation to add.
-
parse
Parse a TypeVariableSignature.- Parameters:
parser- the parserdefiningClassName- the defining class name- Returns:
- the type variable signature
- Throws:
ParseException- if parsing fails
-
getClassName
Return definingClassName, so that getClassInfo() returns theClassInfoobject for the containing class.- Specified by:
getClassNamein classScanResultObject- Returns:
- the defining class name.
-
findReferencedClassNames
Get the names of any classes referenced in the type signature.- Overrides:
findReferencedClassNamesin classTypeSignature- Parameters:
refdClassNames- the referenced class names.
-
setScanResult
Description copied from class:ScanResultObjectSet ScanResult backreferences in info objects after scan has completed.- Overrides:
setScanResultin classHierarchicalTypeSignature- Parameters:
scanResult- the scan result
-
hashCode
-
equals
-
equalsIgnoringTypeParams
Description copied from class:TypeSignatureCompare base types, ignoring generic type parameters.- Specified by:
equalsIgnoringTypeParamsin classTypeSignature- Parameters:
other- the otherTypeSignatureto compare to.- Returns:
- True if the two
TypeSignatureobjects are equal, ignoring type parameters.
-
toStringWithTypeBound
Returns the type variable along with its type bound, if available (e.g. "X extends xyz.Cls"). You can get this in structured form by callingresolve(). Returns just the type variable if there is no type bound, or if no type bound is known (i.e. ifresolve()returns null).- Returns:
- The string representation.
-
toStringInternal
protected void toStringInternal(boolean useSimpleNames, AnnotationInfoList annotationsToExclude, StringBuilder buf) Description copied from class:HierarchicalTypeSignatureRender type signature to string.- Specified by:
toStringInternalin classHierarchicalTypeSignature- Parameters:
useSimpleNames- whether to use simple names for classes.annotationsToExclude- toplevel annotations to exclude, to eliminate duplication (toplevel annotations are both class/field/method annotations and type annotations).buf- theStringBuilderto write to.
-