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 java.lang.Object implements Advice.OffsetMapping
An offset mapping for a dynamic constant.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
Advice.OffsetMapping.ForDynamicConstant.Factory
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
Fields Modifier and Type Field Description private java.util.List<JavaConstant>
arguments
The constant arguments that are provided to the boostrap method.private java.lang.String
bootstrapName
The name of the bootstrap method.private TypeDescription
bootstrapOwner
The type that declares the bootstrap method, orvoid
if the instrumented type.private java.util.List<? extends TypeDescription>
bootstrapParameterTypes
The parameter types of the boostrap method.private TypeDescription
bootstrapReturnType
The return type of the boostrap method.private JavaConstant.MethodHandle.HandleType
bootstrapType
The type of the bootstrap method.private boolean
invokedynamic
true
if the dynamic constant should be resolved using invokedynamic.private java.lang.String
name
The name of the dynamic constant as it is presented to the bootstrap method.private TypeDescription
typeDescription
The type of the dynamic constant.
-
Constructor Summary
Constructors Constructor Description ForDynamicConstant(java.lang.String name, TypeDescription typeDescription, JavaConstant.MethodHandle.HandleType bootstrapType, TypeDescription bootstrapOwner, java.lang.String bootstrapName, TypeDescription bootstrapReturnType, java.util.List<? extends TypeDescription> bootstrapParameterTypes, java.util.List<JavaConstant> arguments, boolean invokedynamic)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
Field Detail
-
name
private final java.lang.String name
The name of the dynamic constant as it is presented to the bootstrap method.
-
typeDescription
private final TypeDescription typeDescription
The type of the dynamic constant.
-
bootstrapType
private final JavaConstant.MethodHandle.HandleType bootstrapType
The type of the bootstrap method.
-
bootstrapOwner
private final TypeDescription bootstrapOwner
The type that declares the bootstrap method, orvoid
if the instrumented type.
-
bootstrapName
private final java.lang.String bootstrapName
The name of the bootstrap method.
-
bootstrapReturnType
private final TypeDescription bootstrapReturnType
The return type of the boostrap method.
-
bootstrapParameterTypes
private final java.util.List<? extends TypeDescription> bootstrapParameterTypes
The parameter types of the boostrap method.
-
arguments
private final java.util.List<JavaConstant> arguments
The constant arguments that are provided to the boostrap method.
-
invokedynamic
private final boolean invokedynamic
true
if the dynamic constant should be resolved using invokedynamic.
-
-
Constructor Detail
-
ForDynamicConstant
public ForDynamicConstant(java.lang.String name, TypeDescription typeDescription, JavaConstant.MethodHandle.HandleType bootstrapType, TypeDescription bootstrapOwner, java.lang.String bootstrapName, TypeDescription bootstrapReturnType, java.util.List<? extends TypeDescription> bootstrapParameterTypes, java.util.List<JavaConstant> arguments, boolean invokedynamic)
-
-
Method Detail
-
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.
-
-