Interface Advice.StackMapFrameHandler

All Known Subinterfaces:
Advice.StackMapFrameHandler.ForAdvice, Advice.StackMapFrameHandler.ForInstrumentedMethod
All Known Implementing Classes:
Advice.StackMapFrameHandler.Default, Advice.StackMapFrameHandler.Default.ForAdvice, Advice.StackMapFrameHandler.Default.Trivial, Advice.StackMapFrameHandler.Default.WithPreservedArguments, Advice.StackMapFrameHandler.Default.WithPreservedArguments.WithArgumentCopy, Advice.StackMapFrameHandler.Default.WithPreservedArguments.WithoutArgumentCopy, Advice.StackMapFrameHandler.NoOp
Enclosing class:
Advice

public static interface Advice.StackMapFrameHandler
A handler for computing and translating stack map frames.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static class 
    A default implementation of a stack map frame handler for an instrumented method.
    static interface 
    A stack map frame handler for an advice method.
    static interface 
    A stack map frame handler for an instrumented method.
    static interface 
    A stack map frame handler that can be used within a post processor.
    static enum 
    A non-operational stack map frame handler.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    injectCompletionFrame(org.objectweb.asm.MethodVisitor methodVisitor)
    Injects a frame indicating the completion of the currently handled method, i.e.
    void
    injectExceptionFrame(org.objectweb.asm.MethodVisitor methodVisitor)
    Injects a frame indicating the beginning of an exception handler for the currently handled method.
    void
    injectReturnFrame(org.objectweb.asm.MethodVisitor methodVisitor)
    Injects a frame indicating the beginning of a return value handler for the currently handled method.
    void
    translateFrame(org.objectweb.asm.MethodVisitor methodVisitor, int type, int localVariableLength, Object[] localVariable, int stackSize, Object[] stack)
    Translates a frame.
  • Method Details

    • translateFrame

      void translateFrame(org.objectweb.asm.MethodVisitor methodVisitor, int type, int localVariableLength, @MaybeNull Object[] localVariable, int stackSize, @MaybeNull Object[] stack)
      Translates a frame.
      Parameters:
      methodVisitor - The method visitor to write the frame to.
      type - The frame's type.
      localVariableLength - The local variable length.
      localVariable - An array containing the types of the current local variables.
      stackSize - The size of the operand stack.
      stack - An array containing the types of the current operand stack.
    • injectReturnFrame

      void injectReturnFrame(org.objectweb.asm.MethodVisitor methodVisitor)
      Injects a frame indicating the beginning of a return value handler for the currently handled method.
      Parameters:
      methodVisitor - The method visitor onto which to apply the stack map frame.
    • injectExceptionFrame

      void injectExceptionFrame(org.objectweb.asm.MethodVisitor methodVisitor)
      Injects a frame indicating the beginning of an exception handler for the currently handled method.
      Parameters:
      methodVisitor - The method visitor onto which to apply the stack map frame.
    • injectCompletionFrame

      void injectCompletionFrame(org.objectweb.asm.MethodVisitor methodVisitor)
      Injects a frame indicating the completion of the currently handled method, i.e. all yielded types were added.
      Parameters:
      methodVisitor - The method visitor onto which to apply the stack map frame.