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 classAdvice.OffsetMapping.ForDynamicConstant.FactoryA 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>argumentsThe constant arguments that are provided to the boostrap method.private java.lang.StringbootstrapNameThe name of the bootstrap method.private TypeDescriptionbootstrapOwnerThe type that declares the bootstrap method, orvoidif the instrumented type.private java.util.List<? extends TypeDescription>bootstrapParameterTypesThe parameter types of the boostrap method.private TypeDescriptionbootstrapReturnTypeThe return type of the boostrap method.private JavaConstant.MethodHandle.HandleTypebootstrapTypeThe type of the bootstrap method.private booleaninvokedynamictrueif the dynamic constant should be resolved using invokedynamic.private java.lang.StringnameThe name of the dynamic constant as it is presented to the bootstrap method.private TypeDescriptiontypeDescriptionThe 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.Targetresolve(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, orvoidif 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
trueif 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:
resolvein 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.
-
-