@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 StackManipulation
false
, 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 StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.