Class Invokedynamic
- java.lang.Object
-
- net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase
-
- net.bytebuddy.implementation.bytecode.member.Invokedynamic
-
- All Implemented Interfaces:
StackManipulation
@Enhance public class Invokedynamic extends StackManipulation.AbstractBase
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
Fields Modifier and Type Field Description private java.util.List<? extends JavaConstant>
arguments
The constant arguments to the bootstrap method.private JavaConstant.MethodHandle
bootstrap
A handle to the bootstrap method.private java.lang.String
name
The name of the invokedynamic expression.private JavaConstant.MethodType
type
The type that is requested for the target.
-
Constructor Summary
Constructors Constructor Description Invokedynamic(java.lang.String name, JavaConstant.MethodType type, JavaConstant.MethodHandle bootstrap, java.util.List<? extends JavaConstant> arguments)
Creates a stack manipulation for a bootstrap method.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulation.Size
apply(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 Detail
-
name
private final java.lang.String name
The name of the invokedynamic expression.
-
type
private final JavaConstant.MethodType type
The type that is requested for the target.
-
bootstrap
private final JavaConstant.MethodHandle bootstrap
A handle to the bootstrap method.
-
arguments
private final java.util.List<? extends JavaConstant> arguments
The constant arguments to the bootstrap method.
-
-
Constructor Detail
-
Invokedynamic
public Invokedynamic(java.lang.String name, JavaConstant.MethodType type, JavaConstant.MethodHandle bootstrap, java.util.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 Detail
-
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.
-
-