Package net.bytebuddy.implementation
Class FieldAccessor.ForSetter.OfConstantValue
java.lang.Object
net.bytebuddy.implementation.FieldAccessor
net.bytebuddy.implementation.FieldAccessor.ForSetter<Void>
net.bytebuddy.implementation.FieldAccessor.ForSetter.OfConstantValue
- All Implemented Interfaces:
InstrumentedType.Prepareable
,Implementation
,Implementation.Composable
- Enclosing class:
FieldAccessor.ForSetter<T>
@Enhance
protected static class FieldAccessor.ForSetter.OfConstantValue
extends FieldAccessor.ForSetter<Void>
An instrumentation that sets a constant value to a field.
-
Nested Class Summary
Nested classes/interfaces inherited from class net.bytebuddy.implementation.FieldAccessor.ForSetter
FieldAccessor.ForSetter.Appender, FieldAccessor.ForSetter.OfConstantValue, FieldAccessor.ForSetter.OfDefaultValue, FieldAccessor.ForSetter.OfFieldValue, FieldAccessor.ForSetter.OfParameterValue, FieldAccessor.ForSetter.OfReferenceValue, FieldAccessor.ForSetter.TerminationHandler
Nested classes/interfaces inherited from class net.bytebuddy.implementation.FieldAccessor
FieldAccessor.AssignerConfigurable, FieldAccessor.FieldLocation, FieldAccessor.FieldNameExtractor, FieldAccessor.ForImplicitProperty, FieldAccessor.ForSetter<T>, FieldAccessor.OwnerTypeLocatable, FieldAccessor.PropertyConfigurable
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.Implementation
Implementation.Composable, Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.InstrumentedType.Prepareable
InstrumentedType.Prepareable.NoOp
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final StackManipulation
A stack manipulation to load the constant value.private final TypeDescription.Generic
The value's type.Fields inherited from class net.bytebuddy.implementation.FieldAccessor
assigner, fieldLocation, typing
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
OfConstantValue
(FieldAccessor.FieldLocation fieldLocation, Assigner assigner, Assigner.Typing typing, FieldAccessor.ForSetter.TerminationHandler terminationHandler, TypeDescription.Generic typeDescription, StackManipulation stackManipulation) Creates a setter instrumentation for setting a constant value. -
Method Summary
Modifier and TypeMethodDescriptionandThen
(Implementation implementation) Appends the supplied implementation to this implementation.andThen
(Implementation.Composable implementation) Appends the supplied composable implementation to this implementation.protected Void
initialize
(TypeDescription instrumentedType) Initializes a value to be used during method instrumentation.prepare
(InstrumentedType instrumentedType) Prepares a given instrumented type.protected StackManipulation
resolve
(Void unused, FieldDescription fieldDescription, TypeDescription instrumentedType, MethodDescription instrumentedMethod) Resolves the stack manipulation to load the value being set.Methods inherited from class net.bytebuddy.implementation.FieldAccessor.ForSetter
appender
Methods inherited from class net.bytebuddy.implementation.FieldAccessor
of, of, of, of, of, ofBeanProperty, ofField
-
Field Details
-
typeDescription
The value's type. -
stackManipulation
A stack manipulation to load the constant value.
-
-
Constructor Details
-
OfConstantValue
protected OfConstantValue(FieldAccessor.FieldLocation fieldLocation, Assigner assigner, Assigner.Typing typing, FieldAccessor.ForSetter.TerminationHandler terminationHandler, TypeDescription.Generic typeDescription, StackManipulation stackManipulation) Creates a setter instrumentation for setting a constant value.- Parameters:
fieldLocation
- The field's location.assigner
- The assigner to use.typing
- Indicates if dynamic type castings should be attempted for incompatible assignments.terminationHandler
- The termination handler to apply.typeDescription
- The value's type.stackManipulation
- A stack manipulation to load the constant value.
-
-
Method Details
-
prepare
Prepares a given instrumented type.- Parameters:
instrumentedType
- The instrumented type in its current form.- Returns:
- The prepared instrumented type.
-
initialize
Initializes a value to be used during method instrumentation.- Specified by:
initialize
in classFieldAccessor.ForSetter<Void>
- Parameters:
instrumentedType
- The instrumented type.- Returns:
- The initialized value.
-
resolve
protected StackManipulation resolve(@MaybeNull Void unused, FieldDescription fieldDescription, TypeDescription instrumentedType, MethodDescription instrumentedMethod) Resolves the stack manipulation to load the value being set.- Specified by:
resolve
in classFieldAccessor.ForSetter<Void>
- Parameters:
unused
- The method that was initialized for the instrumented type.fieldDescription
- The field to set the value for.instrumentedType
- The instrumented type.instrumentedMethod
- The instrumented method.- Returns:
- The stack manipulation to apply.
-
andThen
Appends the supplied implementation to this implementation.- Parameters:
implementation
- The subsequent implementation.- Returns:
- An implementation that combines this implementation with the provided one.
-
andThen
Appends the supplied composable implementation to this implementation.- Parameters:
implementation
- The subsequent composable implementation.- Returns:
- A composable implementation that combines this implementation with the provided one.
-