Package net.bytebuddy.pool
Class TypePool.Default.LazyTypeDescription.GenericTypeToken.ForTypeVariable.Formal.LazyTypeVariable
- java.lang.Object
-
- net.bytebuddy.description.ModifierReviewable.AbstractBase
-
- net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase
-
- net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable
-
- net.bytebuddy.pool.TypePool.Default.LazyTypeDescription.GenericTypeToken.ForTypeVariable.Formal.LazyTypeVariable
-
- All Implemented Interfaces:
java.lang.Iterable<TypeDefinition>
,AnnotationSource
,ModifierReviewable
,ModifierReviewable.ForFieldDescription
,ModifierReviewable.ForMethodDescription
,ModifierReviewable.ForParameterDescription
,ModifierReviewable.ForTypeDefinition
,ModifierReviewable.OfAbstraction
,ModifierReviewable.OfByteCodeElement
,ModifierReviewable.OfEnumeration
,NamedElement
,TypeDefinition
,TypeDescription.Generic
protected static class TypePool.Default.LazyTypeDescription.GenericTypeToken.ForTypeVariable.Formal.LazyTypeVariable extends TypeDescription.Generic.OfTypeVariable
A type description that represents a type variable with bounds that are resolved lazily.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
TypePool.Default.LazyTypeDescription.GenericTypeToken.ForTypeVariable.Formal.LazyTypeVariable.LazyBoundTokenList
A list representing a formal type variable's bounds.-
Nested classes/interfaces inherited from class net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable
TypeDescription.Generic.OfTypeVariable.ForLoadedType, TypeDescription.Generic.OfTypeVariable.Symbolic, TypeDescription.Generic.OfTypeVariable.WithAnnotationOverlay
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.annotation.AnnotationSource
AnnotationSource.Empty, AnnotationSource.Explicit
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.ModifierReviewable
ModifierReviewable.AbstractBase, ModifierReviewable.ForFieldDescription, ModifierReviewable.ForMethodDescription, ModifierReviewable.ForParameterDescription, ModifierReviewable.ForTypeDefinition, ModifierReviewable.OfAbstraction, ModifierReviewable.OfByteCodeElement, ModifierReviewable.OfEnumeration
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.NamedElement
NamedElement.WithDescriptor, NamedElement.WithGenericName, NamedElement.WithOptionalName, NamedElement.WithRuntimeName
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.type.TypeDefinition
TypeDefinition.Sort, TypeDefinition.SuperClassIterator
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.type.TypeDescription.Generic
TypeDescription.Generic.AbstractBase, TypeDescription.Generic.AnnotationReader, TypeDescription.Generic.Builder, TypeDescription.Generic.LazyProjection, TypeDescription.Generic.OfGenericArray, TypeDescription.Generic.OfNonGenericType, TypeDescription.Generic.OfParameterizedType, TypeDescription.Generic.OfTypeVariable, TypeDescription.Generic.OfWildcardType, TypeDescription.Generic.Visitor<T>
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>
annotationTokens
The type variable's type annotation tokens.private java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>>
boundaryAnnotationTokens
A mapping of the type variable bounds' type annotation tokens by their indices.private java.util.List<TypePool.Default.LazyTypeDescription.GenericTypeToken>
boundTypeTokens
Tokenized representations of the type variables bound types.private java.lang.String
symbol
The type variable's symbol.private TypePool
typePool
The type pool to use for locating type descriptions.private TypeVariableSource
typeVariableSource
The type variable source to use for locating type variables.-
Fields inherited from interface net.bytebuddy.description.ModifierReviewable
EMPTY_MASK
-
Fields inherited from interface net.bytebuddy.description.NamedElement
EMPTY_NAME, NO_NAME
-
Fields inherited from interface net.bytebuddy.description.type.TypeDefinition
RAW_TYPES_PROPERTY
-
Fields inherited from interface net.bytebuddy.description.type.TypeDescription.Generic
ANNOTATION, CLASS, OBJECT, UNDEFINED, VOID
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
LazyTypeVariable(TypePool typePool, TypeVariableSource typeVariableSource, java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>> annotationTokens, java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>> boundaryAnnotationTokens, java.lang.String symbol, java.util.List<TypePool.Default.LazyTypeDescription.GenericTypeToken> boundTypeTokens)
Creates a lazy type description of a type variables.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AnnotationList
getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.java.lang.String
getSymbol()
Returns the symbol of this type variable.TypeVariableSource
getTypeVariableSource()
Returns the source of this type variable.TypeList.Generic
getUpperBounds()
Returns the upper bounds of this type.-
Methods inherited from class net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable
accept, asErasure, equals, findBindingOf, getActualName, getComponentType, getDeclaredFields, getDeclaredMethods, getInterfaces, getLowerBounds, getOwnerType, getRecordComponents, getSort, getStackSize, getSuperClass, getTypeArguments, getTypeName, hashCode, isArray, isPrimitive, isRecord, iterator, represents, toString
-
Methods inherited from class net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase
asGenericType, asRawType, getModifiers
-
Methods inherited from class net.bytebuddy.description.ModifierReviewable.AbstractBase
getEnumerationState, getFieldManifestation, getFieldPersistence, getMethodManifestation, getMethodStrictness, getOwnership, getParameterManifestation, getProvisioningState, getSynchronizationState, getSyntheticState, getTypeManifestation, getVisibility, isAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isMandated, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSynchronized, isSynthetic, isTransient, isVarArgs, isVolatile
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable
getSyntheticState, isFinal, isSynthetic
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.ForTypeDefinition
getTypeManifestation, isAnnotation, isInterface
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.OfAbstraction
isAbstract
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.OfByteCodeElement
getOwnership, getVisibility, isDeprecated, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.OfEnumeration
getEnumerationState, isEnum
-
-
-
-
Field Detail
-
typePool
private final TypePool typePool
The type pool to use for locating type descriptions.
-
typeVariableSource
private final TypeVariableSource typeVariableSource
The type variable source to use for locating type variables.
-
annotationTokens
private final java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>> annotationTokens
The type variable's type annotation tokens.
-
boundaryAnnotationTokens
private final java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>> boundaryAnnotationTokens
A mapping of the type variable bounds' type annotation tokens by their indices.
-
symbol
private final java.lang.String symbol
The type variable's symbol.
-
boundTypeTokens
private final java.util.List<TypePool.Default.LazyTypeDescription.GenericTypeToken> boundTypeTokens
Tokenized representations of the type variables bound types.
-
-
Constructor Detail
-
LazyTypeVariable
protected LazyTypeVariable(TypePool typePool, TypeVariableSource typeVariableSource, java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>> annotationTokens, java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,java.util.List<TypePool.Default.LazyTypeDescription.AnnotationToken>>> boundaryAnnotationTokens, java.lang.String symbol, java.util.List<TypePool.Default.LazyTypeDescription.GenericTypeToken> boundTypeTokens)
Creates a lazy type description of a type variables.- Parameters:
typePool
- The type pool to use for locating type descriptions.typeVariableSource
- The type variable source to use for locating type variables.annotationTokens
- The type variable's type annotation tokens.boundaryAnnotationTokens
- A mapping of the type variable bounds' type annotation tokens by their indices.symbol
- The type variable's symbol.boundTypeTokens
- Tokenized representations of the type variables bound types.
-
-
Method Detail
-
getUpperBounds
public TypeList.Generic getUpperBounds()
Returns the upper bounds of this type. Any type with a well-defined upper bound is bound by at least one type. If no such type is defined, the bound is implicitly
Object
.Only non-symbolic type variables (
TypeDefinition.Sort.VARIABLE
, and wildcard types (TypeDefinition.Sort.WILDCARD
) have well-defined upper bounds. For other types, anIllegalStateException
is thrown.- Returns:
- The upper bounds of this type.
-
getTypeVariableSource
public TypeVariableSource getTypeVariableSource()
Returns the source of this type variable. A type variable source is only well-defined for an attached type variable (TypeDefinition.Sort.VARIABLE
. For other types, this method throws anIllegalStateException
.- Returns:
- This type's type variable source.
-
getSymbol
public java.lang.String getSymbol()
Returns the symbol of this type variable. A symbol is only well-defined for type variables (TypeDefinition.Sort.VARIABLE
,TypeDefinition.Sort.VARIABLE_SYMBOLIC
). For other types, this method throws anIllegalStateException
.- Returns:
- This type's type variable symbol.
-
getDeclaredAnnotations
public AnnotationList getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.- Returns:
- A list of declared annotations.
-
-