public interface jdk.vm.ci.meta.Signature
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.vm.ci.meta.Signature
  super_class: java.lang.Object
{
  public abstract int getParameterCount(boolean);
    descriptor: (Z)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      receiver  

  public abstract jdk.vm.ci.meta.JavaType getParameterType(int, jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      index           
      accessingClass  

  public jdk.vm.ci.meta.JavaKind getParameterKind(int);
    descriptor: (I)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.meta.Signature this
        start local 1 // int index
         0: .line 63
            aload 0 /* this */
            iload 1 /* index */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            areturn
        end local 1 // int index
        end local 0 // jdk.vm.ci.meta.Signature this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/vm/ci/meta/Signature;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public abstract jdk.vm.ci.meta.JavaType getReturnType(jdk.vm.ci.meta.ResolvedJavaType);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      accessingClass  

  public jdk.vm.ci.meta.JavaKind getReturnKind();
    descriptor: ()Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.Signature this
         0: .line 83
            aload 0 /* this */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)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.Signature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/meta/Signature;

  public java.lang.String toMethodDescriptor();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // jdk.vm.ci.meta.Signature this
         0: .line 98
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 99
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 100
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* this */
            iload 2 /* i */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 99
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            if_icmplt 3
        end local 2 // int i
         6: .line 102
            aload 1 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            invokeinterface jdk.vm.ci.meta.JavaType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 103
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // jdk.vm.ci.meta.Signature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/vm/ci/meta/Signature;
            1    8     1    sb  Ljava/lang/StringBuilder;
            2    6     2     i  I

  public jdk.vm.ci.meta.JavaType[] toParameterTypes(jdk.vm.ci.meta.JavaType);
    descriptor: (Ljdk/vm/ci/meta/JavaType;)[Ljdk/vm/ci/meta/JavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // jdk.vm.ci.meta.Signature this
        start local 1 // jdk.vm.ci.meta.JavaType receiverType
         0: .line 107
            aload 0 /* this */
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            istore 2 /* args */
        start local 2 // int args
         1: .line 109
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: .line 110
            aload 1 /* receiverType */
            ifnull 7
         3: .line 111
            iload 2 /* args */
            iconst_1
            iadd
            anewarray jdk.vm.ci.meta.JavaType
            astore 3 /* result */
        start local 3 // jdk.vm.ci.meta.JavaType[] result
         4: .line 112
            aload 3 /* result */
            iconst_0
            aload 1 /* receiverType */
            aastore
         5: .line 113
            iconst_1
            istore 4 /* i */
         6: .line 114
            goto 8
        end local 3 // jdk.vm.ci.meta.JavaType[] result
         7: .line 115
      StackMap locals: jdk.vm.ci.meta.Signature jdk.vm.ci.meta.JavaType int top int
      StackMap stack:
            iload 2 /* args */
            anewarray jdk.vm.ci.meta.JavaType
            astore 3 /* result */
        start local 3 // jdk.vm.ci.meta.JavaType[] result
         8: .line 117
      StackMap locals: jdk.vm.ci.meta.Signature jdk.vm.ci.meta.JavaType int jdk.vm.ci.meta.JavaType[] int
      StackMap stack:
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         9: goto 12
        10: .line 118
      StackMap locals: int
      StackMap stack:
            aload 3 /* result */
            iload 4 /* i */
            iload 5 /* j */
            iadd
            aload 0 /* this */
            iload 5 /* j */
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            aastore
        11: .line 117
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* j */
            iload 2 /* args */
            if_icmplt 10
        end local 5 // int j
        13: .line 120
            aload 3 /* result */
            areturn
        end local 4 // int i
        end local 3 // jdk.vm.ci.meta.JavaType[] result
        end local 2 // int args
        end local 1 // jdk.vm.ci.meta.JavaType receiverType
        end local 0 // jdk.vm.ci.meta.Signature this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Ljdk/vm/ci/meta/Signature;
            0   14     1  receiverType  Ljdk/vm/ci/meta/JavaType;
            1   14     2          args  I
            4    7     3        result  [Ljdk/vm/ci/meta/JavaType;
            8   14     3        result  [Ljdk/vm/ci/meta/JavaType;
            2   14     4             i  I
            9   13     5             j  I
    MethodParameters:
              Name  Flags
      receiverType  

  public jdk.vm.ci.meta.JavaKind[] toParameterKinds(boolean);
    descriptor: (Z)[Ljdk/vm/ci/meta/JavaKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // jdk.vm.ci.meta.Signature this
        start local 1 // boolean receiver
         0: .line 124
            aload 0 /* this */
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            istore 2 /* args */
        start local 2 // int args
         1: .line 126
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: .line 127
            iload 1 /* receiver */
            ifeq 7
         3: .line 128
            iload 2 /* args */
            iconst_1
            iadd
            anewarray jdk.vm.ci.meta.JavaKind
            astore 3 /* result */
        start local 3 // jdk.vm.ci.meta.JavaKind[] result
         4: .line 129
            aload 3 /* result */
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aastore
         5: .line 130
            iconst_1
            istore 4 /* i */
         6: .line 131
            goto 8
        end local 3 // jdk.vm.ci.meta.JavaKind[] result
         7: .line 132
      StackMap locals: jdk.vm.ci.meta.Signature int int top int
      StackMap stack:
            iload 2 /* args */
            anewarray jdk.vm.ci.meta.JavaKind
            astore 3 /* result */
        start local 3 // jdk.vm.ci.meta.JavaKind[] result
         8: .line 134
      StackMap locals: jdk.vm.ci.meta.Signature int int jdk.vm.ci.meta.JavaKind[] int
      StackMap stack:
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         9: goto 12
        10: .line 135
      StackMap locals: int
      StackMap stack:
            aload 3 /* result */
            iload 4 /* i */
            iload 5 /* j */
            iadd
            aload 0 /* this */
            iload 5 /* j */
            invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
            aastore
        11: .line 134
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* j */
            iload 2 /* args */
            if_icmplt 10
        end local 5 // int j
        13: .line 137
            aload 3 /* result */
            areturn
        end local 4 // int i
        end local 3 // jdk.vm.ci.meta.JavaKind[] result
        end local 2 // int args
        end local 1 // boolean receiver
        end local 0 // jdk.vm.ci.meta.Signature this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Ljdk/vm/ci/meta/Signature;
            0   14     1  receiver  Z
            1   14     2      args  I
            4    7     3    result  [Ljdk/vm/ci/meta/JavaKind;
            8   14     3    result  [Ljdk/vm/ci/meta/JavaKind;
            2   14     4         i  I
            9   13     5         j  I
    MethodParameters:
          Name  Flags
      receiver  
}
SourceFile: "Signature.java"