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.ForInstrumentedMethod, Advice.OffsetMapping.ForInstrumentedType, Advice.OffsetMapping.ForLocalValue, Advice.OffsetMapping.ForOrigin, Advice.OffsetMapping.ForReturnValue, 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
DECLARING_TYPE
TheAdvice.FieldValue.declaringType()
} method.private static MethodDescription.InDefinedShape
READ_ONLY
TheAdvice.FieldValue.readOnly()
} 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.private static MethodDescription.InDefinedShape
TYPING
TheAdvice.FieldValue.typing()
} method.private static MethodDescription.InDefinedShape
VALUE
TheAdvice.FieldValue.value()
method.
-
Constructor Summary
Constructors Constructor Description 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
-
VALUE
private static final MethodDescription.InDefinedShape VALUE
TheAdvice.FieldValue.value()
method.
-
DECLARING_TYPE
private static final MethodDescription.InDefinedShape DECLARING_TYPE
TheAdvice.FieldValue.declaringType()
} method.
-
READ_ONLY
private static final MethodDescription.InDefinedShape READ_ONLY
TheAdvice.FieldValue.readOnly()
} method.
-
TYPING
private static final MethodDescription.InDefinedShape 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
public 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.
-
-