Class Advice.AssignReturned.DefaultValueSkip

java.lang.Object
net.bytebuddy.asm.Advice.AssignReturned.DefaultValueSkip
All Implemented Interfaces:
StackManipulation
Enclosing class:
Advice.AssignReturned

@Enhance protected static class Advice.AssignReturned.DefaultValueSkip extends Object implements StackManipulation
A stack manipulation that applies a null-check on the returned value which indicates if an assignment should be skipped, if discovered.
  • Field Details

  • Constructor Details

  • Method Details

    • of

      protected static StackManipulation of(StackManipulation stackManipulation, Advice.StackMapFrameHandler.ForPostProcessor stackMapFrameHandler, int offset, TypeDefinition typeDefinition)
      Resolves a skipping stack manipulation for the supplied type.
      Parameters:
      stackManipulation - The stack manipulation to wrap.
      stackMapFrameHandler - The stack map frame handler to use.
      offset - The offset of the value of the returned type.
      typeDefinition - The type that is returned by the advice method.
      Returns:
      A suitable stack manipulation.
    • 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.