public class net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex implements net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex
  super_class: java.lang.Object
{
  private final net.bytebuddy.description.type.TypeDescription proxyType;
    descriptor: Lnet/bytebuddy/description/type/TypeDescription;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final net.bytebuddy.description.method.MethodDescription$InDefinedShape getterMethod;
    descriptor: Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final net.bytebuddy.description.method.MethodDescription$InDefinedShape setterMethod;
    descriptor: Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(net.bytebuddy.description.type.TypeDescription, net.bytebuddy.description.method.MethodDescription$InDefinedShape, net.bytebuddy.description.method.MethodDescription$InDefinedShape);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex this
        start local 1 // net.bytebuddy.description.type.TypeDescription proxyType
        start local 2 // net.bytebuddy.description.method.MethodDescription$InDefinedShape getterMethod
        start local 3 // net.bytebuddy.description.method.MethodDescription$InDefinedShape setterMethod
         0: .line 385
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 388
            aload 0 /* this */
            aload 1 /* proxyType */
            putfield net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex.proxyType:Lnet/bytebuddy/description/type/TypeDescription;
         2: .line 389
            aload 0 /* this */
            aload 2 /* getterMethod */
            putfield net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex.getterMethod:Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
         3: .line 390
            aload 0 /* this */
            aload 3 /* setterMethod */
            putfield net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex.setterMethod:Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
         4: .line 391
            return
        end local 3 // net.bytebuddy.description.method.MethodDescription$InDefinedShape setterMethod
        end local 2 // net.bytebuddy.description.method.MethodDescription$InDefinedShape getterMethod
        end local 1 // net.bytebuddy.description.type.TypeDescription proxyType
        end local 0 // net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lnet/bytebuddy/implementation/bind/annotation/FieldProxy$Binder$FieldResolver$Factory$Duplex;
            0    5     1     proxyType  Lnet/bytebuddy/description/type/TypeDescription;
            0    5     2  getterMethod  Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
            0    5     3  setterMethod  Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
    MethodParameters:
              Name  Flags
      proxyType     
      getterMethod  
      setterMethod  

  public net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver resolve(net.bytebuddy.description.type.TypeDescription, net.bytebuddy.description.field.FieldDescription);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/implementation/bind/annotation/FieldProxy$Binder$FieldResolver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex this
        start local 1 // net.bytebuddy.description.type.TypeDescription parameterType
        start local 2 // net.bytebuddy.description.field.FieldDescription fieldDescription
         0: .line 397
            aload 1 /* parameterType */
            aload 0 /* this */
            getfield net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex.proxyType:Lnet/bytebuddy/description/type/TypeDescription;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 398
            new net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$ForGetterSetterPair
            dup
            aload 0 /* this */
            getfield net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex.proxyType:Lnet/bytebuddy/description/type/TypeDescription;
            aload 0 /* this */
            getfield net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex.getterMethod:Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
            aload 0 /* this */
            getfield net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex.setterMethod:Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;
            invokespecial net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$ForGetterSetterPair.<init>:(Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;Lnet/bytebuddy/description/method/MethodDescription$InDefinedShape;)V
            areturn
         2: .line 400
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Cannot use @FieldProxy on a non-installed type"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // net.bytebuddy.description.field.FieldDescription fieldDescription
        end local 1 // net.bytebuddy.description.type.TypeDescription parameterType
        end local 0 // net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lnet/bytebuddy/implementation/bind/annotation/FieldProxy$Binder$FieldResolver$Factory$Duplex;
            0    3     1     parameterType  Lnet/bytebuddy/description/type/TypeDescription;
            0    3     2  fieldDescription  Lnet/bytebuddy/description/field/FieldDescription;
    MethodParameters:
                  Name  Flags
      parameterType     
      fieldDescription  
}
SourceFile: "FieldProxy.java"
NestHost: net.bytebuddy.implementation.bind.annotation.FieldProxy
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 Binder = net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder of net.bytebuddy.implementation.bind.annotation.FieldProxy
  protected abstract FieldResolver = net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver of net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder
  public abstract Factory = net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory of net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver
  public Duplex = net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory$Duplex of net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$Factory
  public ForGetterSetterPair = net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver$ForGetterSetterPair of net.bytebuddy.implementation.bind.annotation.FieldProxy$Binder$FieldResolver
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()