public class net.bytebuddy.asm.Advice$Appender implements net.bytebuddy.implementation.bytecode.ByteCodeAppender
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.asm.Advice$Appender
  super_class: java.lang.Object
{
  private final net.bytebuddy.asm.Advice advice;
    descriptor: Lnet/bytebuddy/asm/Advice;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final net.bytebuddy.implementation.Implementation$Target implementationTarget;
    descriptor: Lnet/bytebuddy/implementation/Implementation$Target;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final net.bytebuddy.implementation.bytecode.ByteCodeAppender delegate;
    descriptor: Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(net.bytebuddy.asm.Advice, net.bytebuddy.implementation.Implementation$Target, net.bytebuddy.implementation.bytecode.ByteCodeAppender);
    descriptor: (Lnet/bytebuddy/asm/Advice;Lnet/bytebuddy/implementation/Implementation$Target;Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // net.bytebuddy.asm.Advice$Appender this
        start local 1 // net.bytebuddy.asm.Advice advice
        start local 2 // net.bytebuddy.implementation.Implementation$Target implementationTarget
        start local 3 // net.bytebuddy.implementation.bytecode.ByteCodeAppender delegate
         0: .line 9967
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 9968
            aload 0 /* this */
            aload 1 /* advice */
            putfield net.bytebuddy.asm.Advice$Appender.advice:Lnet/bytebuddy/asm/Advice;
         2: .line 9969
            aload 0 /* this */
            aload 2 /* implementationTarget */
            putfield net.bytebuddy.asm.Advice$Appender.implementationTarget:Lnet/bytebuddy/implementation/Implementation$Target;
         3: .line 9970
            aload 0 /* this */
            aload 3 /* delegate */
            putfield net.bytebuddy.asm.Advice$Appender.delegate:Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender;
         4: .line 9971
            return
        end local 3 // net.bytebuddy.implementation.bytecode.ByteCodeAppender delegate
        end local 2 // net.bytebuddy.implementation.Implementation$Target implementationTarget
        end local 1 // net.bytebuddy.asm.Advice advice
        end local 0 // net.bytebuddy.asm.Advice$Appender this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lnet/bytebuddy/asm/Advice$Appender;
            0    5     1                advice  Lnet/bytebuddy/asm/Advice;
            0    5     2  implementationTarget  Lnet/bytebuddy/implementation/Implementation$Target;
            0    5     3              delegate  Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender;
    MethodParameters:
                      Name  Flags
      advice                
      implementationTarget  
      delegate              

  public net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size apply(org.objectweb.asm.MethodVisitor, net.bytebuddy.implementation.Implementation$Context, net.bytebuddy.description.method.MethodDescription);
    descriptor: (Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender$Size;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // net.bytebuddy.asm.Advice$Appender this
        start local 1 // org.objectweb.asm.MethodVisitor methodVisitor
        start local 2 // net.bytebuddy.implementation.Implementation$Context implementationContext
        start local 3 // net.bytebuddy.description.method.MethodDescription instrumentedMethod
         0: .line 9977
            new net.bytebuddy.asm.Advice$Appender$EmulatingMethodVisitor
            dup
            aload 1 /* methodVisitor */
            aload 0 /* this */
            getfield net.bytebuddy.asm.Advice$Appender.delegate:Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender;
            invokespecial net.bytebuddy.asm.Advice$Appender$EmulatingMethodVisitor.<init>:(Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender;)V
            astore 4 /* emulatingMethodVisitor */
        start local 4 // net.bytebuddy.asm.Advice$Appender$EmulatingMethodVisitor emulatingMethodVisitor
         1: .line 9978
            aload 0 /* this */
            getfield net.bytebuddy.asm.Advice$Appender.advice:Lnet/bytebuddy/asm/Advice;
            aload 0 /* this */
            getfield net.bytebuddy.asm.Advice$Appender.implementationTarget:Lnet/bytebuddy/implementation/Implementation$Target;
            invokeinterface net.bytebuddy.implementation.Implementation$Target.getInstrumentedType:()Lnet/bytebuddy/description/type/TypeDescription;
         2: .line 9979
            aload 3 /* instrumentedMethod */
         3: .line 9980
            aload 4 /* emulatingMethodVisitor */
         4: .line 9981
            aload 2 /* implementationContext */
         5: .line 9982
            iconst_0
         6: .line 9983
            iconst_0
         7: .line 9978
            invokevirtual net.bytebuddy.asm.Advice.doWrap:(Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/method/MethodDescription;Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;II)Lorg/objectweb/asm/MethodVisitor;
            astore 1 /* methodVisitor */
         8: .line 9984
            aload 4 /* emulatingMethodVisitor */
            aload 1 /* methodVisitor */
            aload 2 /* implementationContext */
            aload 3 /* instrumentedMethod */
            invokevirtual net.bytebuddy.asm.Advice$Appender$EmulatingMethodVisitor.resolve:(Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/bytecode/ByteCodeAppender$Size;
            areturn
        end local 4 // net.bytebuddy.asm.Advice$Appender$EmulatingMethodVisitor emulatingMethodVisitor
        end local 3 // net.bytebuddy.description.method.MethodDescription instrumentedMethod
        end local 2 // net.bytebuddy.implementation.Implementation$Context implementationContext
        end local 1 // org.objectweb.asm.MethodVisitor methodVisitor
        end local 0 // net.bytebuddy.asm.Advice$Appender this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    9     0                    this  Lnet/bytebuddy/asm/Advice$Appender;
            0    9     1           methodVisitor  Lorg/objectweb/asm/MethodVisitor;
            0    9     2   implementationContext  Lnet/bytebuddy/implementation/Implementation$Context;
            0    9     3      instrumentedMethod  Lnet/bytebuddy/description/method/MethodDescription;
            1    9     4  emulatingMethodVisitor  Lnet/bytebuddy/asm/Advice$Appender$EmulatingMethodVisitor;
    MethodParameters:
                       Name  Flags
      methodVisitor          
      implementationContext  
      instrumentedMethod     
}
SourceFile: "Advice.java"
NestHost: net.bytebuddy.asm.Advice
InnerClasses:
  protected Appender = net.bytebuddy.asm.Advice$Appender of net.bytebuddy.asm.Advice
  protected EmulatingMethodVisitor = net.bytebuddy.asm.Advice$Appender$EmulatingMethodVisitor of net.bytebuddy.asm.Advice$Appender
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract Context = net.bytebuddy.implementation.Implementation$Context of net.bytebuddy.implementation.Implementation
  public abstract Target = net.bytebuddy.implementation.Implementation$Target of net.bytebuddy.implementation.Implementation
  public Size = net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size of net.bytebuddy.implementation.bytecode.ByteCodeAppender
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()