Package net.bytebuddy.description.method
Class ParameterDescription.Latent
java.lang.Object
net.bytebuddy.description.ModifierReviewable.AbstractBase
net.bytebuddy.description.method.ParameterDescription.AbstractBase
net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase
net.bytebuddy.description.method.ParameterDescription.Latent
- All Implemented Interfaces:
AnnotationSource
,ByteCodeElement.TypeDependant<ParameterDescription.InDefinedShape,
,ParameterDescription.Token> ParameterDescription
,ParameterDescription.InDefinedShape
,ModifierReviewable
,ModifierReviewable.ForFieldDescription
,ModifierReviewable.ForMethodDescription
,ModifierReviewable.ForParameterDescription
,ModifierReviewable.ForTypeDefinition
,ModifierReviewable.OfAbstraction
,ModifierReviewable.OfByteCodeElement
,ModifierReviewable.OfEnumeration
,NamedElement
,NamedElement.WithOptionalName
,NamedElement.WithRuntimeName
- Enclosing interface:
- ParameterDescription
public static class ParameterDescription.Latent
extends ParameterDescription.InDefinedShape.AbstractBase
A latent description of a parameter that is not attached to a method or constructor.
-
Nested Class Summary
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.method.ParameterDescription
ParameterDescription.AbstractBase, ParameterDescription.ForLoadedParameter<T extends AccessibleObject>, ParameterDescription.InDefinedShape, ParameterDescription.InGenericShape, ParameterDescription.Latent, ParameterDescription.Token, ParameterDescription.TypeSubstituting
Nested classes/interfaces inherited from interface net.bytebuddy.description.method.ParameterDescription.InDefinedShape
ParameterDescription.InDefinedShape.AbstractBase
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List<? extends AnnotationDescription>
The annotations of the parameter.private final MethodDescription.InDefinedShape
The method that is declaring the parameter.private final int
The index of the parameter.private final Integer
The modifiers of the parameter ornull
if no modifiers are explicitly defined.private final String
The name of the parameter ornull
if no name is explicitly defined.private final int
The parameter's offset in the local method variables array.private final TypeDescription.Generic
The type of the parameter.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.method.ParameterDescription
NAME_PREFIX
-
Constructor Summary
ConstructorsConstructorDescriptionLatent
(MethodDescription.InDefinedShape declaringMethod, ParameterDescription.Token token, int index, int offset) Creates a latent parameter description.Latent
(MethodDescription.InDefinedShape declaringMethod, TypeDescription.Generic parameterType, int index, int offset) Creates a new latent parameter descriptions for a parameter without explicit meta data or annotations.Latent
(MethodDescription.InDefinedShape declaringMethod, TypeDescription.Generic parameterType, List<? extends AnnotationDescription> declaredAnnotations, String name, Integer modifiers, int index, int offset) Creates a latent parameter description. -
Method Summary
Modifier and TypeMethodDescriptionReturns a list of annotations that are declared by this instance.Returns the method that declares this parameter.int
getIndex()
Returns this parameter's index.int
Returns the modifier that is described by this object.getName()
Returns the binary name of this byte code element.int
Returns the offset to the parameter value within the local method variable.getType()
Returns the type of this parameter.boolean
Checks if this parameter has an explicit modifier.boolean
isNamed()
Returnstrue
if this element has an explicit name.Methods inherited from class net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase
asDefined
Methods inherited from class net.bytebuddy.description.method.ParameterDescription.AbstractBase
asToken, equals, getActualName, getInternalName, hashCode, toString
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.ByteCodeElement.TypeDependant
asToken
Methods inherited from interface net.bytebuddy.description.ModifierReviewable
getSyntheticState, isFinal, isSynthetic
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.ForParameterDescription
getParameterManifestation, getProvisioningState, isMandated
Methods inherited from interface net.bytebuddy.description.NamedElement
getActualName
Methods inherited from interface net.bytebuddy.description.NamedElement.WithRuntimeName
getInternalName
-
Field Details
-
declaringMethod
The method that is declaring the parameter. -
parameterType
The type of the parameter. -
declaredAnnotations
The annotations of the parameter. -
name
The name of the parameter ornull
if no name is explicitly defined. -
modifiers
The modifiers of the parameter ornull
if no modifiers are explicitly defined. -
index
private final int indexThe index of the parameter. -
offset
private final int offsetThe parameter's offset in the local method variables array.
-
-
Constructor Details
-
Latent
public Latent(MethodDescription.InDefinedShape declaringMethod, ParameterDescription.Token token, int index, int offset) Creates a latent parameter description. All provided types are attached to this instance before they are returned.- Parameters:
declaringMethod
- The method that is declaring the parameter.token
- The token describing the shape of the parameter.index
- The index of the parameter.offset
- The parameter's offset in the local method variables array.
-
Latent
public Latent(MethodDescription.InDefinedShape declaringMethod, TypeDescription.Generic parameterType, int index, int offset) Creates a new latent parameter descriptions for a parameter without explicit meta data or annotations.- Parameters:
declaringMethod
- The method declaring this parameter.parameterType
- The type of the parameter.index
- The index of the parameter.offset
- The offset of the parameter.
-
Latent
public Latent(MethodDescription.InDefinedShape declaringMethod, TypeDescription.Generic parameterType, List<? extends AnnotationDescription> declaredAnnotations, @MaybeNull String name, @MaybeNull Integer modifiers, int index, int offset) Creates a latent parameter description. All provided types are attached to this instance before they are returned.- Parameters:
declaringMethod
- The method that is declaring the parameter.parameterType
- The parameter's type.declaredAnnotations
- The annotations of the parameter.name
- The name of the parameter ornull
if no name is explicitly defined.modifiers
- The modifiers of the parameter ornull
if no modifiers are explicitly defined.index
- The index of the parameter.offset
- The parameter's offset in the local method variables array.
-
-
Method Details
-
getType
Returns the type of this parameter.- Returns:
- The type of this parameter.
-
getDeclaringMethod
Returns the method that declares this parameter.- Returns:
- The method that declares this parameter.
-
getIndex
public int getIndex()Returns this parameter's index.- Returns:
- The index of this parameter.
-
getOffset
public int getOffset()Returns the offset to the parameter value within the local method variable.- Specified by:
getOffset
in interfaceParameterDescription
- Overrides:
getOffset
in classParameterDescription.AbstractBase
- Returns:
- The offset of this parameter's value.
-
isNamed
public boolean isNamed()Returnstrue
if this element has an explicit name.- Returns:
true
if this element has an explicit name.
-
hasModifiers
public boolean hasModifiers()Checks if this parameter has an explicit modifier. A parameter without a modifier is simply treated as if it had a modifier of zero.- Returns:
true
if this parameter defines explicit modifiers.
-
getName
Returns the binary name of this byte code element. If no well-defined internal name is known for this element, the actual name is returned.- Specified by:
getName
in interfaceNamedElement.WithRuntimeName
- Overrides:
getName
in classParameterDescription.AbstractBase
- Returns:
- The binary ame of this byte code element as visible from within a running Java application.
-
getModifiers
public int getModifiers()Returns the modifier that is described by this object.- Specified by:
getModifiers
in interfaceModifierReviewable
- Overrides:
getModifiers
in classParameterDescription.AbstractBase
- Returns:
- The modifier that is described by this object.
-
getDeclaredAnnotations
Returns a list of annotations that are declared by this instance.- Returns:
- A list of declared annotations.
-