Package net.bytebuddy.asm
Class Advice.OffsetMapping.ForHandle
java.lang.Object
net.bytebuddy.asm.Advice.OffsetMapping.ForHandle
- All Implemented Interfaces:
Advice.OffsetMapping
- Enclosing interface:
Advice.OffsetMapping
@Enhance
public static class Advice.OffsetMapping.ForHandle
extends Object
implements Advice.OffsetMapping
An offset mapping that describes a Java method handle that is resolved through the constant pool.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static enum
A factory for creating an offset mapping for a constant pool-stored method handle.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 String
The name of the method handle.private final TypeDescription
The owner of the handle, orvoid
for the instrumented type.private final List
<? extends TypeDescription> The parameter types required by the handle.private final TypeDescription
The type that is returned from the handle.private final JavaConstant.MethodHandle.HandleType
The type of the method handle. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ForHandle
(JavaConstant.MethodHandle.HandleType type, TypeDescription owner, String name, TypeDescription returnType, List<? extends TypeDescription> parameterTypes) Creates a new offset mapping for a method handle. -
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
-
type
The type of the method handle. -
owner
The owner of the handle, orvoid
for the instrumented type. -
name
The name of the method handle. -
returnType
The type that is returned from the handle. -
parameterTypes
The parameter types required by the handle.
-
-
Constructor Details
-
ForHandle
protected ForHandle(JavaConstant.MethodHandle.HandleType type, TypeDescription owner, String name, TypeDescription returnType, List<? extends TypeDescription> parameterTypes) Creates a new offset mapping for a method handle.- Parameters:
type
- The type of the method handle.owner
- The owner of the handle, orvoid
for the instrumented type.name
- The name of the method handle.returnType
- The type that is returned from the handle.parameterTypes
- The parameter types required by the handle.
-
-
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.
-