Class Invokedynamic
java.lang.Object
net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase
net.bytebuddy.implementation.bytecode.member.Invokedynamic
- All Implemented Interfaces:
StackManipulation
A stack manipulation for an invokedynamic invocation.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.StackManipulation
StackManipulation.AbstractBase, StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Simple, StackManipulation.Size, StackManipulation.Trivial
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List
<? extends JavaConstant> The constant arguments to the bootstrap method.private final JavaConstant.MethodHandle
A handle to the bootstrap method.private final String
The name of the invokedynamic expression.private final JavaConstant.MethodType
The type that is requested for the target. -
Constructor Summary
ConstructorsConstructorDescriptionInvokedynamic
(String name, JavaConstant.MethodType type, JavaConstant.MethodHandle bootstrap, List<? extends JavaConstant> arguments) Creates a stack manipulation for a bootstrap method. -
Method Summary
Modifier and TypeMethodDescriptionapply
(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext) Applies the stack manipulation that is described by this instance.Methods inherited from class net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase
isValid
-
Field Details
-
name
The name of the invokedynamic expression. -
type
The type that is requested for the target. -
bootstrap
A handle to the bootstrap method. -
arguments
The constant arguments to the bootstrap method.
-
-
Constructor Details
-
Invokedynamic
public Invokedynamic(String name, JavaConstant.MethodType type, JavaConstant.MethodHandle bootstrap, List<? extends JavaConstant> arguments) Creates a stack manipulation for a bootstrap method.- Parameters:
name
- The name of the invokedynamic expression.type
- The type that is requested for the target.bootstrap
- A handle to the bootstrap method.arguments
- The constant arguments to the bootstrap method.
-
-
Method Details
-
apply
public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext) Applies the stack manipulation that is described by this instance.- Parameters:
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.- Returns:
- The changes to the size of the operand stack that are implied by this stack manipulation.
-