@HashCodeAndEqualsPlugin.Enhance public static class MethodCall.ArgumentLoader.ForStackManipulation extends java.lang.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| Modifier and Type | Field and Description |
|---|---|
private StackManipulation |
stackManipulation
The stack manipulation to load.
|
private TypeDefinition |
typeDefinition
The type of the resulting value.
|
| Constructor and Description |
|---|
ForStackManipulation(StackManipulation stackManipulation,
java.lang.reflect.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(java.lang.Object value)
Creates an argument loader that loads the supplied value as a constant.
|
InstrumentedType |
prepare(InstrumentedType instrumentedType)
Prepares a given instrumented type.
|
java.util.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.
|
private final StackManipulation stackManipulation
private final TypeDefinition typeDefinition
public ForStackManipulation(StackManipulation stackManipulation, java.lang.reflect.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(java.lang.Object value)
value - The value to load as an argument or null.public InstrumentedType prepare(InstrumentedType instrumentedType)
prepare in interface InstrumentedType.PrepareableinstrumentedType - The instrumented type in its current form.public MethodCall.ArgumentLoader.ArgumentProvider make(Implementation.Target implementationTarget)
make in interface MethodCall.ArgumentLoader.FactoryimplementationTarget - The implementation target to use.public java.util.List<MethodCall.ArgumentLoader> resolve(MethodDescription instrumentedMethod, MethodDescription invokedMethod)
resolve in interface MethodCall.ArgumentLoader.ArgumentProviderinstrumentedMethod - The instrumented method.invokedMethod - The invoked method.public StackManipulation toStackManipulation(ParameterDescription target, Assigner assigner, Assigner.Typing typing)
toStackManipulation in interface MethodCall.ArgumentLoadertarget - The target parameter.assigner - The assigner to be used.typing - Indicates if dynamic type castings should be attempted for incompatible assignments.