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 ClassesModifier and TypeInterfaceDescriptionstatic classA default implementation of a stack map frame handler for an instrumented method.static interfaceA stack map frame handler for an advice method.static interfaceA stack map frame handler for an instrumented method.static interfaceA stack map frame handler that can be used within a post processor.static enumA non-operational stack map frame handler. -
Method Summary
Modifier and TypeMethodDescriptionvoidinjectCompletionFrame(org.objectweb.asm.MethodVisitor methodVisitor) Injects a frame indicating the completion of the currently handled method, i.e.voidinjectExceptionFrame(org.objectweb.asm.MethodVisitor methodVisitor) Injects a frame indicating the beginning of an exception handler for the currently handled method.voidinjectReturnFrame(org.objectweb.asm.MethodVisitor methodVisitor) Injects a frame indicating the beginning of a return value handler for the currently handled method.voidtranslateFrame(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.
-