public class com.sun.tools.javah.TypeSignature
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javah.TypeSignature
  super_class: java.lang.Object
{
  javax.lang.model.util.Elements elems;
    descriptor: Ljavax/lang/model/util/Elements;
    flags: (0x0000) 

  private static final java.lang.String SIG_VOID;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "V"

  private static final java.lang.String SIG_BOOLEAN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Z"

  private static final java.lang.String SIG_BYTE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "B"

  private static final java.lang.String SIG_CHAR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "C"

  private static final java.lang.String SIG_SHORT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "S"

  private static final java.lang.String SIG_INT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "I"

  private static final java.lang.String SIG_LONG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "J"

  private static final java.lang.String SIG_FLOAT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "F"

  private static final java.lang.String SIG_DOUBLE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "D"

  private static final java.lang.String SIG_ARRAY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "["

  private static final java.lang.String SIG_CLASS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "L"

  public void <init>(javax.lang.model.util.Elements);
    descriptor: (Ljavax/lang/model/util/Elements;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javah.TypeSignature this
        start local 1 // javax.lang.model.util.Elements elems
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 83
            aload 0 /* this */
            aload 1 /* elems */
            putfield com.sun.tools.javah.TypeSignature.elems:Ljavax/lang/model/util/Elements;
         2: .line 84
            return
        end local 1 // javax.lang.model.util.Elements elems
        end local 0 // com.sun.tools.javah.TypeSignature this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/javah/TypeSignature;
            0    3     1  elems  Ljavax/lang/model/util/Elements;
    MethodParameters:
       Name  Flags
      elems  

  public java.lang.String getTypeSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javah.TypeSignature this
        start local 1 // java.lang.String javasignature
         0: .line 90
            aload 0 /* this */
            aload 1 /* javasignature */
            invokevirtual com.sun.tools.javah.TypeSignature.getParamJVMSignature:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String javasignature
        end local 0 // com.sun.tools.javah.TypeSignature this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/sun/tools/javah/TypeSignature;
            0    1     1  javasignature  Ljava/lang/String;
    Exceptions:
      throws com.sun.tools.javah.TypeSignature$SignatureException
    MethodParameters:
               Name  Flags
      javasignature  

  public java.lang.String getTypeSignature(java.lang.String, javax.lang.model.type.TypeMirror);
    descriptor: (Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=15, args_size=3
        start local 0 // com.sun.tools.javah.TypeSignature this
        start local 1 // java.lang.String javasignature
        start local 2 // javax.lang.model.type.TypeMirror returnType
         0: .line 98
            aconst_null
            astore 3 /* signature */
        start local 3 // java.lang.String signature
         1: .line 99
            aconst_null
            astore 4 /* typeSignature */
        start local 4 // java.lang.String typeSignature
         2: .line 100
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* params */
        start local 5 // java.util.List params
         3: .line 101
            aconst_null
            astore 6 /* paramsig */
        start local 6 // java.lang.String paramsig
         4: .line 102
            aconst_null
            astore 7 /* paramJVMSig */
        start local 7 // java.lang.String paramJVMSig
         5: .line 103
            aconst_null
            astore 8 /* returnSig */
        start local 8 // java.lang.String returnSig
         6: .line 104
            aconst_null
            astore 9 /* returnJVMType */
        start local 9 // java.lang.String returnJVMType
         7: .line 105
            iconst_0
            istore 10 /* dimensions */
        start local 10 // int dimensions
         8: .line 107
            iconst_m1
            istore 11 /* startIndex */
        start local 11 // int startIndex
         9: .line 108
            iconst_m1
            istore 12 /* endIndex */
        start local 12 // int endIndex
        10: .line 109
            aconst_null
            astore 13 /* st */
        start local 13 // java.util.StringTokenizer st
        11: .line 110
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        12: .line 113
            aload 1 /* javasignature */
            ifnull 15
        13: .line 114
            aload 1 /* javasignature */
            ldc "("
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 11 /* startIndex */
        14: .line 115
            aload 1 /* javasignature */
            ldc ")"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 12 /* endIndex */
        15: .line 118
      StackMap locals: com.sun.tools.javah.TypeSignature java.lang.String javax.lang.model.type.TypeMirror java.lang.String java.lang.String java.util.List java.lang.String java.lang.String java.lang.String java.lang.String int int int java.util.StringTokenizer int
      StackMap stack:
            iload 11 /* startIndex */
            iconst_m1
            if_icmpeq 19
            iload 12 /* endIndex */
            iconst_m1
            if_icmpeq 19
        16: .line 119
            iload 11 /* startIndex */
            iconst_1
            iadd
            aload 1 /* javasignature */
            invokevirtual java.lang.String.length:()I
            if_icmpge 19
        17: .line 120
            iload 12 /* endIndex */
            aload 1 /* javasignature */
            invokevirtual java.lang.String.length:()I
            if_icmpge 19
        18: .line 121
            aload 1 /* javasignature */
            iload 11 /* startIndex */
            iconst_1
            iadd
            iload 12 /* endIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* signature */
        19: .line 125
      StackMap locals:
      StackMap stack:
            aload 3 /* signature */
            ifnull 28
        20: .line 126
            aload 3 /* signature */
            ldc ","
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 27
        21: .line 127
            new java.util.StringTokenizer
            dup
            aload 3 /* signature */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 13 /* st */
        22: .line 128
            aload 13 /* st */
            ifnull 28
        23: .line 129
            goto 25
        24: .line 130
      StackMap locals:
      StackMap stack:
            aload 5 /* params */
            aload 13 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 129
      StackMap locals:
      StackMap stack:
            aload 13 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 24
        26: .line 133
            goto 28
        27: .line 134
      StackMap locals:
      StackMap stack:
            aload 5 /* params */
            aload 3 /* signature */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        28: .line 139
      StackMap locals:
      StackMap stack:
            ldc "("
            astore 4 /* typeSignature */
        29: .line 142
            goto 34
        30: .line 143
      StackMap locals:
      StackMap stack:
            aload 5 /* params */
            iload 14 /* i */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 6 /* paramsig */
        31: .line 144
            aload 0 /* this */
            aload 6 /* paramsig */
            invokevirtual com.sun.tools.javah.TypeSignature.getParamJVMSignature:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* paramJVMSig */
        32: .line 145
            aload 7 /* paramJVMSig */
            ifnull 34
        33: .line 146
            new java.lang.StringBuilder
            dup
            aload 4 /* typeSignature */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* paramJVMSig */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* typeSignature */
        34: .line 142
      StackMap locals:
      StackMap stack:
            aload 5 /* params */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 30
        35: .line 150
            new java.lang.StringBuilder
            dup
            aload 4 /* typeSignature */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* typeSignature */
        36: .line 154
            ldc ""
            astore 9 /* returnJVMType */
        37: .line 155
            aload 2 /* returnType */
            ifnull 41
        38: .line 156
            aload 0 /* this */
            aload 2 /* returnType */
            invokevirtual com.sun.tools.javah.TypeSignature.dimensions:(Ljavax/lang/model/type/TypeMirror;)I
            istore 10 /* dimensions */
        39: .line 160
            goto 41
        40: .line 161
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 9 /* returnJVMType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* returnJVMType */
        41: .line 160
      StackMap locals:
      StackMap stack:
            iload 10 /* dimensions */
            iinc 10 /* dimensions */ -1
            ifgt 40
        42: .line 163
            aload 2 /* returnType */
            ifnull 46
        43: .line 164
            aload 0 /* this */
            aload 2 /* returnType */
            invokevirtual com.sun.tools.javah.TypeSignature.qualifiedTypeName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
            astore 8 /* returnSig */
        44: .line 165
            new java.lang.StringBuilder
            dup
            aload 9 /* returnJVMType */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 8 /* returnSig */
            invokevirtual com.sun.tools.javah.TypeSignature.getComponentType:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* returnJVMType */
        45: .line 166
            goto 47
        46: .line 167
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Invalid return type."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        47: .line 170
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* typeSignature */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* returnJVMType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* typeSignature */
        48: .line 172
            aload 4 /* typeSignature */
            areturn
        end local 14 // int i
        end local 13 // java.util.StringTokenizer st
        end local 12 // int endIndex
        end local 11 // int startIndex
        end local 10 // int dimensions
        end local 9 // java.lang.String returnJVMType
        end local 8 // java.lang.String returnSig
        end local 7 // java.lang.String paramJVMSig
        end local 6 // java.lang.String paramsig
        end local 5 // java.util.List params
        end local 4 // java.lang.String typeSignature
        end local 3 // java.lang.String signature
        end local 2 // javax.lang.model.type.TypeMirror returnType
        end local 1 // java.lang.String javasignature
        end local 0 // com.sun.tools.javah.TypeSignature this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   49     0           this  Lcom/sun/tools/javah/TypeSignature;
            0   49     1  javasignature  Ljava/lang/String;
            0   49     2     returnType  Ljavax/lang/model/type/TypeMirror;
            1   49     3      signature  Ljava/lang/String;
            2   49     4  typeSignature  Ljava/lang/String;
            3   49     5         params  Ljava/util/List<Ljava/lang/String;>;
            4   49     6       paramsig  Ljava/lang/String;
            5   49     7    paramJVMSig  Ljava/lang/String;
            6   49     8      returnSig  Ljava/lang/String;
            7   49     9  returnJVMType  Ljava/lang/String;
            8   49    10     dimensions  I
            9   49    11     startIndex  I
           10   49    12       endIndex  I
           11   49    13             st  Ljava/util/StringTokenizer;
           12   49    14              i  I
    Exceptions:
      throws com.sun.tools.javah.TypeSignature$SignatureException
    MethodParameters:
               Name  Flags
      javasignature  
      returnType     

  private java.lang.String getParamJVMSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.sun.tools.javah.TypeSignature this
        start local 1 // java.lang.String paramsig
         0: .line 179
            ldc ""
            astore 2 /* paramJVMSig */
        start local 2 // java.lang.String paramJVMSig
         1: .line 180
            ldc ""
            astore 3 /* componentType */
        start local 3 // java.lang.String componentType
         2: .line 182
            aload 1 /* paramsig */
            ifnull 19
         3: .line 184
            aload 1 /* paramsig */
            ldc "[]"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 17
         4: .line 186
            aload 1 /* paramsig */
            ldc "[]"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* endindex */
        start local 4 // int endindex
         5: .line 187
            aload 1 /* paramsig */
            iconst_0
            iload 4 /* endindex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* componentType */
         6: .line 188
            aload 1 /* paramsig */
            iload 4 /* endindex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* dimensionString */
        start local 5 // java.lang.String dimensionString
         7: .line 189
            aload 5 /* dimensionString */
            ifnull 18
         8: .line 190
            goto 15
         9: .line 191
      StackMap locals: com.sun.tools.javah.TypeSignature java.lang.String java.lang.String java.lang.String int java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* paramJVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* paramJVMSig */
        10: .line 192
            aload 5 /* dimensionString */
            ldc "]"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            istore 6 /* beginindex */
        start local 6 // int beginindex
        11: .line 193
            iload 6 /* beginindex */
            aload 5 /* dimensionString */
            invokevirtual java.lang.String.length:()I
            if_icmpge 14
        12: .line 194
            aload 5 /* dimensionString */
            iload 6 /* beginindex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* dimensionString */
        13: .line 195
            goto 15
        14: .line 196
      StackMap locals: int
      StackMap stack:
            ldc ""
            astore 5 /* dimensionString */
        end local 6 // int beginindex
        15: .line 190
      StackMap locals:
      StackMap stack:
            aload 5 /* dimensionString */
            ldc "[]"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 9
        end local 5 // java.lang.String dimensionString
        end local 4 // int endindex
        16: .line 199
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 1 /* paramsig */
            astore 3 /* componentType */
        18: .line 201
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* paramJVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 3 /* componentType */
            invokevirtual com.sun.tools.javah.TypeSignature.getComponentType:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* paramJVMSig */
        19: .line 203
      StackMap locals:
      StackMap stack:
            aload 2 /* paramJVMSig */
            areturn
        end local 3 // java.lang.String componentType
        end local 2 // java.lang.String paramJVMSig
        end local 1 // java.lang.String paramsig
        end local 0 // com.sun.tools.javah.TypeSignature this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lcom/sun/tools/javah/TypeSignature;
            0   20     1         paramsig  Ljava/lang/String;
            1   20     2      paramJVMSig  Ljava/lang/String;
            2   20     3    componentType  Ljava/lang/String;
            5   16     4         endindex  I
            7   16     5  dimensionString  Ljava/lang/String;
           11   15     6       beginindex  I
    Exceptions:
      throws com.sun.tools.javah.TypeSignature$SignatureException
    MethodParameters:
          Name  Flags
      paramsig  

  private java.lang.String getComponentType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.sun.tools.javah.TypeSignature this
        start local 1 // java.lang.String componentType
         0: .line 211
            ldc ""
            astore 2 /* JVMSig */
        start local 2 // java.lang.String JVMSig
         1: .line 213
            aload 1 /* componentType */
            ifnull 30
         2: .line 214
            aload 1 /* componentType */
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 9
          -1325958191: 3
               104431: 4
              3039496: 5
              3052374: 6
              3327612: 7
              3625364: 8
             64711720: 9
             97526364: 10
            109413500: 11
              default: 21
          }
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         3: aload 3
            ldc "double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 20
            goto 21
      StackMap locals:
      StackMap stack:
         4: aload 3
            ldc "int"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 21
      StackMap locals:
      StackMap stack:
         5: aload 3
            ldc "byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
            goto 21
      StackMap locals:
      StackMap stack:
         6: aload 3
            ldc "char"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 21
      StackMap locals:
      StackMap stack:
         7: aload 3
            ldc "long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            goto 21
      StackMap locals:
      StackMap stack:
         8: aload 3
            ldc "void"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 21
      StackMap locals:
      StackMap stack:
         9: aload 3
            ldc "boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 21
      StackMap locals:
      StackMap stack:
        10: aload 3
            ldc "float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 21
      StackMap locals:
      StackMap stack:
        11: aload 3
            ldc "short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 21
        12: .line 215
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "V"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
            goto 30
        13: .line 216
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Z"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
            goto 30
        14: .line 217
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "B"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
            goto 30
        15: .line 218
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "C"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
            goto 30
        16: .line 219
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "S"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
            goto 30
        17: .line 220
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "I"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
            goto 30
        18: .line 221
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "J"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
            goto 30
        19: .line 222
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "F"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
            goto 30
        20: .line 223
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "D"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
            goto 30
        21: .line 225
      StackMap locals:
      StackMap stack:
            aload 1 /* componentType */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 30
        22: .line 226
            aload 0 /* this */
            getfield com.sun.tools.javah.TypeSignature.elems:Ljavax/lang/model/util/Elements;
            aload 1 /* componentType */
            invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
            astore 4 /* classNameDoc */
        start local 4 // javax.lang.model.element.TypeElement classNameDoc
        23: .line 228
            aload 4 /* classNameDoc */
            ifnonnull 25
        24: .line 229
            new com.sun.tools.javah.TypeSignature$SignatureException
            dup
            aload 1 /* componentType */
            invokespecial com.sun.tools.javah.TypeSignature$SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 232
      StackMap locals: javax.lang.model.element.TypeElement
      StackMap stack:
            aload 4 /* classNameDoc */
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            astore 5 /* classname */
        start local 5 // java.lang.String classname
        26: .line 233
            aload 5 /* classname */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 6 /* newclassname */
        start local 6 // java.lang.String newclassname
        27: .line 234
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "L"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
        28: .line 235
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* newclassname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
        29: .line 236
            new java.lang.StringBuilder
            dup
            aload 2 /* JVMSig */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* JVMSig */
        end local 6 // java.lang.String newclassname
        end local 5 // java.lang.String classname
        end local 4 // javax.lang.model.element.TypeElement classNameDoc
        30: .line 242
      StackMap locals:
      StackMap stack:
            aload 2 /* JVMSig */
            areturn
        end local 2 // java.lang.String JVMSig
        end local 1 // java.lang.String componentType
        end local 0 // com.sun.tools.javah.TypeSignature this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0           this  Lcom/sun/tools/javah/TypeSignature;
            0   31     1  componentType  Ljava/lang/String;
            1   31     2         JVMSig  Ljava/lang/String;
           23   30     4   classNameDoc  Ljavax/lang/model/element/TypeElement;
           26   30     5      classname  Ljava/lang/String;
           27   30     6   newclassname  Ljava/lang/String;
    Exceptions:
      throws com.sun.tools.javah.TypeSignature$SignatureException
    MethodParameters:
               Name  Flags
      componentType  

  int dimensions(javax.lang.model.type.TypeMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;)I
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javah.TypeSignature this
        start local 1 // javax.lang.model.type.TypeMirror t
         0: .line 246
            aload 1 /* t */
            invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
            getstatic javax.lang.model.type.TypeKind.ARRAY:Ljavax/lang/model/type/TypeKind;
            if_acmpeq 2
         1: .line 247
            iconst_0
            ireturn
         2: .line 248
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 0 /* this */
            aload 1 /* t */
            checkcast javax.lang.model.type.ArrayType
            invokeinterface javax.lang.model.type.ArrayType.getComponentType:()Ljavax/lang/model/type/TypeMirror;
            invokevirtual com.sun.tools.javah.TypeSignature.dimensions:(Ljavax/lang/model/type/TypeMirror;)I
            iadd
            ireturn
        end local 1 // javax.lang.model.type.TypeMirror t
        end local 0 // com.sun.tools.javah.TypeSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javah/TypeSignature;
            0    3     1     t  Ljavax/lang/model/type/TypeMirror;
    MethodParameters:
      Name  Flags
      t     

  java.lang.String qualifiedTypeName(javax.lang.model.type.TypeMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.javah.TypeSignature this
        start local 1 // javax.lang.model.type.TypeMirror type
         0: .line 253
            new com.sun.tools.javah.TypeSignature$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javah.TypeSignature$1.<init>:(Lcom/sun/tools/javah/TypeSignature;)V
            astore 2 /* v */
        start local 2 // javax.lang.model.type.TypeVisitor v
         1: .line 281
            aload 2 /* v */
            aload 1 /* type */
            invokeinterface javax.lang.model.type.TypeVisitor.visit:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/Object;
            checkcast javax.lang.model.element.Name
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            areturn
        end local 2 // javax.lang.model.type.TypeVisitor v
        end local 1 // javax.lang.model.type.TypeMirror type
        end local 0 // com.sun.tools.javah.TypeSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javah/TypeSignature;
            0    2     1  type  Ljavax/lang/model/type/TypeMirror;
            1    2     2     v  Ljavax/lang/model/type/TypeVisitor<Ljavax/lang/model/element/Name;Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "TypeSignature.java"
NestMembers:
  com.sun.tools.javah.TypeSignature$1  com.sun.tools.javah.TypeSignature$SignatureException
InnerClasses:
  com.sun.tools.javah.TypeSignature$1
  SignatureException = com.sun.tools.javah.TypeSignature$SignatureException of com.sun.tools.javah.TypeSignature