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:
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 ClassesModifier and TypeClassDescriptionprotected static class
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
FieldsModifier and TypeFieldDescriptionprivate final Map<String,
List<TypePool.Default.LazyTypeDescription.AnnotationToken>> The type variable's type annotation tokens.A mapping of the type variable bounds' type annotation tokens by their indices.private final List<TypePool.Default.LazyTypeDescription.GenericTypeToken>
Tokenized representations of the type variables bound types.private final String
The type variable's symbol.private final TypePool
The type pool to use for locating type descriptions.private final 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
ConstructorsModifierConstructorDescriptionprotected
LazyTypeVariable
(TypePool typePool, TypeVariableSource typeVariableSource, Map<String, List<TypePool.Default.LazyTypeDescription.AnnotationToken>> annotationTokens, Map<Integer, Map<String, List<TypePool.Default.LazyTypeDescription.AnnotationToken>>> boundaryAnnotationTokens, String symbol, List<TypePool.Default.LazyTypeDescription.GenericTypeToken> boundTypeTokens) Creates a lazy type description of a type variables. -
Method Summary
Modifier and TypeMethodDescriptionReturns a list of annotations that are declared by this instance.Returns the symbol of this type variable.Returns the source of this type variable.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 java.lang.Iterable
forEach, spliterator
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 Details
-
typePool
The type pool to use for locating type descriptions. -
typeVariableSource
The type variable source to use for locating type variables. -
annotationTokens
private final Map<String,List<TypePool.Default.LazyTypeDescription.AnnotationToken>> annotationTokensThe type variable's type annotation tokens. -
boundaryAnnotationTokens
private final Map<Integer,Map<String, boundaryAnnotationTokensList<TypePool.Default.LazyTypeDescription.AnnotationToken>>> 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.
-
-
Constructor Details
-
LazyTypeVariable
protected LazyTypeVariable(TypePool typePool, TypeVariableSource typeVariableSource, Map<String, List<TypePool.Default.LazyTypeDescription.AnnotationToken>> annotationTokens, Map<Integer, Map<String, List<TypePool.Default.LazyTypeDescription.AnnotationToken>>> boundaryAnnotationTokens, String symbol, 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 Details
-
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
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
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
Returns a list of annotations that are declared by this instance.- Returns:
- A list of declared annotations.
-