Class MethodDelegationBinder.ParameterBinding.Anonymous

java.lang.Object
net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Anonymous
All Implemented Interfaces:
MethodDelegationBinder.ParameterBinding<Object>, StackManipulation
Enclosing interface:
MethodDelegationBinder.ParameterBinding<T>

@Enhance public static class MethodDelegationBinder.ParameterBinding.Anonymous extends Object implements MethodDelegationBinder.ParameterBinding<Object>
An anonymous binding of a target method parameter.
  • Field Details

    • anonymousToken

      @ValueHandling(IGNORE) private final Object anonymousToken
      A pseudo-token that is not exposed and therefore anonymous.
    • delegate

      private final StackManipulation delegate
      The stack manipulation that represents the loading of the parameter binding onto the stack.
  • Constructor Details

    • Anonymous

      public Anonymous(StackManipulation delegate)
      Creates a new, anonymous parameter binding.
      Parameters:
      delegate - The stack manipulation that is responsible for loading the parameter value for this target method parameter onto the stack.
  • Method Details

    • getIdentificationToken

      public Object getIdentificationToken()
      Returns an identification token for this binding.
      Specified by:
      getIdentificationToken in interface MethodDelegationBinder.ParameterBinding<Object>
      Returns:
      An identification token unique to this binding.
    • isValid

      public boolean isValid()
      Determines if this stack manipulation is valid.
      Specified by:
      isValid in interface StackManipulation
      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)
      Applies the stack manipulation that is described by this instance.
      Specified by:
      apply in interface StackManipulation
      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.