Package net.bytebuddy.asm
Enum Advice.OffsetMapping.ForInstrumentedMethod
java.lang.Object
java.lang.Enum<Advice.OffsetMapping.ForInstrumentedMethod>
net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod
- All Implemented Interfaces:
Serializable
,Comparable<Advice.OffsetMapping.ForInstrumentedMethod>
,java.lang.constant.Constable
,Advice.OffsetMapping
- Enclosing interface:
Advice.OffsetMapping
public static enum Advice.OffsetMapping.ForInstrumentedMethod
extends Enum<Advice.OffsetMapping.ForInstrumentedMethod>
implements Advice.OffsetMapping
Maps a constant representing the instrumented method.
-
Nested Class Summary
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.Factory<T extends Annotation>, 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 ConstantsEnum ConstantDescriptionA constant that must be aConstructor
instance.A constant that must be ajava.lang.reflect.Executable
instance.A constant that must be aMethod
instance.A constant that must be ajava.lang.invoke.MethodHandle
instance.A constant that must be ajava.lang.invoke.MethodType
instance. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract boolean
isRepresentable
(MethodDescription instrumentedMethod) Checks if the supplied method is representable for the assigned offset mapping.protected abstract Advice.OffsetMapping.Target
resolve
(MethodDescription.InDefinedShape methodDescription) Resolves the target for a given method description.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
-
METHOD
A constant that must be aMethod
instance. -
CONSTRUCTOR
A constant that must be aConstructor
instance. -
EXECUTABLE
A constant that must be ajava.lang.reflect.Executable
instance. -
METHOD_HANDLE
A constant that must be ajava.lang.invoke.MethodHandle
instance. -
METHOD_TYPE
A constant that must be ajava.lang.invoke.MethodType
instance.
-
-
Constructor Details
-
ForInstrumentedMethod
private ForInstrumentedMethod()
-
-
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.
-
isRepresentable
Checks if the supplied method is representable for the assigned offset mapping.- Parameters:
instrumentedMethod
- The instrumented method to represent.- Returns:
true
if this method is representable.
-
resolve
protected abstract Advice.OffsetMapping.Target resolve(MethodDescription.InDefinedShape methodDescription) Resolves the target for a given method description.- Parameters:
methodDescription
- The method description for which to resolve a constant.- Returns:
- A suitable target.
-