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 java.lang.Object implements Advice.OffsetMapping
An offset mapping for binding a stack manipulation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Advice.OffsetMapping.ForStackManipulation.Factory<T extends java.lang.annotation.Annotation>
A factory that binds a stack manipulation.static class
Advice.OffsetMapping.ForStackManipulation.OfAnnotationProperty<T extends java.lang.annotation.Annotation>
A factory for binding an annotation's property.static class
Advice.OffsetMapping.ForStackManipulation.OfDefaultValue<T extends java.lang.annotation.Annotation>
A factory for binding the annotated parameter's default value.-
Nested classes/interfaces inherited from interface net.bytebuddy.asm.Advice.OffsetMapping
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 private StackManipulation
stackManipulation
The stack manipulation that loads the bound value.private TypeDescription.Generic
targetType
The target type of the annotated parameter.private TypeDescription.Generic
typeDescription
The type of the loaded value.private Assigner.Typing
typing
The typing to apply.
-
Constructor Summary
Constructors Constructor Description ForStackManipulation(StackManipulation stackManipulation, TypeDescription.Generic typeDescription, TypeDescription.Generic targetType, Assigner.Typing typing)
Creates an offset mapping that binds a stack manipulation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
-
stackManipulation
private final StackManipulation stackManipulation
The stack manipulation that loads the bound value.
-
typeDescription
private final TypeDescription.Generic typeDescription
The type of the loaded value.
-
targetType
private final TypeDescription.Generic targetType
The target type of the annotated parameter.
-
typing
private final Assigner.Typing typing
The typing to apply.
-
-
Constructor Detail
-
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 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.
-
-