public interface jdk.vm.ci.meta.JavaField
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.vm.ci.meta.JavaField
  super_class: java.lang.Object
{
  public abstract java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.JavaType getType();
    descriptor: ()Ljdk/vm/ci/meta/JavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public jdk.vm.ci.meta.JavaKind getJavaKind();
    descriptor: ()Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaField this
         0: .line 49
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.JavaField.getType:()Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            areturn
        end local 0 // jdk.vm.ci.meta.JavaField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/JavaField;

  public abstract jdk.vm.ci.meta.JavaType getDeclaringClass();
    descriptor: ()Ljdk/vm/ci/meta/JavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.String format(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // jdk.vm.ci.meta.JavaField this
        start local 1 // java.lang.String format
         0: .line 82
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 83
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         2: .line 84
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.JavaField.getType:()Ljdk/vm/ci/meta/JavaType;
            astore 4 /* type */
        start local 4 // jdk.vm.ci.meta.JavaType type
         3: .line 85
            goto 30
         4: .line 86
      StackMap locals: java.lang.StringBuilder int jdk.vm.ci.meta.JavaType
      StackMap stack:
            aload 1 /* format */
            iload 3 /* index */
            iinc 3 /* index */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* ch */
        start local 5 // char ch
         5: .line 87
            iload 5 /* ch */
            bipush 37
            if_icmpne 29
         6: .line 88
            iload 3 /* index */
            aload 1 /* format */
            invokevirtual java.lang.String.length:()I
            if_icmplt 8
         7: .line 89
            new java.util.UnknownFormatConversionException
            dup
            ldc "An unquoted '%' character cannot terminate a field format specification"
            invokespecial java.util.UnknownFormatConversionException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 91
      StackMap locals: int
      StackMap stack:
            aload 1 /* format */
            iload 3 /* index */
            iinc 3 /* index */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* specifier */
        start local 6 // char specifier
         9: .line 92
            iload 6 /* specifier */
            lookupswitch { // 7
                   37: 25
                   72: 14
                   84: 10
                  102: 20
                  104: 14
                  110: 18
                  116: 10
              default: 27
          }
        10: .line 95
      StackMap locals: int
      StackMap stack:
            aload 2 /* sb */
            aload 4 /* type */
            iload 6 /* specifier */
            bipush 84
            if_icmpne 11
            iconst_1
            goto 12
      StackMap locals: jdk.vm.ci.meta.JavaField java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.JavaType int int
      StackMap stack: java.lang.StringBuilder jdk.vm.ci.meta.JavaType
        11: iconst_0
      StackMap locals: jdk.vm.ci.meta.JavaField java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.JavaType int int
      StackMap stack: java.lang.StringBuilder jdk.vm.ci.meta.JavaType int
        12: invokeinterface jdk.vm.ci.meta.JavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 96
            goto 30
        14: .line 100
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.JavaField.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            iload 6 /* specifier */
            bipush 72
            if_icmpne 15
            iconst_1
            goto 16
      StackMap locals: jdk.vm.ci.meta.JavaField java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.JavaType int int
      StackMap stack: java.lang.StringBuilder jdk.vm.ci.meta.JavaType
        15: iconst_0
      StackMap locals: jdk.vm.ci.meta.JavaField java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.JavaType int int
      StackMap stack: java.lang.StringBuilder jdk.vm.ci.meta.JavaType int
        16: invokeinterface jdk.vm.ci.meta.JavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 101
            goto 30
        18: .line 104
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.JavaField.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 105
            goto 30
        20: .line 108
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* this */
            instanceof jdk.vm.ci.meta.ResolvedJavaField
            ifne 21
            ldc "unresolved"
            goto 23
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        21: aload 0 /* this */
            checkcast jdk.vm.ci.meta.ResolvedJavaField
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isStatic:()Z
            ifeq 22
            ldc "static"
            goto 23
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        22: ldc "instance"
      StackMap locals: jdk.vm.ci.meta.JavaField java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.JavaType int int
      StackMap stack: java.lang.StringBuilder java.lang.String
        23: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 109
            goto 30
        25: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 113
            goto 30
        27: .line 116
      StackMap locals:
      StackMap stack:
            new java.util.UnknownFormatConversionException
            dup
            iload 6 /* specifier */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.util.UnknownFormatConversionException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // char specifier
        28: .line 119
      StackMap locals:
      StackMap stack:
            goto 30
        29: .line 120
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            iload 5 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // char ch
        30: .line 85
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            aload 1 /* format */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        31: .line 123
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // jdk.vm.ci.meta.JavaType type
        end local 3 // int index
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.String format
        end local 0 // jdk.vm.ci.meta.JavaField this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   32     0       this  Ljdk/vm/ci/meta/JavaField;
            0   32     1     format  Ljava/lang/String;
            1   32     2         sb  Ljava/lang/StringBuilder;
            2   32     3      index  I
            3   32     4       type  Ljdk/vm/ci/meta/JavaType;
            5   30     5         ch  C
            9   28     6  specifier  C
    Exceptions:
      throws java.util.IllegalFormatException
    MethodParameters:
        Name  Flags
      format  
}
SourceFile: "JavaField.java"