T
- The type of the identification token.@HashCodeAndEqualsPlugin.Enhance public static class MethodDelegationBinder.ParameterBinding.Unique<T> extends Object implements MethodDelegationBinder.ParameterBinding<T>
MethodDelegationBinder.AmbiguityResolver
in order to resolve binding conflicts between several bindable target methods to the same source method.MethodDelegationBinder.AmbiguityResolver
MethodDelegationBinder.ParameterBinding.Anonymous, MethodDelegationBinder.ParameterBinding.Illegal, MethodDelegationBinder.ParameterBinding.Unique<T>
StackManipulation.Compound, StackManipulation.Size, StackManipulation.Trivial
Constructor and Description |
---|
Unique(StackManipulation delegate,
T identificationToken)
Creates a new unique parameter binding representant.
|
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.
|
T |
getIdentificationToken()
Returns an identification token for this binding.
|
boolean |
isValid()
Determines if this stack manipulation is valid.
|
static <S> MethodDelegationBinder.ParameterBinding.Unique<S> |
of(StackManipulation delegate,
S identificationToken)
A factory method for creating a unique binding that infers the tokens type.
|
public Unique(StackManipulation delegate, T identificationToken)
delegate
- The stack manipulation that loads the argument for this parameter onto the operand stack.identificationToken
- The token used for identifying this parameter binding.public static <S> MethodDelegationBinder.ParameterBinding.Unique<S> of(StackManipulation delegate, S identificationToken)
S
- The type of the identification token.delegate
- The stack manipulation delegate.identificationToken
- The identification token.public T getIdentificationToken()
MethodDelegationBinder.ParameterBinding
getIdentificationToken
in interface MethodDelegationBinder.ParameterBinding<T>
public boolean isValid()
StackManipulation
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)
StackManipulation
apply
in interface StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.Copyright © 2014–2018. All rights reserved.