Package net.bytebuddy.implementation
Class FixedValue.ForArgument
- java.lang.Object
-
- net.bytebuddy.implementation.FixedValue
-
- net.bytebuddy.implementation.FixedValue.ForArgument
-
- All Implemented Interfaces:
InstrumentedType.Prepareable,ByteCodeAppender,FixedValue.AssignerConfigurable,Implementation
- Enclosing class:
- FixedValue
protected static class FixedValue.ForArgument extends FixedValue implements FixedValue.AssignerConfigurable, ByteCodeAppender
A fixed value implementation that returns a method's argument.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.bytebuddy.implementation.FixedValue
FixedValue.AssignerConfigurable, FixedValue.ForArgument, FixedValue.ForNullValue, FixedValue.ForOriginType, FixedValue.ForPoolValue, FixedValue.ForThisValue, FixedValue.ForValue
-
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.implementation.Implementation
Implementation.Composable, Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
-
-
Field Summary
-
Fields inherited from class net.bytebuddy.implementation.FixedValue
assigner, typing
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedForArgument(int index)Creates a new fixed value implementation that returns a method's argument.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ByteCodeAppenderappender(Implementation.Target implementationTarget)Creates a byte code appender that determines the implementation of the instrumented type's methods.ByteCodeAppender.Sizeapply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)Applies this byte code appender to a type creation process.InstrumentedTypeprepare(InstrumentedType instrumentedType)Prepares a given instrumented type.ImplementationwithAssigner(Assigner assigner, Assigner.Typing typing)Defines an explicit assigner to this fixed value implementation.
-
-
-
Method Detail
-
apply
public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
Description copied from interface:ByteCodeAppenderApplies 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.
-
appender
public ByteCodeAppender appender(Implementation.Target implementationTarget)
Description copied from interface:ImplementationCreates a byte code appender that determines the implementation of the instrumented type's methods.- Specified by:
appenderin interfaceImplementation- Parameters:
implementationTarget- The target of the current implementation.- Returns:
- A byte code appender for implementing methods delegated to this implementation. This byte code appender
is also responsible for handling methods that were added by this implementation on the call to
InstrumentedType.Prepareable.prepare(InstrumentedType).
-
prepare
public InstrumentedType prepare(InstrumentedType instrumentedType)
Description copied from interface:InstrumentedType.PrepareablePrepares a given instrumented type.- Specified by:
preparein interfaceInstrumentedType.Prepareable- Parameters:
instrumentedType- The instrumented type in its current form.- Returns:
- The prepared instrumented type.
-
withAssigner
public Implementation withAssigner(Assigner assigner, Assigner.Typing typing)
Description copied from interface:FixedValue.AssignerConfigurableDefines an explicit assigner to this fixed value implementation.- Specified by:
withAssignerin interfaceFixedValue.AssignerConfigurable- Parameters:
assigner- The assigner to use for assigning the fixed value to the return type of the instrumented value.typing- Indicates if dynamic type castings should be attempted for incompatible assignments.- Returns:
- A fixed value implementation that makes use of the given assigner.
-
-