@HashCodeAndEqualsPlugin.Enhance public class HandleInvocation extends java.lang.Object implements StackManipulation
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Size, StackManipulation.Trivial| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
INVOKE_EXACT
The name of the
invokeExact method. |
private static java.lang.String |
METHOD_HANDLE_NAME
The name of the
java.lang.invoke.MethodHandle type. |
private JavaConstant.MethodType |
methodType
The method type of the invoked handle.
|
| Constructor and Description |
|---|
HandleInvocation(JavaConstant.MethodType methodType)
Creates a public invocation of a method handle.
|
| 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 static final java.lang.String METHOD_HANDLE_NAME
java.lang.invoke.MethodHandle type.private static final java.lang.String INVOKE_EXACT
invokeExact method.private final JavaConstant.MethodType methodType
public HandleInvocation(JavaConstant.MethodType methodType)
methodType - The method type of the invoked handle.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.