Package net.bytebuddy.asm
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 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 TypeMethodDescriptionvoid
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.
-