Package net.bytebuddy.asm
Enum Advice.OffsetMapping.ForSelfCallHandle
java.lang.Object
java.lang.Enum<Advice.OffsetMapping.ForSelfCallHandle>
net.bytebuddy.asm.Advice.OffsetMapping.ForSelfCallHandle
- All Implemented Interfaces:
Serializable
,Comparable<Advice.OffsetMapping.ForSelfCallHandle>
,java.lang.constant.Constable
,Advice.OffsetMapping
- Enclosing interface:
Advice.OffsetMapping
public static enum Advice.OffsetMapping.ForSelfCallHandle
extends Enum<Advice.OffsetMapping.ForSelfCallHandle>
implements Advice.OffsetMapping
An offset mapping for assigning a method handle that invokes the instrumented method.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static enum
A factory for a self call method handle.Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
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
-
Enum Constant Summary
Enum Constants -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract StackManipulation
decorate
(MethodDescription methodDescription, StackManipulation stackManipulation) Resolves a stack manipulation.resolve
(TypeDescription instrumentedType, MethodDescription instrumentedMethod, Assigner assigner, Advice.ArgumentHandler argumentHandler, Advice.OffsetMapping.Sort sort) Resolves an offset mapping to a given target offset.Returns the enum constant of this type with the specified name.values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
BOUND
A bound assignment that invokes the instrumented method as is. -
UNBOUND
An unbound self call handle which requires manual assignment of parameters.
-
-
Constructor Details
-
ForSelfCallHandle
private ForSelfCallHandle()
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
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.
-
decorate
protected abstract StackManipulation decorate(MethodDescription methodDescription, StackManipulation stackManipulation) Resolves a stack manipulation.- Parameters:
methodDescription
- The method description being represented.stackManipulation
- The stack manipulation for the current method handle.- Returns:
- The decorated stack manipulation.
-