Package net.bytebuddy.implementation
Class FieldAccessor.ForSetter.Appender
- java.lang.Object
-
- net.bytebuddy.implementation.FieldAccessor.ForSetter.Appender
-
- All Implemented Interfaces:
ByteCodeAppender
- Enclosing class:
- FieldAccessor.ForSetter<T>
@Enhance(includeSyntheticFields=true) protected class FieldAccessor.ForSetter.Appender extends java.lang.Object implements ByteCodeAppender
An appender to implement a field setter.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.ByteCodeAppender
ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size
-
-
Field Summary
Fields Modifier and Type Field Description private FieldAccessor.FieldLocation.PreparedfieldLocationThe set field's prepared location.private TinitializedThe initialized value which might benull.private TypeDescriptioninstrumentedTypeThe instrumented type.
-
Constructor Summary
Constructors Modifier Constructor Description protectedAppender(TypeDescription instrumentedType, T initialized, FieldAccessor.FieldLocation.Prepared fieldLocation)Creates a new appender for a field setter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ByteCodeAppender.Sizeapply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)Applies this byte code appender to a type creation process.
-
-
-
Field Detail
-
instrumentedType
private final TypeDescription instrumentedType
The instrumented type.
-
initialized
@MaybeNull @ValueHandling(REVERSE_NULLABILITY) private final T initialized
The initialized value which might benull.
-
fieldLocation
private final FieldAccessor.FieldLocation.Prepared fieldLocation
The set field's prepared location.
-
-
Constructor Detail
-
Appender
protected Appender(TypeDescription instrumentedType, @MaybeNull T initialized, FieldAccessor.FieldLocation.Prepared fieldLocation)
Creates a new appender for a field setter.- Parameters:
instrumentedType- The instrumented type.initialized- The initialized value which might benull.fieldLocation- The set field's prepared location.
-
-
Method Detail
-
apply
public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.- Specified by:
applyin interfaceByteCodeAppender- Parameters:
methodVisitor- The method visitor to which the byte code appender writes its code to.implementationContext- The implementation context of the current type creation process.instrumentedMethod- The method that is the target of the instrumentation.- Returns:
- The required size for the applied byte code to run.
-
-