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 Object
implements MethodCall.ArgumentLoader
Loads the return value of a method call onto the operand stack.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
An argument provider for a method call.protected static class
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
FieldsModifier and TypeFieldDescriptionprivate final MethodCall.Appender
The method call's appender.private final MethodDescription
The instrumented method.private final MethodDescription
The invoked method.private final MethodCall.TargetHandler.Resolved
The resolved target handler to use. -
Constructor Summary
ConstructorsConstructorDescriptionForMethodCall
(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
Modifier and TypeMethodDescriptiontoStackManipulation
(ParameterDescription target, Assigner assigner, Assigner.Typing typing) Loads the argument that is represented by this instance onto the operand stack.
-
Field Details
-
appender
The method call's appender. -
methodDescription
The invoked method. -
instrumentedMethod
The instrumented method. -
targetHandler
The resolved target handler to use.
-
-
Constructor Details
-
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 Details
-
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.
-