public class org.objectweb.asm.TypeReference
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.objectweb.asm.TypeReference
  super_class: java.lang.Object
{
  public static final int CLASS_TYPE_PARAMETER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int METHOD_TYPE_PARAMETER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CLASS_EXTENDS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  public static final int CLASS_TYPE_PARAMETER_BOUND;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  public static final int METHOD_TYPE_PARAMETER_BOUND;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 18

  public static final int FIELD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 19

  public static final int METHOD_RETURN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  public static final int METHOD_RECEIVER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 21

  public static final int METHOD_FORMAL_PARAMETER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 22

  public static final int THROWS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 23

  public static final int LOCAL_VARIABLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  public static final int RESOURCE_VARIABLE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65

  public static final int EXCEPTION_PARAMETER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 66

  public static final int INSTANCEOF;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 67

  public static final int NEW;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 68

  public static final int CONSTRUCTOR_REFERENCE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 69

  public static final int METHOD_REFERENCE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 70

  public static final int CAST;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 71

  public static final int CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 72

  public static final int METHOD_INVOCATION_TYPE_ARGUMENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 73

  public static final int CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 74

  public static final int METHOD_REFERENCE_TYPE_ARGUMENT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 75

  private final int targetTypeAndInfo;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.objectweb.asm.TypeReference this
        start local 1 // int typeRef
         0: .line 193
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 194
            aload 0 /* this */
            iload 1 /* typeRef */
            putfield org.objectweb.asm.TypeReference.targetTypeAndInfo:I
         2: .line 195
            return
        end local 1 // int typeRef
        end local 0 // org.objectweb.asm.TypeReference this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/objectweb/asm/TypeReference;
            0    3     1  typeRef  I
    MethodParameters:
         Name  Flags
      typeRef  final

  public static org.objectweb.asm.TypeReference newTypeReference(int);
    descriptor: (I)Lorg/objectweb/asm/TypeReference;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int sort
         0: .line 206
            new org.objectweb.asm.TypeReference
            dup
            iload 0 /* sort */
            bipush 24
            ishl
            invokespecial org.objectweb.asm.TypeReference.<init>:(I)V
            areturn
        end local 0 // int sort
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  sort  I
    MethodParameters:
      Name  Flags
      sort  final

  public static org.objectweb.asm.TypeReference newTypeParameterReference(int, int);
    descriptor: (II)Lorg/objectweb/asm/TypeReference;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int sort
        start local 1 // int paramIndex
         0: .line 217
            new org.objectweb.asm.TypeReference
            dup
            iload 0 /* sort */
            bipush 24
            ishl
            iload 1 /* paramIndex */
            bipush 16
            ishl
            ior
            invokespecial org.objectweb.asm.TypeReference.<init>:(I)V
            areturn
        end local 1 // int paramIndex
        end local 0 // int sort
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        sort  I
            0    1     1  paramIndex  I
    MethodParameters:
            Name  Flags
      sort        final
      paramIndex  final

  public static org.objectweb.asm.TypeReference newTypeParameterBoundReference(int, int, int);
    descriptor: (III)Lorg/objectweb/asm/TypeReference;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int sort
        start local 1 // int paramIndex
        start local 2 // int boundIndex
         0: .line 230
            new org.objectweb.asm.TypeReference
            dup
            iload 0 /* sort */
            bipush 24
            ishl
            iload 1 /* paramIndex */
            bipush 16
            ishl
            ior
            iload 2 /* boundIndex */
            bipush 8
            ishl
            ior
            invokespecial org.objectweb.asm.TypeReference.<init>:(I)V
            areturn
        end local 2 // int boundIndex
        end local 1 // int paramIndex
        end local 0 // int sort
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        sort  I
            0    1     1  paramIndex  I
            0    1     2  boundIndex  I
    MethodParameters:
            Name  Flags
      sort        final
      paramIndex  final
      boundIndex  final

  public static org.objectweb.asm.TypeReference newSuperTypeReference(int);
    descriptor: (I)Lorg/objectweb/asm/TypeReference;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int itfIndex
         0: .line 242
            new org.objectweb.asm.TypeReference
            dup
            ldc 268435456
            iload 0 /* itfIndex */
            ldc 65535
            iand
            bipush 8
            ishl
            ior
            invokespecial org.objectweb.asm.TypeReference.<init>:(I)V
            areturn
        end local 0 // int itfIndex
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  itfIndex  I
    MethodParameters:
          Name  Flags
      itfIndex  final

  public static org.objectweb.asm.TypeReference newFormalParameterReference(int);
    descriptor: (I)Lorg/objectweb/asm/TypeReference;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int paramIndex
         0: .line 252
            new org.objectweb.asm.TypeReference
            dup
            ldc 369098752
            iload 0 /* paramIndex */
            bipush 16
            ishl
            ior
            invokespecial org.objectweb.asm.TypeReference.<init>:(I)V
            areturn
        end local 0 // int paramIndex
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  paramIndex  I
    MethodParameters:
            Name  Flags
      paramIndex  final

  public static org.objectweb.asm.TypeReference newExceptionReference(int);
    descriptor: (I)Lorg/objectweb/asm/TypeReference;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int exceptionIndex
         0: .line 262
            new org.objectweb.asm.TypeReference
            dup
            ldc 385875968
            iload 0 /* exceptionIndex */
            bipush 8
            ishl
            ior
            invokespecial org.objectweb.asm.TypeReference.<init>:(I)V
            areturn
        end local 0 // int exceptionIndex
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  exceptionIndex  I
    MethodParameters:
                Name  Flags
      exceptionIndex  final

  public static org.objectweb.asm.TypeReference newTryCatchReference(int);
    descriptor: (I)Lorg/objectweb/asm/TypeReference;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int tryCatchBlockIndex
         0: .line 273
            new org.objectweb.asm.TypeReference
            dup
            ldc 1107296256
            iload 0 /* tryCatchBlockIndex */
            bipush 8
            ishl
            ior
            invokespecial org.objectweb.asm.TypeReference.<init>:(I)V
            areturn
        end local 0 // int tryCatchBlockIndex
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0  tryCatchBlockIndex  I
    MethodParameters:
                    Name  Flags
      tryCatchBlockIndex  final

  public static org.objectweb.asm.TypeReference newTypeArgumentReference(int, int);
    descriptor: (II)Lorg/objectweb/asm/TypeReference;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int sort
        start local 1 // int argIndex
         0: .line 287
            new org.objectweb.asm.TypeReference
            dup
            iload 0 /* sort */
            bipush 24
            ishl
            iload 1 /* argIndex */
            ior
            invokespecial org.objectweb.asm.TypeReference.<init>:(I)V
            areturn
        end local 1 // int argIndex
        end local 0 // int sort
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      sort  I
            0    1     1  argIndex  I
    MethodParameters:
          Name  Flags
      sort      final
      argIndex  final

  public int getSort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.TypeReference this
         0: .line 303
            aload 0 /* this */
            getfield org.objectweb.asm.TypeReference.targetTypeAndInfo:I
            bipush 24
            iushr
            ireturn
        end local 0 // org.objectweb.asm.TypeReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/TypeReference;

  public int getTypeParameterIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.TypeReference this
         0: .line 315
            aload 0 /* this */
            getfield org.objectweb.asm.TypeReference.targetTypeAndInfo:I
            ldc 16711680
            iand
            bipush 16
            ishr
            ireturn
        end local 0 // org.objectweb.asm.TypeReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/TypeReference;

  public int getTypeParameterBoundIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.TypeReference this
         0: .line 327
            aload 0 /* this */
            getfield org.objectweb.asm.TypeReference.targetTypeAndInfo:I
            ldc 65280
            iand
            bipush 8
            ishr
            ireturn
        end local 0 // org.objectweb.asm.TypeReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/TypeReference;

  public int getSuperTypeIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.TypeReference this
         0: .line 338
            aload 0 /* this */
            getfield org.objectweb.asm.TypeReference.targetTypeAndInfo:I
            ldc 16776960
            iand
            bipush 8
            ishr
            i2s
            ireturn
        end local 0 // org.objectweb.asm.TypeReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/TypeReference;

  public int getFormalParameterIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.TypeReference this
         0: .line 348
            aload 0 /* this */
            getfield org.objectweb.asm.TypeReference.targetTypeAndInfo:I
            ldc 16711680
            iand
            bipush 16
            ishr
            ireturn
        end local 0 // org.objectweb.asm.TypeReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/TypeReference;

  public int getExceptionIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.TypeReference this
         0: .line 359
            aload 0 /* this */
            getfield org.objectweb.asm.TypeReference.targetTypeAndInfo:I
            ldc 16776960
            iand
            bipush 8
            ishr
            ireturn
        end local 0 // org.objectweb.asm.TypeReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/TypeReference;

  public int getTryCatchBlockIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.TypeReference this
         0: .line 370
            aload 0 /* this */
            getfield org.objectweb.asm.TypeReference.targetTypeAndInfo:I
            ldc 16776960
            iand
            bipush 8
            ishr
            ireturn
        end local 0 // org.objectweb.asm.TypeReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/TypeReference;

  public int getTypeArgumentIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.TypeReference this
         0: .line 382
            aload 0 /* this */
            getfield org.objectweb.asm.TypeReference.targetTypeAndInfo:I
            sipush 255
            iand
            ireturn
        end local 0 // org.objectweb.asm.TypeReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/TypeReference;

  public int getValue();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.objectweb.asm.TypeReference this
         0: .line 392
            aload 0 /* this */
            getfield org.objectweb.asm.TypeReference.targetTypeAndInfo:I
            ireturn
        end local 0 // org.objectweb.asm.TypeReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/objectweb/asm/TypeReference;

  static void putTarget(int, org.objectweb.asm.ByteVector);
    descriptor: (ILorg/objectweb/asm/ByteVector;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int targetTypeAndInfo
        start local 1 // org.objectweb.asm.ByteVector output
         0: .line 403
            iload 0 /* targetTypeAndInfo */
            bipush 24
            iushr
            lookupswitch { // 20
                    0: 1
                    1: 1
                   16: 7
                   17: 7
                   18: 7
                   19: 3
                   20: 3
                   21: 3
                   22: 1
                   23: 7
                   66: 7
                   67: 7
                   68: 7
                   69: 7
                   70: 7
                   71: 5
                   72: 5
                   73: 5
                   74: 5
                   75: 5
              default: 9
          }
         1: .line 407
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            iload 0 /* targetTypeAndInfo */
            bipush 16
            iushr
            invokevirtual org.objectweb.asm.ByteVector.putShort:(I)Lorg/objectweb/asm/ByteVector;
            pop
         2: .line 408
            goto 10
         3: .line 412
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            iload 0 /* targetTypeAndInfo */
            bipush 24
            iushr
            invokevirtual org.objectweb.asm.ByteVector.putByte:(I)Lorg/objectweb/asm/ByteVector;
            pop
         4: .line 413
            goto 10
         5: .line 419
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            iload 0 /* targetTypeAndInfo */
            invokevirtual org.objectweb.asm.ByteVector.putInt:(I)Lorg/objectweb/asm/ByteVector;
            pop
         6: .line 420
            goto 10
         7: .line 430
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            iload 0 /* targetTypeAndInfo */
            bipush 24
            iushr
            iload 0 /* targetTypeAndInfo */
            ldc 16776960
            iand
            bipush 8
            ishr
            invokevirtual org.objectweb.asm.ByteVector.put12:(II)Lorg/objectweb/asm/ByteVector;
            pop
         8: .line 431
            goto 10
         9: .line 433
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        10: .line 435
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.objectweb.asm.ByteVector output
        end local 0 // int targetTypeAndInfo
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0  targetTypeAndInfo  I
            0   11     1             output  Lorg/objectweb/asm/ByteVector;
    MethodParameters:
                   Name  Flags
      targetTypeAndInfo  final
      output             final
}
SourceFile: "TypeReference.java"