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

  final net.bytebuddy.implementation.InvokeDynamic this$0;
    descriptor: Lnet/bytebuddy/implementation/InvokeDynamic;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(net.bytebuddy.implementation.InvokeDynamic, net.bytebuddy.description.type.TypeDescription);
    descriptor: (Lnet/bytebuddy/implementation/InvokeDynamic;Lnet/bytebuddy/description/type/TypeDescription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // net.bytebuddy.implementation.InvokeDynamic$Appender this
        start local 2 // net.bytebuddy.description.type.TypeDescription instrumentedType
         0: .line 3205
            aload 0 /* this */
            aload 1
            putfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3206
            aload 0 /* this */
            aload 2 /* instrumentedType */
            putfield net.bytebuddy.implementation.InvokeDynamic$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
         2: .line 3207
            return
        end local 2 // net.bytebuddy.description.type.TypeDescription instrumentedType
        end local 0 // net.bytebuddy.implementation.InvokeDynamic$Appender this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lnet/bytebuddy/implementation/InvokeDynamic$Appender;
            0    3     2  instrumentedType  Lnet/bytebuddy/description/type/TypeDescription;
    MethodParameters:
                  Name  Flags
      this$0            final
      instrumentedType  

  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=10, locals=6, args_size=4
        start local 0 // net.bytebuddy.implementation.InvokeDynamic$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 3213
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
            getfield net.bytebuddy.implementation.InvokeDynamic.invocationProvider:Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider;
            aload 3 /* instrumentedMethod */
            invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider.make:(Lnet/bytebuddy/description/method/MethodDescription;)Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$Target;
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$Appender.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
            getfield net.bytebuddy.implementation.InvokeDynamic.assigner:Lnet/bytebuddy/implementation/bytecode/assign/Assigner;
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
            getfield net.bytebuddy.implementation.InvokeDynamic.typing:Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;
            invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target.resolve:(Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/implementation/bytecode/assign/Assigner;Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;)Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$Target$Resolved;
            astore 4 /* target */
        start local 4 // net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved target
         1: .line 3214
            new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
            dup
            iconst_3
            anewarray net.bytebuddy.implementation.bytecode.StackManipulation
            dup
            iconst_0
         2: .line 3215
            aload 4 /* target */
            invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved.getStackManipulation:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            aastore
            dup
            iconst_1
         3: .line 3216
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
            getfield net.bytebuddy.implementation.InvokeDynamic.bootstrapMethod:Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
            invokestatic net.bytebuddy.implementation.bytecode.member.MethodInvocation.invoke:(Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;)Lnet/bytebuddy/implementation/bytecode/member/MethodInvocation$WithImplicitInvocationTargetType;
            aload 4 /* target */
            invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved.getInternalName:()Ljava/lang/String;
         4: .line 3217
            aload 4 /* target */
            invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription;
         5: .line 3218
            aload 4 /* target */
            invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved.getParameterTypes:()Ljava/util/List;
         6: .line 3219
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
            getfield net.bytebuddy.implementation.InvokeDynamic.handleArguments:Ljava/util/List;
         7: .line 3216
            invokeinterface net.bytebuddy.implementation.bytecode.member.MethodInvocation$WithImplicitInvocationTargetType.dynamic:(Ljava/lang/String;Lnet/bytebuddy/description/type/TypeDescription;Ljava/util/List;Ljava/util/List;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            aastore
            dup
            iconst_2
         8: .line 3220
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
            getfield net.bytebuddy.implementation.InvokeDynamic.terminationHandler:Lnet/bytebuddy/implementation/InvokeDynamic$TerminationHandler;
            aload 3 /* instrumentedMethod */
            aload 4 /* target */
            invokeinterface net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved.getReturnType:()Lnet/bytebuddy/description/type/TypeDescription;
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
            getfield net.bytebuddy.implementation.InvokeDynamic.assigner:Lnet/bytebuddy/implementation/bytecode/assign/Assigner;
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$Appender.this$0:Lnet/bytebuddy/implementation/InvokeDynamic;
            getfield net.bytebuddy.implementation.InvokeDynamic.typing:Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;
            invokevirtual net.bytebuddy.implementation.InvokeDynamic$TerminationHandler.resolve:(Lnet/bytebuddy/description/method/MethodDescription;Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/implementation/bytecode/assign/Assigner;Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
         9: .line 3214
            aastore
            invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
        10: .line 3221
            aload 1 /* methodVisitor */
            aload 2 /* implementationContext */
            invokevirtual net.bytebuddy.implementation.bytecode.StackManipulation$Compound.apply:(Lorg/objectweb/asm/MethodVisitor;Lnet/bytebuddy/implementation/Implementation$Context;)Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
        11: .line 3214
            astore 5 /* size */
        start local 5 // net.bytebuddy.implementation.bytecode.StackManipulation$Size size
        12: .line 3222
            new net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size
            dup
            aload 5 /* size */
            invokevirtual net.bytebuddy.implementation.bytecode.StackManipulation$Size.getMaximalSize:()I
            aload 3 /* instrumentedMethod */
            invokeinterface net.bytebuddy.description.method.MethodDescription.getStackSize:()I
            invokespecial net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size.<init>:(II)V
            areturn
        end local 5 // net.bytebuddy.implementation.bytecode.StackManipulation$Size size
        end local 4 // net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved target
        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.implementation.InvokeDynamic$Appender this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   13     0                   this  Lnet/bytebuddy/implementation/InvokeDynamic$Appender;
            0   13     1          methodVisitor  Lorg/objectweb/asm/MethodVisitor;
            0   13     2  implementationContext  Lnet/bytebuddy/implementation/Implementation$Context;
            0   13     3     instrumentedMethod  Lnet/bytebuddy/description/method/MethodDescription;
            1   13     4                 target  Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$Target$Resolved;
           12   13     5                   size  Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
    MethodParameters:
                       Name  Flags
      methodVisitor          
      implementationContext  
      instrumentedMethod     
}
SourceFile: "InvokeDynamic.java"
NestHost: net.bytebuddy.implementation.InvokeDynamic
InnerClasses:
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract InDefinedShape = net.bytebuddy.description.method.MethodDescription$InDefinedShape of net.bytebuddy.description.method.MethodDescription
  public abstract Context = net.bytebuddy.implementation.Implementation$Context of net.bytebuddy.implementation.Implementation
  protected Appender = net.bytebuddy.implementation.InvokeDynamic$Appender of net.bytebuddy.implementation.InvokeDynamic
  protected abstract InvocationProvider = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider of net.bytebuddy.implementation.InvokeDynamic
  public abstract Target = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target of net.bytebuddy.implementation.InvokeDynamic$InvocationProvider
  public abstract Resolved = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target$Resolved of net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$Target
  protected abstract TerminationHandler = net.bytebuddy.implementation.InvokeDynamic$TerminationHandler of net.bytebuddy.implementation.InvokeDynamic
  public Size = net.bytebuddy.implementation.bytecode.ByteCodeAppender$Size of net.bytebuddy.implementation.bytecode.ByteCodeAppender
  public Compound = net.bytebuddy.implementation.bytecode.StackManipulation$Compound of net.bytebuddy.implementation.bytecode.StackManipulation
  public Size = net.bytebuddy.implementation.bytecode.StackManipulation$Size of net.bytebuddy.implementation.bytecode.StackManipulation
  public final Typing = net.bytebuddy.implementation.bytecode.assign.Assigner$Typing of net.bytebuddy.implementation.bytecode.assign.Assigner
  public abstract WithImplicitInvocationTargetType = net.bytebuddy.implementation.bytecode.member.MethodInvocation$WithImplicitInvocationTargetType of net.bytebuddy.implementation.bytecode.member.MethodInvocation
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance(includeSyntheticFields = true)