Class ByteCodeAppender.Compound

  • All Implemented Interfaces:
    ByteCodeAppender
    Enclosing interface:
    ByteCodeAppender

    public static class ByteCodeAppender.Compound
    extends java.lang.Object
    implements ByteCodeAppender
    A compound appender that combines a given number of other byte code appenders.
    • Constructor Detail

      • Compound

        public Compound​(ByteCodeAppender... byteCodeAppender)
        Creates a new compound byte code appender.
        Parameters:
        byteCodeAppender - The byte code appenders to combine in their order.
      • Compound

        public Compound​(java.util.List<? extends ByteCodeAppender> byteCodeAppenders)
        Creates a new compound byte code appender.
        Parameters:
        byteCodeAppenders - The byte code appenders to combine in their order.
    • Method Detail

      • apply

        public ByteCodeAppender.Size apply​(org.objectweb.asm.MethodVisitor methodVisitor,
                                           Implementation.Context implementationContext,
                                           MethodDescription instrumentedMethod)
        Description copied from interface: ByteCodeAppender
        Applies this byte code appender to a type creation process.
        Specified by:
        apply in interface ByteCodeAppender
        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.