Package net.bytebuddy.asm
Class Advice.Dispatcher.Inlining.Resolved
- java.lang.Object
-
- net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved
-
- All Implemented Interfaces:
Advice.Dispatcher
,Advice.Dispatcher.Resolved
- Direct Known Subclasses:
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter
,Advice.Dispatcher.Inlining.Resolved.ForMethodExit
- Enclosing class:
- Advice.Dispatcher.Inlining
protected abstract static class Advice.Dispatcher.Inlining.Resolved extends java.lang.Object implements Advice.Dispatcher.Resolved
A resolved version of a dispatcher.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner
A bound advice method that copies the code by first extracting the exception table and later appending the code of the method without copying any meta data.protected static class
Advice.Dispatcher.Inlining.Resolved.ForMethodEnter
A resolved dispatcher for implementing method enter advice.protected static class
Advice.Dispatcher.Inlining.Resolved.ForMethodExit
A resolved dispatcher for implementing method exit advice.-
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.Resolved, Advice.Dispatcher.SuppressionHandler, Advice.Dispatcher.Unresolved
-
-
Field Summary
Fields Modifier and Type Field Description protected MethodDescription.InDefinedShape
adviceMethod
The represented advice method.protected org.objectweb.asm.ClassReader
classReader
A class reader to query for the class file of the advice method.protected java.util.Map<java.lang.Integer,Advice.OffsetMapping>
offsetMappings
An unresolved mapping of offsets of the advice method based on the annotations discovered on each method parameter.protected Advice.Dispatcher.SuppressionHandler
suppressionHandler
The suppression handler to use.-
Fields inherited from interface net.bytebuddy.asm.Advice.Dispatcher
IGNORE_ANNOTATION, IGNORE_METHOD
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Resolved(MethodDescription.InDefinedShape adviceMethod, java.util.List<Advice.OffsetMapping.Factory<?>> factories, org.objectweb.asm.ClassReader classReader, TypeDescription throwableType)
Creates a new resolved version of a dispatcher.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract org.objectweb.asm.MethodVisitor
apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler, Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler, TypeDescription instrumentedType, MethodDescription instrumentedMethod, Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler)
Applies a resolution for a given instrumented method.boolean
equals(java.lang.Object object)
int
hashCode()
boolean
isAlive()
Returnstrue
if this dispatcher is alive.-
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.Resolved
bind
-
-
-
-
Field Detail
-
adviceMethod
protected final MethodDescription.InDefinedShape adviceMethod
The represented advice method.
-
classReader
protected final org.objectweb.asm.ClassReader classReader
A class reader to query for the class file of the advice method.
-
offsetMappings
protected final java.util.Map<java.lang.Integer,Advice.OffsetMapping> offsetMappings
An unresolved mapping of offsets of the advice method based on the annotations discovered on each method parameter.
-
suppressionHandler
protected final Advice.Dispatcher.SuppressionHandler suppressionHandler
The suppression handler to use.
-
-
Constructor Detail
-
Resolved
protected Resolved(MethodDescription.InDefinedShape adviceMethod, java.util.List<Advice.OffsetMapping.Factory<?>> factories, org.objectweb.asm.ClassReader classReader, TypeDescription throwableType)
Creates a new resolved version of a dispatcher.- Parameters:
adviceMethod
- The represented advice method.factories
- A list of factories to resolve for the parameters of the advice method.classReader
- A class reader to query for the class file of the advice method.throwableType
- The type to handle by a suppression handler orAdvice.NoExceptionHandler
to not handle any exceptions.
-
-
Method Detail
-
isAlive
public boolean isAlive()
Description copied from interface:Advice.Dispatcher
Returnstrue
if this dispatcher is alive.- Specified by:
isAlive
in interfaceAdvice.Dispatcher
- Returns:
true
if this dispatcher is alive.
-
apply
protected abstract org.objectweb.asm.MethodVisitor apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, Assigner assigner, Advice.MethodSizeHandler.ForInstrumentedMethod methodSizeHandler, Advice.StackMapFrameHandler.ForInstrumentedMethod stackMapFrameHandler, TypeDescription instrumentedType, MethodDescription instrumentedMethod, Advice.Dispatcher.SuppressionHandler.Bound suppressionHandler)
Applies a resolution for a given instrumented method.- Parameters:
methodVisitor
- A method visitor for writing byte code to the instrumented method.implementationContext
- The implementation context to use.assigner
- The assigner to use.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
- The bound suppression handler that is used for suppressing exceptions of this advice method.- Returns:
- A method visitor for visiting the advice method's byte code.
-
equals
public boolean equals(java.lang.Object object)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-