@HashCodeAndEqualsPlugin.Enhance protected static class MethodInvocation.OfGenericMethod extends Object implements MethodInvocation.WithImplicitInvocationTargetType
StackManipulation.AbstractBase, StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.Simple, StackManipulation.Size, StackManipulation.Trivial| Modifier | Constructor and Description |
|---|---|
protected |
OfGenericMethod(TypeDescription targetType,
MethodInvocation.WithImplicitInvocationTargetType invocation)
Creates a generic method invocation.
|
| Modifier and Type | Method and Description |
|---|---|
StackManipulation.Size |
apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext)
Applies the stack manipulation that is described by this instance.
|
StackManipulation |
dynamic(String methodName,
TypeDescription returnType,
List<? extends TypeDescription> methodType,
List<? extends JavaConstant> arguments)
Invokes the method as a bootstrap method to bind a call site with the given properties.
|
boolean |
isValid()
Determines if this stack manipulation is valid.
|
protected static MethodInvocation.WithImplicitInvocationTargetType |
of(MethodDescription methodDescription,
MethodInvocation.WithImplicitInvocationTargetType invocation)
Creates a generic access dispatcher for a given method.
|
StackManipulation |
onHandle(MethodInvocation.HandleType type)
Invokes the method via a
MethodHandle. |
StackManipulation |
special(TypeDescription invocationTarget)
Transforms this method invocation into a special invocation on the given type.
|
StackManipulation |
virtual(TypeDescription invocationTarget)
Transforms this method invocation into a virtual (or interface) method invocation on the given type.
|
protected OfGenericMethod(TypeDescription targetType, MethodInvocation.WithImplicitInvocationTargetType invocation)
targetType - The generically resolved return type of the method.invocation - The invocation of the method in its defined shape.protected static MethodInvocation.WithImplicitInvocationTargetType of(MethodDescription methodDescription, MethodInvocation.WithImplicitInvocationTargetType invocation)
methodDescription - The generically resolved return type of the method.invocation - The invocation of the method in its defined shape.public StackManipulation virtual(TypeDescription invocationTarget)
virtual in interface MethodInvocation.WithImplicitInvocationTargetTypeinvocationTarget - The type on which the method is to be invoked virtually on.public StackManipulation special(TypeDescription invocationTarget)
special in interface MethodInvocation.WithImplicitInvocationTargetTypeinvocationTarget - The type on which the method is to be invoked specially on.public StackManipulation dynamic(String methodName, TypeDescription returnType, List<? extends TypeDescription> methodType, List<? extends JavaConstant> arguments)
dynamic in interface MethodInvocation.WithImplicitInvocationTargetTypemethodName - The name of the method to be bound.returnType - The return type of the method to be bound.methodType - The parameter types of the method to be bound.arguments - The arguments to be passed to the bootstrap method.public StackManipulation onHandle(MethodInvocation.HandleType type)
MethodHandle.onHandle in interface MethodInvocation.WithImplicitInvocationTargetTypetype - The type of invocation.public boolean isValid()
isValid in interface StackManipulationfalse, this manipulation cannot be applied and should throw an exception.public StackManipulation.Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext)
apply in interface StackManipulationmethodVisitor - The method visitor used to write the method implementation to.implementationContext - The context of the current implementation.Copyright © 2014–2023. All rights reserved.