protected static class Advice.StackMapFrameHandler.Default.WithPreservedArguments.UsingArgumentCopy extends Advice.StackMapFrameHandler.Default.WithPreservedArguments
Advice.StackMapFrameHandler.Default.WithPreservedArguments.RequiringConsistentShape, Advice.StackMapFrameHandler.Default.WithPreservedArguments.UsingArgumentCopy
Advice.StackMapFrameHandler.Default.ForAdvice, Advice.StackMapFrameHandler.Default.Initialization, 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 |
UsingArgumentCopy(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 expects an argument copy.
|
Modifier and Type | Method and Description |
---|---|
void |
injectStartFrame(org.objectweb.asm.MethodVisitor methodVisitor)
Injects a frame before executing the instrumented method.
|
void |
translateFrame(org.objectweb.asm.MethodVisitor methodVisitor,
int type,
int localVariableLength,
Object[] localVariable,
int stackSize,
Object[] stack)
Translates a frame.
|
bindExit, injectCompletionFrame, injectExceptionFrame, injectInitializationFrame, injectPostCompletionFrame, injectReturnFrame
bindEnter, getReaderHint, injectFullFrame, of, translateFrame
protected UsingArgumentCopy(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 void injectStartFrame(org.objectweb.asm.MethodVisitor methodVisitor)
methodVisitor
- The method visitor to write any frames to.public void translateFrame(org.objectweb.asm.MethodVisitor methodVisitor, int type, int localVariableLength, Object[] localVariable, int stackSize, Object[] stack)
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.Copyright © 2014–2019. All rights reserved.