Interface MethodCall.ArgumentLoader
- All Known Implementing Classes:
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
- Enclosing class:
MethodCall
public static interface MethodCall.ArgumentLoader
An argument loader is responsible for loading an argument for an invoked method
onto the operand stack.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceAn argument provider is responsible for providing an argument loader for each argument to supply to a method.static interfaceA factory that producesMethodCall.ArgumentLoaders for a given instrumented method.static classLoads the value of an existing field onto the operand stack.static classLoads a value onto the operand stack that is stored in a static field.static classLoads the instrumented type onto the operand stack.static classLoads the return value of a method call onto the operand stack.static classLoads a parameter of the instrumented method onto the operand stack.static classLoads an array containing all arguments of a method.static classAn argument loader that loads an element of a parameter of an array type.static enumAn argument loader that loads thenullvalue onto the operand stack.static classLoads a stack manipulation resulting in a specific type as an argument.static classAn argument loader that assigns thethisreference to a parameter. -
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.
-
Method Details
-
toStackManipulation
StackManipulation toStackManipulation(ParameterDescription target, Assigner assigner, Assigner.Typing typing) Loads the argument that is represented by this instance onto the operand stack.- 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.
-