protected abstract static class Advice.StackMapFrameHandler.Default.WithPreservedArguments extends Advice.StackMapFrameHandler.Default
Modifier and Type | Class and Description |
---|---|
protected static class |
Advice.StackMapFrameHandler.Default.WithPreservedArguments.RequiringConsistentShape
A stack map frame handler that expects that the original argument frames remain preserved throughout the original invocation.
|
protected static class |
Advice.StackMapFrameHandler.Default.WithPreservedArguments.UsingArgumentCopy
A stack map frame handler that expects that an argument copy of the original method arguments was made.
|
Advice.StackMapFrameHandler.Default.ForAdvice, Advice.StackMapFrameHandler.Default.TranslationMode, Advice.StackMapFrameHandler.Default.Trivial, Advice.StackMapFrameHandler.Default.WithPreservedArguments
Advice.StackMapFrameHandler.Default, Advice.StackMapFrameHandler.ForInstrumentedMethod, Advice.StackMapFrameHandler.NoOp
currentFrameDivergence, EMPTY, expandFrames, initialTypes, instrumentedMethod, instrumentedType, postMethodTypes, preMethodTypes
Modifier | Constructor and Description |
---|---|
protected |
WithPreservedArguments(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
List<? extends TypeDescription> initialTypes,
List<? extends TypeDescription> preMethodTypes,
List<? extends TypeDescription> postMethodTypes,
boolean expandFrames)
Creates a new stack map frame handler that requires the stack map frames of the original arguments to be preserved.
|
Modifier and Type | Method and Description |
---|---|
Advice.StackMapFrameHandler.ForAdvice |
bindExit(MethodDescription.InDefinedShape adviceMethod)
Binds this meta data handler for the exit advice.
|
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 |
injectInitializationFrame(org.objectweb.asm.MethodVisitor methodVisitor)
Injects a frame after initialization if any initialization is performed.
|
void |
injectPostCompletionFrame(org.objectweb.asm.MethodVisitor methodVisitor)
Injects a frame indicating the completion of the currently handled method, i.e.
|
void |
injectReturnFrame(org.objectweb.asm.MethodVisitor methodVisitor)
Injects a frame indicating the beginning of a return value handler for the currently handled method.
|
bindEnter, getReaderHint, injectFullFrame, of, toFrame, translateFrame
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
injectStartFrame
translateFrame
protected WithPreservedArguments(TypeDescription instrumentedType, MethodDescription instrumentedMethod, List<? extends TypeDescription> initialTypes, List<? extends TypeDescription> preMethodTypes, List<? extends TypeDescription> postMethodTypes, boolean expandFrames)
instrumentedType
- The instrumented type.instrumentedMethod
- The instrumented method.initialTypes
- A list of virtual method arguments that are explicitly added before any code execution.preMethodTypes
- A list of virtual method arguments that are available before the instrumented method is executed.postMethodTypes
- A list of virtual method arguments that are available after the instrumented method has completed.expandFrames
- true
if the meta data handler is expected to expand its frames.public Advice.StackMapFrameHandler.ForAdvice bindExit(MethodDescription.InDefinedShape adviceMethod)
adviceMethod
- The exit advice method.public void injectReturnFrame(org.objectweb.asm.MethodVisitor methodVisitor)
methodVisitor
- The method visitor onto which to apply the stack map frame.public void injectExceptionFrame(org.objectweb.asm.MethodVisitor methodVisitor)
methodVisitor
- The method visitor onto which to apply the stack map frame.public void injectCompletionFrame(org.objectweb.asm.MethodVisitor methodVisitor)
methodVisitor
- The method visitor onto which to apply the stack map frame.public void injectPostCompletionFrame(org.objectweb.asm.MethodVisitor methodVisitor)
methodVisitor
- The method visitor onto which to apply the stack map frame.public void injectInitializationFrame(org.objectweb.asm.MethodVisitor methodVisitor)
methodVisitor
- The method visitor to write any frames to.Copyright © 2014–2018. All rights reserved.