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 class
Advice.OffsetMapping.ForField.Resolved
A binding for an offset mapping that represents a specific field.static class
Advice.OffsetMapping.ForField.Unresolved
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 java.lang.annotation.Annotation>, Advice.OffsetMapping.ForAllArguments, Advice.OffsetMapping.ForArgument, Advice.OffsetMapping.ForEnterValue, Advice.OffsetMapping.ForExitValue, Advice.OffsetMapping.ForField, Advice.OffsetMapping.ForFieldHandle, 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.InDefinedShape
FIELD_DECLARING_TYPE
TheAdvice.FieldValue.declaringType()
} method.private static MethodDescription.InDefinedShape
FIELD_READ_ONLY
TheAdvice.FieldValue.readOnly()
} method.private static MethodDescription.InDefinedShape
FIELD_TYPING
TheAdvice.FieldValue.typing()
} method.private static MethodDescription.InDefinedShape
FIELD_VALUE
TheAdvice.FieldValue.value()
method.private boolean
readOnly
true
if this mapping is read-only.private TypeDescription.Generic
target
The expected type that the field can be assigned to.private Assigner.Typing
typing
The typing to apply.
-
Constructor Summary
Constructors Modifier Constructor Description protected
ForField(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 FieldDescription
resolve(TypeDescription instrumentedType, MethodDescription instrumentedMethod)
Resolves the field being bound.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
-
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
true
if 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
-true
if 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:
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.
-
-