Package net.bytebuddy.asm
Class Advice.OffsetMapping.ForArgument
- java.lang.Object
-
- net.bytebuddy.asm.Advice.OffsetMapping.ForArgument
-
- All Implemented Interfaces:
Advice.OffsetMapping
- Direct Known Subclasses:
Advice.OffsetMapping.ForArgument.Resolved
,Advice.OffsetMapping.ForArgument.Unresolved
- Enclosing interface:
- Advice.OffsetMapping
@Enhance public abstract static class Advice.OffsetMapping.ForArgument extends java.lang.Object implements Advice.OffsetMapping
An offset mapping for a given parameter of the instrumented method.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Advice.OffsetMapping.ForArgument.Resolved
An offset mapping for a specific parameter of the instrumented method.static class
Advice.OffsetMapping.ForArgument.Unresolved
An offset mapping for a parameter of the instrumented method with a specific index.-
Nested classes/interfaces inherited from interface net.bytebuddy.asm.Advice.OffsetMapping
Advice.OffsetMapping.Factory<T extends java.lang.annotation.Annotation>, Advice.OffsetMapping.ForAllArguments, Advice.OffsetMapping.ForArgument, Advice.OffsetMapping.ForEnterValue, Advice.OffsetMapping.ForExitValue, Advice.OffsetMapping.ForField, Advice.OffsetMapping.ForInstrumentedMethod, Advice.OffsetMapping.ForInstrumentedType, Advice.OffsetMapping.ForLocalValue, Advice.OffsetMapping.ForOrigin, Advice.OffsetMapping.ForReturnValue, Advice.OffsetMapping.ForSerializedValue, Advice.OffsetMapping.ForStackManipulation, Advice.OffsetMapping.ForStubValue, Advice.OffsetMapping.ForThisReference, Advice.OffsetMapping.ForThrowable, Advice.OffsetMapping.ForUnusedValue, Advice.OffsetMapping.Sort, Advice.OffsetMapping.Target
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
readOnly
Determines if the parameter is to be treated as read-only.protected TypeDescription.Generic
target
The type expected by the advice method.private Assigner.Typing
typing
The typing to apply when assigning values.
-
Constructor Summary
Constructors Modifier Constructor Description protected
ForArgument(TypeDescription.Generic target, boolean readOnly, Assigner.Typing typing)
Creates a new offset mapping for a parameter of the instrumented method.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract ParameterDescription
resolve(MethodDescription instrumentedMethod)
Resolves the bound parameter.Advice.OffsetMapping.Target
resolve(TypeDescription instrumentedType, MethodDescription instrumentedMethod, Assigner assigner, Advice.ArgumentHandler argumentHandler, Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.
-
-
-
Field Detail
-
target
protected final TypeDescription.Generic target
The type expected by the advice method.
-
readOnly
protected final boolean readOnly
Determines if the parameter is to be treated as read-only.
-
typing
private final Assigner.Typing typing
The typing to apply when assigning values.
-
-
Constructor Detail
-
ForArgument
protected ForArgument(TypeDescription.Generic target, boolean readOnly, Assigner.Typing typing)
Creates a new offset mapping for a parameter of the instrumented method.- Parameters:
target
- The type expected by the advice method.readOnly
- Determines if the parameter is to be treated as read-only.typing
- The typing to apply.
-
-
Method Detail
-
resolve
public Advice.OffsetMapping.Target resolve(TypeDescription instrumentedType, MethodDescription instrumentedMethod, Assigner assigner, Advice.ArgumentHandler argumentHandler, Advice.OffsetMapping.Sort sort)
Resolves an offset mapping to a given target offset.- Specified by:
resolve
in interfaceAdvice.OffsetMapping
- Parameters:
instrumentedType
- The instrumented type.instrumentedMethod
- The instrumented method for which the mapping is to be resolved.assigner
- The assigner to use.argumentHandler
- The argument handler to use for resolving offsets of the local variable array of the instrumented method.sort
- The sort of the advice method being resolved.- Returns:
- A suitable target mapping.
-
resolve
protected abstract ParameterDescription resolve(MethodDescription instrumentedMethod)
Resolves the bound parameter.- Parameters:
instrumentedMethod
- The instrumented method.- Returns:
- The bound parameter.
-
-