public static enum MethodDelegationBinder.MethodBinding.Illegal extends Enum<MethodDelegationBinder.MethodBinding.Illegal> implements MethodDelegationBinder.MethodBinding
MethodDelegationBinder
MethodDelegationBinder.MethodBinding.Builder, MethodDelegationBinder.MethodBinding.Illegal
StackManipulation.AbstractBase, StackManipulation.Compound, StackManipulation.Simple, StackManipulation.Size, StackManipulation.Trivial
Enum Constant and Description |
---|
INSTANCE
The singleton instance.
|
Modifier and Type | Method and Description |
---|---|
StackManipulation.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext)
Applies the stack manipulation that is described by this instance.
|
MethodDescription |
getTarget()
Returns the target method of the method binding attempt.
|
Integer |
getTargetParameterIndex(Object parameterBindingToken)
Returns the target method's parameter index for a given parameter binding token.
|
boolean |
isValid()
Determines if this stack manipulation is valid.
|
static MethodDelegationBinder.MethodBinding.Illegal |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static MethodDelegationBinder.MethodBinding.Illegal[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final MethodDelegationBinder.MethodBinding.Illegal INSTANCE
public static MethodDelegationBinder.MethodBinding.Illegal[] values()
for (MethodDelegationBinder.MethodBinding.Illegal c : MethodDelegationBinder.MethodBinding.Illegal.values()) System.out.println(c);
public static MethodDelegationBinder.MethodBinding.Illegal valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic Integer getTargetParameterIndex(Object parameterBindingToken)
A binding token can be any object that implements valid
Object.hashCode()
and Object.equals(Object)
methods in order
to look up a given binding. This way, two bindings can be evaluated of having performed a similar type of
binding such that these bindings can be compared and a dominant binding can be identified by an
MethodDelegationBinder.AmbiguityResolver
.
Furthermore, a binding is implicitly required to insure the uniqueness of such a parameter binding.getTargetParameterIndex
in interface MethodDelegationBinder.MethodBinding
parameterBindingToken
- A token which is used to identify a specific unique binding for a given parameter
of the target method.null
if no such argument binding
was applied for this binding.public MethodDescription getTarget()
getTarget
in interface MethodDelegationBinder.MethodBinding
public boolean isValid()
isValid
in interface StackManipulation
false
, this manipulation cannot be applied and should throw an exception.public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
apply
in interface StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.Copyright © 2014–2021. All rights reserved.