public class edu.umd.cs.findbugs.classfile.ClassDescriptor implements java.lang.Comparable<edu.umd.cs.findbugs.classfile.ClassDescriptor>, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: edu.umd.cs.findbugs.classfile.ClassDescriptor
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private final java.lang.String className;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()

  private static final java.util.regex.Pattern ANONYMOUS_CLASS_NAME;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final edu.umd.cs.findbugs.classfile.ClassDescriptor[] EMPTY_ARRAY;
    descriptor: [Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 45
            ldc ".*\\$[0-9]*$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic edu.umd.cs.findbugs.classfile.ClassDescriptor.ANONYMOUS_CLASS_NAME:Ljava/util/regex/Pattern;
         1: .line 47
            iconst_0
            anewarray edu.umd.cs.findbugs.classfile.ClassDescriptor
            putstatic edu.umd.cs.findbugs.classfile.ClassDescriptor.EMPTY_ARRAY:[Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
        start local 1 // java.lang.String className
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 1 /* className */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 3
         2: .line 57
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Class name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not in VM format"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 59
      StackMap locals: edu.umd.cs.findbugs.classfile.ClassDescriptor java.lang.String
      StackMap stack:
            aload 1 /* className */
            invokestatic edu.umd.cs.findbugs.util.ClassName.isValidClassName:(Ljava/lang/String;)Z
            ifne 5
         4: .line 60
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid class name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* className */
            putfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
         6: .line 63
            return
        end local 1 // java.lang.String className
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            0    7     1  className  Ljava/lang/String;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()
    RuntimeVisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()
    MethodParameters:
           Name  Flags
      className  

  public final java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 70
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    RuntimeVisibleAnnotations: 
      edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()

  public int compareTo(edu.umd.cs.findbugs.classfile.ClassDescriptor);
    descriptor: (Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
        start local 1 // edu.umd.cs.findbugs.classfile.ClassDescriptor o
         0: .line 80
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            aload 1 /* o */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 1 // edu.umd.cs.findbugs.classfile.ClassDescriptor o
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            0    1     1     o  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    MethodParameters:
      Name  Flags
      o     

  public boolean matches(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
        start local 1 // java.lang.Class c
         0: .line 85
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.getDottedClassName:()Ljava/lang/String;
            aload 1 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Class c
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            0    1     1     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public java.lang.String toResourceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 94
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;

  public java.lang.String toDottedClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 104
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            invokestatic edu.umd.cs.findbugs.util.ClassName.toDottedClassName:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    RuntimeVisibleAnnotations: 
      edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        edu.umd.cs.findbugs.internalAnnotations.DottedClassName()

  public java.lang.String getDottedClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 114
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            invokestatic edu.umd.cs.findbugs.util.ClassName.toDottedClassName:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    RuntimeVisibleAnnotations: 
      edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        edu.umd.cs.findbugs.internalAnnotations.DottedClassName()

  public edu.umd.cs.findbugs.ba.XClass getXClass();
    descriptor: ()Ledu/umd/cs/findbugs/ba/XClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 118
            invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
            ldc Ledu/umd/cs/findbugs/ba/XClass;
            aload 0 /* this */
            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
            areturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    Exceptions:
      throws edu.umd.cs.findbugs.classfile.CheckedAnalysisException

  public java.lang.String getPackageName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 127
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            invokestatic edu.umd.cs.findbugs.util.ClassName.toDottedClassName:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic edu.umd.cs.findbugs.util.ClassName.extractPackageName:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    RuntimeVisibleAnnotations: 
      edu.umd.cs.findbugs.internalAnnotations.DottedClassName()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        edu.umd.cs.findbugs.internalAnnotations.DottedClassName()

  public java.lang.String getSimpleName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 136
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            invokestatic edu.umd.cs.findbugs.util.ClassName.toDottedClassName:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic edu.umd.cs.findbugs.util.ClassName.extractSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;

  public java.lang.String getSignature();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 140
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.isArray:()Z
            ifeq 2
         1: .line 141
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            areturn
         2: .line 143
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "L"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;

  public boolean isArray();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 147
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;

  public static edu.umd.cs.findbugs.classfile.ClassDescriptor fromResourceName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String resourceName
         0: .line 162
            aload 0 /* resourceName */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.createClassDescriptorFromResourceName:(Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            areturn
        end local 0 // java.lang.String resourceName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  resourceName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      resourceName  

  public static edu.umd.cs.findbugs.classfile.ClassDescriptor fromFieldSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String signature
         0: .line 176
            aload 0 /* signature */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.createClassDescriptorFromFieldSignature:(Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            areturn
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  signature  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
      javax.annotation.CheckForNull()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        javax.annotation.CheckForNull()
    MethodParameters:
           Name  Flags
      signature  

  public static boolean isClassResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String resourceName
         0: .line 189
            aload 0 /* resourceName */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.isClassResource:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String resourceName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  resourceName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      resourceName  

  public static edu.umd.cs.findbugs.classfile.ClassDescriptor createClassDescriptorFromSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String signature
         0: .line 199
            aload 0 /* signature */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.createClassDescriptorFromSignature:(Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            areturn
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  signature  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
           Name  Flags
      signature  

  public static edu.umd.cs.findbugs.classfile.ClassDescriptor createClassDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String className
         0: .line 208
            aload 0 /* className */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.createClassDescriptor:(Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            areturn
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  className  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()
    RuntimeVisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.internalAnnotations.SlashedClassName()
    MethodParameters:
           Name  Flags
      className  

  public static edu.umd.cs.findbugs.classfile.ClassDescriptor[] createClassDescriptor(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String[] classNames
         0: .line 217
            aload 0 /* classNames */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.createClassDescriptor:([Ljava/lang/String;)[Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            areturn
        end local 0 // java.lang.String[] classNames
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  classNames  [Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      classNames  

  public static edu.umd.cs.findbugs.classfile.ClassDescriptor createClassDescriptorFromDottedClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String dottedClassName
         0: .line 227
            aload 0 /* dottedClassName */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.createClassDescriptorFromDottedClassName:(Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            areturn
        end local 0 // java.lang.String dottedClassName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  dottedClassName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                 Name  Flags
      dottedClassName  

  public static edu.umd.cs.findbugs.classfile.ClassDescriptor createClassDescriptor(org.apache.bcel.classfile.JavaClass);
    descriptor: (Lorg/apache/bcel/classfile/JavaClass;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.bcel.classfile.JavaClass c
         0: .line 237
            aload 0 /* c */
            invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.createClassDescriptor:(Lorg/apache/bcel/classfile/JavaClass;)Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            areturn
        end local 0 // org.apache.bcel.classfile.JavaClass c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lorg/apache/bcel/classfile/JavaClass;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      c     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 247
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;

  public final boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
        start local 1 // java.lang.Object obj
         0: .line 257
            aload 1 /* obj */
            ifnull 1
            aload 1 /* obj */
            instanceof edu.umd.cs.findbugs.classfile.ClassDescriptor
            ifne 2
         1: .line 258
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.getClassName:()Ljava/lang/String;
            aload 1 /* obj */
            checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
            0    3     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 274
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;

  public static void throwClassNotFoundException(edu.umd.cs.findbugs.classfile.ClassDescriptor);
    descriptor: (Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDescriptor
         0: .line 288
            new java.lang.ClassNotFoundException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* classDescriptor */
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.toDottedClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " cannot be resolved"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor classDescriptor
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  classDescriptor  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
    Exceptions:
      throws java.lang.ClassNotFoundException
    MethodParameters:
                 Name  Flags
      classDescriptor  

  public boolean isAnonymousClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
         0: .line 292
            getstatic edu.umd.cs.findbugs.classfile.ClassDescriptor.ANONYMOUS_CLASS_NAME:Ljava/util/regex/Pattern;
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.classfile.ClassDescriptor.className:Ljava/lang/String;
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ireturn
        end local 0 // edu.umd.cs.findbugs.classfile.ClassDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/classfile/ClassDescriptor;

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
            invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.compareTo:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;Ljava/io/Serializable;
SourceFile: "ClassDescriptor.java"