@HashCodeAndEqualsPlugin.Enhance 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 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.AdviceMethodInliner, Advice.Dispatcher.Inlining.Resolved.ForMethodEnter, Advice.Dispatcher.Inlining.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
classReader
adviceMethod, offsetMappings, postProcessor, relocationHandler, suppressionHandler
IGNORE_ANNOTATION, IGNORE_METHOD
Modifier | Constructor and Description |
---|---|
protected |
ForMethodExit(MethodDescription.InDefinedShape adviceMethod,
Advice.PostProcessor postProcessor,
Map<String,TypeDefinition> namedTypes,
List<? extends Advice.OffsetMapping.Factory<?>> userFactories,
org.objectweb.asm.ClassReader classReader,
TypeDefinition enterType)
Creates a new resolved dispatcher for implementing method exit advice.
|
Modifier and Type | Method and Description |
---|---|
protected org.objectweb.asm.MethodVisitor |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
Assigner assigner,
Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler,
Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler,
Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler,
TypeDescription instrumentedType,
MethodDescription instrumentedMethod,
Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler,
Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
Applies a resolution for a given instrumented method.
|
Advice.Dispatcher.Bound |
bind(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.
|
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,
Advice.PostProcessor postProcessor,
Map<String,TypeDefinition> namedTypes,
List<? extends Advice.OffsetMapping.Factory<?>> userFactories,
org.objectweb.asm.ClassReader classReader,
TypeDefinition enterType)
Resolves exit advice that handles exceptions depending on the specification of the exit advice.
|
protected Map<Integer,TypeDefinition> |
resolveInitializationTypes(Advice.ArgumentHandler argumentHandler)
Resolves the initialization types of this advice method.
|
isAlive
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getThrowable
isAlive
protected ForMethodExit(MethodDescription.InDefinedShape adviceMethod, Advice.PostProcessor postProcessor, Map<String,TypeDefinition> namedTypes, List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, TypeDefinition enterType)
adviceMethod
- The represented advice method.postProcessor
- The post processor to apply.namedTypes
- A mapping of all available local variables by their name to their type.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 void
if no such value exists.protected static Advice.Dispatcher.Resolved.ForMethodExit of(MethodDescription.InDefinedShape adviceMethod, Advice.PostProcessor postProcessor, Map<String,TypeDefinition> namedTypes, List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, TypeDefinition enterType)
adviceMethod
- The advice method.postProcessor
- The post processor to apply.namedTypes
- A mapping of all available local variables by their name to their type.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 void
if no such value exists.protected Map<Integer,TypeDefinition> resolveInitializationTypes(Advice.ArgumentHandler argumentHandler)
Advice.Dispatcher.Inlining.Resolved
resolveInitializationTypes
in class Advice.Dispatcher.Inlining.Resolved
argumentHandler
- The argument handler to use for resolving the initialization.protected org.objectweb.asm.MethodVisitor apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, Advice.ArgumentHandler.ForInstrumentedMethod argumentHandler, Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler, Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler, TypeDescription instrumentedType, MethodDescription instrumentedMethod, Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler, Advice.Dispatcher.RelocationHandler.Bound relocationHandler)
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.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.instrumentedType
- A description of the instrumented type.instrumentedMethod
- A description of the instrumented method.suppressionHandler
- A bound suppression handler that is used for suppressing exceptions of this advice method.relocationHandler
- A bound relocation handler that is responsible for considering a non-standard control flow.public Advice.ArgumentHandler.Factory getArgumentHandlerFactory()
Advice.ArgumentHandler
.getArgumentHandlerFactory
in interface Advice.Dispatcher.Resolved.ForMethodExit
Advice.ArgumentHandler
.public TypeDefinition getAdviceType()
getAdviceType
in interface Advice.Dispatcher
public Advice.Dispatcher.Bound bind(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)
bind
in interface Advice.Dispatcher.Resolved
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.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.Copyright © 2014–2021. All rights reserved.