@HashCodeAndEqualsPlugin.Enhance public static class MethodCall.ArgumentLoader.ForStackManipulation extends Object implements MethodCall.ArgumentLoader, MethodCall.ArgumentLoader.ArgumentProvider, MethodCall.ArgumentLoader.Factory
MethodCall.ArgumentLoader.ArgumentProvider, MethodCall.ArgumentLoader.Factory, 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
InstrumentedType.Prepareable.NoOp
Constructor and Description |
---|
ForStackManipulation(StackManipulation stackManipulation,
Type type)
Creates an argument loader that loads a stack manipulation as an argument.
|
ForStackManipulation(StackManipulation stackManipulation,
TypeDefinition typeDefinition)
Creates an argument loader that loads a stack manipulation as an argument.
|
Modifier and Type | Method and Description |
---|---|
MethodCall.ArgumentLoader.ArgumentProvider |
make(Implementation.Target implementationTarget)
Creates an argument provider for the supplied implementation target.
|
static MethodCall.ArgumentLoader.Factory |
of(Object value)
Creates an argument loader that loads the supplied value as a constant.
|
InstrumentedType |
prepare(InstrumentedType instrumentedType)
Prepares a given instrumented type.
|
List<MethodCall.ArgumentLoader> |
resolve(MethodDescription instrumentedMethod,
MethodDescription invokedMethod)
Resolves this provider to an argument loader for each provided argument.
|
StackManipulation |
toStackManipulation(ParameterDescription target,
Assigner assigner,
Assigner.Typing typing)
Loads the argument that is represented by this instance onto the operand stack.
|
public ForStackManipulation(StackManipulation stackManipulation, Type type)
stackManipulation
- The stack manipulation to load.type
- The type of the resulting value.public ForStackManipulation(StackManipulation stackManipulation, TypeDefinition typeDefinition)
stackManipulation
- The stack manipulation to load.typeDefinition
- The type of the resulting value.public static MethodCall.ArgumentLoader.Factory of(@MaybeNull Object value)
value
- The value to load as an argument or null
.public InstrumentedType prepare(InstrumentedType instrumentedType)
prepare
in interface InstrumentedType.Prepareable
instrumentedType
- The instrumented type in its current form.public MethodCall.ArgumentLoader.ArgumentProvider make(Implementation.Target implementationTarget)
make
in interface MethodCall.ArgumentLoader.Factory
implementationTarget
- The implementation target to use.public List<MethodCall.ArgumentLoader> resolve(MethodDescription instrumentedMethod, MethodDescription invokedMethod)
resolve
in interface MethodCall.ArgumentLoader.ArgumentProvider
instrumentedMethod
- The instrumented method.invokedMethod
- The invoked method.public StackManipulation toStackManipulation(ParameterDescription target, Assigner assigner, Assigner.Typing typing)
toStackManipulation
in interface MethodCall.ArgumentLoader
target
- The target parameter.assigner
- The assigner to be used.typing
- Indicates if dynamic type castings should be attempted for incompatible assignments.Copyright © 2014–2024. All rights reserved.