Package net.bytebuddy.asm
Class Advice.Dispatcher.Inlining
- java.lang.Object
-
- net.bytebuddy.asm.Advice.Dispatcher.Inlining
-
- All Implemented Interfaces:
Advice.Dispatcher,Advice.Dispatcher.Unresolved
- Enclosing interface:
- Advice.Dispatcher
public static class Advice.Dispatcher.Inlining extends java.lang.Object implements Advice.Dispatcher.Unresolved
A dispatcher for an advice method that is being inlined into the instrumented method.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAdvice.Dispatcher.Inlining.CodeTranslationVisitorA visitor for translating an advice method's byte code for inlining into the instrumented method.protected static classAdvice.Dispatcher.Inlining.ResolvedA resolved version of a dispatcher.-
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.SuppressionHandler, Advice.Dispatcher.Unresolved
-
-
Field Summary
Fields Modifier and Type Field Description protected MethodDescription.InDefinedShapeadviceMethodThe advice method.-
Fields inherited from interface net.bytebuddy.asm.Advice.Dispatcher
IGNORE_ANNOTATION, IGNORE_METHOD
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedInlining(MethodDescription.InDefinedShape adviceMethod)Creates a dispatcher for inlined advice method.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Advice.Dispatcher.Resolved.ForMethodEnterasMethodEnter(java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, Advice.Dispatcher.Unresolved methodExit)Resolves this dispatcher as a dispatcher for entering a method.Advice.Dispatcher.Resolved.ForMethodExitasMethodExit(java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, Advice.Dispatcher.Unresolved methodEnter)Resolves this dispatcher as a dispatcher for exiting a method.TypeDescriptiongetAdviceType()The type that is produced as a result of executing this advice method.booleanisAlive()Returnstrueif this dispatcher is alive.booleanisBinary()Indicates that this dispatcher requires access to the class file declaring the advice method.
-
-
-
Field Detail
-
adviceMethod
protected final MethodDescription.InDefinedShape adviceMethod
The advice method.
-
-
Constructor Detail
-
Inlining
protected Inlining(MethodDescription.InDefinedShape adviceMethod)
Creates a dispatcher for inlined advice method.- Parameters:
adviceMethod- The advice method.
-
-
Method Detail
-
isAlive
public boolean isAlive()
Description copied from interface:Advice.DispatcherReturnstrueif this dispatcher is alive.- Specified by:
isAlivein interfaceAdvice.Dispatcher- Returns:
trueif this dispatcher is alive.
-
isBinary
public boolean isBinary()
Description copied from interface:Advice.Dispatcher.UnresolvedIndicates that this dispatcher requires access to the class file declaring the advice method.- Specified by:
isBinaryin interfaceAdvice.Dispatcher.Unresolved- Returns:
trueif this dispatcher requires access to the advice method's class file.
-
getAdviceType
public TypeDescription getAdviceType()
Description copied from interface:Advice.Dispatcher.UnresolvedThe type that is produced as a result of executing this advice method.- Specified by:
getAdviceTypein interfaceAdvice.Dispatcher.Unresolved- Returns:
- A description of the type that is produced by this advice method.
-
asMethodEnter
public Advice.Dispatcher.Resolved.ForMethodEnter asMethodEnter(java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, Advice.Dispatcher.Unresolved methodExit)
Description copied from interface:Advice.Dispatcher.UnresolvedResolves this dispatcher as a dispatcher for entering a method.- Specified by:
asMethodEnterin interfaceAdvice.Dispatcher.Unresolved- Parameters:
userFactories- A list of custom factories for binding parameters of an advice method.classReader- A class reader to query for a class file which might benullif this dispatcher is not binary.methodExit- The unresolved dispatcher for the method exit advice.- Returns:
- This dispatcher as a dispatcher for entering a method.
-
asMethodExit
public Advice.Dispatcher.Resolved.ForMethodExit asMethodExit(java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, Advice.Dispatcher.Unresolved methodEnter)
Description copied from interface:Advice.Dispatcher.UnresolvedResolves this dispatcher as a dispatcher for exiting a method.- Specified by:
asMethodExitin interfaceAdvice.Dispatcher.Unresolved- Parameters:
userFactories- A list of custom factories for binding parameters of an advice method.classReader- A class reader to query for a class file which might benullif this dispatcher is not binary.methodEnter- The unresolved dispatcher for the method enter advice.- Returns:
- This dispatcher as a dispatcher for exiting a method.
-
-