public class edu.umd.cs.findbugs.Analyze
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: edu.umd.cs.findbugs.Analyze
  super_class: java.lang.Object
{
  private static org.apache.bcel.classfile.JavaClass serializable;
    descriptor: Lorg/apache/bcel/classfile/JavaClass;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static org.apache.bcel.classfile.JavaClass collection;
    descriptor: Lorg/apache/bcel/classfile/JavaClass;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static org.apache.bcel.classfile.JavaClass comparator;
    descriptor: Lorg/apache/bcel/classfile/JavaClass;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static org.apache.bcel.classfile.JavaClass map;
    descriptor: Lorg/apache/bcel/classfile/JavaClass;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static org.apache.bcel.classfile.JavaClass remote;
    descriptor: Lorg/apache/bcel/classfile/JavaClass;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.ClassNotFoundException storedException;
    descriptor: Ljava/lang/ClassNotFoundException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 33
            ldc "java.io.Serializable"
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.lookupSystemClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            putstatic edu.umd.cs.findbugs.Analyze.serializable:Lorg/apache/bcel/classfile/JavaClass;
         1: .line 34
            ldc "java.util.Collection"
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.lookupSystemClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            putstatic edu.umd.cs.findbugs.Analyze.collection:Lorg/apache/bcel/classfile/JavaClass;
         2: .line 35
            ldc "java.util.Map"
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.lookupSystemClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            putstatic edu.umd.cs.findbugs.Analyze.map:Lorg/apache/bcel/classfile/JavaClass;
         3: .line 36
            ldc "java.util.Comparator"
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.lookupSystemClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            putstatic edu.umd.cs.findbugs.Analyze.comparator:Lorg/apache/bcel/classfile/JavaClass;
         4: .line 38
            goto 7
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         5: astore 0 /* e */
        start local 0 // java.lang.ClassNotFoundException e
         6: .line 39
            aload 0 /* e */
            putstatic edu.umd.cs.findbugs.Analyze.storedException:Ljava/lang/ClassNotFoundException;
        end local 0 // java.lang.ClassNotFoundException e
         7: .line 42
      StackMap locals:
      StackMap stack:
            ldc "java.rmi.Remote"
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.lookupSystemClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            putstatic edu.umd.cs.findbugs.Analyze.remote:Lorg/apache/bcel/classfile/JavaClass;
         8: .line 43
            goto 12
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         9: astore 0 /* e */
        start local 0 // java.lang.ClassNotFoundException e
        10: .line 44
            getstatic edu.umd.cs.findbugs.Analyze.storedException:Ljava/lang/ClassNotFoundException;
            ifnonnull 12
        11: .line 45
            aload 0 /* e */
            putstatic edu.umd.cs.findbugs.Analyze.storedException:Ljava/lang/ClassNotFoundException;
        end local 0 // java.lang.ClassNotFoundException e
        12: .line 48
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            6    7     0     e  Ljava/lang/ClassNotFoundException;
           10   12     0     e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.ClassNotFoundException
           7     8       9  Class java.lang.ClassNotFoundException

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.Analyze this
         0: .line 18
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // edu.umd.cs.findbugs.Analyze this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/Analyze;

  public static double isDeepSerializable(java.lang.String);
    descriptor: (Ljava/lang/String;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String refSig
         0: .line 60
            getstatic edu.umd.cs.findbugs.Analyze.storedException:Ljava/lang/ClassNotFoundException;
            ifnull 2
         1: .line 61
            getstatic edu.umd.cs.findbugs.Analyze.storedException:Ljava/lang/ClassNotFoundException;
            athrow
         2: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* refSig */
            invokestatic edu.umd.cs.findbugs.Analyze.isPrimitiveComponentClass:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 65
            dconst_1
            dreturn
         4: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* refSig */
            invokestatic edu.umd.cs.findbugs.Analyze.getComponentClass:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* refName */
        start local 1 // java.lang.String refName
         5: .line 69
            ldc "java.lang.Object"
            aload 1 /* refName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 70
            ldc 0.99
            dreturn
         7: .line 73
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* refName */
            invokestatic org.apache.bcel.Repository.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            astore 2 /* refJavaClass */
        start local 2 // org.apache.bcel.classfile.JavaClass refJavaClass
         8: .line 74
            aload 2 /* refJavaClass */
            invokestatic edu.umd.cs.findbugs.Analyze.isDeepSerializable:(Lorg/apache/bcel/classfile/JavaClass;)D
            dreturn
        end local 2 // org.apache.bcel.classfile.JavaClass refJavaClass
        end local 1 // java.lang.String refName
        end local 0 // java.lang.String refSig
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0        refSig  Ljava/lang/String;
            5    9     1       refName  Ljava/lang/String;
            8    9     2  refJavaClass  Lorg/apache/bcel/classfile/JavaClass;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
        Name  Flags
      refSig  

  public static double isDeepRemote(java.lang.String);
    descriptor: (Ljava/lang/String;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String refSig
         0: .line 78
            getstatic edu.umd.cs.findbugs.Analyze.remote:Lorg/apache/bcel/classfile/JavaClass;
            ifnonnull 2
         1: .line 79
            ldc 0.1
            dreturn
         2: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* refSig */
            invokestatic edu.umd.cs.findbugs.Analyze.getComponentClass:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* refName */
        start local 1 // java.lang.String refName
         3: .line 83
            ldc "java.lang.Object"
            aload 1 /* refName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 84
            ldc 0.99
            dreturn
         5: .line 89
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* refName */
            invokestatic org.apache.bcel.Repository.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            astore 2 /* refJavaClass */
        start local 2 // org.apache.bcel.classfile.JavaClass refJavaClass
         6: .line 90
            aload 2 /* refJavaClass */
            getstatic edu.umd.cs.findbugs.Analyze.remote:Lorg/apache/bcel/classfile/JavaClass;
            invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
         7: dreturn
        end local 2 // org.apache.bcel.classfile.JavaClass refJavaClass
         8: .line 91
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
         9: .line 92
            ldc 0.99
            dreturn
        end local 1 // java.lang.String refName
        end local 0 // java.lang.String refSig
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0        refSig  Ljava/lang/String;
            3   10     1       refName  Ljava/lang/String;
            6    8     2  refJavaClass  Lorg/apache/bcel/classfile/JavaClass;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.ClassNotFoundException
    MethodParameters:
        Name  Flags
      refSig  

  private static boolean isPrimitiveComponentClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String refSig
         0: .line 98
            iconst_0
            istore 1 /* c */
        start local 1 // int c
         1: .line 99
            goto 3
         2: .line 100
      StackMap locals: int
      StackMap stack:
            iinc 1 /* c */ 1
         3: .line 99
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            aload 0 /* refSig */
            invokevirtual java.lang.String.length:()I
            if_icmpge 4
            aload 0 /* refSig */
            iload 1 /* c */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpeq 2
         4: .line 108
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            aload 0 /* refSig */
            invokevirtual java.lang.String.length:()I
            if_icmpge 5
            aload 0 /* refSig */
            iload 1 /* c */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 76
            if_icmpne 5
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
        end local 1 // int c
        end local 0 // java.lang.String refSig
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  refSig  Ljava/lang/String;
            1    6     1       c  I
    MethodParameters:
        Name  Flags
      refSig  

  public static java.lang.String getComponentClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String refSig
         0: .line 112
            goto 2
         1: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* refSig */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* refSig */
         2: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* refSig */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpeq 1
         3: .line 117
            aload 0 /* refSig */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 76
            if_icmpne 5
         4: .line 118
            aload 0 /* refSig */
            iconst_1
            aload 0 /* refSig */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
         5: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* refSig */
            areturn
        end local 0 // java.lang.String refSig
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  refSig  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      refSig  

  public static double isDeepSerializable(org.apache.bcel.classfile.JavaClass);
    descriptor: (Lorg/apache/bcel/classfile/JavaClass;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.apache.bcel.classfile.JavaClass x
         0: .line 124
            getstatic edu.umd.cs.findbugs.Analyze.storedException:Ljava/lang/ClassNotFoundException;
            ifnull 2
         1: .line 125
            getstatic edu.umd.cs.findbugs.Analyze.storedException:Ljava/lang/ClassNotFoundException;
            athrow
         2: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            getstatic edu.umd.cs.findbugs.Analyze.serializable:Lorg/apache/bcel/classfile/JavaClass;
            invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
            dstore 1 /* result */
        start local 1 // double result
         3: .line 129
            dload 1 /* result */
            ldc 0.9
            dcmpl
            iflt 5
         4: .line 130
            dload 1 /* result */
            dreturn
         5: .line 132
      StackMap locals: double
      StackMap stack:
            dload 1 /* result */
            aload 0 /* x */
            getstatic edu.umd.cs.findbugs.Analyze.collection:Lorg/apache/bcel/classfile/JavaClass;
            invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
            invokestatic java.lang.Math.max:(DD)D
            dstore 1 /* result */
         6: .line 133
            dload 1 /* result */
            ldc 0.9
            dcmpl
            iflt 8
         7: .line 134
            dload 1 /* result */
            dreturn
         8: .line 136
      StackMap locals:
      StackMap stack:
            dload 1 /* result */
            aload 0 /* x */
            getstatic edu.umd.cs.findbugs.Analyze.map:Lorg/apache/bcel/classfile/JavaClass;
            invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
            invokestatic java.lang.Math.max:(DD)D
            dstore 1 /* result */
         9: .line 137
            dload 1 /* result */
            ldc 0.9
            dcmpl
            iflt 11
        10: .line 138
            dload 1 /* result */
            dreturn
        11: .line 140
      StackMap locals:
      StackMap stack:
            dload 1 /* result */
            ldc 0.5
            aload 0 /* x */
            getstatic edu.umd.cs.findbugs.Analyze.comparator:Lorg/apache/bcel/classfile/JavaClass;
            invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
            dmul
            invokestatic java.lang.Math.max:(DD)D
            dstore 1 /* result */
        12: .line 141
            dload 1 /* result */
            ldc 0.9
            dcmpl
            iflt 14
        13: .line 142
            dload 1 /* result */
            dreturn
        14: .line 144
      StackMap locals:
      StackMap stack:
            dload 1 /* result */
            dreturn
        end local 1 // double result
        end local 0 // org.apache.bcel.classfile.JavaClass x
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0       x  Lorg/apache/bcel/classfile/JavaClass;
            3   15     1  result  D
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      x     

  public static double deepInstanceOf(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String x
        start local 1 // java.lang.String y
         0: .line 160
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
            aload 0 /* x */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
         1: .line 161
            aload 1 /* y */
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.lookupClass:(Ljava/lang/String;)Lorg/apache/bcel/classfile/JavaClass;
         2: .line 160
            invokestatic edu.umd.cs.findbugs.Analyze.deepInstanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
            dreturn
        end local 1 // java.lang.String y
        end local 0 // java.lang.String x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  Ljava/lang/String;
            0    3     1     y  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
      METHOD_FORMAL_PARAMETER
        edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
    RuntimeVisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
      1:
        edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
    MethodParameters:
      Name  Flags
      x     
      y     

  public static double deepInstanceOf(org.apache.bcel.classfile.JavaClass, org.apache.bcel.classfile.JavaClass);
    descriptor: (Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // org.apache.bcel.classfile.JavaClass x
        start local 1 // org.apache.bcel.classfile.JavaClass y
         0: .line 177
            aload 0 /* x */
            aload 1 /* y */
            invokevirtual org.apache.bcel.classfile.JavaClass.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 178
            dconst_1
            dreturn
         2: .line 180
      StackMap locals:
      StackMap stack:
            ldc "java.lang.Object"
            aload 1 /* y */
            invokevirtual org.apache.bcel.classfile.JavaClass.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 181
            dconst_1
            dreturn
         4: .line 183
      StackMap locals:
      StackMap stack:
            invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
            invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getSubtypes2:()Ledu/umd/cs/findbugs/ba/ch/Subtypes2;
            astore 2 /* subtypes2 */
        start local 2 // edu.umd.cs.findbugs.ba.ch.Subtypes2 subtypes2
         5: .line 184
            aload 0 /* x */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.createClassDescriptor:(Lorg/apache/bcel/classfile/JavaClass;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            astore 3 /* xDesc */
        start local 3 // edu.umd.cs.findbugs.classfile.ClassDescriptor xDesc
         6: .line 185
            aload 1 /* y */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.createClassDescriptor:(Lorg/apache/bcel/classfile/JavaClass;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            astore 4 /* yDesc */
        start local 4 // edu.umd.cs.findbugs.classfile.ClassDescriptor yDesc
         7: .line 187
            aload 0 /* x */
            aload 1 /* y */
            invokestatic org.apache.bcel.Repository.instanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)Z
            istore 5 /* xIsSubtypeOfY */
        start local 5 // boolean xIsSubtypeOfY
         8: .line 188
            iload 5 /* xIsSubtypeOfY */
            ifeq 10
         9: .line 189
            dconst_1
            dreturn
        10: .line 191
      StackMap locals: org.apache.bcel.classfile.JavaClass org.apache.bcel.classfile.JavaClass edu.umd.cs.findbugs.ba.ch.Subtypes2 edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.classfile.ClassDescriptor int
      StackMap stack:
            aload 1 /* y */
            aload 0 /* x */
            invokestatic org.apache.bcel.Repository.instanceOf:(Lorg/apache/bcel/classfile/JavaClass;Lorg/apache/bcel/classfile/JavaClass;)Z
            istore 6 /* yIsSubtypeOfX */
        start local 6 // boolean yIsSubtypeOfX
        11: .line 192
            iload 6 /* yIsSubtypeOfX */
            ifne 16
        12: .line 193
            aload 0 /* x */
            invokevirtual org.apache.bcel.classfile.JavaClass.isFinal:()Z
            ifne 13
            aload 1 /* y */
            invokevirtual org.apache.bcel.classfile.JavaClass.isFinal:()Z
            ifeq 14
        13: .line 194
      StackMap locals: int
      StackMap stack:
            dconst_0
            dreturn
        14: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            invokevirtual org.apache.bcel.classfile.JavaClass.isInterface:()Z
            ifne 16
            aload 1 /* y */
            invokevirtual org.apache.bcel.classfile.JavaClass.isInterface:()Z
            ifne 16
        15: .line 197
            dconst_0
            dreturn
        16: .line 201
      StackMap locals:
      StackMap stack:
            aload 2 /* subtypes2 */
            aload 3 /* xDesc */
            aload 4 /* yDesc */
            invokevirtual edu.umd.cs.findbugs.ba.ch.Subtypes2.getTransitiveCommonSubtypes:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ljava/util/Set;
            astore 7 /* transitiveCommonSubtypes */
        start local 7 // java.util.Set transitiveCommonSubtypes
        17: .line 203
            aload 7 /* transitiveCommonSubtypes */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 30
        18: .line 204
            aload 2 /* subtypes2 */
            aload 3 /* xDesc */
            invokevirtual edu.umd.cs.findbugs.ba.ch.Subtypes2.getSubtypes:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 28
      StackMap locals: org.apache.bcel.classfile.JavaClass org.apache.bcel.classfile.JavaClass edu.umd.cs.findbugs.ba.ch.Subtypes2 edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.classfile.ClassDescriptor int int java.util.Set top java.util.Iterator
      StackMap stack:
        19: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
            astore 8 /* c */
        start local 8 // edu.umd.cs.findbugs.classfile.ClassDescriptor c
        20: .line 207
            invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            ldc Ledu/umd/cs/findbugs/ba/XClass;
            aload 8 /* c */
            invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getClassAnalysis:(Ljava/lang/Class;Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.ba.XClass
            astore 10 /* cx */
        start local 10 // edu.umd.cs.findbugs.ba.XClass cx
        21: .line 208
            goto 24
        end local 10 // edu.umd.cs.findbugs.ba.XClass cx
      StackMap locals: org.apache.bcel.classfile.JavaClass org.apache.bcel.classfile.JavaClass edu.umd.cs.findbugs.ba.ch.Subtypes2 edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.classfile.ClassDescriptor int int java.util.Set edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator
      StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
        22: pop
        23: .line 209
            goto 28
        start local 10 // edu.umd.cs.findbugs.ba.XClass cx
        24: .line 211
      StackMap locals: edu.umd.cs.findbugs.ba.XClass
      StackMap stack:
            aload 10 /* cx */
            invokeinterface edu.umd.cs.findbugs.ba.XClass.isAbstract:()Z
            ifne 28
            aload 10 /* cx */
            invokeinterface edu.umd.cs.findbugs.ba.XClass.isInterface:()Z
            ifne 28
        25: .line 212
            aload 0 /* x */
            invokevirtual org.apache.bcel.classfile.JavaClass.isAbstract:()Z
            ifne 26
            aload 0 /* x */
            invokevirtual org.apache.bcel.classfile.JavaClass.isInterface:()Z
            ifeq 27
        26: .line 213
      StackMap locals:
      StackMap stack:
            ldc 0.2
            dreturn
        27: .line 215
      StackMap locals:
      StackMap stack:
            ldc 0.1
            dreturn
        end local 10 // edu.umd.cs.findbugs.ba.XClass cx
        end local 8 // edu.umd.cs.findbugs.classfile.ClassDescriptor c
        28: .line 204
      StackMap locals: org.apache.bcel.classfile.JavaClass org.apache.bcel.classfile.JavaClass edu.umd.cs.findbugs.ba.ch.Subtypes2 edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.classfile.ClassDescriptor int int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        29: .line 218
            ldc 0.3
            dreturn
        30: .line 222
      StackMap locals: org.apache.bcel.classfile.JavaClass org.apache.bcel.classfile.JavaClass edu.umd.cs.findbugs.ba.ch.Subtypes2 edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.classfile.ClassDescriptor int int java.util.Set
      StackMap stack:
            new java.util.HashSet
            dup
            aload 2 /* subtypes2 */
            aload 3 /* xDesc */
            invokevirtual edu.umd.cs.findbugs.ba.ch.Subtypes2.getSubtypes:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 8 /* xButNotY */
        start local 8 // java.util.Set xButNotY
        31: .line 223
            aload 8 /* xButNotY */
            aload 7 /* transitiveCommonSubtypes */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        32: .line 224
            aload 8 /* xButNotY */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 38
      StackMap locals: org.apache.bcel.classfile.JavaClass org.apache.bcel.classfile.JavaClass edu.umd.cs.findbugs.ba.ch.Subtypes2 edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.classfile.ClassDescriptor int int java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        33: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
            astore 9 /* c */
        start local 9 // edu.umd.cs.findbugs.classfile.ClassDescriptor c
        34: .line 227
            invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            ldc Ledu/umd/cs/findbugs/ba/XClass;
            aload 9 /* c */
            invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getClassAnalysis:(Ljava/lang/Class;Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.ba.XClass
            astore 11 /* cx */
        start local 11 // edu.umd.cs.findbugs.ba.XClass cx
        35: .line 228
            aload 11 /* cx */
            invokeinterface edu.umd.cs.findbugs.ba.XClass.isAbstract:()Z
            ifne 38
            aload 11 /* cx */
            invokeinterface edu.umd.cs.findbugs.ba.XClass.isInterface:()Z
            ifne 38
        36: .line 229
            ldc 0.7
            dreturn
        end local 11 // edu.umd.cs.findbugs.ba.XClass cx
        37: .line 231
      StackMap locals: org.apache.bcel.classfile.JavaClass org.apache.bcel.classfile.JavaClass edu.umd.cs.findbugs.ba.ch.Subtypes2 edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.classfile.ClassDescriptor int int java.util.Set java.util.Set edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator
      StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
            pop
        end local 9 // edu.umd.cs.findbugs.classfile.ClassDescriptor c
        38: .line 224
      StackMap locals: org.apache.bcel.classfile.JavaClass org.apache.bcel.classfile.JavaClass edu.umd.cs.findbugs.ba.ch.Subtypes2 edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.classfile.ClassDescriptor int int java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 33
        39: .line 236
            ldc 0.99
            dreturn
        end local 8 // java.util.Set xButNotY
        end local 7 // java.util.Set transitiveCommonSubtypes
        end local 6 // boolean yIsSubtypeOfX
        end local 5 // boolean xIsSubtypeOfY
        end local 4 // edu.umd.cs.findbugs.classfile.ClassDescriptor yDesc
        end local 3 // edu.umd.cs.findbugs.classfile.ClassDescriptor xDesc
        end local 2 // edu.umd.cs.findbugs.ba.ch.Subtypes2 subtypes2
        end local 1 // org.apache.bcel.classfile.JavaClass y
        end local 0 // org.apache.bcel.classfile.JavaClass x
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   40     0                         x  Lorg/apache/bcel/classfile/JavaClass;
            0   40     1                         y  Lorg/apache/bcel/classfile/JavaClass;
            5   40     2                 subtypes2  Ledu/umd/cs/findbugs/ba/ch/Subtypes2;
            6   40     3                     xDesc  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            7   40     4                     yDesc  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            8   40     5             xIsSubtypeOfY  Z
           11   40     6             yIsSubtypeOfX  Z
           17   40     7  transitiveCommonSubtypes  Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
           20   28     8                         c  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
           21   22    10                        cx  Ledu/umd/cs/findbugs/ba/XClass;
           24   28    10                        cx  Ledu/umd/cs/findbugs/ba/XClass;
           31   40     8                  xButNotY  Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
           34   38     9                         c  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
           35   37    11                        cx  Ledu/umd/cs/findbugs/ba/XClass;
      Exception table:
        from    to  target  type
          20    21      22  Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
          34    36      37  Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      x     
      y     
}
SourceFile: "Analyze.java"