Package net.bytebuddy.implementation
Class MethodCall.ArgumentLoader.ForMethodCall
- java.lang.Object
-
- net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodCall
-
- All Implemented Interfaces:
MethodCall.ArgumentLoader
- Enclosing interface:
- MethodCall.ArgumentLoader
@Enhance public static class MethodCall.ArgumentLoader.ForMethodCall extends java.lang.Object implements MethodCall.ArgumentLoader
Loads the return value of a method call onto the operand stack.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
MethodCall.ArgumentLoader.ForMethodCall.ArgumentProvider
An argument provider for a method call.protected static class
MethodCall.ArgumentLoader.ForMethodCall.Factory
A factory for an argument loaded that loads the return value of a method call as an argument.-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.MethodCall.ArgumentLoader
MethodCall.ArgumentLoader.ForField, MethodCall.ArgumentLoader.ForInstance, MethodCall.ArgumentLoader.ForInstrumentedType, MethodCall.ArgumentLoader.ForMethodCall, MethodCall.ArgumentLoader.ForMethodParameter, MethodCall.ArgumentLoader.ForMethodParameterArray, MethodCall.ArgumentLoader.ForMethodParameterArrayElement, MethodCall.ArgumentLoader.ForNullConstant, MethodCall.ArgumentLoader.ForStackManipulation, MethodCall.ArgumentLoader.ForThisReference
-
-
Field Summary
Fields Modifier and Type Field Description private MethodCall.Appender
appender
The method call's appender.private MethodDescription
instrumentedMethod
The instrumented method.private MethodDescription
methodDescription
The invoked method.private MethodCall.TargetHandler.Resolved
targetHandler
The resolved target handler to use.
-
Constructor Summary
Constructors Constructor Description ForMethodCall(MethodCall.Appender appender, MethodDescription methodDescription, MethodDescription instrumentedMethod, MethodCall.TargetHandler.Resolved targetHandler)
Creates a new argument loader for loading a method call's return value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulation
toStackManipulation(ParameterDescription target, Assigner assigner, Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
-
-
-
Field Detail
-
appender
private final MethodCall.Appender appender
The method call's appender.
-
methodDescription
private final MethodDescription methodDescription
The invoked method.
-
instrumentedMethod
private final MethodDescription instrumentedMethod
The instrumented method.
-
targetHandler
private final MethodCall.TargetHandler.Resolved targetHandler
The resolved target handler to use.
-
-
Constructor Detail
-
ForMethodCall
public ForMethodCall(MethodCall.Appender appender, MethodDescription methodDescription, MethodDescription instrumentedMethod, MethodCall.TargetHandler.Resolved targetHandler)
Creates a new argument loader for loading a method call's return value.- Parameters:
appender
- The method call's appender.methodDescription
- The invoked method.instrumentedMethod
- The instrumented method.targetHandler
- The resolved target handler to use.
-
-
Method Detail
-
toStackManipulation
public StackManipulation toStackManipulation(ParameterDescription target, Assigner assigner, Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.- Specified by:
toStackManipulation
in interfaceMethodCall.ArgumentLoader
- Parameters:
target
- The target parameter.assigner
- The assigner to be used.typing
- Indicates if dynamic type castings should be attempted for incompatible assignments.- Returns:
- The stack manipulation that loads the represented argument onto the stack.
-
-