public class MethodHandleConstant extends Object implements StackManipulation
java.lang.invoke.MethodHandle
.StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.LegalTrivial, StackManipulation.Size
Modifier and Type | Method and Description |
---|---|
StackManipulation.Size |
apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext)
Applies the stack manipulation that is described by this instance.
|
boolean |
equals(Object other) |
int |
hashCode() |
boolean |
isValid()
Determines if this stack manipulation is valid.
|
static StackManipulation |
of(JavaInstance.MethodHandle methodHandle)
Creates stack manipulation for loading the provided method handle onto the operand stack.
|
static StackManipulation |
of(MethodDescription.InDefinedShape methodDescription)
Creates a method handle for a method.
|
static StackManipulation |
ofGetter(FieldDescription fieldDescription)
Creates a method handle for a field getter.
|
static StackManipulation |
ofPutter(FieldDescription fieldDescription)
Creates a method handle for a field putter.
|
String |
toString() |
public static StackManipulation of(MethodDescription.InDefinedShape methodDescription)
methodDescription
- The method for which a method handle is to be put onto the operand stack.public static StackManipulation of(JavaInstance.MethodHandle methodHandle)
methodHandle
- The method handle to load onto the operand stack.public static StackManipulation ofGetter(FieldDescription fieldDescription)
fieldDescription
- The field for which a get handle is to be put onto the operand stack.public static StackManipulation ofPutter(FieldDescription fieldDescription)
fieldDescription
- The field for which a put handle is to be put onto the operand stack.public boolean isValid()
StackManipulation
isValid
in interface StackManipulation
false
, this manipulation cannot be applied and should throw an exception.public StackManipulation.Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext)
StackManipulation
apply
in interface StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.Copyright © 2014–2015. All rights reserved.