protected abstract static class Advice.Dispatcher.Inlining.CodeTranslationVisitor extends MethodVisitor implements Advice.Dispatcher.SuppressionHandler.ReturnValueProducer
Modifier and Type | Class and Description |
---|---|
protected static class |
Advice.Dispatcher.Inlining.CodeTranslationVisitor.ForMethodEnter
A code translation visitor that retains the return value of the represented advice method.
|
protected static class |
Advice.Dispatcher.Inlining.CodeTranslationVisitor.ForMethodExit
A code translation visitor that discards the return value of the represented advice method.
|
Modifier and Type | Field and Description |
---|---|
protected MethodDescription.InDefinedShape |
adviceMethod
The advice method.
|
protected Label |
endOfMethod
A label indicating the end of the advice byte code.
|
protected MethodDescription.InDefinedShape |
instrumentedMethod
The instrumented method.
|
protected Advice.StackMapFrameHandler.ForAdvice |
stackMapFrameHandler
A handler for translating and injecting stack map frames.
|
api, mv
Modifier | Constructor and Description |
---|---|
protected |
CodeTranslationVisitor(MethodVisitor methodVisitor,
Advice.MethodSizeHandler.ForAdvice methodSizeHandler,
Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler,
MethodDescription.InDefinedShape instrumentedMethod,
MethodDescription.InDefinedShape adviceMethod,
Map<Integer,Advice.Dispatcher.OffsetMapping.Target> offsetMappings,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler)
Creates a new code translation visitor.
|
Modifier and Type | Method and Description |
---|---|
protected abstract int |
adjust(int offset)
Adjusts the offset of a variable instruction within the advice method such that no arguments to
the instrumented method are overridden.
|
protected abstract void |
onMethodReturn()
Invoked after returning from the advice method.
|
AnnotationVisitor |
visitAnnotation(String descriptor,
boolean visible) |
AnnotationVisitor |
visitAnnotationDefault() |
void |
visitAttribute(Attribute attribute) |
void |
visitCode() |
void |
visitEnd() |
void |
visitFrame(int frameType,
int localVariableLength,
Object[] localVariable,
int stackSize,
Object[] stack) |
void |
visitIincInsn(int offset,
int increment) |
abstract void |
visitInsn(int opcode) |
void |
visitMaxs(int stackSize,
int localVariableLength) |
void |
visitParameter(String name,
int modifiers) |
AnnotationVisitor |
visitParameterAnnotation(int index,
String descriptor,
boolean visible) |
AnnotationVisitor |
visitTypeAnnotation(int typeReference,
TypePath typePath,
String descriptor,
boolean visible) |
void |
visitVarInsn(int opcode,
int offset) |
visitFieldInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeInsn
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
onDefaultValue
protected final Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler
protected final MethodDescription.InDefinedShape instrumentedMethod
protected final MethodDescription.InDefinedShape adviceMethod
protected final Label endOfMethod
protected CodeTranslationVisitor(MethodVisitor methodVisitor, Advice.MethodSizeHandler.ForAdvice methodSizeHandler, Advice.StackMapFrameHandler.ForAdvice stackMapFrameHandler, MethodDescription.InDefinedShape instrumentedMethod, MethodDescription.InDefinedShape adviceMethod, Map<Integer,Advice.Dispatcher.OffsetMapping.Target> offsetMappings, Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler)
methodVisitor
- A method visitor for writing the instrumented method's byte code.methodSizeHandler
- A handler for computing the method size requirements.stackMapFrameHandler
- A handler for translating and injecting stack map frames.instrumentedMethod
- The instrumented method.adviceMethod
- The advice method.offsetMappings
- A mapping of offsets to resolved target offsets in the instrumented method.suppressionHandler
- The suppression handler to use.public void visitParameter(String name, int modifiers)
visitParameter
in class MethodVisitor
public AnnotationVisitor visitAnnotationDefault()
visitAnnotationDefault
in class MethodVisitor
public AnnotationVisitor visitAnnotation(String descriptor, boolean visible)
visitAnnotation
in class MethodVisitor
public AnnotationVisitor visitTypeAnnotation(int typeReference, TypePath typePath, String descriptor, boolean visible)
visitTypeAnnotation
in class MethodVisitor
public AnnotationVisitor visitParameterAnnotation(int index, String descriptor, boolean visible)
visitParameterAnnotation
in class MethodVisitor
public void visitAttribute(Attribute attribute)
visitAttribute
in class MethodVisitor
public void visitCode()
visitCode
in class MethodVisitor
public void visitFrame(int frameType, int localVariableLength, Object[] localVariable, int stackSize, Object[] stack)
visitFrame
in class MethodVisitor
public void visitEnd()
visitEnd
in class MethodVisitor
public void visitMaxs(int stackSize, int localVariableLength)
visitMaxs
in class MethodVisitor
public void visitVarInsn(int opcode, int offset)
visitVarInsn
in class MethodVisitor
public void visitIincInsn(int offset, int increment)
visitIincInsn
in class MethodVisitor
protected abstract int adjust(int offset)
offset
- The original offset.public abstract void visitInsn(int opcode)
visitInsn
in class MethodVisitor
protected abstract void onMethodReturn()
Copyright © 2014–2016. All rights reserved.