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.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 Implementation.Target
implementationTarget
The implementation target to use.private MethodDescription
instrumentedMethod
The instrumented method.private MethodCall
methodCall
The method call that is used.private MethodDescription
methodDescription
The description of the method call.
-
Constructor Summary
Constructors Constructor Description ForMethodCall(Implementation.Target implementationTarget, MethodCall methodCall, MethodDescription methodDescription, MethodDescription instrumentedMethod)
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
resolve(ParameterDescription target, Assigner assigner, Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
-
-
-
Field Detail
-
methodDescription
private final MethodDescription methodDescription
The description of the method call.
-
instrumentedMethod
private MethodDescription instrumentedMethod
The instrumented method.
-
implementationTarget
private Implementation.Target implementationTarget
The implementation target to use.
-
methodCall
private final MethodCall methodCall
The method call that is used.
-
-
Constructor Detail
-
ForMethodCall
public ForMethodCall(Implementation.Target implementationTarget, MethodCall methodCall, MethodDescription methodDescription, MethodDescription instrumentedMethod)
Creates a new argument loader for loading a method call's return value.- Parameters:
implementationTarget
- The implementation target to use.methodCall
- The method call returning the desired value.methodDescription
- The method call's description.instrumentedMethod
- The instrumented method.
-
-
Method Detail
-
resolve
public StackManipulation resolve(ParameterDescription target, Assigner assigner, Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.- Specified by:
resolve
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.
-
-