@HashCodeAndEqualsPlugin.Enhance(includeSyntheticFields=true) protected class MethodInvocation.DynamicInvocation extends java.lang.Object implements StackManipulation
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Size, StackManipulation.Trivial| Modifier and Type | Field and Description |
|---|---|
private java.util.List<?> |
arguments
The list of arguments to be handed over to the bootstrap method.
|
private MethodDescription.InDefinedShape |
bootstrapMethod
The bootstrap method.
|
private java.lang.String |
methodName
The internal name of the method that is to be bootstrapped.
|
private java.util.List<? extends TypeDescription> |
parameterTypes
The parameter types of the method to be bootstrapped.
|
private TypeDescription |
returnType
The return type of the method to be bootstrapped.
|
| Constructor and Description |
|---|
DynamicInvocation(java.lang.String methodName,
TypeDescription returnType,
java.util.List<? extends TypeDescription> parameterTypes,
MethodDescription.InDefinedShape bootstrapMethod,
java.util.List<?> arguments)
Creates a new dynamic method invocation.
|
| Modifier and Type | Method and Description |
|---|---|
StackManipulation.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext)
Applies the stack manipulation that is described by this instance.
|
boolean |
isValid()
Determines if this stack manipulation is valid.
|
private final java.lang.String methodName
private final TypeDescription returnType
private final java.util.List<? extends TypeDescription> parameterTypes
private final MethodDescription.InDefinedShape bootstrapMethod
private final java.util.List<?> arguments
public DynamicInvocation(java.lang.String methodName,
TypeDescription returnType,
java.util.List<? extends TypeDescription> parameterTypes,
MethodDescription.InDefinedShape bootstrapMethod,
java.util.List<?> arguments)
methodName - The internal name of the method that is to be bootstrapped.returnType - The return type of the method to be bootstrapped.parameterTypes - The type of the parameters to be bootstrapped.bootstrapMethod - The bootstrap method.arguments - The list of arguments to be handed over to the bootstrap method.public boolean isValid()
isValid in interface StackManipulationfalse, this manipulation cannot be applied and should throw an exception.public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
apply in interface StackManipulationmethodVisitor - The method visitor used to write the method implementation to.implementationContext - The context of the current implementation.