Class SuperMethod.Binder.DelegationMethod

java.lang.Object
net.bytebuddy.implementation.bind.annotation.SuperMethod.Binder.DelegationMethod
All Implemented Interfaces:
StackManipulation
Enclosing class:
SuperMethod.Binder

@Enhance protected static class SuperMethod.Binder.DelegationMethod extends Object implements StackManipulation
Loads the delegation method constant onto the stack.
  • Field Details

    • specialMethodInvocation

      private final Implementation.SpecialMethodInvocation specialMethodInvocation
      The special method invocation that represents the super method call.
    • cached

      private final boolean cached
      true if the method constant should be cached.
    • privileged

      private final boolean privileged
      true if this method should be looked up using an java.security.AccessController.
  • Constructor Details

    • DelegationMethod

      protected DelegationMethod(Implementation.SpecialMethodInvocation specialMethodInvocation, boolean cached, boolean privileged)
      Creates a new delegation method.
      Parameters:
      specialMethodInvocation - The special method invocation that represents the super method call.
      cached - true if the method constant should be cached.
      privileged - true if this method should be looked up using an java.security.AccessController.
  • Method Details

    • 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.