Class MethodInvocation.DynamicInvocation
- java.lang.Object
-
- net.bytebuddy.implementation.bytecode.member.MethodInvocation.DynamicInvocation
-
- All Implemented Interfaces:
StackManipulation
- Enclosing class:
- MethodInvocation
protected class MethodInvocation.DynamicInvocation extends java.lang.Object implements StackManipulation
Performs a dynamic method invocation of the given method.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.StackManipulation
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Size, StackManipulation.Trivial
-
-
Constructor Summary
Constructors Constructor Description DynamicInvocation(java.lang.String methodName, TypeDescription returnType, java.util.List<? extends TypeDescription> parameterTypes, MethodDescription.InDefinedShape bootstrapMethod, java.util.List<?> arguments)Creates a new dynamic method invocation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StackManipulation.Sizeapply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)Applies the stack manipulation that is described by this instance.booleanequals(java.lang.Object other)inthashCode()booleanisValid()Determines if this stack manipulation is valid.
-
-
-
Constructor Detail
-
DynamicInvocation
public DynamicInvocation(java.lang.String methodName, TypeDescription returnType, java.util.List<? extends TypeDescription> parameterTypes, MethodDescription.InDefinedShape bootstrapMethod, java.util.List<?> arguments)Creates a new dynamic method invocation.- Parameters:
methodName- The internal name of the method that is to be bootstrapped.returnType- The return type of the method to be bootstrapped.parameterTypes- The type of the parameters to be bootstrapped.bootstrapMethod- The bootstrap method.arguments- The list of arguments to be handed over to the bootstrap method.
-
-
Method Detail
-
isValid
public boolean isValid()
Description copied from interface:StackManipulationDetermines if this stack manipulation is valid.- Specified by:
isValidin interfaceStackManipulation- Returns:
- If
false, this manipulation cannot be applied and should throw an exception.
-
apply
public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
Description copied from interface:StackManipulationApplies the stack manipulation that is described by this instance.- Specified by:
applyin interfaceStackManipulation- 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.
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-