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 classA binding for an offset mapping that represents a specific field.static classAn offset mapping for a field that is resolved from the instrumented type by its name.Nested classes/interfaces inherited from interface Advice.OffsetMapping
Advice.OffsetMapping.Factory<T>, 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.InDefinedShapeTheAdvice.FieldValue.declaringType()} method.private static final MethodDescription.InDefinedShapeTheAdvice.FieldValue.readOnly()} method.private static final MethodDescription.InDefinedShapeTheAdvice.FieldValue.typing()} method.private static final MethodDescription.InDefinedShapeTheAdvice.FieldValue.value()method.private final booleantrueif this mapping is read-only.private final TypeDescription.GenericThe expected type that the field can be assigned to.private final Assigner.TypingThe typing to apply. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedForField(TypeDescription.Generic target, boolean readOnly, Assigner.Typing typing) Creates an offset mapping for a field. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract FieldDescriptionresolve(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 readOnlytrueif 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-trueif 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:
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.
-
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.
-