Package net.bytebuddy.asm
Class Advice.OffsetMapping.ForStackManipulation
java.lang.Object
net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation
- All Implemented Interfaces:
Advice.OffsetMapping
- Enclosing interface:
Advice.OffsetMapping
@Enhance
public static class Advice.OffsetMapping.ForStackManipulation
extends Object
implements Advice.OffsetMapping
An offset mapping for binding a stack manipulation.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
A factory that binds a stack manipulation.static class
A factory for binding an annotation's property.static class
A factory for binding the annotated parameter's default value.static class
Uses dynamic method invocation for binding an annotated parameter to a value.Nested classes/interfaces inherited from interface net.bytebuddy.asm.Advice.OffsetMapping
Advice.OffsetMapping.ForAllArguments, Advice.OffsetMapping.ForArgument, Advice.OffsetMapping.ForDynamicConstant, Advice.OffsetMapping.ForEnterValue, Advice.OffsetMapping.ForExitValue, Advice.OffsetMapping.ForField, Advice.OffsetMapping.ForFieldHandle, Advice.OffsetMapping.ForHandle, Advice.OffsetMapping.ForInstrumentedMethod, Advice.OffsetMapping.ForInstrumentedType, Advice.OffsetMapping.ForLocalValue, Advice.OffsetMapping.ForOrigin, Advice.OffsetMapping.ForReturnValue, Advice.OffsetMapping.ForSelfCallHandle, 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
FieldsModifier and TypeFieldDescriptionprivate final StackManipulation
The stack manipulation that loads the bound value.private final TypeDescription.Generic
The target type of the annotated parameter.private final TypeDescription.Generic
The type of the loaded value.private final Assigner.Typing
The typing to apply. -
Constructor Summary
ConstructorsConstructorDescriptionForStackManipulation
(StackManipulation stackManipulation, TypeDescription.Generic typeDescription, TypeDescription.Generic targetType, Assigner.Typing typing) Creates an offset mapping that binds a stack manipulation. -
Method Summary
Modifier and TypeMethodDescriptionresolve
(TypeDescription instrumentedType, MethodDescription instrumentedMethod, Assigner assigner, Advice.ArgumentHandler argumentHandler, Advice.OffsetMapping.Sort sort) Resolves an offset mapping to a given target offset.
-
Field Details
-
stackManipulation
The stack manipulation that loads the bound value. -
typeDescription
The type of the loaded value. -
targetType
The target type of the annotated parameter. -
typing
The typing to apply.
-
-
Constructor Details
-
ForStackManipulation
public ForStackManipulation(StackManipulation stackManipulation, TypeDescription.Generic typeDescription, TypeDescription.Generic targetType, Assigner.Typing typing) Creates an offset mapping that binds a stack manipulation.- Parameters:
stackManipulation
- The stack manipulation that loads the bound value.typeDescription
- The type of the loaded value.targetType
- The target type of the annotated parameter.typing
- The typing to apply.
-
-
Method Details
-
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.
-