public class edu.umd.cs.findbugs.PackageStats extends edu.umd.cs.findbugs.BugCounts implements edu.umd.cs.findbugs.xml.XMLWriteable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: edu.umd.cs.findbugs.PackageStats
  super_class: edu.umd.cs.findbugs.BugCounts
{
  public static final java.lang.String ELEMENT_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "PackageStats"

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

  private final java.lang.String packageName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int size;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int numClasses;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Map<java.lang.String, edu.umd.cs.findbugs.PackageStats$ClassStats> packageMembers;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ledu/umd/cs/findbugs/PackageStats$ClassStats;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.PackageStats this
         0: .line 189
            ldc "%s, %d classes, %d ncss"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.numClasses:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.size:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/PackageStats;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // java.lang.String packageName
         0: .line 199
            aload 0 /* this */
            invokespecial edu.umd.cs.findbugs.BugCounts.<init>:()V
         1: .line 197
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            putfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
         2: .line 200
            aload 0 /* this */
            aload 1 /* packageName */
            putfield edu.umd.cs.findbugs.PackageStats.packageName:Ljava/lang/String;
         3: .line 201
            return
        end local 1 // java.lang.String packageName
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ledu/umd/cs/findbugs/PackageStats;
            0    4     1  packageName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      packageName  

  public void <init>(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // java.lang.String packageName
        start local 2 // int numClasses
        start local 3 // int size
         0: .line 204
            aload 0 /* this */
            aload 1 /* packageName */
            invokespecial edu.umd.cs.findbugs.PackageStats.<init>:(Ljava/lang/String;)V
         1: .line 205
            aload 0 /* this */
            iload 2 /* numClasses */
            putfield edu.umd.cs.findbugs.PackageStats.numClasses:I
         2: .line 206
            aload 0 /* this */
            iload 3 /* size */
            putfield edu.umd.cs.findbugs.PackageStats.size:I
         3: .line 207
            return
        end local 3 // int size
        end local 2 // int numClasses
        end local 1 // java.lang.String packageName
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Ledu/umd/cs/findbugs/PackageStats;
            0    4     1  packageName  Ljava/lang/String;
            0    4     2   numClasses  I
            0    4     3         size  I
    MethodParameters:
             Name  Flags
      packageName  
      numClasses   
      size         

  public java.util.Collection<edu.umd.cs.findbugs.PackageStats$ClassStats> getClassStats();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.PackageStats this
         0: .line 210
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/PackageStats;
    Signature: ()Ljava/util/Collection<Ledu/umd/cs/findbugs/PackageStats$ClassStats;>;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.PackageStats this
         0: .line 214
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.size:I
            ireturn
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/PackageStats;

  public void setSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // int size
         0: .line 218
            aload 0 /* this */
            iload 1 /* size */
            putfield edu.umd.cs.findbugs.PackageStats.size:I
         1: .line 219
            return
        end local 1 // int size
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ledu/umd/cs/findbugs/PackageStats;
            0    2     1  size  I
    MethodParameters:
      Name  Flags
      size  

  private edu.umd.cs.findbugs.PackageStats$ClassStats getClassStats(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/PackageStats$ClassStats;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String sourceFile
         0: .line 223
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.PackageStats$ClassStats
            astore 3 /* result */
        start local 3 // edu.umd.cs.findbugs.PackageStats$ClassStats result
         1: .line 224
            aload 3 /* result */
            ifnonnull 5
         2: .line 225
            new edu.umd.cs.findbugs.PackageStats$ClassStats
            dup
            aload 1 /* name */
            aload 2 /* sourceFile */
            invokespecial edu.umd.cs.findbugs.PackageStats$ClassStats.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* result */
         3: .line 226
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            aload 1 /* name */
            aload 3 /* result */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 227
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            putfield edu.umd.cs.findbugs.PackageStats.numClasses:I
         5: .line 230
      StackMap locals: edu.umd.cs.findbugs.PackageStats$ClassStats
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // edu.umd.cs.findbugs.PackageStats$ClassStats result
        end local 2 // java.lang.String sourceFile
        end local 1 // java.lang.String name
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ledu/umd/cs/findbugs/PackageStats;
            0    6     1        name  Ljava/lang/String;
            0    6     2  sourceFile  Ljava/lang/String;
            1    6     3      result  Ledu/umd/cs/findbugs/PackageStats$ClassStats;
    MethodParameters:
            Name  Flags
      name        
      sourceFile  

  public edu.umd.cs.findbugs.PackageStats$ClassStats getClassStatsOrNull(java.lang.String);
    descriptor: (Ljava/lang/String;)Ledu/umd/cs/findbugs/PackageStats$ClassStats;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // java.lang.String name
         0: .line 234
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.PackageStats$ClassStats
            astore 2 /* result */
        start local 2 // edu.umd.cs.findbugs.PackageStats$ClassStats result
         1: .line 235
            aload 2 /* result */
            areturn
        end local 2 // edu.umd.cs.findbugs.PackageStats$ClassStats result
        end local 1 // java.lang.String name
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ledu/umd/cs/findbugs/PackageStats;
            0    2     1    name  Ljava/lang/String;
            1    2     2  result  Ledu/umd/cs/findbugs/PackageStats$ClassStats;
    RuntimeVisibleAnnotations: 
      javax.annotation.CheckForNull()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        javax.annotation.CheckForNull()
    MethodParameters:
      Name  Flags
      name  

  public void addError(edu.umd.cs.findbugs.BugInstance);
    descriptor: (Ledu/umd/cs/findbugs/BugInstance;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // edu.umd.cs.findbugs.BugInstance bug
         0: .line 240
            aload 0 /* this */
            aload 1 /* bug */
            invokespecial edu.umd.cs.findbugs.BugCounts.addError:(Ledu/umd/cs/findbugs/BugInstance;)V
         1: .line 241
            aload 1 /* bug */
            invokevirtual edu.umd.cs.findbugs.BugInstance.getPrimarySourceLineAnnotation:()Ledu/umd/cs/findbugs/SourceLineAnnotation;
            astore 2 /* source */
        start local 2 // edu.umd.cs.findbugs.SourceLineAnnotation source
         2: .line 244
            aload 0 /* this */
            aload 2 /* source */
            invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getClassName:()Ljava/lang/String;
            aload 2 /* source */
            invokevirtual edu.umd.cs.findbugs.SourceLineAnnotation.getSourceFile:()Ljava/lang/String;
            invokevirtual edu.umd.cs.findbugs.PackageStats.getClassStats:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/PackageStats$ClassStats;
            aload 1 /* bug */
            invokevirtual edu.umd.cs.findbugs.PackageStats$ClassStats.addError:(Ledu/umd/cs/findbugs/BugInstance;)V
         3: .line 245
            return
        end local 2 // edu.umd.cs.findbugs.SourceLineAnnotation source
        end local 1 // edu.umd.cs.findbugs.BugInstance bug
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ledu/umd/cs/findbugs/PackageStats;
            0    4     1     bug  Ledu/umd/cs/findbugs/BugInstance;
            2    4     2  source  Ledu/umd/cs/findbugs/SourceLineAnnotation;
    MethodParameters:
      Name  Flags
      bug   

  public void addClass(java.lang.String, java.lang.String, boolean, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String sourceFile
        start local 3 // boolean isInterface
        start local 4 // int size
         0: .line 248
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* sourceFile */
            iload 3 /* isInterface */
            iload 4 /* size */
            iconst_1
            invokevirtual edu.umd.cs.findbugs.PackageStats.addClass:(Ljava/lang/String;Ljava/lang/String;ZIZ)V
         1: .line 249
            return
        end local 4 // int size
        end local 3 // boolean isInterface
        end local 2 // java.lang.String sourceFile
        end local 1 // java.lang.String name
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ledu/umd/cs/findbugs/PackageStats;
            0    2     1         name  Ljava/lang/String;
            0    2     2   sourceFile  Ljava/lang/String;
            0    2     3  isInterface  Z
            0    2     4         size  I
    MethodParameters:
             Name  Flags
      name         
      sourceFile   
      isInterface  
      size         

  public void addClass(java.lang.String, java.lang.String, boolean, int, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String sourceFile
        start local 3 // boolean isInterface
        start local 4 // int size
        start local 5 // boolean updatePackageStats
         0: .line 252
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* sourceFile */
            invokevirtual edu.umd.cs.findbugs.PackageStats.getClassStats:(Ljava/lang/String;Ljava/lang/String;)Ledu/umd/cs/findbugs/PackageStats$ClassStats;
            astore 6 /* classStats */
        start local 6 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
         1: .line 253
            aload 6 /* classStats */
            iload 3 /* isInterface */
            invokevirtual edu.umd.cs.findbugs.PackageStats$ClassStats.setInterface:(Z)V
         2: .line 254
            aload 6 /* classStats */
            iload 4 /* size */
            invokevirtual edu.umd.cs.findbugs.PackageStats$ClassStats.setSize:(I)V
         3: .line 255
            aload 0 /* this */
            aload 6 /* classStats */
            iload 5 /* updatePackageStats */
            invokevirtual edu.umd.cs.findbugs.PackageStats.addClass:(Ledu/umd/cs/findbugs/PackageStats$ClassStats;Z)V
         4: .line 256
            return
        end local 6 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
        end local 5 // boolean updatePackageStats
        end local 4 // int size
        end local 3 // boolean isInterface
        end local 2 // java.lang.String sourceFile
        end local 1 // java.lang.String name
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Ledu/umd/cs/findbugs/PackageStats;
            0    5     1                name  Ljava/lang/String;
            0    5     2          sourceFile  Ljava/lang/String;
            0    5     3         isInterface  Z
            0    5     4                size  I
            0    5     5  updatePackageStats  Z
            1    5     6          classStats  Ledu/umd/cs/findbugs/PackageStats$ClassStats;
    MethodParameters:
                    Name  Flags
      name                
      sourceFile          
      isInterface         
      size                
      updatePackageStats  

  public void addClass(edu.umd.cs.findbugs.PackageStats$ClassStats);
    descriptor: (Ledu/umd/cs/findbugs/PackageStats$ClassStats;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
         0: .line 259
            aload 0 /* this */
            aload 1 /* classStats */
            iconst_1
            invokevirtual edu.umd.cs.findbugs.PackageStats.addClass:(Ledu/umd/cs/findbugs/PackageStats$ClassStats;Z)V
         1: .line 260
            return
        end local 1 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ledu/umd/cs/findbugs/PackageStats;
            0    2     1  classStats  Ledu/umd/cs/findbugs/PackageStats$ClassStats;
    MethodParameters:
            Name  Flags
      classStats  

  public void addClass(edu.umd.cs.findbugs.PackageStats$ClassStats, boolean);
    descriptor: (Ledu/umd/cs/findbugs/PackageStats$ClassStats;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
        start local 2 // boolean updatePackageStats
         0: .line 263
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 3
         1: .line 264
            aload 0 /* this */
            iconst_0
            putfield edu.umd.cs.findbugs.PackageStats.size:I
         2: .line 265
            aload 0 /* this */
            iconst_0
            putfield edu.umd.cs.findbugs.PackageStats.numClasses:I
         3: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            aload 1 /* classStats */
            invokevirtual edu.umd.cs.findbugs.PackageStats$ClassStats.getName:()Ljava/lang/String;
            aload 1 /* classStats */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 268
            iload 2 /* updatePackageStats */
            ifeq 6
         5: .line 269
            aload 0 /* this */
            dup
            getfield edu.umd.cs.findbugs.PackageStats.size:I
            aload 1 /* classStats */
            invokevirtual edu.umd.cs.findbugs.PackageStats$ClassStats.size:()I
            iadd
            putfield edu.umd.cs.findbugs.PackageStats.size:I
         6: .line 271
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean updatePackageStats
        end local 1 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Ledu/umd/cs/findbugs/PackageStats;
            0    7     1          classStats  Ledu/umd/cs/findbugs/PackageStats$ClassStats;
            0    7     2  updatePackageStats  Z
    MethodParameters:
                    Name  Flags
      classStats          
      updatePackageStats  

  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.PackageStats this
         0: .line 274
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageName:Ljava/lang/String;
            areturn
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/PackageStats;

  public int getNumClasses();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // edu.umd.cs.findbugs.PackageStats this
         0: .line 278
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.numClasses:I
            ireturn
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ledu/umd/cs/findbugs/PackageStats;

  public void setNumClasses(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // int numClasses
         0: .line 282
            aload 0 /* this */
            iload 1 /* numClasses */
            putfield edu.umd.cs.findbugs.PackageStats.numClasses:I
         1: .line 283
            return
        end local 1 // int numClasses
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ledu/umd/cs/findbugs/PackageStats;
            0    2     1  numClasses  I
    MethodParameters:
            Name  Flags
      numClasses  

  public void writeXML(edu.umd.cs.findbugs.xml.XMLOutput);
    descriptor: (Ledu/umd/cs/findbugs/xml/XMLOutput;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // edu.umd.cs.findbugs.xml.XMLOutput xmlOutput
         0: .line 287
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.size:I
            ifne 2
         1: .line 288
            return
         2: .line 291
      StackMap locals:
      StackMap stack:
            aload 1 /* xmlOutput */
            ldc "PackageStats"
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.startTag:(Ljava/lang/String;)V
         3: .line 293
            aload 1 /* xmlOutput */
            ldc "package"
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageName:Ljava/lang/String;
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.addAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 294
            aload 1 /* xmlOutput */
            ldc "total_bugs"
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.PackageStats.getTotalBugs:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.addAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 295
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            istore 2 /* numClasses */
        start local 2 // int numClasses
         6: .line 296
            iload 2 /* numClasses */
            ifne 8
         7: .line 297
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.numClasses:I
            istore 2 /* numClasses */
         8: .line 299
      StackMap locals: int
      StackMap stack:
            aload 1 /* xmlOutput */
            ldc "total_types"
            iload 2 /* numClasses */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.addAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 300
            aload 1 /* xmlOutput */
            ldc "total_size"
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.size:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.addAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 301
            aload 0 /* this */
            aload 1 /* xmlOutput */
            invokevirtual edu.umd.cs.findbugs.PackageStats.writeBugPriorities:(Ledu/umd/cs/findbugs/xml/XMLOutput;)V
        11: .line 303
            aload 1 /* xmlOutput */
            iconst_0
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.stopTag:(Z)V
        12: .line 305
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.PackageStats.getSortedClassStats:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: edu.umd.cs.findbugs.PackageStats edu.umd.cs.findbugs.xml.XMLOutput int top java.util.Iterator
      StackMap stack:
        13: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.PackageStats$ClassStats
            astore 3 /* classStats */
        start local 3 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
        14: .line 306
            aload 3 /* classStats */
            aload 1 /* xmlOutput */
            invokevirtual edu.umd.cs.findbugs.PackageStats$ClassStats.writeXML:(Ledu/umd/cs/findbugs/xml/XMLOutput;)V
        end local 3 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
        15: .line 305
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 309
            aload 1 /* xmlOutput */
            ldc "PackageStats"
            invokeinterface edu.umd.cs.findbugs.xml.XMLOutput.closeTag:(Ljava/lang/String;)V
        17: .line 310
            return
        end local 2 // int numClasses
        end local 1 // edu.umd.cs.findbugs.xml.XMLOutput xmlOutput
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Ledu/umd/cs/findbugs/PackageStats;
            0   18     1   xmlOutput  Ledu/umd/cs/findbugs/xml/XMLOutput;
            6   18     2  numClasses  I
           14   15     3  classStats  Ledu/umd/cs/findbugs/PackageStats$ClassStats;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      xmlOutput  

  public java.util.Collection<edu.umd.cs.findbugs.PackageStats$ClassStats> getSortedClassStats();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // edu.umd.cs.findbugs.PackageStats this
         0: .line 313
            new java.util.TreeMap
            dup
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            invokespecial java.util.TreeMap.<init>:(Ljava/util/Map;)V
            astore 1 /* sorted */
        start local 1 // java.util.SortedMap sorted
         1: .line 314
            aload 1 /* sorted */
            invokeinterface java.util.SortedMap.values:()Ljava/util/Collection;
            areturn
        end local 1 // java.util.SortedMap sorted
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ledu/umd/cs/findbugs/PackageStats;
            1    2     1  sorted  Ljava/util/SortedMap<Ljava/lang/String;Ledu/umd/cs/findbugs/PackageStats$ClassStats;>;
    Signature: ()Ljava/util/Collection<Ledu/umd/cs/findbugs/PackageStats$ClassStats;>;

  public void recomputeFromClassStats();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // edu.umd.cs.findbugs.PackageStats this
         0: .line 321
            aload 0 /* this */
            invokespecial edu.umd.cs.findbugs.BugCounts.clearBugCounts:()V
         1: .line 322
            aload 0 /* this */
            iconst_0
            putfield edu.umd.cs.findbugs.PackageStats.size:I
         2: .line 323
            aload 0 /* this */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            putfield edu.umd.cs.findbugs.PackageStats.numClasses:I
         3: .line 324
            aload 0 /* this */
            invokevirtual edu.umd.cs.findbugs.PackageStats.ensureNonnullBugCounts:()V
         4: .line 325
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 12
      StackMap locals: edu.umd.cs.findbugs.PackageStats top java.util.Iterator
      StackMap stack:
         5: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.PackageStats$ClassStats
            astore 1 /* classStats */
        start local 1 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
         6: .line 326
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 10
         8: .line 327
      StackMap locals: edu.umd.cs.findbugs.PackageStats edu.umd.cs.findbugs.PackageStats$ClassStats java.util.Iterator int
      StackMap stack:
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.nBugs:[I
            iload 3 /* i */
            dup2
            iaload
            aload 1 /* classStats */
            iload 3 /* i */
            invokevirtual edu.umd.cs.findbugs.PackageStats$ClassStats.getBugsAtPriority:(I)I
            iadd
            iastore
         9: .line 326
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.nBugs:[I
            arraylength
            if_icmplt 8
        end local 3 // int i
        11: .line 329
            aload 0 /* this */
            dup
            getfield edu.umd.cs.findbugs.PackageStats.size:I
            aload 1 /* classStats */
            getfield edu.umd.cs.findbugs.PackageStats$ClassStats.size:I
            iadd
            putfield edu.umd.cs.findbugs.PackageStats.size:I
        end local 1 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
        12: .line 325
      StackMap locals: edu.umd.cs.findbugs.PackageStats top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        13: .line 331
            return
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Ledu/umd/cs/findbugs/PackageStats;
            6   12     1  classStats  Ledu/umd/cs/findbugs/PackageStats$ClassStats;
            7   11     3           i  I

  public void clearBugCounts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // edu.umd.cs.findbugs.PackageStats this
         0: .line 338
            aload 0 /* this */
            invokespecial edu.umd.cs.findbugs.BugCounts.clearBugCounts:()V
         1: .line 340
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: edu.umd.cs.findbugs.PackageStats top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast edu.umd.cs.findbugs.PackageStats$ClassStats
            astore 1 /* classStats */
        start local 1 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
         3: .line 341
            aload 1 /* classStats */
            invokevirtual edu.umd.cs.findbugs.PackageStats$ClassStats.clearBugCounts:()V
        end local 1 // edu.umd.cs.findbugs.PackageStats$ClassStats classStats
         4: .line 340
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 344
            return
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ledu/umd/cs/findbugs/PackageStats;
            3    4     1  classStats  Ledu/umd/cs/findbugs/PackageStats$ClassStats;

  public void purgeClassesThatDontMatch(java.util.regex.Pattern);
    descriptor: (Ljava/util/regex/Pattern;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // edu.umd.cs.findbugs.PackageStats this
        start local 1 // java.util.regex.Pattern classPattern
         0: .line 350
            aload 0 /* this */
            getfield edu.umd.cs.findbugs.PackageStats.packageMembers:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         1: goto 5
         2: .line 351
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* e */
        start local 3 // java.util.Map$Entry e
         3: .line 352
            aload 1 /* classPattern */
            aload 3 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.CharSequence
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.find:()Z
            ifne 5
         4: .line 353
            aload 2 /* i */
            invokeinterface java.util.Iterator.remove:()V
        end local 3 // java.util.Map$Entry e
         5: .line 350
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 2 // java.util.Iterator i
         6: .line 356
            return
        end local 1 // java.util.regex.Pattern classPattern
        end local 0 // edu.umd.cs.findbugs.PackageStats this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ledu/umd/cs/findbugs/PackageStats;
            0    7     1  classPattern  Ljava/util/regex/Pattern;
            1    6     2             i  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ledu/umd/cs/findbugs/PackageStats$ClassStats;>;>;
            3    5     3             e  Ljava/util/Map$Entry<Ljava/lang/String;Ledu/umd/cs/findbugs/PackageStats$ClassStats;>;
    MethodParameters:
              Name  Flags
      classPattern  

  public void writeBugPriorities(edu.umd.cs.findbugs.xml.XMLOutput);
    descriptor: (Ledu/umd/cs/findbugs/xml/XMLOutput;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokespecial edu.umd.cs.findbugs.BugCounts.writeBugPriorities:(Ledu/umd/cs/findbugs/xml/XMLOutput;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
}
SourceFile: "PackageStats.java"
NestMembers:
  edu.umd.cs.findbugs.PackageStats$ClassStats
InnerClasses:
  public ClassStats = edu.umd.cs.findbugs.PackageStats$ClassStats of edu.umd.cs.findbugs.PackageStats
  public abstract Entry = java.util.Map$Entry of java.util.Map