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.RequiringConsistentShape
,Advice.StackMapFrameHandler.Default.WithPreservedArguments.UsingArgumentCopy
,Advice.StackMapFrameHandler.NoOp
- Enclosing class:
- Advice
protected 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
Advice.StackMapFrameHandler.Default
A default implementation of a stack map frame handler for an instrumented method.static interface
Advice.StackMapFrameHandler.ForAdvice
A stack map frame handler for an advice method.static interface
Advice.StackMapFrameHandler.ForInstrumentedMethod
A stack map frame handler for an instrumented method.static class
Advice.StackMapFrameHandler.NoOp
A non-operational stack map frame handler.
-
Method Summary
All Methods Instance Methods Abstract Methods 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, java.lang.Object[] localVariable, int stackSize, java.lang.Object[] stack)
Translates a frame.
-
-
-
Method Detail
-
translateFrame
void translateFrame(org.objectweb.asm.MethodVisitor methodVisitor, int type, int localVariableLength, java.lang.Object[] localVariable, int stackSize, java.lang.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.
-
-