Package net.bytebuddy.asm
Class Advice.OffsetMapping.ForField
java.lang.Object
net.bytebuddy.asm.Advice.OffsetMapping.ForField
- All Implemented Interfaces:
Advice.OffsetMapping
- Direct Known Subclasses:
Advice.OffsetMapping.ForField.Resolved
,Advice.OffsetMapping.ForField.Unresolved
- Enclosing interface:
Advice.OffsetMapping
@Enhance
public abstract static class Advice.OffsetMapping.ForField
extends Object
implements Advice.OffsetMapping
An offset mapping for a field.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
A binding for an offset mapping that represents a specific field.static class
An offset mapping for a field that is resolved from the instrumented type by its name.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
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final MethodDescription.InDefinedShape
TheAdvice.FieldValue.declaringType()
} method.private static final MethodDescription.InDefinedShape
TheAdvice.FieldValue.readOnly()
} method.private static final MethodDescription.InDefinedShape
TheAdvice.FieldValue.typing()
} method.private static final MethodDescription.InDefinedShape
TheAdvice.FieldValue.value()
method.private final boolean
true
if this mapping is read-only.private final TypeDescription.Generic
The expected type that the field can be assigned to.private final Assigner.Typing
The typing to apply. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ForField
(TypeDescription.Generic target, boolean readOnly, Assigner.Typing typing) Creates an offset mapping for a field. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract FieldDescription
resolve
(TypeDescription instrumentedType, MethodDescription instrumentedMethod) Resolves the field being bound.resolve
(TypeDescription instrumentedType, MethodDescription instrumentedMethod, Assigner assigner, Advice.ArgumentHandler argumentHandler, Advice.OffsetMapping.Sort sort) Resolves an offset mapping to a given target offset.
-
Field Details
-
FIELD_VALUE
TheAdvice.FieldValue.value()
method. -
FIELD_DECLARING_TYPE
TheAdvice.FieldValue.declaringType()
} method. -
FIELD_READ_ONLY
TheAdvice.FieldValue.readOnly()
} method. -
FIELD_TYPING
TheAdvice.FieldValue.typing()
} method. -
target
The expected type that the field can be assigned to. -
readOnly
private final boolean readOnlytrue
if this mapping is read-only. -
typing
The typing to apply.
-
-
Constructor Details
-
ForField
Creates an offset mapping for a field.- Parameters:
target
- The target type.readOnly
-true
if this mapping is read-only.typing
- The typing to apply.
-
-
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.
-
resolve
protected abstract FieldDescription resolve(TypeDescription instrumentedType, MethodDescription instrumentedMethod) Resolves the field being bound.- Parameters:
instrumentedType
- The instrumented type.instrumentedMethod
- The instrumented method.- Returns:
- The field being bound.
-