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:
java.io.Serializable
,java.lang.Comparable<Advice.OffsetMapping.ForSelfCallHandle>
,Advice.OffsetMapping
- Enclosing interface:
- Advice.OffsetMapping
public static enum Advice.OffsetMapping.ForSelfCallHandle extends java.lang.Enum<Advice.OffsetMapping.ForSelfCallHandle> implements Advice.OffsetMapping
An offset mapping for assigning a method handle that invokes the instrumented method.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
Advice.OffsetMapping.ForSelfCallHandle.Factory
A factory for a self call method handle.-
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.ForFieldHandle, 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
-
-
Constructor Summary
Constructors Modifier Constructor Description private
ForSelfCallHandle()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract StackManipulation
decorate(MethodDescription methodDescription, StackManipulation stackManipulation)
Resolves a stack manipulation.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.static Advice.OffsetMapping.ForSelfCallHandle
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static Advice.OffsetMapping.ForSelfCallHandle[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
BOUND
public static final Advice.OffsetMapping.ForSelfCallHandle BOUND
A bound assignment that invokes the instrumented method as is.
-
UNBOUND
public static final Advice.OffsetMapping.ForSelfCallHandle UNBOUND
An unbound self call handle which requires manual assignment of parameters.
-
-
Method Detail
-
values
public static Advice.OffsetMapping.ForSelfCallHandle[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (Advice.OffsetMapping.ForSelfCallHandle c : Advice.OffsetMapping.ForSelfCallHandle.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static Advice.OffsetMapping.ForSelfCallHandle valueOf(java.lang.String name)
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:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- 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.
-
-