public abstract class net.bytebuddy.implementation.Implementation$Target$AbstractBase implements net.bytebuddy.implementation.Implementation$Target
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: net.bytebuddy.implementation.Implementation$Target$AbstractBase
  super_class: java.lang.Object
{
  protected final net.bytebuddy.description.type.TypeDescription instrumentedType;
    descriptor: Lnet/bytebuddy/description/type/TypeDescription;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final net.bytebuddy.dynamic.scaffold.MethodGraph$Linked methodGraph;
    descriptor: Lnet/bytebuddy/dynamic/scaffold/MethodGraph$Linked;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final net.bytebuddy.implementation.Implementation$Target$AbstractBase$DefaultMethodInvocation defaultMethodInvocation;
    descriptor: Lnet/bytebuddy/implementation/Implementation$Target$AbstractBase$DefaultMethodInvocation;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected void <init>(net.bytebuddy.description.type.TypeDescription, net.bytebuddy.dynamic.scaffold.MethodGraph$Linked, net.bytebuddy.implementation.Implementation$Target$AbstractBase$DefaultMethodInvocation);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/dynamic/scaffold/MethodGraph$Linked;Lnet/bytebuddy/implementation/Implementation$Target$AbstractBase$DefaultMethodInvocation;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // net.bytebuddy.implementation.Implementation$Target$AbstractBase this
        start local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
        start local 2 // net.bytebuddy.dynamic.scaffold.MethodGraph$Linked methodGraph
        start local 3 // net.bytebuddy.implementation.Implementation$Target$AbstractBase$DefaultMethodInvocation defaultMethodInvocation
         0: .line 374
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 375
            aload 0 /* this */
            aload 1 /* instrumentedType */
            putfield net.bytebuddy.implementation.Implementation$Target$AbstractBase.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
         2: .line 376
            aload 0 /* this */
            aload 2 /* methodGraph */
            putfield net.bytebuddy.implementation.Implementation$Target$AbstractBase.methodGraph:Lnet/bytebuddy/dynamic/scaffold/MethodGraph$Linked;
         3: .line 377
            aload 0 /* this */
            aload 3 /* defaultMethodInvocation */
            putfield net.bytebuddy.implementation.Implementation$Target$AbstractBase.defaultMethodInvocation:Lnet/bytebuddy/implementation/Implementation$Target$AbstractBase$DefaultMethodInvocation;
         4: .line 378
            return
        end local 3 // net.bytebuddy.implementation.Implementation$Target$AbstractBase$DefaultMethodInvocation defaultMethodInvocation
        end local 2 // net.bytebuddy.dynamic.scaffold.MethodGraph$Linked methodGraph
        end local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
        end local 0 // net.bytebuddy.implementation.Implementation$Target$AbstractBase this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    5     0                     this  Lnet/bytebuddy/implementation/Implementation$Target$AbstractBase;
            0    5     1         instrumentedType  Lnet/bytebuddy/description/type/TypeDescription;
            0    5     2              methodGraph  Lnet/bytebuddy/dynamic/scaffold/MethodGraph$Linked;
            0    5     3  defaultMethodInvocation  Lnet/bytebuddy/implementation/Implementation$Target$AbstractBase$DefaultMethodInvocation;
    MethodParameters:
                         Name  Flags
      instrumentedType         
      methodGraph              
      defaultMethodInvocation  

  public net.bytebuddy.description.type.TypeDescription getInstrumentedType();
    descriptor: ()Lnet/bytebuddy/description/type/TypeDescription;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.bytebuddy.implementation.Implementation$Target$AbstractBase this
         0: .line 384
            aload 0 /* this */
            getfield net.bytebuddy.implementation.Implementation$Target$AbstractBase.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
            areturn
        end local 0 // net.bytebuddy.implementation.Implementation$Target$AbstractBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/implementation/Implementation$Target$AbstractBase;

  public net.bytebuddy.implementation.Implementation$SpecialMethodInvocation invokeDefault(net.bytebuddy.description.method.MethodDescription$SignatureToken);
    descriptor: (Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;)Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // net.bytebuddy.implementation.Implementation$Target$AbstractBase this
        start local 1 // net.bytebuddy.description.method.MethodDescription$SignatureToken token
         0: .line 391
            getstatic net.bytebuddy.implementation.Implementation$SpecialMethodInvocation$Illegal.INSTANCE:Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation$Illegal;
            astore 2 /* specialMethodInvocation */
        start local 2 // net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation
         1: .line 392
            aload 0 /* this */
            getfield net.bytebuddy.implementation.Implementation$Target$AbstractBase.instrumentedType:Lnet/bytebuddy/description/type/TypeDescription;
            invokeinterface net.bytebuddy.description.type.TypeDescription.getInterfaces:()Lnet/bytebuddy/description/type/TypeList$Generic;
            invokeinterface net.bytebuddy.description.type.TypeList$Generic.asErasures:()Lnet/bytebuddy/description/type/TypeList;
            invokeinterface net.bytebuddy.description.type.TypeList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: net.bytebuddy.implementation.Implementation$Target$AbstractBase net.bytebuddy.description.method.MethodDescription$SignatureToken net.bytebuddy.implementation.Implementation$SpecialMethodInvocation top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.bytebuddy.description.type.TypeDescription
            astore 3 /* interfaceType */
        start local 3 // net.bytebuddy.description.type.TypeDescription interfaceType
         3: .line 393
            aload 0 /* this */
            aload 1 /* token */
            aload 3 /* interfaceType */
            invokevirtual net.bytebuddy.implementation.Implementation$Target$AbstractBase.invokeDefault:(Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
            astore 5 /* invocation */
        start local 5 // net.bytebuddy.implementation.Implementation$SpecialMethodInvocation invocation
         4: .line 394
            aload 5 /* invocation */
            invokeinterface net.bytebuddy.implementation.Implementation$SpecialMethodInvocation.isValid:()Z
            ifeq 8
         5: .line 395
            aload 2 /* specialMethodInvocation */
            invokeinterface net.bytebuddy.implementation.Implementation$SpecialMethodInvocation.isValid:()Z
            ifeq 7
         6: .line 396
            getstatic net.bytebuddy.implementation.Implementation$SpecialMethodInvocation$Illegal.INSTANCE:Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation$Illegal;
            areturn
         7: .line 398
      StackMap locals: net.bytebuddy.implementation.Implementation$Target$AbstractBase net.bytebuddy.description.method.MethodDescription$SignatureToken net.bytebuddy.implementation.Implementation$SpecialMethodInvocation net.bytebuddy.description.type.TypeDescription java.util.Iterator net.bytebuddy.implementation.Implementation$SpecialMethodInvocation
      StackMap stack:
            aload 5 /* invocation */
            astore 2 /* specialMethodInvocation */
        end local 5 // net.bytebuddy.implementation.Implementation$SpecialMethodInvocation invocation
        end local 3 // net.bytebuddy.description.type.TypeDescription interfaceType
         8: .line 392
      StackMap locals: net.bytebuddy.implementation.Implementation$Target$AbstractBase net.bytebuddy.description.method.MethodDescription$SignatureToken net.bytebuddy.implementation.Implementation$SpecialMethodInvocation top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 402
            aload 2 /* specialMethodInvocation */
            areturn
        end local 2 // net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation
        end local 1 // net.bytebuddy.description.method.MethodDescription$SignatureToken token
        end local 0 // net.bytebuddy.implementation.Implementation$Target$AbstractBase this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0                     this  Lnet/bytebuddy/implementation/Implementation$Target$AbstractBase;
            0   10     1                    token  Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;
            1   10     2  specialMethodInvocation  Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
            3    8     3            interfaceType  Lnet/bytebuddy/description/type/TypeDescription;
            4    8     5               invocation  Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
    MethodParameters:
       Name  Flags
      token  

  public net.bytebuddy.implementation.Implementation$SpecialMethodInvocation invokeDefault(net.bytebuddy.description.method.MethodDescription$SignatureToken, net.bytebuddy.description.type.TypeDescription);
    descriptor: (Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.bytebuddy.implementation.Implementation$Target$AbstractBase this
        start local 1 // net.bytebuddy.description.method.MethodDescription$SignatureToken token
        start local 2 // net.bytebuddy.description.type.TypeDescription targetType
         0: .line 409
            aload 0 /* this */
            getfield net.bytebuddy.implementation.Implementation$Target$AbstractBase.defaultMethodInvocation:Lnet/bytebuddy/implementation/Implementation$Target$AbstractBase$DefaultMethodInvocation;
            aload 0 /* this */
            getfield net.bytebuddy.implementation.Implementation$Target$AbstractBase.methodGraph:Lnet/bytebuddy/dynamic/scaffold/MethodGraph$Linked;
            aload 2 /* targetType */
            invokeinterface net.bytebuddy.dynamic.scaffold.MethodGraph$Linked.getInterfaceGraph:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/dynamic/scaffold/MethodGraph;
            aload 1 /* token */
            invokeinterface net.bytebuddy.dynamic.scaffold.MethodGraph.locate:(Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;)Lnet/bytebuddy/dynamic/scaffold/MethodGraph$Node;
            aload 2 /* targetType */
            invokevirtual net.bytebuddy.implementation.Implementation$Target$AbstractBase$DefaultMethodInvocation.apply:(Lnet/bytebuddy/dynamic/scaffold/MethodGraph$Node;Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
            areturn
        end local 2 // net.bytebuddy.description.type.TypeDescription targetType
        end local 1 // net.bytebuddy.description.method.MethodDescription$SignatureToken token
        end local 0 // net.bytebuddy.implementation.Implementation$Target$AbstractBase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lnet/bytebuddy/implementation/Implementation$Target$AbstractBase;
            0    1     1       token  Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;
            0    1     2  targetType  Lnet/bytebuddy/description/type/TypeDescription;
    MethodParameters:
            Name  Flags
      token       
      targetType  

  public net.bytebuddy.implementation.Implementation$SpecialMethodInvocation invokeDominant(net.bytebuddy.description.method.MethodDescription$SignatureToken);
    descriptor: (Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;)Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // net.bytebuddy.implementation.Implementation$Target$AbstractBase this
        start local 1 // net.bytebuddy.description.method.MethodDescription$SignatureToken token
         0: .line 416
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual net.bytebuddy.implementation.Implementation$Target$AbstractBase.invokeSuper:(Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;)Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
            astore 2 /* specialMethodInvocation */
        start local 2 // net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation
         1: .line 417
            aload 2 /* specialMethodInvocation */
            invokeinterface net.bytebuddy.implementation.Implementation$SpecialMethodInvocation.isValid:()Z
            ifeq 3
         2: .line 418
            aload 2 /* specialMethodInvocation */
            goto 4
         3: .line 419
      StackMap locals: net.bytebuddy.implementation.Implementation$SpecialMethodInvocation
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual net.bytebuddy.implementation.Implementation$Target$AbstractBase.invokeDefault:(Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;)Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
         4: .line 417
      StackMap locals:
      StackMap stack: net.bytebuddy.implementation.Implementation$SpecialMethodInvocation
            areturn
        end local 2 // net.bytebuddy.implementation.Implementation$SpecialMethodInvocation specialMethodInvocation
        end local 1 // net.bytebuddy.description.method.MethodDescription$SignatureToken token
        end local 0 // net.bytebuddy.implementation.Implementation$Target$AbstractBase this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    5     0                     this  Lnet/bytebuddy/implementation/Implementation$Target$AbstractBase;
            0    5     1                    token  Lnet/bytebuddy/description/method/MethodDescription$SignatureToken;
            1    5     2  specialMethodInvocation  Lnet/bytebuddy/implementation/Implementation$SpecialMethodInvocation;
    MethodParameters:
       Name  Flags
      token  
}
SourceFile: "Implementation.java"
NestHost: net.bytebuddy.implementation.Implementation
InnerClasses:
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public SignatureToken = net.bytebuddy.description.method.MethodDescription$SignatureToken of net.bytebuddy.description.method.MethodDescription
  public abstract Generic = net.bytebuddy.description.type.TypeList$Generic of net.bytebuddy.description.type.TypeList
  public abstract Linked = net.bytebuddy.dynamic.scaffold.MethodGraph$Linked of net.bytebuddy.dynamic.scaffold.MethodGraph
  public abstract Node = net.bytebuddy.dynamic.scaffold.MethodGraph$Node of net.bytebuddy.dynamic.scaffold.MethodGraph
  public abstract SpecialMethodInvocation = net.bytebuddy.implementation.Implementation$SpecialMethodInvocation of net.bytebuddy.implementation.Implementation
  public final Illegal = net.bytebuddy.implementation.Implementation$SpecialMethodInvocation$Illegal of net.bytebuddy.implementation.Implementation$SpecialMethodInvocation
  public abstract Target = net.bytebuddy.implementation.Implementation$Target of net.bytebuddy.implementation.Implementation
  public abstract AbstractBase = net.bytebuddy.implementation.Implementation$Target$AbstractBase of net.bytebuddy.implementation.Implementation$Target
  protected abstract DefaultMethodInvocation = net.bytebuddy.implementation.Implementation$Target$AbstractBase$DefaultMethodInvocation of net.bytebuddy.implementation.Implementation$Target$AbstractBase
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()