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 java.lang.Object implements Advice.OffsetMapping
An offset mapping for a field.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAdvice.OffsetMapping.ForField.ResolvedA binding for an offset mapping that represents a specific field.static classAdvice.OffsetMapping.ForField.UnresolvedAn 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 java.lang.annotation.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
Fields Modifier and Type Field Description private static MethodDescription.InDefinedShapeFIELD_DECLARING_TYPETheAdvice.FieldValue.declaringType()} method.private static MethodDescription.InDefinedShapeFIELD_READ_ONLYTheAdvice.FieldValue.readOnly()} method.private static MethodDescription.InDefinedShapeFIELD_TYPINGTheAdvice.FieldValue.typing()} method.private static MethodDescription.InDefinedShapeFIELD_VALUETheAdvice.FieldValue.value()method.private booleanreadOnlytrueif this mapping is read-only.private TypeDescription.GenerictargetThe expected type that the field can be assigned to.private Assigner.TypingtypingThe typing to apply.
-
Constructor Summary
Constructors Modifier Constructor Description protectedForField(TypeDescription.Generic target, boolean readOnly, Assigner.Typing typing)Creates an offset mapping for a field.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract FieldDescriptionresolve(TypeDescription instrumentedType, MethodDescription instrumentedMethod)Resolves the field being bound.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
-
FIELD_VALUE
private static final MethodDescription.InDefinedShape FIELD_VALUE
TheAdvice.FieldValue.value()method.
-
FIELD_DECLARING_TYPE
private static final MethodDescription.InDefinedShape FIELD_DECLARING_TYPE
TheAdvice.FieldValue.declaringType()} method.
-
FIELD_READ_ONLY
private static final MethodDescription.InDefinedShape FIELD_READ_ONLY
TheAdvice.FieldValue.readOnly()} method.
-
FIELD_TYPING
private static final MethodDescription.InDefinedShape FIELD_TYPING
TheAdvice.FieldValue.typing()} method.
-
target
private final TypeDescription.Generic target
The expected type that the field can be assigned to.
-
readOnly
private final boolean readOnly
trueif this mapping is read-only.
-
typing
private final Assigner.Typing typing
The typing to apply.
-
-
Constructor Detail
-
ForField
protected ForField(TypeDescription.Generic target, boolean readOnly, Assigner.Typing typing)
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 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.
-
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.
-
-