Package net.bytebuddy.asm
Class Advice.Appender
- java.lang.Object
-
- net.bytebuddy.asm.Advice.Appender
-
- All Implemented Interfaces:
ByteCodeAppender
- Enclosing class:
- Advice
@Enhance protected static class Advice.Appender extends java.lang.Object implements ByteCodeAppender
A byte code appender for implementingAdvice
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
Advice.Appender.EmulatingMethodVisitor
A method visitor that allows for the emulation of a full method visitor invocation circle without delegating initial and ending visitations to the underlying visitor.-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.ByteCodeAppender
ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size
-
-
Field Summary
Fields Modifier and Type Field Description private Advice
advice
The advice to implement.private ByteCodeAppender
delegate
The delegate byte code appender.private Implementation.Target
implementationTarget
The current implementation target.
-
Constructor Summary
Constructors Modifier Constructor Description protected
Appender(Advice advice, Implementation.Target implementationTarget, ByteCodeAppender delegate)
Creates a new appender for an advice component.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ByteCodeAppender.Size
apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
-
-
-
Field Detail
-
advice
private final Advice advice
The advice to implement.
-
implementationTarget
private final Implementation.Target implementationTarget
The current implementation target.
-
delegate
private final ByteCodeAppender delegate
The delegate byte code appender.
-
-
Constructor Detail
-
Appender
protected Appender(Advice advice, Implementation.Target implementationTarget, ByteCodeAppender delegate)
Creates a new appender for an advice component.- Parameters:
advice
- The advice to implement.implementationTarget
- The current implementation target.delegate
- The delegate byte code appender.
-
-
Method Detail
-
apply
public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.- Specified by:
apply
in interfaceByteCodeAppender
- Parameters:
methodVisitor
- The method visitor to which the byte code appender writes its code to.implementationContext
- The implementation context of the current type creation process.instrumentedMethod
- The method that is the target of the instrumentation.- Returns:
- The required size for the applied byte code to run.
-
-