@HashCodeAndEqualsPlugin.Enhance protected abstract static class Advice.Dispatcher.Delegating.Resolved.ForMethodExit extends Advice.Dispatcher.Delegating.Resolved implements Advice.Dispatcher.Resolved.ForMethodExit
Modifier and Type | Class and Description |
---|---|
protected static class |
Advice.Dispatcher.Delegating.Resolved.ForMethodExit.WithExceptionHandler
Implementation of exit advice that handles exceptions.
|
protected static class |
Advice.Dispatcher.Delegating.Resolved.ForMethodExit.WithoutExceptionHandler
Implementation of exit advice that ignores exceptions.
|
Advice.Dispatcher.Delegating.Resolved.AdviceMethodWriter, Advice.Dispatcher.Delegating.Resolved.ForMethodEnter, Advice.Dispatcher.Delegating.Resolved.ForMethodExit
Advice.Dispatcher.Resolved.AbstractBase, Advice.Dispatcher.Resolved.ForMethodEnter, Advice.Dispatcher.Resolved.ForMethodExit
Advice.Dispatcher.Bound, Advice.Dispatcher.Delegating, Advice.Dispatcher.Inactive, Advice.Dispatcher.Inlining, Advice.Dispatcher.RelocationHandler, Advice.Dispatcher.Resolved, Advice.Dispatcher.SuppressionHandler, Advice.Dispatcher.Unresolved
adviceMethod, offsetMappings, relocationHandler, suppressionHandler
IGNORE_ANNOTATION, IGNORE_METHOD
Modifier | Constructor and Description |
---|---|
protected |
ForMethodExit(MethodDescription.InDefinedShape adviceMethod,
Map<String,TypeDefinition> namedTypes,
List<? extends Advice.OffsetMapping.Factory<?>> userFactories,
TypeDefinition enterType)
Creates a new resolved dispatcher for implementing method exit advice.
|
Modifier and Type | Method and Description |
---|---|
TypeDefinition |
getAdviceType()
The type that is produced as a result of executing this advice method.
|
Advice.ArgumentHandler.Factory |
getArgumentHandlerFactory()
Returns a factory for creating an
Advice.ArgumentHandler . |
protected static Advice.Dispatcher.Resolved.ForMethodExit |
of(MethodDescription.InDefinedShape adviceMethod,
Map<String,TypeDefinition> namedTypes,
List<? extends Advice.OffsetMapping.Factory<?>> userFactories,
TypeDefinition enterType)
Resolves exit advice that handles exceptions depending on the specification of the exit advice.
|
protected Advice.Dispatcher.Bound |
resolve(TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
StackManipulation exceptionHandler,
Advice.Dispatcher.RelocationHandler.Relocation relocation)
Binds this dispatcher for resolution to a specific method.
|
bind
isAlive
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getThrowable
bind
isAlive
protected ForMethodExit(MethodDescription.InDefinedShape adviceMethod, Map<String,TypeDefinition> namedTypes, List<? extends Advice.OffsetMapping.Factory<?>> userFactories, TypeDefinition enterType)
adviceMethod
- The represented advice method.namedTypes
- A mapping of all available local variables by their name to their type.userFactories
- A list of user-defined factories for offset mappings.enterType
- The type of the value supplied by the enter advice method or void
if no such value exists.protected static Advice.Dispatcher.Resolved.ForMethodExit of(MethodDescription.InDefinedShape adviceMethod, Map<String,TypeDefinition> namedTypes, List<? extends Advice.OffsetMapping.Factory<?>> userFactories, TypeDefinition enterType)
adviceMethod
- The advice method.namedTypes
- A mapping of all available local variables by their name to their type.userFactories
- A list of user-defined factories for offset mappings.enterType
- The type of the value supplied by the enter advice method or void
if no such value exists.protected Advice.Dispatcher.Bound resolve(TypeDescription instrumentedType, MethodDescription instrumentedMethod, org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler, Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler, Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler, StackManipulation exceptionHandler, Advice.Dispatcher.RelocationHandler.Relocation relocation)
Advice.Dispatcher.Delegating.Resolved
resolve
in class Advice.Dispatcher.Delegating.Resolved
instrumentedType
- A description of the instrumented type.instrumentedMethod
- The instrumented method that is being bound.methodVisitor
- The method visitor for writing to the instrumented method.implementationContext
- The implementation context to use.assigner
- The assigner to use.argumentHandler
- A handler for accessing values on the local variable array.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.relocation
- A relocation to use with a relocation handler.public Advice.ArgumentHandler.Factory getArgumentHandlerFactory()
Advice.Dispatcher.Resolved.ForMethodExit
Advice.ArgumentHandler
.getArgumentHandlerFactory
in interface Advice.Dispatcher.Resolved.ForMethodExit
Advice.ArgumentHandler
.public TypeDefinition getAdviceType()
Advice.Dispatcher
getAdviceType
in interface Advice.Dispatcher
Copyright © 2014–2018. All rights reserved.