public abstract class org.apache.bcel.generic.ReferenceType extends 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.ReferenceType
  super_class: org.apache.bcel.generic.Type
{
  protected void <init>(byte, java.lang.String);
    descriptor: (BLjava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.bcel.generic.ReferenceType this
        start local 1 // byte t
        start local 2 // java.lang.String s
         0: .line 31
            aload 0 /* this */
            iload 1 /* t */
            aload 2 /* s */
            invokespecial org.apache.bcel.generic.Type.<init>:(BLjava/lang/String;)V
         1: .line 32
            return
        end local 2 // java.lang.String s
        end local 1 // byte t
        end local 0 // org.apache.bcel.generic.ReferenceType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/bcel/generic/ReferenceType;
            0    2     1     t  B
            0    2     2     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      t     final
      s     final

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.bcel.generic.ReferenceType this
         0: .line 38
            aload 0 /* this */
            bipush 14
            ldc "<null object>"
            invokespecial org.apache.bcel.generic.Type.<init>:(BLjava/lang/String;)V
         1: .line 39
            return
        end local 0 // org.apache.bcel.generic.ReferenceType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/bcel/generic/ReferenceType;

  public boolean isCastableTo(org.apache.bcel.generic.Type);
    descriptor: (Lorg/apache/bcel/generic/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.bcel.generic.ReferenceType this
        start local 1 // org.apache.bcel.generic.Type t
         0: .line 54
            aload 0 /* this */
            getstatic org.apache.bcel.generic.Type.NULL:Lorg/apache/bcel/generic/ReferenceType;
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 55
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ReferenceType
            ireturn
         2: .line 57
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual org.apache.bcel.generic.ReferenceType.isAssignmentCompatibleWith:(Lorg/apache/bcel/generic/Type;)Z
            ireturn
        end local 1 // org.apache.bcel.generic.Type t
        end local 0 // org.apache.bcel.generic.ReferenceType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/bcel/generic/ReferenceType;
            0    3     1     t  Lorg/apache/bcel/generic/Type;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      t     final

  public boolean isAssignmentCompatibleWith(org.apache.bcel.generic.Type);
    descriptor: (Lorg/apache/bcel/generic/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.bcel.generic.ReferenceType this
        start local 1 // org.apache.bcel.generic.Type t
         0: .line 72
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ReferenceType
            ifne 2
         1: .line 73
            iconst_0
            ireturn
         2: .line 75
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ReferenceType
            astore 2 /* T */
        start local 2 // org.apache.bcel.generic.ReferenceType T
         3: .line 76
            aload 0 /* this */
            getstatic org.apache.bcel.generic.Type.NULL:Lorg/apache/bcel/generic/ReferenceType;
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 77
            iconst_1
            ireturn
         5: .line 81
      StackMap locals: org.apache.bcel.generic.ReferenceType
      StackMap stack:
            aload 0 /* this */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 20
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesClassExact:()Z
            ifeq 20
         6: .line 85
            aload 2 /* T */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 14
            aload 2 /* T */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesClassExact:()Z
            ifeq 14
         7: .line 86
            aload 0 /* this */
            aload 2 /* T */
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 87
            iconst_1
            ireturn
         9: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            aload 2 /* T */
            checkcast org.apache.bcel.generic.ObjectType
        10: .line 90
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
        11: .line 89
            invokestatic org.apache.bcel.Repository.instanceOf:(Ljava/lang/String;Ljava/lang/String;)Z
        12: .line 90
            ifeq 14
        13: .line 91
            iconst_1
            ireturn
        14: .line 96
      StackMap locals:
      StackMap stack:
            aload 2 /* T */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 20
            aload 2 /* T */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesInterfaceExact:()Z
            ifeq 20
        15: .line 97
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
        16: .line 98
            aload 2 /* T */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
        17: .line 97
            invokestatic org.apache.bcel.Repository.implementationOf:(Ljava/lang/String;Ljava/lang/String;)Z
        18: .line 98
            ifeq 20
        19: .line 99
            iconst_1
            ireturn
        20: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 32
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesInterfaceExact:()Z
            ifeq 32
        21: .line 108
            aload 2 /* T */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 24
            aload 2 /* T */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesClassExact:()Z
            ifeq 24
        22: .line 109
            aload 2 /* T */
            getstatic org.apache.bcel.generic.Type.OBJECT:Lorg/apache/bcel/generic/ObjectType;
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 110
            iconst_1
            ireturn
        24: .line 116
      StackMap locals:
      StackMap stack:
            aload 2 /* T */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 32
            aload 2 /* T */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesInterfaceExact:()Z
            ifeq 32
        25: .line 117
            aload 0 /* this */
            aload 2 /* T */
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 118
            iconst_1
            ireturn
        27: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
        28: .line 121
            aload 2 /* T */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
        29: .line 120
            invokestatic org.apache.bcel.Repository.implementationOf:(Ljava/lang/String;Ljava/lang/String;)Z
        30: .line 121
            ifeq 32
        31: .line 122
            iconst_1
            ireturn
        32: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 50
        33: .line 132
            aload 2 /* T */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 36
            aload 2 /* T */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesClassExact:()Z
            ifeq 36
        34: .line 133
            aload 2 /* T */
            getstatic org.apache.bcel.generic.Type.OBJECT:Lorg/apache/bcel/generic/ObjectType;
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 36
        35: .line 134
            iconst_1
            ireturn
        36: .line 140
      StackMap locals:
      StackMap stack:
            aload 2 /* T */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 44
        37: .line 143
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ArrayType
            invokevirtual org.apache.bcel.generic.ArrayType.getElementType:()Lorg/apache/bcel/generic/Type;
            astore 3 /* sc */
        start local 3 // org.apache.bcel.generic.Type sc
        38: .line 144
            aload 2 /* T */
            checkcast org.apache.bcel.generic.ArrayType
            invokevirtual org.apache.bcel.generic.ArrayType.getElementType:()Lorg/apache/bcel/generic/Type;
            astore 4 /* tc */
        start local 4 // org.apache.bcel.generic.Type tc
        39: .line 145
            aload 3 /* sc */
            instanceof org.apache.bcel.generic.BasicType
            ifeq 41
            aload 4 /* tc */
            instanceof org.apache.bcel.generic.BasicType
            ifeq 41
            aload 3 /* sc */
            aload 4 /* tc */
            invokevirtual org.apache.bcel.generic.Type.equals:(Ljava/lang/Object;)Z
            ifeq 41
        40: .line 146
            iconst_1
            ireturn
        41: .line 151
      StackMap locals: org.apache.bcel.generic.Type org.apache.bcel.generic.Type
      StackMap stack:
            aload 4 /* tc */
            instanceof org.apache.bcel.generic.ReferenceType
            ifeq 44
            aload 3 /* sc */
            instanceof org.apache.bcel.generic.ReferenceType
            ifeq 44
        42: .line 152
            aload 3 /* sc */
            checkcast org.apache.bcel.generic.ReferenceType
            aload 4 /* tc */
            invokevirtual org.apache.bcel.generic.ReferenceType.isAssignmentCompatibleWith:(Lorg/apache/bcel/generic/Type;)Z
            ifeq 44
        43: .line 153
            iconst_1
            ireturn
        end local 4 // org.apache.bcel.generic.Type tc
        end local 3 // org.apache.bcel.generic.Type sc
        44: .line 162
      StackMap locals:
      StackMap stack:
            aload 2 /* T */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 50
            aload 2 /* T */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesInterfaceExact:()Z
            ifeq 50
        45: .line 163
            invokestatic org.apache.bcel.Const.getInterfacesImplementedByArrays:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 49
      StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.Type org.apache.bcel.generic.ReferenceType top java.util.Iterator
      StackMap stack:
        46: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* element */
        start local 3 // java.lang.String element
        47: .line 164
            aload 2 /* T */
            aload 3 /* element */
            invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 49
        48: .line 165
            iconst_1
            ireturn
        end local 3 // java.lang.String element
        49: .line 163
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 46
        50: .line 170
      StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.Type org.apache.bcel.generic.ReferenceType
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.apache.bcel.generic.ReferenceType T
        end local 1 // org.apache.bcel.generic.Type t
        end local 0 // org.apache.bcel.generic.ReferenceType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   51     0     this  Lorg/apache/bcel/generic/ReferenceType;
            0   51     1        t  Lorg/apache/bcel/generic/Type;
            3   51     2        T  Lorg/apache/bcel/generic/ReferenceType;
           38   44     3       sc  Lorg/apache/bcel/generic/Type;
           39   44     4       tc  Lorg/apache/bcel/generic/Type;
           47   49     3  element  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      t     final

  public org.apache.bcel.generic.ReferenceType getFirstCommonSuperclass(org.apache.bcel.generic.ReferenceType);
    descriptor: (Lorg/apache/bcel/generic/ReferenceType;)Lorg/apache/bcel/generic/ReferenceType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=16, args_size=2
        start local 0 // org.apache.bcel.generic.ReferenceType this
        start local 1 // org.apache.bcel.generic.ReferenceType t
         0: .line 193
            aload 0 /* this */
            getstatic org.apache.bcel.generic.Type.NULL:Lorg/apache/bcel/generic/ReferenceType;
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 194
            aload 1 /* t */
            areturn
         2: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            getstatic org.apache.bcel.generic.Type.NULL:Lorg/apache/bcel/generic/ReferenceType;
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 197
            aload 0 /* this */
            areturn
         4: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 200
            aload 0 /* this */
            areturn
         6: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 16
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 16
         7: .line 211
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ArrayType
            astore 2 /* arrType1 */
        start local 2 // org.apache.bcel.generic.ArrayType arrType1
         8: .line 212
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ArrayType
            astore 3 /* arrType2 */
        start local 3 // org.apache.bcel.generic.ArrayType arrType2
         9: .line 213
            aload 2 /* arrType1 */
            invokevirtual org.apache.bcel.generic.ArrayType.getDimensions:()I
            aload 3 /* arrType2 */
            invokevirtual org.apache.bcel.generic.ArrayType.getDimensions:()I
            if_icmpne 16
        10: .line 214
            aload 2 /* arrType1 */
            invokevirtual org.apache.bcel.generic.ArrayType.getBasicType:()Lorg/apache/bcel/generic/Type;
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 16
        11: .line 215
            aload 3 /* arrType2 */
            invokevirtual org.apache.bcel.generic.ArrayType.getBasicType:()Lorg/apache/bcel/generic/Type;
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 16
        12: .line 216
            new org.apache.bcel.generic.ArrayType
            dup
            aload 2 /* arrType1 */
            invokevirtual org.apache.bcel.generic.ArrayType.getBasicType:()Lorg/apache/bcel/generic/Type;
            checkcast org.apache.bcel.generic.ObjectType
        13: .line 217
            aload 3 /* arrType2 */
            invokevirtual org.apache.bcel.generic.ArrayType.getBasicType:()Lorg/apache/bcel/generic/Type;
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.getFirstCommonSuperclass:(Lorg/apache/bcel/generic/ReferenceType;)Lorg/apache/bcel/generic/ReferenceType;
            aload 2 /* arrType1 */
        14: .line 218
            invokevirtual org.apache.bcel.generic.ArrayType.getDimensions:()I
        15: .line 216
            invokespecial org.apache.bcel.generic.ArrayType.<init>:(Lorg/apache/bcel/generic/Type;I)V
            areturn
        end local 3 // org.apache.bcel.generic.ArrayType arrType2
        end local 2 // org.apache.bcel.generic.ArrayType arrType1
        16: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.apache.bcel.generic.ArrayType
            ifne 17
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 18
        17: .line 222
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.Type.OBJECT:Lorg/apache/bcel/generic/ObjectType;
            areturn
        18: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 19
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesInterfaceExact:()Z
            ifne 20
        19: .line 226
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 21
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesInterfaceExact:()Z
            ifeq 21
        20: .line 227
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.Type.OBJECT:Lorg/apache/bcel/generic/ObjectType;
            areturn
        21: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ObjectType
            astore 2 /* thiz */
        start local 2 // org.apache.bcel.generic.ObjectType thiz
        22: .line 234
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ObjectType
            astore 3 /* other */
        start local 3 // org.apache.bcel.generic.ObjectType other
        23: .line 235
            aload 2 /* thiz */
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            invokestatic org.apache.bcel.Repository.getSuperClasses:(Ljava/lang/String;)[Lorg/apache/bcel/classfile/JavaClass;
            astore 4 /* thiz_sups */
        start local 4 // org.apache.bcel.classfile.JavaClass[] thiz_sups
        24: .line 236
            aload 3 /* other */
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            invokestatic org.apache.bcel.Repository.getSuperClasses:(Ljava/lang/String;)[Lorg/apache/bcel/classfile/JavaClass;
            astore 5 /* other_sups */
        start local 5 // org.apache.bcel.classfile.JavaClass[] other_sups
        25: .line 237
            aload 4 /* thiz_sups */
            ifnull 26
            aload 5 /* other_sups */
            ifnonnull 27
        26: .line 238
      StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ObjectType org.apache.bcel.generic.ObjectType org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[]
      StackMap stack:
            aconst_null
            areturn
        27: .line 241
      StackMap locals:
      StackMap stack:
            aload 4 /* thiz_sups */
            arraylength
            iconst_1
            iadd
            anewarray org.apache.bcel.classfile.JavaClass
            astore 6 /* this_sups */
        start local 6 // org.apache.bcel.classfile.JavaClass[] this_sups
        28: .line 242
            aload 5 /* other_sups */
            arraylength
            iconst_1
            iadd
            anewarray org.apache.bcel.classfile.JavaClass
            astore 7 /* t_sups */
        start local 7 // org.apache.bcel.classfile.JavaClass[] t_sups
        29: .line 243
            aload 4 /* thiz_sups */
            iconst_0
            aload 6 /* this_sups */
            iconst_1
            aload 4 /* thiz_sups */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        30: .line 244
            aload 5 /* other_sups */
            iconst_0
            aload 7 /* t_sups */
            iconst_1
            aload 5 /* other_sups */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        31: .line 245
            aload 6 /* this_sups */
            iconst_0
            aload 2 /* thiz */
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            invokestatic org.apache.bcel.Repository.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            aastore
        32: .line 246
            aload 7 /* t_sups */
            iconst_0
            aload 3 /* other */
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            invokestatic org.apache.bcel.Repository.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            aastore
        33: .line 247
            aload 7 /* t_sups */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 42
      StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ObjectType org.apache.bcel.generic.ObjectType org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] top int int org.apache.bcel.classfile.JavaClass[]
      StackMap stack:
        34: aload 11
            iload 9
            aaload
            astore 8 /* t_sup */
        start local 8 // org.apache.bcel.classfile.JavaClass t_sup
        35: .line 248
            aload 6 /* this_sups */
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 40
      StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ObjectType org.apache.bcel.generic.ObjectType org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass int int org.apache.bcel.classfile.JavaClass[] top int int org.apache.bcel.classfile.JavaClass[]
      StackMap stack:
        36: aload 15
            iload 13
            aaload
            astore 12 /* this_sup */
        start local 12 // org.apache.bcel.classfile.JavaClass this_sup
        37: .line 249
            aload 12 /* this_sup */
            aload 8 /* t_sup */
            invokevirtual org.apache.bcel.classfile.JavaClass.equals:(Ljava/lang/Object;)Z
            ifeq 39
        38: .line 250
            aload 12 /* this_sup */
            invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
            invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
            areturn
        end local 12 // org.apache.bcel.classfile.JavaClass this_sup
        39: .line 248
      StackMap locals:
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        40: iload 13
            iload 14
            if_icmplt 36
        end local 8 // org.apache.bcel.classfile.JavaClass t_sup
        41: .line 247
            iinc 9 1
      StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ObjectType org.apache.bcel.generic.ObjectType org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] top int int org.apache.bcel.classfile.JavaClass[]
      StackMap stack:
        42: iload 9
            iload 10
            if_icmplt 34
        43: .line 255
            aconst_null
            areturn
        end local 7 // org.apache.bcel.classfile.JavaClass[] t_sups
        end local 6 // org.apache.bcel.classfile.JavaClass[] this_sups
        end local 5 // org.apache.bcel.classfile.JavaClass[] other_sups
        end local 4 // org.apache.bcel.classfile.JavaClass[] thiz_sups
        end local 3 // org.apache.bcel.generic.ObjectType other
        end local 2 // org.apache.bcel.generic.ObjectType thiz
        end local 1 // org.apache.bcel.generic.ReferenceType t
        end local 0 // org.apache.bcel.generic.ReferenceType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   44     0        this  Lorg/apache/bcel/generic/ReferenceType;
            0   44     1           t  Lorg/apache/bcel/generic/ReferenceType;
            8   16     2    arrType1  Lorg/apache/bcel/generic/ArrayType;
            9   16     3    arrType2  Lorg/apache/bcel/generic/ArrayType;
           22   44     2        thiz  Lorg/apache/bcel/generic/ObjectType;
           23   44     3       other  Lorg/apache/bcel/generic/ObjectType;
           24   44     4   thiz_sups  [Lorg/apache/bcel/classfile/JavaClass;
           25   44     5  other_sups  [Lorg/apache/bcel/classfile/JavaClass;
           28   44     6   this_sups  [Lorg/apache/bcel/classfile/JavaClass;
           29   44     7      t_sups  [Lorg/apache/bcel/classfile/JavaClass;
           35   41     8       t_sup  Lorg/apache/bcel/classfile/JavaClass;
           37   39    12    this_sup  Lorg/apache/bcel/classfile/JavaClass;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      t     final

  public org.apache.bcel.generic.ReferenceType firstCommonSuperclass(org.apache.bcel.generic.ReferenceType);
    descriptor: (Lorg/apache/bcel/generic/ReferenceType;)Lorg/apache/bcel/generic/ReferenceType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=16, args_size=2
        start local 0 // org.apache.bcel.generic.ReferenceType this
        start local 1 // org.apache.bcel.generic.ReferenceType t
         0: .line 277
            aload 0 /* this */
            getstatic org.apache.bcel.generic.Type.NULL:Lorg/apache/bcel/generic/ReferenceType;
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 278
            aload 1 /* t */
            areturn
         2: .line 280
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            getstatic org.apache.bcel.generic.Type.NULL:Lorg/apache/bcel/generic/ReferenceType;
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 281
            aload 0 /* this */
            areturn
         4: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual org.apache.bcel.generic.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 284
            aload 0 /* this */
            areturn
         6: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.apache.bcel.generic.ArrayType
            ifne 7
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ArrayType
            ifeq 8
         7: .line 294
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.Type.OBJECT:Lorg/apache/bcel/generic/ObjectType;
            areturn
         8: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 9
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesInterface:()Z
            ifne 10
         9: .line 298
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            instanceof org.apache.bcel.generic.ObjectType
            ifeq 11
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ObjectType
            invokevirtual org.apache.bcel.generic.ObjectType.referencesInterface:()Z
            ifeq 11
        10: .line 299
      StackMap locals:
      StackMap stack:
            getstatic org.apache.bcel.generic.Type.OBJECT:Lorg/apache/bcel/generic/ObjectType;
            areturn
        11: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            checkcast org.apache.bcel.generic.ObjectType
            astore 2 /* thiz */
        start local 2 // org.apache.bcel.generic.ObjectType thiz
        12: .line 306
            aload 1 /* t */
            checkcast org.apache.bcel.generic.ObjectType
            astore 3 /* other */
        start local 3 // org.apache.bcel.generic.ObjectType other
        13: .line 307
            aload 2 /* thiz */
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            invokestatic org.apache.bcel.Repository.getSuperClasses:(Ljava/lang/String;)[Lorg/apache/bcel/classfile/JavaClass;
            astore 4 /* thiz_sups */
        start local 4 // org.apache.bcel.classfile.JavaClass[] thiz_sups
        14: .line 308
            aload 3 /* other */
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            invokestatic org.apache.bcel.Repository.getSuperClasses:(Ljava/lang/String;)[Lorg/apache/bcel/classfile/JavaClass;
            astore 5 /* other_sups */
        start local 5 // org.apache.bcel.classfile.JavaClass[] other_sups
        15: .line 309
            aload 4 /* thiz_sups */
            ifnull 16
            aload 5 /* other_sups */
            ifnonnull 17
        16: .line 310
      StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ObjectType org.apache.bcel.generic.ObjectType org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[]
      StackMap stack:
            aconst_null
            areturn
        17: .line 313
      StackMap locals:
      StackMap stack:
            aload 4 /* thiz_sups */
            arraylength
            iconst_1
            iadd
            anewarray org.apache.bcel.classfile.JavaClass
            astore 6 /* this_sups */
        start local 6 // org.apache.bcel.classfile.JavaClass[] this_sups
        18: .line 314
            aload 5 /* other_sups */
            arraylength
            iconst_1
            iadd
            anewarray org.apache.bcel.classfile.JavaClass
            astore 7 /* t_sups */
        start local 7 // org.apache.bcel.classfile.JavaClass[] t_sups
        19: .line 315
            aload 4 /* thiz_sups */
            iconst_0
            aload 6 /* this_sups */
            iconst_1
            aload 4 /* thiz_sups */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        20: .line 316
            aload 5 /* other_sups */
            iconst_0
            aload 7 /* t_sups */
            iconst_1
            aload 5 /* other_sups */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 317
            aload 6 /* this_sups */
            iconst_0
            aload 2 /* thiz */
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            invokestatic org.apache.bcel.Repository.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            aastore
        22: .line 318
            aload 7 /* t_sups */
            iconst_0
            aload 3 /* other */
            invokevirtual org.apache.bcel.generic.ObjectType.getClassName:()Ljava/lang/String;
            invokestatic org.apache.bcel.Repository.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            aastore
        23: .line 319
            aload 7 /* t_sups */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 32
      StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ObjectType org.apache.bcel.generic.ObjectType org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] top int int org.apache.bcel.classfile.JavaClass[]
      StackMap stack:
        24: aload 11
            iload 9
            aaload
            astore 8 /* t_sup */
        start local 8 // org.apache.bcel.classfile.JavaClass t_sup
        25: .line 320
            aload 6 /* this_sups */
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 30
      StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ObjectType org.apache.bcel.generic.ObjectType org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass int int org.apache.bcel.classfile.JavaClass[] top int int org.apache.bcel.classfile.JavaClass[]
      StackMap stack:
        26: aload 15
            iload 13
            aaload
            astore 12 /* this_sup */
        start local 12 // org.apache.bcel.classfile.JavaClass this_sup
        27: .line 321
            aload 12 /* this_sup */
            aload 8 /* t_sup */
            invokevirtual org.apache.bcel.classfile.JavaClass.equals:(Ljava/lang/Object;)Z
            ifeq 29
        28: .line 322
            aload 12 /* this_sup */
            invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
            invokestatic org.apache.bcel.generic.ObjectType.getInstance:(Ljava/lang/String;)Lorg/apache/bcel/generic/ObjectType;
            areturn
        end local 12 // org.apache.bcel.classfile.JavaClass this_sup
        29: .line 320
      StackMap locals:
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        30: iload 13
            iload 14
            if_icmplt 26
        end local 8 // org.apache.bcel.classfile.JavaClass t_sup
        31: .line 319
            iinc 9 1
      StackMap locals: org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ReferenceType org.apache.bcel.generic.ObjectType org.apache.bcel.generic.ObjectType org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] org.apache.bcel.classfile.JavaClass[] top int int org.apache.bcel.classfile.JavaClass[]
      StackMap stack:
        32: iload 9
            iload 10
            if_icmplt 24
        33: .line 327
            aconst_null
            areturn
        end local 7 // org.apache.bcel.classfile.JavaClass[] t_sups
        end local 6 // org.apache.bcel.classfile.JavaClass[] this_sups
        end local 5 // org.apache.bcel.classfile.JavaClass[] other_sups
        end local 4 // org.apache.bcel.classfile.JavaClass[] thiz_sups
        end local 3 // org.apache.bcel.generic.ObjectType other
        end local 2 // org.apache.bcel.generic.ObjectType thiz
        end local 1 // org.apache.bcel.generic.ReferenceType t
        end local 0 // org.apache.bcel.generic.ReferenceType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   34     0        this  Lorg/apache/bcel/generic/ReferenceType;
            0   34     1           t  Lorg/apache/bcel/generic/ReferenceType;
           12   34     2        thiz  Lorg/apache/bcel/generic/ObjectType;
           13   34     3       other  Lorg/apache/bcel/generic/ObjectType;
           14   34     4   thiz_sups  [Lorg/apache/bcel/classfile/JavaClass;
           15   34     5  other_sups  [Lorg/apache/bcel/classfile/JavaClass;
           18   34     6   this_sups  [Lorg/apache/bcel/classfile/JavaClass;
           19   34     7      t_sups  [Lorg/apache/bcel/classfile/JavaClass;
           25   31     8       t_sup  Lorg/apache/bcel/classfile/JavaClass;
           27   29    12    this_sup  Lorg/apache/bcel/classfile/JavaClass;
    Exceptions:
      throws java.lang.ClassNotFoundException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      t     final
}
SourceFile: "ReferenceType.java"