Package net.bytebuddy.asm
Class Advice.OffsetMapping.ForDynamicConstant
java.lang.Object
net.bytebuddy.asm.Advice.OffsetMapping.ForDynamicConstant
- All Implemented Interfaces:
Advice.OffsetMapping
- Enclosing interface:
Advice.OffsetMapping
@Enhance
public static class Advice.OffsetMapping.ForDynamicConstant
extends Object
implements Advice.OffsetMapping
An offset mapping for a dynamic constant.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static enum
A factory for creating an offset mapping for a dynamic constant.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 List
<JavaConstant> The constant arguments that are provided to the boostrap method.private final String
The name of the bootstrap method.private final TypeDescription
The type that declares the bootstrap method, orvoid
if the instrumented type.private final List
<? extends TypeDescription> The parameter types of the boostrap method.private final TypeDescription
The return type of the boostrap method.private final JavaConstant.MethodHandle.HandleType
The type of the bootstrap method.private final boolean
true
if the dynamic constant should be resolved using invokedynamic.private final String
The name of the dynamic constant as it is presented to the bootstrap method.private final TypeDescription
The type of the dynamic constant. -
Constructor Summary
ConstructorsConstructorDescriptionForDynamicConstant
(String name, TypeDescription typeDescription, JavaConstant.MethodHandle.HandleType bootstrapType, TypeDescription bootstrapOwner, String bootstrapName, TypeDescription bootstrapReturnType, List<? extends TypeDescription> bootstrapParameterTypes, List<JavaConstant> arguments, boolean invokedynamic) -
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
-
name
The name of the dynamic constant as it is presented to the bootstrap method. -
typeDescription
The type of the dynamic constant. -
bootstrapType
The type of the bootstrap method. -
bootstrapOwner
The type that declares the bootstrap method, orvoid
if the instrumented type. -
bootstrapName
The name of the bootstrap method. -
bootstrapReturnType
The return type of the boostrap method. -
bootstrapParameterTypes
The parameter types of the boostrap method. -
arguments
The constant arguments that are provided to the boostrap method. -
invokedynamic
private final boolean invokedynamictrue
if the dynamic constant should be resolved using invokedynamic.
-
-
Constructor Details
-
ForDynamicConstant
public ForDynamicConstant(String name, TypeDescription typeDescription, JavaConstant.MethodHandle.HandleType bootstrapType, TypeDescription bootstrapOwner, String bootstrapName, TypeDescription bootstrapReturnType, List<? extends TypeDescription> bootstrapParameterTypes, List<JavaConstant> arguments, boolean invokedynamic)
-
-
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.
-