protected abstract static class Advice.Dispatcher.Inlining.Resolved.ForMethodExit extends Advice.Dispatcher.Inlining.Resolved implements Advice.Dispatcher.Resolved.ForMethodExit
Modifier and Type | Class and Description |
---|---|
protected class |
Advice.Dispatcher.Inlining.Resolved.ForMethodExit.AdviceMethodInliner
An advice method inliner for a method exit.
|
protected static class |
Advice.Dispatcher.Inlining.Resolved.ForMethodExit.WithExceptionHandler
Implementation of exit advice that handles exceptions.
|
protected static class |
Advice.Dispatcher.Inlining.Resolved.ForMethodExit.WithoutExceptionHandler
Implementation of exit advice that ignores exceptions.
|
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter, Advice.Dispatcher.Inlining.Resolved.ForMethodExit
Advice.Dispatcher.Resolved.ForMethodEnter, Advice.Dispatcher.Resolved.ForMethodExit
Advice.Dispatcher.Bound, Advice.Dispatcher.Delegating, Advice.Dispatcher.Inactive, Advice.Dispatcher.Inlining, Advice.Dispatcher.OffsetMapping, Advice.Dispatcher.Resolved, Advice.Dispatcher.SuppressionHandler, Advice.Dispatcher.Unresolved
adviceMethod, classReader, offsetMappings, suppressionHandler
IGNORE_ANNOTATION, IGNORE_METHOD
Modifier | Constructor and Description |
---|---|
protected |
ForMethodExit(MethodDescription.InDefinedShape adviceMethod,
List<? extends Advice.Dispatcher.OffsetMapping.Factory> userFactories,
ClassReader classReader,
TypeDefinition enterType)
Creates a new resolved dispatcher for implementing method exit advice.
|
Modifier and Type | Method and Description |
---|---|
protected MethodVisitor |
apply(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler)
Applies a resolution for a given instrumented method.
|
Advice.Dispatcher.Bound.ForMethodExit |
bind(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler)
Binds this dispatcher for resolution to a specific method.
|
boolean |
equals(Object object) |
protected abstract StackSize |
getPadding()
Returns the additional padding this exit advice implies.
|
int |
hashCode() |
protected static Advice.Dispatcher.Resolved.ForMethodExit |
of(MethodDescription.InDefinedShape adviceMethod,
List<? extends Advice.Dispatcher.OffsetMapping.Factory> userFactories,
ClassReader classReader,
TypeDefinition enterType)
Resolves exit advice that handles exceptions depending on the specification of the exit advice.
|
isAlive
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
getThrowable
isAlive
protected ForMethodExit(MethodDescription.InDefinedShape adviceMethod, List<? extends Advice.Dispatcher.OffsetMapping.Factory> userFactories, ClassReader classReader, TypeDefinition enterType)
adviceMethod
- The represented advice method.userFactories
- A list of user-defined factories for offset mappings.classReader
- The class reader for parsing the advice method's class file.enterType
- The type of the value supplied by the enter advice method or
a description of void
if no such value exists.protected static Advice.Dispatcher.Resolved.ForMethodExit of(MethodDescription.InDefinedShape adviceMethod, List<? extends Advice.Dispatcher.OffsetMapping.Factory> userFactories, ClassReader classReader, TypeDefinition enterType)
adviceMethod
- The advice method.userFactories
- A list of user-defined factories for offset mappings.classReader
- The class reader for parsing the advice method's class file.enterType
- The type of the value supplied by the enter advice method or
a description of void
if no such value exists.protected MethodVisitor apply(MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler, Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler, TypeDescription instrumentedType, MethodDescription instrumentedMethod, Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler)
Advice.Dispatcher.Inlining.Resolved
apply
in class Advice.Dispatcher.Inlining.Resolved
methodVisitor
- A method visitor for writing byte code to the instrumented method.implementationContext
- The implementation context to use.assigner
- The assigner to use.methodSizeHandler
- A handler for computing the method size requirements.stackMapFrameHandler
- A handler for translating and injecting stack map frames.instrumentedType
- A description of the instrumented type.instrumentedMethod
- A description of the instrumented method.suppressionHandler
- The bound suppression handler that is used for suppressing exceptions of this advice method.public Advice.Dispatcher.Bound.ForMethodExit bind(TypeDescription instrumentedType, MethodDescription instrumentedMethod, MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler, Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler, StackManipulation exceptionHandler)
Advice.Dispatcher.Resolved
bind
in interface Advice.Dispatcher.Resolved
bind
in interface Advice.Dispatcher.Resolved.ForMethodExit
instrumentedType
- The instrumented type.instrumentedMethod
- The instrumented method.methodVisitor
- The method visitor for writing the instrumented method.implementationContext
- The implementation context to use.assigner
- The assigner to use.methodSizeHandler
- A handler for computing the method size requirements.stackMapFrameHandler
- A handler for translating and injecting stack map frames.exceptionHandler
- The stack manipulation to apply within a suppression handler.protected abstract StackSize getPadding()
public boolean equals(Object object)
equals
in class Advice.Dispatcher.Inlining.Resolved
public int hashCode()
hashCode
in class Advice.Dispatcher.Inlining.Resolved
Copyright © 2014–2017. All rights reserved.