public abstract class org.apache.bcel.generic.Type
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.bcel.generic.Type
  super_class: java.lang.Object
{
  protected byte type;
    descriptor: B
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected java.lang.String signature;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final org.apache.bcel.generic.BasicType VOID;
    descriptor: Lorg/apache/bcel/generic/BasicType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.BasicType BOOLEAN;
    descriptor: Lorg/apache/bcel/generic/BasicType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.BasicType INT;
    descriptor: Lorg/apache/bcel/generic/BasicType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.BasicType SHORT;
    descriptor: Lorg/apache/bcel/generic/BasicType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.BasicType BYTE;
    descriptor: Lorg/apache/bcel/generic/BasicType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.BasicType LONG;
    descriptor: Lorg/apache/bcel/generic/BasicType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.BasicType DOUBLE;
    descriptor: Lorg/apache/bcel/generic/BasicType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.BasicType FLOAT;
    descriptor: Lorg/apache/bcel/generic/BasicType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.BasicType CHAR;
    descriptor: Lorg/apache/bcel/generic/BasicType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.ObjectType OBJECT;
    descriptor: Lorg/apache/bcel/generic/ObjectType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.ObjectType CLASS;
    descriptor: Lorg/apache/bcel/generic/ObjectType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.ObjectType STRING;
    descriptor: Lorg/apache/bcel/generic/ObjectType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.ObjectType STRINGBUFFER;
    descriptor: Lorg/apache/bcel/generic/ObjectType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.ObjectType THROWABLE;
    descriptor: Lorg/apache/bcel/generic/ObjectType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.Type[] NO_ARGS;
    descriptor: [Lorg/apache/bcel/generic/Type;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.ReferenceType NULL;
    descriptor: Lorg/apache/bcel/generic/ReferenceType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.bcel.generic.Type UNKNOWN;
    descriptor: Lorg/apache/bcel/generic/Type;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.lang.ThreadLocal<java.lang.Integer> consumed_chars;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 47
            new org.apache.bcel.generic.BasicType
            dup
            bipush 12
            invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
            putstatic org.apache.bcel.generic.Type.VOID:Lorg/apache/bcel/generic/BasicType;
         1: .line 48
            new org.apache.bcel.generic.BasicType
            dup
            iconst_4
            invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
            putstatic org.apache.bcel.generic.Type.BOOLEAN:Lorg/apache/bcel/generic/BasicType;
         2: .line 49
            new org.apache.bcel.generic.BasicType
            dup
            bipush 10
            invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
            putstatic org.apache.bcel.generic.Type.INT:Lorg/apache/bcel/generic/BasicType;
         3: .line 50
            new org.apache.bcel.generic.BasicType
            dup
            bipush 9
            invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
            putstatic org.apache.bcel.generic.Type.SHORT:Lorg/apache/bcel/generic/BasicType;
         4: .line 51
            new org.apache.bcel.generic.BasicType
            dup
            bipush 8
            invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
            putstatic org.apache.bcel.generic.Type.BYTE:Lorg/apache/bcel/generic/BasicType;
         5: .line 52
            new org.apache.bcel.generic.BasicType
            dup
            bipush 11
            invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
            putstatic org.apache.bcel.generic.Type.LONG:Lorg/apache/bcel/generic/BasicType;
         6: .line 53
            new org.apache.bcel.generic.BasicType
            dup
            bipush 7
            invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
            putstatic org.apache.bcel.generic.Type.DOUBLE:Lorg/apache/bcel/generic/BasicType;
         7: .line 54
            new org.apache.bcel.generic.BasicType
            dup
            bipush 6
            invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
            putstatic org.apache.bcel.generic.Type.FLOAT:Lorg/apache/bcel/generic/BasicType;
         8: .line 55
            new org.apache.bcel.generic.BasicType
            dup
            iconst_5
            invokespecial org.apache.bcel.generic.BasicType.<init>:(B)V
            putstatic org.apache.bcel.generic.Type.CHAR:Lorg/apache/bcel/generic/BasicType;
         9: .line 56
            new org.apache.bcel.generic.ObjectType
            dup
            ldc "java.lang.Object"
            invokespecial org.apache.bcel.generic.ObjectType.<init>:(Ljava/lang/String;)V
            putstatic org.apache.bcel.generic.Type.OBJECT:Lorg/apache/bcel/generic/ObjectType;
        10: .line 57
            new org.apache.bcel.generic.ObjectType
            dup
            ldc "java.lang.Class"
            invokespecial org.apache.bcel.generic.ObjectType.<init>:(Ljava/lang/String;)V
            putstatic org.apache.bcel.generic.Type.CLASS:Lorg/apache/bcel/generic/ObjectType;
        11: .line 58
            new org.apache.bcel.generic.ObjectType
            dup
            ldc "java.lang.String"
            invokespecial org.apache.bcel.generic.ObjectType.<init>:(Ljava/lang/String;)V
            putstatic org.apache.bcel.generic.Type.STRING:Lorg/apache/bcel/generic/ObjectType;
        12: .line 59
            new org.apache.bcel.generic.ObjectType
            dup
            ldc "java.lang.StringBuffer"
            invokespecial org.apache.bcel.generic.ObjectType.<init>:(Ljava/lang/String;)V
            putstatic org.apache.bcel.generic.Type.STRINGBUFFER:Lorg/apache/bcel/generic/ObjectType;
        13: .line 60
            new org.apache.bcel.generic.ObjectType
            dup
            ldc "java.lang.Throwable"
            invokespecial org.apache.bcel.generic.ObjectType.<init>:(Ljava/lang/String;)V
            putstatic org.apache.bcel.generic.Type.THROWABLE:Lorg/apache/bcel/generic/ObjectType;
        14: .line 61
            iconst_0
            anewarray org.apache.bcel.generic.Type
            putstatic org.apache.bcel.generic.Type.NO_ARGS:[Lorg/apache/bcel/generic/Type;
        15: .line 62
            new org.apache.bcel.generic.Type$1
            dup
            invokespecial org.apache.bcel.generic.Type$1.<init>:()V
            putstatic org.apache.bcel.generic.Type.NULL:Lorg/apache/bcel/generic/ReferenceType;
        16: .line 64
            new org.apache.bcel.generic.Type$2
            dup
            bipush 15
            ldc "<unknown object>"
            invokespecial org.apache.bcel.generic.Type$2.<init>:(BLjava/lang/String;)V
            putstatic org.apache.bcel.generic.Type.UNKNOWN:Lorg/apache/bcel/generic/Type;
        17: .line 170
            new org.apache.bcel.generic.Type$3
            dup
            invokespecial org.apache.bcel.generic.Type$3.<init>:()V
            putstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
        18: .line 176
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(byte, java.lang.String);
    descriptor: (BLjava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.bcel.generic.Type this
        start local 1 // byte t
        start local 2 // java.lang.String s
         0: .line 68
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 69
            aload 0 /* this */
            iload 1 /* t */
            putfield org.apache.bcel.generic.Type.type:B
         2: .line 70
            aload 0 /* this */
            aload 2 /* s */
            putfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
         3: .line 71
            return
        end local 2 // java.lang.String s
        end local 1 // byte t
        end local 0 // org.apache.bcel.generic.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/bcel/generic/Type;
            0    4     1     t  B
            0    4     2     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      t     final
      s     final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type this
         0: .line 79
            aload 0 /* this */
            getfield org.apache.bcel.generic.Type.type:B
            aload 0 /* this */
            getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ixor
            ireturn
        end local 0 // org.apache.bcel.generic.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/generic/Type;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.bcel.generic.Type this
        start local 1 // java.lang.Object o
         0: .line 88
            aload 1 /* o */
            instanceof org.apache.bcel.generic.Type
            ifeq 4
         1: .line 89
            aload 1 /* o */
            checkcast org.apache.bcel.generic.Type
            astore 2 /* t */
        start local 2 // org.apache.bcel.generic.Type t
         2: .line 90
            aload 0 /* this */
            getfield org.apache.bcel.generic.Type.type:B
            aload 2 /* t */
            getfield org.apache.bcel.generic.Type.type:B
            if_icmpne 3
            aload 0 /* this */
            getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
            aload 2 /* t */
            getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: org.apache.bcel.generic.Type
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // org.apache.bcel.generic.Type t
         4: .line 92
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // org.apache.bcel.generic.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/bcel/generic/Type;
            0    5     1     o  Ljava/lang/Object;
            2    4     2     t  Lorg/apache/bcel/generic/Type;
    MethodParameters:
      Name  Flags
      o     final

  public java.lang.String getSignature();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type this
         0: .line 100
            aload 0 /* this */
            getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
            areturn
        end local 0 // org.apache.bcel.generic.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/generic/Type;

  public byte getType();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type this
         0: .line 108
            aload 0 /* this */
            getfield org.apache.bcel.generic.Type.type:B
            ireturn
        end local 0 // org.apache.bcel.generic.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/bcel/generic/Type;

  public org.apache.bcel.generic.Type normalizeForStackOrLocal();
    descriptor: ()Lorg/apache/bcel/generic/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type this
         0: .line 118
            aload 0 /* this */
            getstatic org.apache.bcel.generic.Type.BOOLEAN:Lorg/apache/bcel/generic/BasicType;
            if_acmpeq 1
            aload 0 /* this */
            getstatic org.apache.bcel.generic.Type.BYTE:Lorg/apache/bcel/generic/BasicType;
            if_acmpeq 1
            aload 0 /* this */
            getstatic org.apache.bcel.generic.Type.SHORT:Lorg/apache/bcel/generic/BasicType;
            if_acmpeq 1
            aload 0 /* this */
            getstatic org.apache.bcel.generic.Type.CHAR:Lorg/apache/bcel/generic/BasicType;
            if_acmpne 2
         1: .line 119
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.Type.INT:Lorg/apache/bcel/generic/BasicType;
            areturn
         2: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // org.apache.bcel.generic.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/bcel/generic/Type;

  public int getSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type this
         0: .line 128
            aload 0 /* this */
            getfield org.apache.bcel.generic.Type.type:B
            tableswitch { // 7 - 12
                    7: 1
                    8: 3
                    9: 3
                   10: 3
                   11: 1
                   12: 2
              default: 3
          }
         1: .line 131
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         2: .line 133
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 135
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // org.apache.bcel.generic.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/bcel/generic/Type;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.Type this
         0: .line 145
            aload 0 /* this */
            getstatic org.apache.bcel.generic.Type.NULL:Lorg/apache/bcel/generic/ReferenceType;
            invokevirtual org.apache.bcel.generic.Type.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.bcel.generic.Type.type:B
            bipush 15
            if_icmplt 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
            goto 3
         2: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
            iconst_0
            invokestatic org.apache.bcel.classfile.Utility.signatureToString:(Ljava/lang/String;Z)Ljava/lang/String;
         3: .line 145
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // org.apache.bcel.generic.Type this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/bcel/generic/Type;

  public static java.lang.String getMethodSignature(org.apache.bcel.generic.Type, org.apache.bcel.generic.Type[]);
    descriptor: (Lorg/apache/bcel/generic/Type;[Lorg/apache/bcel/generic/Type;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.apache.bcel.generic.Type return_type
        start local 1 // org.apache.bcel.generic.Type[] arg_types
         0: .line 159
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 160
            aload 1 /* arg_types */
            ifnull 7
         2: .line 161
            aload 1 /* arg_types */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] java.lang.StringBuilder top int int org.apache.bcel.generic.Type[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* arg_type */
        start local 3 // org.apache.bcel.generic.Type arg_type
         4: .line 162
            aload 2 /* buf */
            aload 3 /* arg_type */
            invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // org.apache.bcel.generic.Type arg_type
         5: .line 161
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 3
         7: .line 165
      StackMap locals: org.apache.bcel.generic.Type org.apache.bcel.generic.Type[] java.lang.StringBuilder
      StackMap stack:
            aload 2 /* buf */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 166
            aload 2 /* buf */
            aload 0 /* return_type */
            invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 167
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // org.apache.bcel.generic.Type[] arg_types
        end local 0 // org.apache.bcel.generic.Type return_type
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0  return_type  Lorg/apache/bcel/generic/Type;
            0   10     1    arg_types  [Lorg/apache/bcel/generic/Type;
            1   10     2          buf  Ljava/lang/StringBuilder;
            4    5     3     arg_type  Lorg/apache/bcel/generic/Type;
    MethodParameters:
             Name  Flags
      return_type  final
      arg_types    final

  private static int unwrap(java.lang.ThreadLocal<java.lang.Integer>);
    descriptor: (Ljava/lang/ThreadLocal;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.ThreadLocal tl
         0: .line 180
            aload 0 /* tl */
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 0 // java.lang.ThreadLocal tl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    tl  Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;
    Signature: (Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;)I
    MethodParameters:
      Name  Flags
      tl    final

  private static void wrap(java.lang.ThreadLocal<java.lang.Integer>, );
    descriptor: (Ljava/lang/ThreadLocal;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ThreadLocal tl
        start local 1 // int value
         0: .line 185
            aload 0 /* tl */
            iload 1 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         1: .line 186
            return
        end local 1 // int value
        end local 0 // java.lang.ThreadLocal tl
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0     tl  Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;
            0    2     1  value  I
    Signature: (Ljava/lang/ThreadLocal<Ljava/lang/Integer;>;I)V
    MethodParameters:
       Name  Flags
      tl     final
      value  final

  public static org.apache.bcel.generic.Type getType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String signature
         0: .line 196
            aload 0 /* signature */
            invokestatic org.apache.bcel.classfile.Utility.typeOfSignature:(Ljava/lang/String;)B
            istore 1 /* type */
        start local 1 // byte type
         1: .line 197
            iload 1 /* type */
            bipush 12
            if_icmpgt 4
         2: .line 199
            getstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
            iconst_1
            invokestatic org.apache.bcel.generic.Type.wrap:(Ljava/lang/ThreadLocal;I)V
         3: .line 200
            iload 1 /* type */
            invokestatic org.apache.bcel.generic.BasicType.getType:(B)Lorg/apache/bcel/generic/BasicType;
            areturn
         4: .line 201
      StackMap locals: int
      StackMap stack:
            iload 1 /* type */
            bipush 13
            if_icmpne 12
         5: .line 202
            iconst_0
            istore 2 /* dim */
        start local 2 // int dim
         6: .line 204
      StackMap locals: int
      StackMap stack:
            iinc 2 /* dim */ 1
         7: .line 205
            aload 0 /* signature */
            iload 2 /* dim */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpeq 6
         8: .line 207
            aload 0 /* signature */
            iload 2 /* dim */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
            astore 3 /* t */
        start local 3 // org.apache.bcel.generic.Type t
         9: .line 210
            getstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
            invokestatic org.apache.bcel.generic.Type.unwrap:(Ljava/lang/ThreadLocal;)I
            iload 2 /* dim */
            iadd
            istore 4 /* _temp */
        start local 4 // int _temp
        10: .line 211
            getstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
            iload 4 /* _temp */
            invokestatic org.apache.bcel.generic.Type.wrap:(Ljava/lang/ThreadLocal;I)V
        11: .line 212
            new org.apache.bcel.generic.ArrayType
            dup
            aload 3 /* t */
            iload 2 /* dim */
            invokespecial org.apache.bcel.generic.ArrayType.<init>:(Lorg/apache/bcel/generic/Type;I)V
            areturn
        end local 4 // int _temp
        end local 3 // org.apache.bcel.generic.Type t
        end local 2 // int dim
        12: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iconst_0
            invokestatic org.apache.bcel.classfile.Utility.typeSignatureToString:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 2 /* parsedSignature */
        start local 2 // java.lang.String parsedSignature
        13: .line 216
            getstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
            aload 2 /* parsedSignature */
            invokevirtual java.lang.String.length:()I
            iconst_2
            iadd
            invokestatic org.apache.bcel.generic.Type.wrap:(Ljava/lang/ThreadLocal;I)V
        14: .line 217
            aload 2 /* parsedSignature */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
            areturn
        end local 2 // java.lang.String parsedSignature
        end local 1 // byte type
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0        signature  Ljava/lang/String;
            1   15     1             type  B
            6   12     2              dim  I
            9   12     3                t  Lorg/apache/bcel/generic/Type;
           10   12     4            _temp  I
           13   15     2  parsedSignature  Ljava/lang/String;
    Exceptions:
      throws java.lang.StringIndexOutOfBoundsException
    MethodParameters:
           Name  Flags
      signature  final

  public static org.apache.bcel.generic.Type getReturnType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String signature
         0: .line 231
            aload 0 /* signature */
            bipush 41
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            istore 1 /* index */
        start local 1 // int index
         1: .line 232
            aload 0 /* signature */
            iload 1 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
         2: areturn
        end local 1 // int index
         3: .line 233
      StackMap locals:
      StackMap stack: java.lang.StringIndexOutOfBoundsException
            astore 1 /* e */
        start local 1 // java.lang.StringIndexOutOfBoundsException e
         4: .line 234
            new org.apache.bcel.classfile.ClassFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid method signature: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* signature */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.StringIndexOutOfBoundsException e
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  signature  Ljava/lang/String;
            1    3     1      index  I
            4    5     1          e  Ljava/lang/StringIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.StringIndexOutOfBoundsException
    MethodParameters:
           Name  Flags
      signature  final

  public static org.apache.bcel.generic.Type[] getArgumentTypes(java.lang.String);
    descriptor: (Ljava/lang/String;)[Lorg/apache/bcel/generic/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.String signature
         0: .line 245
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* vec */
        start local 1 // java.util.List vec
         1: .line 250
            aload 0 /* signature */
            bipush 40
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            istore 2 /* index */
        start local 2 // int index
         2: .line 251
            iload 2 /* index */
            ifgt 6
         3: .line 252
            new org.apache.bcel.classfile.ClassFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid method signature: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* signature */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 255
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* vec */
            aload 0 /* signature */
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 257
            iload 2 /* index */
            getstatic org.apache.bcel.generic.Type.consumed_chars:Ljava/lang/ThreadLocal;
            invokestatic org.apache.bcel.generic.Type.unwrap:(Ljava/lang/ThreadLocal;)I
            iadd
            istore 2 /* index */
         6: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 2 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 41
            if_icmpne 4
         7: .line 259
            goto 10
        end local 2 // int index
      StackMap locals: java.lang.String java.util.List
      StackMap stack: java.lang.StringIndexOutOfBoundsException
         8: astore 4 /* e */
        start local 4 // java.lang.StringIndexOutOfBoundsException e
         9: .line 260
            new org.apache.bcel.classfile.ClassFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid method signature: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* signature */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokespecial org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.StringIndexOutOfBoundsException e
        start local 2 // int index
        10: .line 262
      StackMap locals: int
      StackMap stack:
            aload 1 /* vec */
            invokeinterface java.util.List.size:()I
            anewarray org.apache.bcel.generic.Type
            astore 3 /* types */
        start local 3 // org.apache.bcel.generic.Type[] types
        11: .line 263
            aload 1 /* vec */
            aload 3 /* types */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        12: .line 264
            aload 3 /* types */
            areturn
        end local 3 // org.apache.bcel.generic.Type[] types
        end local 2 // int index
        end local 1 // java.util.List vec
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0  signature  Ljava/lang/String;
            1   13     1        vec  Ljava/util/List<Lorg/apache/bcel/generic/Type;>;
            2    8     2      index  I
           10   13     2      index  I
           11   13     3      types  [Lorg/apache/bcel/generic/Type;
            9   10     4          e  Ljava/lang/StringIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           1     7       8  Class java.lang.StringIndexOutOfBoundsException
    MethodParameters:
           Name  Flags
      signature  final

  public static org.apache.bcel.generic.Type getType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/apache/bcel/generic/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Class cl
         0: .line 273
            aload 0 /* cl */
            ifnonnull 2
         1: .line 274
            new java.lang.IllegalArgumentException
            dup
            ldc "Class must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 4
         3: .line 280
            aload 0 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/String;)Lorg/apache/bcel/generic/Type;
            areturn
         4: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 26
         5: .line 282
            aload 0 /* cl */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 7
         6: .line 283
            getstatic org.apache.bcel.generic.Type.INT:Lorg/apache/bcel/generic/BasicType;
            areturn
         7: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpne 9
         8: .line 285
            getstatic org.apache.bcel.generic.Type.VOID:Lorg/apache/bcel/generic/BasicType;
            areturn
         9: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 11
        10: .line 287
            getstatic org.apache.bcel.generic.Type.DOUBLE:Lorg/apache/bcel/generic/BasicType;
            areturn
        11: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 13
        12: .line 289
            getstatic org.apache.bcel.generic.Type.FLOAT:Lorg/apache/bcel/generic/BasicType;
            areturn
        13: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 15
        14: .line 291
            getstatic org.apache.bcel.generic.Type.BOOLEAN:Lorg/apache/bcel/generic/BasicType;
            areturn
        15: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 17
        16: .line 293
            getstatic org.apache.bcel.generic.Type.BYTE:Lorg/apache/bcel/generic/BasicType;
            areturn
        17: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 19
        18: .line 295
            getstatic org.apache.bcel.generic.Type.SHORT:Lorg/apache/bcel/generic/BasicType;
            areturn
        19: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 21
        20: .line 297
            getstatic org.apache.bcel.generic.Type.BYTE:Lorg/apache/bcel/generic/BasicType;
            areturn
        21: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 23
        22: .line 299
            getstatic org.apache.bcel.generic.Type.LONG:Lorg/apache/bcel/generic/BasicType;
            areturn
        23: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 25
        24: .line 301
            getstatic org.apache.bcel.generic.Type.CHAR:Lorg/apache/bcel/generic/BasicType;
            areturn
        25: .line 303
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Ooops, what primitive type is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* cl */
            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
        26: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
            areturn
        end local 0 // java.lang.Class cl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0    cl  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lorg/apache/bcel/generic/Type;
    MethodParameters:
      Name  Flags
      cl    final

  public static org.apache.bcel.generic.Type[] getTypes(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)[Lorg/apache/bcel/generic/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Class[] classes
         0: .line 317
            aload 0 /* classes */
            arraylength
            anewarray org.apache.bcel.generic.Type
            astore 1 /* ret */
        start local 1 // org.apache.bcel.generic.Type[] ret
         1: .line 318
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 319
      StackMap locals: org.apache.bcel.generic.Type[] int
      StackMap stack:
            aload 1 /* ret */
            iload 2 /* i */
            aload 0 /* classes */
            iload 2 /* i */
            aaload
            invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/Class;)Lorg/apache/bcel/generic/Type;
            aastore
         4: .line 318
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* ret */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 321
            aload 1 /* ret */
            areturn
        end local 1 // org.apache.bcel.generic.Type[] ret
        end local 0 // java.lang.Class[] classes
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  classes  [Ljava/lang/Class;
            1    7     1      ret  [Lorg/apache/bcel/generic/Type;
            2    6     2        i  I
    Signature: ([Ljava/lang/Class<*>;)[Lorg/apache/bcel/generic/Type;
    MethodParameters:
         Name  Flags
      classes  final

  public static java.lang.String getSignature(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // java.lang.reflect.Method meth
         0: .line 326
            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 327
            aload 0 /* meth */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 2 /* params */
        start local 2 // java.lang.Class[] params
         2: .line 328
            aload 2 /* params */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: java.lang.reflect.Method java.lang.StringBuilder java.lang.Class[] top int int java.lang.Class[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* param */
        start local 3 // java.lang.Class param
         4: .line 329
            aload 1 /* sb */
            aload 3 /* param */
            invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/Class;)Lorg/apache/bcel/generic/Type;
            invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.Class param
         5: .line 328
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 3
         7: .line 331
            aload 1 /* sb */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 332
            aload 1 /* sb */
            aload 0 /* meth */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokestatic org.apache.bcel.generic.Type.getType:(Ljava/lang/Class;)Lorg/apache/bcel/generic/Type;
            invokevirtual org.apache.bcel.generic.Type.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 333
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.Class[] params
        end local 1 // java.lang.StringBuilder sb
        end local 0 // java.lang.reflect.Method meth
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    meth  Ljava/lang/reflect/Method;
            1   10     1      sb  Ljava/lang/StringBuilder;
            2   10     2  params  [Ljava/lang/Class;
            4    5     3   param  Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      meth  final

  static int size(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int coded
         0: .line 337
            iload 0 /* coded */
            iconst_3
            iand
            ireturn
        end local 0 // int coded
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  coded  I
    MethodParameters:
       Name  Flags
      coded  final

  static int consumed(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int coded
         0: .line 341
            iload 0 /* coded */
            iconst_2
            ishr
            ireturn
        end local 0 // int coded
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  coded  I
    MethodParameters:
       Name  Flags
      coded  final

  static int encode(int, int);
    descriptor: (II)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int size
        start local 1 // int consumed
         0: .line 345
            iload 1 /* consumed */
            iconst_2
            ishl
            iload 0 /* size */
            ior
            ireturn
        end local 1 // int consumed
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      size  I
            0    1     1  consumed  I
    MethodParameters:
          Name  Flags
      size      final
      consumed  final

  static int getArgumentTypesSize(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.String signature
         0: .line 349
            iconst_0
            istore 1 /* res */
        start local 1 // int res
         1: .line 353
            aload 0 /* signature */
            bipush 40
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            istore 2 /* index */
        start local 2 // int index
         2: .line 354
            iload 2 /* index */
            ifgt 7
         3: .line 355
            new org.apache.bcel.classfile.ClassFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid method signature: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* signature */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 358
      StackMap locals: int int
      StackMap stack:
            aload 0 /* signature */
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.apache.bcel.generic.Type.getTypeSize:(Ljava/lang/String;)I
            istore 3 /* coded */
        start local 3 // int coded
         5: .line 359
            iload 1 /* res */
            iload 3 /* coded */
            invokestatic org.apache.bcel.generic.Type.size:(I)I
            iadd
            istore 1 /* res */
         6: .line 360
            iload 2 /* index */
            iload 3 /* coded */
            invokestatic org.apache.bcel.generic.Type.consumed:(I)I
            iadd
            istore 2 /* index */
        end local 3 // int coded
         7: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 2 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 41
            if_icmpne 4
         8: .line 362
            goto 11
        end local 2 // int index
      StackMap locals: java.lang.String int
      StackMap stack: java.lang.StringIndexOutOfBoundsException
         9: astore 3 /* e */
        start local 3 // java.lang.StringIndexOutOfBoundsException e
        10: .line 363
            new org.apache.bcel.classfile.ClassFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid method signature: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* signature */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.StringIndexOutOfBoundsException e
        start local 2 // int index
        11: .line 365
      StackMap locals: int
      StackMap stack:
            iload 1 /* res */
            ireturn
        end local 2 // int index
        end local 1 // int res
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0  signature  Ljava/lang/String;
            1   12     1        res  I
            2    9     2      index  I
           11   12     2      index  I
            5    7     3      coded  I
           10   11     3          e  Ljava/lang/StringIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           1     8       9  Class java.lang.StringIndexOutOfBoundsException
    MethodParameters:
           Name  Flags
      signature  final

  static int getTypeSize(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.String signature
         0: .line 369
            aload 0 /* signature */
            invokestatic org.apache.bcel.classfile.Utility.typeOfSignature:(Ljava/lang/String;)B
            istore 1 /* type */
        start local 1 // byte type
         1: .line 370
            iload 1 /* type */
            bipush 12
            if_icmpgt 3
         2: .line 371
            iload 1 /* type */
            invokestatic org.apache.bcel.generic.BasicType.getType:(B)Lorg/apache/bcel/generic/BasicType;
            invokevirtual org.apache.bcel.generic.BasicType.getSize:()I
            iconst_1
            invokestatic org.apache.bcel.generic.Type.encode:(II)I
            ireturn
         3: .line 372
      StackMap locals: int
      StackMap stack:
            iload 1 /* type */
            bipush 13
            if_icmpne 9
         4: .line 373
            iconst_0
            istore 2 /* dim */
        start local 2 // int dim
         5: .line 375
      StackMap locals: int
      StackMap stack:
            iinc 2 /* dim */ 1
         6: .line 376
            aload 0 /* signature */
            iload 2 /* dim */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpeq 5
         7: .line 378
            aload 0 /* signature */
            iload 2 /* dim */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.apache.bcel.generic.Type.getTypeSize:(Ljava/lang/String;)I
            invokestatic org.apache.bcel.generic.Type.consumed:(I)I
            istore 3 /* consumed */
        start local 3 // int consumed
         8: .line 379
            iconst_1
            iload 2 /* dim */
            iload 3 /* consumed */
            iadd
            invokestatic org.apache.bcel.generic.Type.encode:(II)I
            ireturn
        end local 3 // int consumed
        end local 2 // int dim
         9: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            bipush 59
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
        10: .line 382
            iload 2 /* index */
            ifge 12
        11: .line 383
            new org.apache.bcel.classfile.ClassFormatException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid signature: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* signature */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.bcel.classfile.ClassFormatException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 385
      StackMap locals: int
      StackMap stack:
            iconst_1
            iload 2 /* index */
            iconst_1
            iadd
            invokestatic org.apache.bcel.generic.Type.encode:(II)I
            ireturn
        end local 2 // int index
        end local 1 // byte type
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0  signature  Ljava/lang/String;
            1   13     1       type  B
            5    9     2        dim  I
            8    9     3   consumed  I
           10   13     2      index  I
    Exceptions:
      throws java.lang.StringIndexOutOfBoundsException
    MethodParameters:
           Name  Flags
      signature  final

  static int getReturnTypeSize(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String signature
         0: .line 391
            aload 0 /* signature */
            bipush 41
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            istore 1 /* index */
        start local 1 // int index
         1: .line 392
            aload 0 /* signature */
            iload 1 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.apache.bcel.generic.Type.getTypeSize:(Ljava/lang/String;)I
            invokestatic org.apache.bcel.generic.Type.size:(I)I
            ireturn
        end local 1 // int index
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  signature  Ljava/lang/String;
            1    2     1      index  I
    MethodParameters:
           Name  Flags
      signature  final

  void setSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.Type this
        start local 1 // java.lang.String signature
         0: .line 402
            aload 0 /* this */
            aload 1 /* signature */
            putfield org.apache.bcel.generic.Type.signature:Ljava/lang/String;
         1: .line 403
            return
        end local 1 // java.lang.String signature
        end local 0 // org.apache.bcel.generic.Type this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/bcel/generic/Type;
            0    2     1  signature  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      signature  final
}
SourceFile: "Type.java"
NestMembers:
  org.apache.bcel.generic.Type$1  org.apache.bcel.generic.Type$2  org.apache.bcel.generic.Type$3
InnerClasses:
  org.apache.bcel.generic.Type$1
  org.apache.bcel.generic.Type$2
  org.apache.bcel.generic.Type$3