protected abstract class Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner extends ClassVisitor implements Advice.Dispatcher.Bound
Modifier and Type | Class and Description |
---|---|
protected class |
Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableCollector
A visitor that only writes try-catch-finally blocks to the supplied method visitor.
|
protected class |
Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableExtractor
A class visitor that extracts the exception tables of the advice method.
|
protected class |
Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableSubstitutor
A label substitutor allows to visit an advice method a second time after the exception handlers were already written.
|
Advice.Dispatcher.Bound.ForMethodEnter, Advice.Dispatcher.Bound.ForMethodExit, Advice.Dispatcher.Bound.SkipHandler
Modifier and Type | Field and Description |
---|---|
protected ClassReader |
classReader
A class reader for parsing the class file containing the represented advice method.
|
protected MethodDescription.InDefinedShape |
instrumentedMethod
The instrumented method.
|
protected List<Label> |
labels
The labels that were found during parsing the method's exception handler in the order of their discovery.
|
protected Advice.MethodSizeHandler.ForInstrumentedMethod |
methodSizeHandler
A handler for computing the method size requirements.
|
protected MethodVisitor |
methodVisitor
The method visitor for writing the instrumented method.
|
protected Advice.StackMapFrameHandler.ForInstrumentedMethod |
stackMapFrameHandler
A handler for translating and injecting stack map frames.
|
protected Advice.Dispatcher.SuppressionHandler.Bound |
suppressionHandler
A bound suppression handler that is used for suppressing exceptions of this advice method.
|
api, cv
Modifier | Constructor and Description |
---|---|
protected |
AdviceMethodInliner(MethodDescription.InDefinedShape instrumentedMethod,
MethodVisitor methodVisitor,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
ClassReader classReader)
Creates a new advice method inliner.
|
Modifier and Type | Method and Description |
---|---|
protected void |
doApply()
Inlines the advice method.
|
void |
prepare()
Prepares the advice method's exception handlers.
|
MethodVisitor |
visitMethod(int modifiers,
String internalName,
String descriptor,
String signature,
String[] exception) |
visit, visitAnnotation, visitAttribute, visitEnd, visitField, visitInnerClass, visitOuterClass, visitSource, visitTypeAnnotation
protected final MethodDescription.InDefinedShape instrumentedMethod
protected final MethodVisitor methodVisitor
protected final Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler
protected final Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler
protected final Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler
protected final ClassReader classReader
protected AdviceMethodInliner(MethodDescription.InDefinedShape instrumentedMethod, MethodVisitor methodVisitor, Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler, Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler, Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler, ClassReader classReader)
instrumentedMethod
- The instrumented method.methodVisitor
- The method visitor for writing the instrumented method.methodSizeHandler
- A handler for computing the method size requirements.stackMapFrameHandler
- A handler for translating and injecting stack map frames.suppressionHandler
- A bound suppression handler that is used for suppressing exceptions of this advice method.classReader
- A class reader for parsing the class file containing the represented advice method.public void prepare()
Advice.Dispatcher.Bound
prepare
in interface Advice.Dispatcher.Bound
protected void doApply()
public MethodVisitor visitMethod(int modifiers, String internalName, String descriptor, String signature, String[] exception)
visitMethod
in class ClassVisitor
Copyright © 2014–2016. All rights reserved.