Package net.bytebuddy.implementation
Class Implementation.Context.Default.AccessorMethodDelegation
- java.lang.Object
-
- net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod
-
- net.bytebuddy.implementation.Implementation.Context.Default.DelegationRecord
-
- net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethodDelegation
-
- All Implemented Interfaces:
TypeWriter.MethodPool.Record,ByteCodeAppender
- Enclosing class:
- Implementation.Context.Default
@Enhance protected static class Implementation.Context.Default.AccessorMethodDelegation extends Implementation.Context.Default.DelegationRecord
An implementation of aTypeWriter.MethodPool.Recordfor implementing an accessor method.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge, TypeWriter.MethodPool.Record.ForDefinedMethod.WithAnnotationDefaultValue, TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody, TypeWriter.MethodPool.Record.ForDefinedMethod.WithoutBody
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.ByteCodeAppender
ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size
-
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record
TypeWriter.MethodPool.Record.AccessBridgeWrapper, TypeWriter.MethodPool.Record.ForDefinedMethod, TypeWriter.MethodPool.Record.ForNonImplementedMethod, TypeWriter.MethodPool.Record.Sort
-
-
Field Summary
Fields Modifier and Type Field Description private StackManipulationaccessorMethodInvocationThe stack manipulation that represents the requested special method invocation.-
Fields inherited from class net.bytebuddy.implementation.Implementation.Context.Default.DelegationRecord
methodDescription, visibility
-
-
Constructor Summary
Constructors Modifier Constructor Description privateAccessorMethodDelegation(MethodDescription.InDefinedShape methodDescription, Visibility visibility, StackManipulation accessorMethodInvocation)Creates a delegation to an accessor method.protectedAccessorMethodDelegation(TypeDescription instrumentedType, java.lang.String suffix, MethodAccessorFactory.AccessType accessType, Implementation.SpecialMethodInvocation specialMethodInvocation)Creates a delegation to an accessor method.
-
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.protected Implementation.Context.Default.DelegationRecordwith(MethodAccessorFactory.AccessType accessType)Returns this delegation record with the minimal visibility represented by the supplied access type.-
Methods inherited from class net.bytebuddy.implementation.Implementation.Context.Default.DelegationRecord
applyAttributes, applyBody, applyCode, applyHead, getMethod, getSort, getVisibility, prepend
-
Methods inherited from class net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod
apply
-
-
-
-
Field Detail
-
accessorMethodInvocation
private final StackManipulation accessorMethodInvocation
The stack manipulation that represents the requested special method invocation.
-
-
Constructor Detail
-
AccessorMethodDelegation
protected AccessorMethodDelegation(TypeDescription instrumentedType, java.lang.String suffix, MethodAccessorFactory.AccessType accessType, Implementation.SpecialMethodInvocation specialMethodInvocation)
Creates a delegation to an accessor method.- Parameters:
instrumentedType- The instrumented type.suffix- The suffix to append to the method.accessType- The access type.specialMethodInvocation- The actual method's invocation.
-
AccessorMethodDelegation
private AccessorMethodDelegation(MethodDescription.InDefinedShape methodDescription, Visibility visibility, StackManipulation accessorMethodInvocation)
Creates a delegation to an accessor method.- Parameters:
methodDescription- The accessor method.visibility- The method's visibility.accessorMethodInvocation- The actual method's invocation.
-
-
Method Detail
-
with
protected Implementation.Context.Default.DelegationRecord with(MethodAccessorFactory.AccessType accessType)
Description copied from class:Implementation.Context.Default.DelegationRecordReturns this delegation record with the minimal visibility represented by the supplied access type.- Specified by:
within classImplementation.Context.Default.DelegationRecord- Parameters:
accessType- The access type to enforce.- Returns:
- A new version of this delegation record with the minimal implied visibility.
-
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.- 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.
-
-