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 classMethodCall.ArgumentLoader.ForMethodCall.ArgumentProviderAn argument provider for a method call.protected static classMethodCall.ArgumentLoader.ForMethodCall.FactoryA 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.AppenderappenderThe method call's appender.private MethodDescriptioninstrumentedMethodThe instrumented method.private MethodDescriptionmethodDescriptionThe invoked method.private MethodCall.TargetHandler.ResolvedtargetHandlerThe 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 StackManipulationtoStackManipulation(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:
toStackManipulationin 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.
-
-