@HashCodeAndEqualsPlugin.Enhance protected abstract static class Advice.Dispatcher.Inlining.Resolved.ForMethodEnter extends Advice.Dispatcher.Inlining.Resolved implements Advice.Dispatcher.Resolved.ForMethodEnter
Modifier and Type | Class and Description |
---|---|
protected static class |
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithDiscardedEnterType
Implementation of an advice that does not expose an enter type.
|
protected static class |
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithRetainedEnterType
Implementation of an advice that does expose an enter type.
|
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, relocationHandler, suppressionHandler
IGNORE_ANNOTATION, IGNORE_METHOD
Modifier | Constructor and Description |
---|---|
protected |
ForMethodEnter(MethodDescription.InDefinedShape adviceMethod,
List<? extends Advice.OffsetMapping.Factory<?>> userFactories,
org.objectweb.asm.ClassReader classReader)
Creates a new resolved dispatcher for implementing method enter 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.
|
boolean |
isPrependLineNumber()
Returns
true if the first discovered line number information should be prepended to the advice code. |
protected static Advice.Dispatcher.Resolved.ForMethodEnter |
of(MethodDescription.InDefinedShape adviceMethod,
List<? extends Advice.OffsetMapping.Factory<?>> userFactories,
org.objectweb.asm.ClassReader classReader,
boolean methodExit)
Resolves enter advice that only exposes the enter type if this is necessary.
|
isAlive
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEnterType
isAlive
protected ForMethodEnter(MethodDescription.InDefinedShape adviceMethod, List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader)
adviceMethod
- The represented advice method.userFactories
- A list of user-defined factories for offset mappings.classReader
- A class reader to query for the class file of the advice method.protected static Advice.Dispatcher.Resolved.ForMethodEnter of(MethodDescription.InDefinedShape adviceMethod, List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, boolean methodExit)
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.methodExit
- true
if exit advice is applied.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)
Advice.Dispatcher.Resolved
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.public boolean isPrependLineNumber()
Advice.Dispatcher.Resolved.ForMethodEnter
true
if the first discovered line number information should be prepended to the advice code.isPrependLineNumber
in interface Advice.Dispatcher.Resolved.ForMethodEnter
true
if the first discovered line number information should be prepended to the advice code.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.Copyright © 2014–2018. All rights reserved.