public class net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField implements net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField
  super_class: java.lang.Object
{
  protected final java.lang.String fieldName;
    descriptor: Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final net.bytebuddy.dynamic.scaffold.FieldLocator$Factory fieldLocatorFactory;
    descriptor: Lnet/bytebuddy/dynamic/scaffold/FieldLocator$Factory;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected void <init>(java.lang.String, net.bytebuddy.dynamic.scaffold.FieldLocator$Factory);
    descriptor: (Ljava/lang/String;Lnet/bytebuddy/dynamic/scaffold/FieldLocator$Factory;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField this
        start local 1 // java.lang.String fieldName
        start local 2 // net.bytebuddy.dynamic.scaffold.FieldLocator$Factory fieldLocatorFactory
         0: .line 1587
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1588
            aload 0 /* this */
            aload 1 /* fieldName */
            putfield net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField.fieldName:Ljava/lang/String;
         2: .line 1589
            aload 0 /* this */
            aload 2 /* fieldLocatorFactory */
            putfield net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField.fieldLocatorFactory:Lnet/bytebuddy/dynamic/scaffold/FieldLocator$Factory;
         3: .line 1590
            return
        end local 2 // net.bytebuddy.dynamic.scaffold.FieldLocator$Factory fieldLocatorFactory
        end local 1 // java.lang.String fieldName
        end local 0 // net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$ArgumentProvider$ForField;
            0    4     1            fieldName  Ljava/lang/String;
            0    4     2  fieldLocatorFactory  Lnet/bytebuddy/dynamic/scaffold/FieldLocator$Factory;
    MethodParameters:
                     Name  Flags
      fieldName            
      fieldLocatorFactory  

  public net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$Resolved resolve(net.bytebuddy.description.type.TypeDescription, net.bytebuddy.description.method.MethodDescription, net.bytebuddy.implementation.bytecode.assign.Assigner, net.bytebuddy.implementation.bytecode.assign.Assigner$Typing);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription;Lnet/bytebuddy/description/method/MethodDescription;Lnet/bytebuddy/implementation/bytecode/assign/Assigner;Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;)Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$ArgumentProvider$Resolved;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField this
        start local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
        start local 2 // net.bytebuddy.description.method.MethodDescription instrumentedMethod
        start local 3 // net.bytebuddy.implementation.bytecode.assign.Assigner assigner
        start local 4 // net.bytebuddy.implementation.bytecode.assign.Assigner$Typing typing
         0: .line 1596
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField.fieldLocatorFactory:Lnet/bytebuddy/dynamic/scaffold/FieldLocator$Factory;
            aload 1 /* instrumentedType */
            invokeinterface net.bytebuddy.dynamic.scaffold.FieldLocator$Factory.make:(Lnet/bytebuddy/description/type/TypeDescription;)Lnet/bytebuddy/dynamic/scaffold/FieldLocator;
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField.fieldName:Ljava/lang/String;
            invokeinterface net.bytebuddy.dynamic.scaffold.FieldLocator.locate:(Ljava/lang/String;)Lnet/bytebuddy/dynamic/scaffold/FieldLocator$Resolution;
            astore 5 /* resolution */
        start local 5 // net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution resolution
         1: .line 1597
            aload 5 /* resolution */
            invokeinterface net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution.isResolved:()Z
            ifne 3
         2: .line 1598
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot find a field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField.fieldName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* instrumentedType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1599
      StackMap locals: net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution
      StackMap stack:
            aload 5 /* resolution */
            invokeinterface net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution.getField:()Lnet/bytebuddy/description/field/FieldDescription;
            invokeinterface net.bytebuddy.description.field.FieldDescription.isStatic:()Z
            ifne 5
            aload 2 /* instrumentedMethod */
            invokeinterface net.bytebuddy.description.method.MethodDescription.isStatic:()Z
            ifeq 5
         4: .line 1600
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot access non-static "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* resolution */
            invokeinterface net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution.getField:()Lnet/bytebuddy/description/field/FieldDescription;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* instrumentedMethod */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 1602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         6: new net.bytebuddy.implementation.bytecode.StackManipulation$Compound
            dup
            iconst_2
            anewarray net.bytebuddy.implementation.bytecode.StackManipulation
            dup
            iconst_0
            aload 5 /* resolution */
            invokeinterface net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution.getField:()Lnet/bytebuddy/description/field/FieldDescription;
            invokeinterface net.bytebuddy.description.field.FieldDescription.isStatic:()Z
            ifeq 8
         7: .line 1603
            getstatic net.bytebuddy.implementation.bytecode.StackManipulation$Trivial.INSTANCE:Lnet/bytebuddy/implementation/bytecode/StackManipulation$Trivial;
            goto 9
         8: .line 1604
      StackMap locals: net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField net.bytebuddy.description.type.TypeDescription net.bytebuddy.description.method.MethodDescription net.bytebuddy.implementation.bytecode.assign.Assigner net.bytebuddy.implementation.bytecode.assign.Assigner$Typing net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution
      StackMap stack: net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField new 6 new 6 net.bytebuddy.implementation.bytecode.StackManipulation[] net.bytebuddy.implementation.bytecode.StackManipulation[] int
            invokestatic net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.loadThis:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
      StackMap locals: net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField net.bytebuddy.description.type.TypeDescription net.bytebuddy.description.method.MethodDescription net.bytebuddy.implementation.bytecode.assign.Assigner net.bytebuddy.implementation.bytecode.assign.Assigner$Typing net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution
      StackMap stack: net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField new 6 new 6 net.bytebuddy.implementation.bytecode.StackManipulation[] net.bytebuddy.implementation.bytecode.StackManipulation[] int net.bytebuddy.implementation.bytecode.StackManipulation
         9: aastore
            dup
            iconst_1
            aload 5 /* resolution */
            invokeinterface net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution.getField:()Lnet/bytebuddy/description/field/FieldDescription;
            invokestatic net.bytebuddy.implementation.bytecode.member.FieldAccess.forField:(Lnet/bytebuddy/description/field/FieldDescription;)Lnet/bytebuddy/implementation/bytecode/member/FieldAccess$Defined;
            invokeinterface net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined.read:()Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            aastore
            invokespecial net.bytebuddy.implementation.bytecode.StackManipulation$Compound.<init>:([Lnet/bytebuddy/implementation/bytecode/StackManipulation;)V
        10: .line 1605
            aload 5 /* resolution */
            invokeinterface net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution.getField:()Lnet/bytebuddy/description/field/FieldDescription;
            invokeinterface net.bytebuddy.description.field.FieldDescription.getType:()Lnet/bytebuddy/description/type/TypeDescription$Generic;
        11: .line 1606
            aload 3 /* assigner */
        12: .line 1607
            aload 4 /* typing */
        13: .line 1602
            invokevirtual net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField.doResolve:(Lnet/bytebuddy/implementation/bytecode/StackManipulation;Lnet/bytebuddy/description/type/TypeDescription$Generic;Lnet/bytebuddy/implementation/bytecode/assign/Assigner;Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;)Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$ArgumentProvider$Resolved;
            areturn
        end local 5 // net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution resolution
        end local 4 // net.bytebuddy.implementation.bytecode.assign.Assigner$Typing typing
        end local 3 // net.bytebuddy.implementation.bytecode.assign.Assigner assigner
        end local 2 // net.bytebuddy.description.method.MethodDescription instrumentedMethod
        end local 1 // net.bytebuddy.description.type.TypeDescription instrumentedType
        end local 0 // net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$ArgumentProvider$ForField;
            0   14     1    instrumentedType  Lnet/bytebuddy/description/type/TypeDescription;
            0   14     2  instrumentedMethod  Lnet/bytebuddy/description/method/MethodDescription;
            0   14     3            assigner  Lnet/bytebuddy/implementation/bytecode/assign/Assigner;
            0   14     4              typing  Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;
            1   14     5          resolution  Lnet/bytebuddy/dynamic/scaffold/FieldLocator$Resolution;
    MethodParameters:
                    Name  Flags
      instrumentedType    
      instrumentedMethod  
      assigner            
      typing              

  protected net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$Resolved doResolve(net.bytebuddy.implementation.bytecode.StackManipulation, net.bytebuddy.description.type.TypeDescription$Generic, net.bytebuddy.implementation.bytecode.assign.Assigner, net.bytebuddy.implementation.bytecode.assign.Assigner$Typing);
    descriptor: (Lnet/bytebuddy/implementation/bytecode/StackManipulation;Lnet/bytebuddy/description/type/TypeDescription$Generic;Lnet/bytebuddy/implementation/bytecode/assign/Assigner;Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;)Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$ArgumentProvider$Resolved;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField this
        start local 1 // net.bytebuddy.implementation.bytecode.StackManipulation access
        start local 2 // net.bytebuddy.description.type.TypeDescription$Generic type
        start local 3 // net.bytebuddy.implementation.bytecode.assign.Assigner assigner
        start local 4 // net.bytebuddy.implementation.bytecode.assign.Assigner$Typing typing
         0: .line 1620
            new net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$Resolved$Simple
            dup
            aload 1 /* access */
            aload 2 /* type */
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            invokespecial net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$Resolved$Simple.<init>:(Lnet/bytebuddy/implementation/bytecode/StackManipulation;Lnet/bytebuddy/description/type/TypeDescription;)V
            areturn
        end local 4 // net.bytebuddy.implementation.bytecode.assign.Assigner$Typing typing
        end local 3 // net.bytebuddy.implementation.bytecode.assign.Assigner assigner
        end local 2 // net.bytebuddy.description.type.TypeDescription$Generic type
        end local 1 // net.bytebuddy.implementation.bytecode.StackManipulation access
        end local 0 // net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$ArgumentProvider$ForField;
            0    1     1    access  Lnet/bytebuddy/implementation/bytecode/StackManipulation;
            0    1     2      type  Lnet/bytebuddy/description/type/TypeDescription$Generic;
            0    1     3  assigner  Lnet/bytebuddy/implementation/bytecode/assign/Assigner;
            0    1     4    typing  Lnet/bytebuddy/implementation/bytecode/assign/Assigner$Typing;
    MethodParameters:
          Name  Flags
      access    
      type      
      assigner  
      typing    

  public net.bytebuddy.dynamic.scaffold.InstrumentedType prepare(net.bytebuddy.dynamic.scaffold.InstrumentedType);
    descriptor: (Lnet/bytebuddy/dynamic/scaffold/InstrumentedType;)Lnet/bytebuddy/dynamic/scaffold/InstrumentedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField this
        start local 1 // net.bytebuddy.dynamic.scaffold.InstrumentedType instrumentedType
         0: .line 1627
            aload 1 /* instrumentedType */
            areturn
        end local 1 // net.bytebuddy.dynamic.scaffold.InstrumentedType instrumentedType
        end local 0 // net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lnet/bytebuddy/implementation/InvokeDynamic$InvocationProvider$ArgumentProvider$ForField;
            0    1     1  instrumentedType  Lnet/bytebuddy/dynamic/scaffold/InstrumentedType;
    MethodParameters:
                  Name  Flags
      instrumentedType  
}
SourceFile: "InvokeDynamic.java"
NestHost: net.bytebuddy.implementation.InvokeDynamic
InnerClasses:
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract Generic = net.bytebuddy.description.type.TypeDescription$Generic of net.bytebuddy.description.type.TypeDescription
  public abstract Factory = net.bytebuddy.dynamic.scaffold.FieldLocator$Factory of net.bytebuddy.dynamic.scaffold.FieldLocator
  public abstract Resolution = net.bytebuddy.dynamic.scaffold.FieldLocator$Resolution of net.bytebuddy.dynamic.scaffold.FieldLocator
  protected abstract InvocationProvider = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider of net.bytebuddy.implementation.InvokeDynamic
  public abstract ArgumentProvider = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider of net.bytebuddy.implementation.InvokeDynamic$InvocationProvider
  public ForField = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField of net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider
  protected WithExplicitType = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField$WithExplicitType of net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$ForField
  public abstract Resolved = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$Resolved of net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider
  public Simple = net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$Resolved$Simple of net.bytebuddy.implementation.InvokeDynamic$InvocationProvider$ArgumentProvider$Resolved
  public Compound = net.bytebuddy.implementation.bytecode.StackManipulation$Compound of net.bytebuddy.implementation.bytecode.StackManipulation
  public final Trivial = net.bytebuddy.implementation.bytecode.StackManipulation$Trivial 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 Defined = net.bytebuddy.implementation.bytecode.member.FieldAccess$Defined of net.bytebuddy.implementation.bytecode.member.FieldAccess
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()