public interface jdk.vm.ci.meta.JavaMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.vm.ci.meta.JavaMethod
  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 getDeclaringClass();
    descriptor: ()Ljdk/vm/ci/meta/JavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.vm.ci.meta.Signature getSignature();
    descriptor: ()Ljdk/vm/ci/meta/Signature;
    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=8, args_size=2
        start local 0 // jdk.vm.ci.meta.JavaMethod this
        start local 1 // java.lang.String format
         0: .line 76
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 77
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         2: .line 78
            aconst_null
            astore 4 /* sig */
        start local 4 // jdk.vm.ci.meta.Signature sig
         3: .line 79
            goto 44
         4: .line 80
      StackMap locals: java.lang.StringBuilder int jdk.vm.ci.meta.Signature
      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 81
            iload 5 /* ch */
            bipush 37
            if_icmpne 43
         6: .line 82
            iload 3 /* index */
            aload 1 /* format */
            invokevirtual java.lang.String.length:()I
            if_icmplt 8
         7: .line 83
            new java.util.UnknownFormatConversionException
            dup
            ldc "An unquoted '%' character cannot terminate a method format specification"
            invokespecial java.util.UnknownFormatConversionException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 85
      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 86
            iload 6 /* specifier */
            lookupswitch { // 9
                   37: 39
                   72: 16
                   80: 22
                   82: 10
                  102: 34
                  104: 16
                  110: 20
                  112: 22
                  114: 10
              default: 41
          }
        10: .line 89
      StackMap locals: int
      StackMap stack:
            aload 4 /* sig */
            ifnonnull 12
        11: .line 90
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            astore 4 /* sig */
        12: .line 92
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 4 /* sig */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            iload 6 /* specifier */
            bipush 82
            if_icmpne 13
            iconst_1
            goto 14
      StackMap locals: jdk.vm.ci.meta.JavaMethod java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.Signature int int
      StackMap stack: java.lang.StringBuilder jdk.vm.ci.meta.JavaType
        13: iconst_0
      StackMap locals: jdk.vm.ci.meta.JavaMethod java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.Signature int int
      StackMap stack: java.lang.StringBuilder jdk.vm.ci.meta.JavaType int
        14: invokeinterface jdk.vm.ci.meta.JavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 93
            goto 44
        16: .line 97
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            iload 6 /* specifier */
            bipush 72
            if_icmpne 17
            iconst_1
            goto 18
      StackMap locals: jdk.vm.ci.meta.JavaMethod java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.Signature int int
      StackMap stack: java.lang.StringBuilder jdk.vm.ci.meta.JavaType
        17: iconst_0
      StackMap locals: jdk.vm.ci.meta.JavaMethod java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.Signature int int
      StackMap stack: java.lang.StringBuilder jdk.vm.ci.meta.JavaType int
        18: invokeinterface jdk.vm.ci.meta.JavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 98
            goto 44
        20: .line 101
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 102
            goto 44
        22: .line 106
      StackMap locals:
      StackMap stack:
            aload 4 /* sig */
            ifnonnull 24
        23: .line 107
            aload 0 /* this */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            astore 4 /* sig */
        24: .line 109
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        25: goto 32
        26: .line 110
      StackMap locals: int
      StackMap stack:
            iload 7 /* i */
            ifeq 28
        27: .line 111
            aload 2 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 113
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 4 /* sig */
            iload 7 /* i */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            iload 6 /* specifier */
            bipush 80
            if_icmpne 29
            iconst_1
            goto 30
      StackMap locals: jdk.vm.ci.meta.JavaMethod java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.Signature int int int
      StackMap stack: java.lang.StringBuilder jdk.vm.ci.meta.JavaType
        29: iconst_0
      StackMap locals: jdk.vm.ci.meta.JavaMethod java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.Signature int int int
      StackMap stack: java.lang.StringBuilder jdk.vm.ci.meta.JavaType int
        30: invokeinterface jdk.vm.ci.meta.JavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 109
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 7 /* i */
            aload 4 /* sig */
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            if_icmplt 26
        end local 7 // int i
        33: .line 115
            goto 44
        34: .line 118
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* this */
            instanceof jdk.vm.ci.meta.ResolvedJavaMethod
            ifne 35
            ldc "unresolved"
            goto 37
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        35: aload 0 /* this */
            checkcast jdk.vm.ci.meta.ResolvedJavaMethod
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
            ifeq 36
            ldc "static"
            goto 37
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        36: ldc "virtual"
      StackMap locals: jdk.vm.ci.meta.JavaMethod java.lang.String java.lang.StringBuilder int jdk.vm.ci.meta.Signature int int
      StackMap stack: java.lang.StringBuilder java.lang.String
        37: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 119
            goto 44
        39: .line 122
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 37
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        40: .line 123
            goto 44
        41: .line 126
      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
        42: .line 129
      StackMap locals:
      StackMap stack:
            goto 44
        43: .line 130
      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
        44: .line 79
      StackMap locals:
      StackMap stack:
            iload 3 /* index */
            aload 1 /* format */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        45: .line 133
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // jdk.vm.ci.meta.Signature sig
        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.JavaMethod this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   46     0       this  Ljdk/vm/ci/meta/JavaMethod;
            0   46     1     format  Ljava/lang/String;
            1   46     2         sb  Ljava/lang/StringBuilder;
            2   46     3      index  I
            3   46     4        sig  Ljdk/vm/ci/meta/Signature;
            5   44     5         ch  C
            9   42     6  specifier  C
           25   33     7          i  I
    Exceptions:
      throws java.util.IllegalFormatException
    MethodParameters:
        Name  Flags
      format  
}
SourceFile: "JavaMethod.java"