protected abstract static class Advice.Dispatcher.Active.CodeTranslationVisitor extends MethodVisitor
Modifier and Type | Class and Description |
---|---|
protected static class |
Advice.Dispatcher.Active.CodeTranslationVisitor.ReturnValueDiscarding
A code translation visitor that discards the return value of the represented advise method.
|
protected static class |
Advice.Dispatcher.Active.CodeTranslationVisitor.ReturnValueRetaining
A code translation visitor that retains the return value of the represented advise method.
|
Modifier and Type | Field and Description |
---|---|
protected MethodDescription.InDefinedShape |
adviseMethod
The advise method.
|
protected Label |
endOfMethod
A label indicating the end of the advise byte code.
|
protected MethodDescription.InDefinedShape |
instrumentedMethod
The instrumented method.
|
api, mv
Modifier | Constructor and Description |
---|---|
protected |
CodeTranslationVisitor(MethodVisitor methodVisitor,
MethodDescription.InDefinedShape instrumentedMethod,
MethodDescription.InDefinedShape adviseMethod,
Map<Integer,Integer> offsetMappings)
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 advise method such that no arguments to
the instrumented method are overridden.
|
AnnotationVisitor |
visitAnnotation(String descriptor,
boolean visible) |
AnnotationVisitor |
visitAnnotationDefault() |
void |
visitAttribute(Attribute attr) |
void |
visitCode() |
void |
visitEnd() |
void |
visitFrame(int type,
int nLocal,
Object[] local,
int nStack,
Object[] stack) |
abstract void |
visitInsn(int opcode) |
void |
visitLineNumber(int line,
Label start) |
void |
visitMaxs(int maxStack,
int maxLocals) |
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, visitIincInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLocalVariable, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeInsn
protected final MethodDescription.InDefinedShape instrumentedMethod
protected final MethodDescription.InDefinedShape adviseMethod
protected final Label endOfMethod
protected CodeTranslationVisitor(MethodVisitor methodVisitor, MethodDescription.InDefinedShape instrumentedMethod, MethodDescription.InDefinedShape adviseMethod, Map<Integer,Integer> offsetMappings)
methodVisitor
- A method visitor for writing the instrumented method's byte code.instrumentedMethod
- The instrumented method.adviseMethod
- The advise method.offsetMappings
- A mapping of offsets of the advise methods to their corresponding offsets in the instrumented method.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 attr)
visitAttribute
in class MethodVisitor
public void visitCode()
visitCode
in class MethodVisitor
public void visitFrame(int type, int nLocal, Object[] local, int nStack, Object[] stack)
visitFrame
in class MethodVisitor
public void visitLineNumber(int line, Label start)
visitLineNumber
in class MethodVisitor
public void visitEnd()
visitEnd
in class MethodVisitor
public void visitMaxs(int maxStack, int maxLocals)
visitMaxs
in class MethodVisitor
public void visitVarInsn(int opcode, int offset)
visitVarInsn
in class MethodVisitor
protected abstract int adjust(int offset)
offset
- The original offset.public abstract void visitInsn(int opcode)
visitInsn
in class MethodVisitor
Copyright © 2014–2016. All rights reserved.