Package net.bytebuddy.asm
Class Advice.Dispatcher.Delegating.Resolved.ForMethodExit
- java.lang.Object
-
- net.bytebuddy.asm.Advice.Dispatcher.Resolved.AbstractBase
-
- net.bytebuddy.asm.Advice.Dispatcher.Delegating.Resolved
-
- net.bytebuddy.asm.Advice.Dispatcher.Delegating.Resolved.ForMethodExit
-
- All Implemented Interfaces:
Advice.Dispatcher,Advice.Dispatcher.Resolved,Advice.Dispatcher.Resolved.ForMethodExit
- Direct Known Subclasses:
Advice.Dispatcher.Delegating.Resolved.ForMethodExit.WithExceptionHandler,Advice.Dispatcher.Delegating.Resolved.ForMethodExit.WithoutExceptionHandler
- Enclosing class:
- Advice.Dispatcher.Delegating.Resolved
protected abstract static class Advice.Dispatcher.Delegating.Resolved.ForMethodExit extends Advice.Dispatcher.Delegating.Resolved implements Advice.Dispatcher.Resolved.ForMethodExit
A resolved dispatcher for implementing method exit advice.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAdvice.Dispatcher.Delegating.Resolved.ForMethodExit.WithExceptionHandlerImplementation of exit advice that handles exceptions.protected static classAdvice.Dispatcher.Delegating.Resolved.ForMethodExit.WithoutExceptionHandlerImplementation of exit advice that ignores exceptions.-
Nested classes/interfaces inherited from class net.bytebuddy.asm.Advice.Dispatcher.Delegating.Resolved
Advice.Dispatcher.Delegating.Resolved.AdviceMethodWriter, Advice.Dispatcher.Delegating.Resolved.ForMethodEnter, Advice.Dispatcher.Delegating.Resolved.ForMethodExit
-
Nested classes/interfaces inherited from interface net.bytebuddy.asm.Advice.Dispatcher
Advice.Dispatcher.Bound, Advice.Dispatcher.Delegating, Advice.Dispatcher.Inactive, Advice.Dispatcher.Inlining, Advice.Dispatcher.RelocationHandler, Advice.Dispatcher.Resolved, Advice.Dispatcher.SuppressionHandler, Advice.Dispatcher.Unresolved
-
Nested classes/interfaces inherited from interface net.bytebuddy.asm.Advice.Dispatcher.Resolved
Advice.Dispatcher.Resolved.AbstractBase, Advice.Dispatcher.Resolved.ForMethodEnter, Advice.Dispatcher.Resolved.ForMethodExit
-
-
Field Summary
-
Fields inherited from class net.bytebuddy.asm.Advice.Dispatcher.Resolved.AbstractBase
adviceMethod, offsetMappings, relocationHandler, suppressionHandler
-
Fields inherited from interface net.bytebuddy.asm.Advice.Dispatcher
IGNORE_ANNOTATION, IGNORE_METHOD
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedForMethodExit(MethodDescription.InDefinedShape adviceMethod, java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, TypeDefinition enterType)Creates a new resolved dispatcher for implementing method exit advice.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object object)Advice.ArgumentHandler.FactorygetArgumentHandlerFactory()Returns a factory for creating anAdvice.ArgumentHandler.inthashCode()protected static Advice.Dispatcher.Resolved.ForMethodExitof(MethodDescription.InDefinedShape adviceMethod, java.util.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.Boundresolve(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.-
Methods inherited from class net.bytebuddy.asm.Advice.Dispatcher.Delegating.Resolved
bind
-
Methods inherited from class net.bytebuddy.asm.Advice.Dispatcher.Resolved.AbstractBase
isAlive
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.bytebuddy.asm.Advice.Dispatcher
isAlive
-
Methods inherited from interface net.bytebuddy.asm.Advice.Dispatcher.Resolved
bind
-
Methods inherited from interface net.bytebuddy.asm.Advice.Dispatcher.Resolved.ForMethodExit
getThrowable
-
-
-
-
Constructor Detail
-
ForMethodExit
protected ForMethodExit(MethodDescription.InDefinedShape adviceMethod, java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, TypeDefinition enterType)
Creates a new resolved dispatcher for implementing method exit advice.- Parameters:
adviceMethod- The represented advice method.userFactories- A list of user-defined factories for offset mappings.enterType- The type of the value supplied by the enter advice method orvoidif no such value exists.
-
-
Method Detail
-
of
protected static Advice.Dispatcher.Resolved.ForMethodExit of(MethodDescription.InDefinedShape adviceMethod, java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, TypeDefinition enterType)
Resolves exit advice that handles exceptions depending on the specification of the exit advice.- Parameters:
adviceMethod- The advice method.userFactories- A list of user-defined factories for offset mappings.enterType- The type of the value supplied by the enter advice method orvoidif no such value exists.- Returns:
- An appropriate exit handler.
-
resolve
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)
Description copied from class:Advice.Dispatcher.Delegating.ResolvedBinds this dispatcher for resolution to a specific method.- Specified by:
resolvein classAdvice.Dispatcher.Delegating.Resolved- Parameters:
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.- Returns:
- An appropriate bound advice dispatcher.
-
getArgumentHandlerFactory
public Advice.ArgumentHandler.Factory getArgumentHandlerFactory()
Description copied from interface:Advice.Dispatcher.Resolved.ForMethodExitReturns a factory for creating anAdvice.ArgumentHandler.- Specified by:
getArgumentHandlerFactoryin interfaceAdvice.Dispatcher.Resolved.ForMethodExit- Returns:
- A factory for creating an
Advice.ArgumentHandler.
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-