Class Advice.MethodSizeHandler.Default.ForAdvice

java.lang.Object
net.bytebuddy.asm.Advice.MethodSizeHandler.Default.ForAdvice
All Implemented Interfaces:
Advice.MethodSizeHandler, Advice.MethodSizeHandler.ForAdvice
Enclosing class:
Advice.MethodSizeHandler.Default

protected class Advice.MethodSizeHandler.Default.ForAdvice extends Object implements Advice.MethodSizeHandler.ForAdvice
A method size handler for an advice method.
  • Field Details

    • typeToken

      private final MethodDescription.TypeToken typeToken
      The advice method.
    • baseLocalVariableLength

      private final int baseLocalVariableLength
      The base of the local variable length that is implied by the method instrumentation prior to applying this advice method.
    • stackSizePadding

      private int stackSizePadding
      The additional padding to apply to the operand stack.
    • localVariableLengthPadding

      private int localVariableLengthPadding
      The additional padding to apply to the local variable array.
  • Constructor Details

    • ForAdvice

      protected ForAdvice(MethodDescription.TypeToken typeToken, int baseLocalVariableLength)
      Creates a default method size handler for an advice method.
      Parameters:
      typeToken - The type token representing the advice.
      baseLocalVariableLength - The base of the local variable length that is implied by the method instrumentation prior to applying this advice method.
  • Method Details

    • requireStackSize

      public void requireStackSize(int stackSize)
      Records a minimum stack size required by the represented advice method.
      Specified by:
      requireStackSize in interface Advice.MethodSizeHandler
      Parameters:
      stackSize - The minimum size required by the represented advice method.
    • requireLocalVariableLength

      public void requireLocalVariableLength(int localVariableLength)
      Requires a minimum length of the local variable array.
      Specified by:
      requireLocalVariableLength in interface Advice.MethodSizeHandler
      Parameters:
      localVariableLength - The minimal required length of the local variable array.
    • requireStackSizePadding

      public void requireStackSizePadding(int stackSizePadding)
      Requires additional padding for the operand stack that is required for this advice's execution.
      Specified by:
      requireStackSizePadding in interface Advice.MethodSizeHandler.ForAdvice
      Parameters:
      stackSizePadding - The required padding.
    • requireLocalVariableLengthPadding

      public void requireLocalVariableLengthPadding(int localVariableLengthPadding)
      Requires additional padding for the local variable array that is required for this advice's execution.
      Specified by:
      requireLocalVariableLengthPadding in interface Advice.MethodSizeHandler.ForAdvice
      Parameters:
      localVariableLengthPadding - The required padding.
    • recordMaxima

      public void recordMaxima(int stackSize, int localVariableLength)
      Records the maximum values for stack size and local variable array which are required by the advice method for its individual execution without translation.
      Specified by:
      recordMaxima in interface Advice.MethodSizeHandler.ForAdvice
      Parameters:
      stackSize - The minimum required stack size.
      localVariableLength - The minimum required length of the local variable array.