public class edu.umd.cs.findbugs.FindBugs2 implements edu.umd.cs.findbugs.IFindBugsEngine
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: edu.umd.cs.findbugs.FindBugs2
super_class: java.lang.Object
{
private static final boolean LIST_ORDER;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean VERBOSE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final boolean DEBUG;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final boolean PROGRESS;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final boolean SCREEN_FIRST_PASS_CLASSES;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final java.lang.String PROP_FINDBUGS_HOST_APP;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "findbugs.hostApp"
public static final java.lang.String PROP_FINDBUGS_HOST_APP_VERSION;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "findbugs.hostAppVersion"
private int rankThreshold;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.List<edu.umd.cs.findbugs.classfile.IClassObserver> classObserverList;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ledu/umd/cs/findbugs/classfile/IClassObserver;>;
private edu.umd.cs.findbugs.BugReporter bugReporter;
descriptor: Ledu/umd/cs/findbugs/BugReporter;
flags: (0x0002) ACC_PRIVATE
private edu.umd.cs.findbugs.ErrorCountingBugReporter errorCountingBugReporter;
descriptor: Ledu/umd/cs/findbugs/ErrorCountingBugReporter;
flags: (0x0002) ACC_PRIVATE
private edu.umd.cs.findbugs.Project project;
descriptor: Ledu/umd/cs/findbugs/Project;
flags: (0x0002) ACC_PRIVATE
private edu.umd.cs.findbugs.classfile.IClassFactory classFactory;
descriptor: Ledu/umd/cs/findbugs/classfile/IClassFactory;
flags: (0x0002) ACC_PRIVATE
private edu.umd.cs.findbugs.classfile.IClassPath classPath;
descriptor: Ledu/umd/cs/findbugs/classfile/IClassPath;
flags: (0x0002) ACC_PRIVATE
private java.util.List<edu.umd.cs.findbugs.classfile.ClassDescriptor> appClassList;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
private java.util.Collection<edu.umd.cs.findbugs.classfile.ClassDescriptor> referencedClassSet;
descriptor: Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Collection<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
private edu.umd.cs.findbugs.DetectorFactoryCollection detectorFactoryCollection;
descriptor: Ledu/umd/cs/findbugs/DetectorFactoryCollection;
flags: (0x0002) ACC_PRIVATE
private edu.umd.cs.findbugs.plan.ExecutionPlan executionPlan;
descriptor: Ledu/umd/cs/findbugs/plan/ExecutionPlan;
flags: (0x0002) ACC_PRIVATE
private final edu.umd.cs.findbugs.log.YourKitController yourkitController;
descriptor: Ledu/umd/cs/findbugs/log/YourKitController;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String currentClassName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private edu.umd.cs.findbugs.FindBugsProgress progress;
descriptor: Ledu/umd/cs/findbugs/FindBugsProgress;
flags: (0x0002) ACC_PRIVATE
private edu.umd.cs.findbugs.IClassScreener classScreener;
descriptor: Ledu/umd/cs/findbugs/IClassScreener;
flags: (0x0002) ACC_PRIVATE
private final edu.umd.cs.findbugs.AnalysisOptions analysisOptions;
descriptor: Ledu/umd/cs/findbugs/AnalysisOptions;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
java.util.Set<java.lang.String> explicitlyEnabledBugReporterDecorators;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<Ljava/lang/String;>;
RuntimeVisibleAnnotations:
javax.annotation.Nonnull()
java.util.Set<java.lang.String> explicitlyDisabledBugReporterDecorators;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<Ljava/lang/String;>;
RuntimeVisibleAnnotations:
javax.annotation.Nonnull()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "findbugs.listOrder"
invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
putstatic edu.umd.cs.findbugs.FindBugs2.LIST_ORDER:Z
1: ldc "findbugs.verbose"
invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
putstatic edu.umd.cs.findbugs.FindBugs2.VERBOSE:Z
2: getstatic edu.umd.cs.findbugs.FindBugs2.VERBOSE:Z
ifne 3
ldc "findbugs.debug"
invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
ifne 3
iconst_0
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: putstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
5: getstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
ifne 6
ldc "findbugs.progress"
invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
ifne 6
iconst_0
goto 7
StackMap locals:
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: putstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
8: ldc "findbugs.screenFirstPass"
invokestatic edu.umd.cs.findbugs.SystemProperties.getBoolean:(Ljava/lang/String;)Z
putstatic edu.umd.cs.findbugs.FindBugs2.SCREEN_FIRST_PASS_CLASSES:Z
9: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new edu.umd.cs.findbugs.log.YourKitController
dup
invokespecial edu.umd.cs.findbugs.log.YourKitController.<init>:()V
putfield edu.umd.cs.findbugs.FindBugs2.yourkitController:Ledu/umd/cs/findbugs/log/YourKitController;
2: aload 0
new edu.umd.cs.findbugs.AnalysisOptions
dup
iconst_1
invokespecial edu.umd.cs.findbugs.AnalysisOptions.<init>:(Z)V
putfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
3: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield edu.umd.cs.findbugs.FindBugs2.explicitlyEnabledBugReporterDecorators:Ljava/util/Set;
4: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield edu.umd.cs.findbugs.FindBugs2.explicitlyDisabledBugReporterDecorators:Ljava/util/Set;
5: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield edu.umd.cs.findbugs.FindBugs2.classObserverList:Ljava/util/List;
6: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getstatic edu.umd.cs.findbugs.FindBugs.DEFAULT_EFFORT:[Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
putfield edu.umd.cs.findbugs.AnalysisOptions.analysisFeatureSettingList:[Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
7: aload 0
new edu.umd.cs.findbugs.NoOpFindBugsProgress
dup
invokespecial edu.umd.cs.findbugs.NoOpFindBugsProgress.<init>:()V
putfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
8: aload 0
new edu.umd.cs.findbugs.FindBugs2$1
dup
aload 0
invokespecial edu.umd.cs.findbugs.FindBugs2$1.<init>:(Ledu/umd/cs/findbugs/FindBugs2;)V
putfield edu.umd.cs.findbugs.FindBugs2.classScreener:Ledu/umd/cs/findbugs/IClassScreener;
9: ldc "findbugs.hostApp"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 10: aconst_null
astore 2
start local 2 11: aload 1
ifnull 12
aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifgt 14
12: StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.lang.String java.lang.String
StackMap stack:
ldc "FindBugs TextUI"
astore 1
13: ldc "findbugs.hostAppVersion"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
14: StackMap locals:
StackMap stack:
aload 2
ifnonnull 16
15: ldc ""
astore 2
16: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic edu.umd.cs.findbugs.Version.registerApplication:(Ljava/lang/String;Ljava/lang/String;)V
17: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
iconst_0
putfield edu.umd.cs.findbugs.AnalysisOptions.scanNestedArchives:Z
18: aload 0
bipush 20
putfield edu.umd.cs.findbugs.FindBugs2.rankThreshold:I
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ledu/umd/cs/findbugs/FindBugs2;
10 20 1 hostApp Ljava/lang/String;
11 20 2 hostAppVersion Ljava/lang/String;
public void setDetectorFactoryCollection(edu.umd.cs.findbugs.DetectorFactoryCollection);
descriptor: (Ledu/umd/cs/findbugs/DetectorFactoryCollection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 detectorFactoryCollection Ledu/umd/cs/findbugs/DetectorFactoryCollection;
MethodParameters:
Name Flags
detectorFactoryCollection
public void execute();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: invokestatic edu.umd.cs.findbugs.FindBugs.isNoAnalysis:()Z
ifeq 2
1: new java.lang.UnsupportedOperationException
dup
ldc "This FindBugs invocation was started without analysis capabilities"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokeinterface edu.umd.cs.findbugs.BugReporter.getProjectStats:()Ledu/umd/cs/findbugs/ProjectStats;
invokevirtual edu.umd.cs.findbugs.ProjectStats.getProfiler:()Ledu/umd/cs/findbugs/log/Profiler;
astore 1
start local 1 3: aload 0
invokestatic edu.umd.cs.findbugs.classfile.impl.ClassFactory.instance:()Ledu/umd/cs/findbugs/classfile/IClassFactory;
putfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
4: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.createClassPath:()V
5: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
invokevirtual edu.umd.cs.findbugs.Project.getFileCount:()I
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
invokevirtual edu.umd.cs.findbugs.Project.getNumAuxClasspathEntries:()I
iadd
invokeinterface edu.umd.cs.findbugs.FindBugsProgress.reportNumberOfArchives:(I)V
6: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.start:(Ljava/lang/Class;)V
7: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.createAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
pop
8: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.sourceInfoFileName:Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.FindBugs2.createAnalysisContext:(Ledu/umd/cs/findbugs/Project;Ljava/util/List;Ljava/lang/String;)V
9: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.buildClassPath:()V
10: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet:()V
11: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
invokestatic edu.umd.cs.findbugs.FindBugs2.setAppClassList:(Ljava/util/List;)V
12: aload 0
invokestatic edu.umd.cs.findbugs.FindBugs.configureBugCollection:(Ledu/umd/cs/findbugs/IFindBugsEngine;)V
13: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.relaxedReportingMode:Z
invokestatic edu.umd.cs.findbugs.FindBugsAnalysisFeatures.setRelaxedMode:(Z)V
14: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.abridgedMessages:Z
invokestatic edu.umd.cs.findbugs.FindBugsDisplayFeatures.setAbridgedMessages:(Z)V
15: aload 0
invokestatic edu.umd.cs.findbugs.FindBugs.configureTrainingDatabases:(Ledu/umd/cs/findbugs/IFindBugsEngine;)V
16: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.configureAnalysisFeatures:()V
17: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.createExecutionPlan:()V
18: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
invokevirtual edu.umd.cs.findbugs.DetectorFactoryCollection.plugins:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 26
StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler top java.util.Iterator
StackMap stack:
19: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.Plugin
astore 2
start local 2 20: aload 2
ldc Ledu/umd/cs/findbugs/bugReporter/BugReporterDecorator;
invokevirtual edu.umd.cs.findbugs.Plugin.getComponentPlugins:(Ljava/lang/Class;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 25
StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler edu.umd.cs.findbugs.Plugin java.util.Iterator top java.util.Iterator
StackMap stack:
21: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.ComponentPlugin
astore 4
start local 4 22: aload 4
invokevirtual edu.umd.cs.findbugs.ComponentPlugin.isEnabledByDefault:()Z
ifeq 23
aload 4
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.explicitlyDisabledBugReporterDecorators:Ljava/util/Set;
invokevirtual edu.umd.cs.findbugs.ComponentPlugin.isNamed:(Ljava/util/Set;)Z
ifeq 24
23: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler edu.umd.cs.findbugs.Plugin java.util.Iterator edu.umd.cs.findbugs.ComponentPlugin java.util.Iterator
StackMap stack:
aload 4
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.explicitlyEnabledBugReporterDecorators:Ljava/util/Set;
invokevirtual edu.umd.cs.findbugs.ComponentPlugin.isNamed:(Ljava/util/Set;)Z
ifeq 25
24: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokestatic edu.umd.cs.findbugs.bugReporter.BugReporterDecorator.construct:(Ledu/umd/cs/findbugs/ComponentPlugin;Ledu/umd/cs/findbugs/BugReporter;)Ledu/umd/cs/findbugs/bugReporter/BugReporterDecorator;
putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
end local 4 25: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler edu.umd.cs.findbugs.Plugin java.util.Iterator top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
end local 2 26: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
27: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classScreener:Ledu/umd/cs/findbugs/IClassScreener;
invokeinterface edu.umd.cs.findbugs.IClassScreener.vacuous:()Z
ifne 29
28: aload 0
new edu.umd.cs.findbugs.FindBugs2$2
dup
aload 0
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokespecial edu.umd.cs.findbugs.FindBugs2$2.<init>:(Ledu/umd/cs/findbugs/FindBugs2;Ledu/umd/cs/findbugs/BugReporter;)V
putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
29: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
ldc Ledu/umd/cs/findbugs/detect/NoteSuppressedWarnings;
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.isActive:(Ljava/lang/Class;)Z
ifeq 32
30: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getSuppressionMatcher:()Ledu/umd/cs/findbugs/SuppressionMatcher;
astore 2
start local 2 31: aload 0
new edu.umd.cs.findbugs.FilterBugReporter
dup
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
aload 2
iconst_0
invokespecial edu.umd.cs.findbugs.FilterBugReporter.<init>:(Ledu/umd/cs/findbugs/BugReporter;Ledu/umd/cs/findbugs/filter/Matcher;Z)V
putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
end local 2 32: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
invokeinterface java.util.List.size:()I
ifne 40
33: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
invokeinterface edu.umd.cs.findbugs.classfile.IClassPath.getApplicationCodebaseEntries:()Ljava/util/Map;
astore 2
start local 2 34: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.noClassOk:Z
ifeq 37
35: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "No classfiles specified; output will have no warnings"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
36: goto 40
StackMap locals: java.util.Map
StackMap stack:
37: aload 2
invokeinterface java.util.Map.isEmpty:()Z
ifeq 39
38: new java.io.IOException
dup
ldc "No files to analyze could be opened"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.NoClassesFoundToAnalyzeException
dup
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
invokespecial edu.umd.cs.findbugs.NoClassesFoundToAnalyzeException.<init>:(Ledu/umd/cs/findbugs/classfile/IClassPath;)V
athrow
end local 2 40: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.analyzeApplication:()V
41: goto 64
StackMap locals:
StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
42: astore 2
start local 2 43: new java.io.IOException
dup
ldc "IOException while scanning codebases"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 44: aload 3
aload 2
invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
45: aload 3
athrow
end local 3 end local 2 46: StackMap locals:
StackMap stack: java.lang.OutOfMemoryError
astore 2
start local 2 47: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Out of memory"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
48: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Total memory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.maxMemory:()J
ldc 1000000
ldiv
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "M"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
49: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " free memory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.freeMemory:()J
ldc 1000000
ldiv
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "M"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
50: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
invokevirtual edu.umd.cs.findbugs.Project.getFileList:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 53
StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler java.lang.OutOfMemoryError top java.util.Iterator
StackMap stack:
51: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 52: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Analyzed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 3 53: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 51
54: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
invokevirtual edu.umd.cs.findbugs.Project.getAuxClasspathEntryList:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 57
StackMap locals:
StackMap stack:
55: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 56: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Aux: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 3 57: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 55
58: aload 2
athrow
end local 2 59: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.log.Profiler
StackMap stack: java.lang.Throwable
astore 6
60: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.clearCaches:()V
61: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
62: aload 1
invokevirtual edu.umd.cs.findbugs.log.Profiler.report:()V
63: aload 6
athrow
64: StackMap locals:
StackMap stack:
aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.clearCaches:()V
65: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
66: aload 1
invokevirtual edu.umd.cs.findbugs.log.Profiler.report:()V
67: goto 71
StackMap locals:
StackMap stack: java.io.IOException
68: astore 2
start local 2 69: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokeinterface edu.umd.cs.findbugs.BugReporter.reportQueuedErrors:()V
70: aload 2
athrow
end local 2 71: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 72 0 this Ledu/umd/cs/findbugs/FindBugs2;
3 72 1 profiler Ledu/umd/cs/findbugs/log/Profiler;
20 26 2 p Ledu/umd/cs/findbugs/Plugin;
22 25 4 brp Ledu/umd/cs/findbugs/ComponentPlugin<Ledu/umd/cs/findbugs/bugReporter/BugReporterDecorator;>;
31 32 2 m Ledu/umd/cs/findbugs/SuppressionMatcher;
34 40 2 codebase Ljava/util/Map<Ljava/lang/String;Ledu/umd/cs/findbugs/classfile/ICodeBaseEntry;>;
43 46 2 e Ledu/umd/cs/findbugs/classfile/CheckedAnalysisException;
44 46 3 ioe Ljava/io/IOException;
47 59 2 e Ljava/lang/OutOfMemoryError;
52 53 3 s Ljava/lang/String;
56 57 3 s Ljava/lang/String;
69 71 2 e Ljava/io/IOException;
Exception table:
from to target type
3 41 42 Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
3 41 46 Class java.lang.OutOfMemoryError
3 59 59 any
3 67 68 Class java.io.IOException
Exceptions:
throws java.io.IOException, java.lang.InterruptedException
protected void clearCaches();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.clearInstance:()V
1: invokestatic edu.umd.cs.findbugs.ba.ObjectTypeFactory.clearInstance:()V
2: invokestatic edu.umd.cs.findbugs.ba.jsr305.TypeQualifierApplications.clearInstance:()V
3: invokestatic edu.umd.cs.findbugs.ba.jsr305.TypeQualifierAnnotation.clearInstance:()V
4: invokestatic edu.umd.cs.findbugs.ba.jsr305.TypeQualifierValue.clearInstance:()V
5: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.removeCurrentAnalysisContext:()V
6: invokestatic edu.umd.cs.findbugs.classfile.Global.removeAnalysisCacheForCurrentThread:()V
7: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
ifnull 9
8: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
invokeinterface edu.umd.cs.findbugs.classfile.IClassPath.close:()V
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ledu/umd/cs/findbugs/FindBugs2;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
ifnull 2
1: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.dispose:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
ifnull 4
3: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
invokeinterface java.util.List.clear:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classObserverList:Ljava/util/List;
ifnull 6
5: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classObserverList:Ljava/util/List;
invokeinterface java.util.List.clear:()V
6: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
ifnull 8
7: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
invokeinterface java.util.Collection.clear:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
aconst_null
putfield edu.umd.cs.findbugs.AnalysisOptions.analysisFeatureSettingList:[Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
9: aload 0
aconst_null
putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
10: aload 0
aconst_null
putfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
11: aload 0
aconst_null
putfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
12: aload 0
aconst_null
putfield edu.umd.cs.findbugs.FindBugs2.classScreener:Ledu/umd/cs/findbugs/IClassScreener;
13: aload 0
aconst_null
putfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
14: aload 0
aconst_null
putfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
15: aload 0
aconst_null
putfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
16: aload 0
aconst_null
putfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
17: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
aconst_null
putfield edu.umd.cs.findbugs.AnalysisOptions.userPreferences:Ledu/umd/cs/findbugs/config/UserPreferences;
18: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ledu/umd/cs/findbugs/FindBugs2;
public edu.umd.cs.findbugs.BugReporter getBugReporter();
descriptor: ()Ledu/umd/cs/findbugs/BugReporter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
public edu.umd.cs.findbugs.Project getProject();
descriptor: ()Ledu/umd/cs/findbugs/Project;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
public void addClassObserver(edu.umd.cs.findbugs.classfile.IClassObserver);
descriptor: (Ledu/umd/cs/findbugs/classfile/IClassObserver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classObserverList:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 classObserver Ledu/umd/cs/findbugs/classfile/IClassObserver;
MethodParameters:
Name Flags
classObserver
public void addFilter(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
aload 1
iload 2
invokestatic edu.umd.cs.findbugs.FindBugs.configureFilter:(Ledu/umd/cs/findbugs/BugReporter;Ljava/lang/String;Z)Ledu/umd/cs/findbugs/BugReporter;
putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 filterFileName Ljava/lang/String;
0 2 2 include Z
Exceptions:
throws java.io.IOException, edu.umd.cs.findbugs.filter.FilterException
MethodParameters:
Name Flags
filterFileName
include
public void excludeBaselineBugs(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
aload 1
invokestatic edu.umd.cs.findbugs.FindBugs.configureBaselineFilter:(Ledu/umd/cs/findbugs/BugReporter;Ljava/lang/String;)Ledu/umd/cs/findbugs/BugReporter;
putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 baselineBugs Ljava/lang/String;
Exceptions:
throws java.io.IOException, org.dom4j.DocumentException
MethodParameters:
Name Flags
baselineBugs
public void enableTrainingInput(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
aload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.trainingInputDir:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 trainingInputDir Ljava/lang/String;
MethodParameters:
Name Flags
trainingInputDir
public void enableTrainingOutput(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
aload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.trainingOutputDir:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 trainingOutputDir Ljava/lang/String;
MethodParameters:
Name Flags
trainingOutputDir
public int getBugCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.errorCountingBugReporter:Ledu/umd/cs/findbugs/ErrorCountingBugReporter;
invokevirtual edu.umd.cs.findbugs.ErrorCountingBugReporter.getBugCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
public java.lang.String getCurrentClass();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.currentClassName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
public int getErrorCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.errorCountingBugReporter:Ledu/umd/cs/findbugs/ErrorCountingBugReporter;
invokevirtual edu.umd.cs.findbugs.ErrorCountingBugReporter.getErrorCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
public int getMissingClassCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.errorCountingBugReporter:Ledu/umd/cs/findbugs/ErrorCountingBugReporter;
invokevirtual edu.umd.cs.findbugs.ErrorCountingBugReporter.getMissingClassCount:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
public java.lang.String getReleaseName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.releaseName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
public java.lang.String getProjectName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.projectName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
public void setProjectName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
aload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.projectName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public void setAnalysisFeatureSettings(edu.umd.cs.findbugs.config.AnalysisFeatureSetting[]);
descriptor: ([Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
aload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.analysisFeatureSettingList:[Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 settingList [Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
MethodParameters:
Name Flags
settingList
public void setBugReporter(edu.umd.cs.findbugs.BugReporter);
descriptor: (Ledu/umd/cs/findbugs/BugReporter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
new edu.umd.cs.findbugs.ErrorCountingBugReporter
dup
aload 1
invokespecial edu.umd.cs.findbugs.ErrorCountingBugReporter.<init>:(Ledu/umd/cs/findbugs/BugReporter;)V
dup_x1
putfield edu.umd.cs.findbugs.FindBugs2.errorCountingBugReporter:Ledu/umd/cs/findbugs/ErrorCountingBugReporter;
putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
1: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.FindBugs2.addClassObserver:(Ledu/umd/cs/findbugs/classfile/IClassObserver;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 3 1 bugReporter Ledu/umd/cs/findbugs/BugReporter;
MethodParameters:
Name Flags
bugReporter
public void setClassScreener(edu.umd.cs.findbugs.IClassScreener);
descriptor: (Ledu/umd/cs/findbugs/IClassScreener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield edu.umd.cs.findbugs.FindBugs2.classScreener:Ledu/umd/cs/findbugs/IClassScreener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 classScreener Ledu/umd/cs/findbugs/IClassScreener;
MethodParameters:
Name Flags
classScreener
public void setProgressCallback(edu.umd.cs.findbugs.FindBugsProgress);
descriptor: (Ledu/umd/cs/findbugs/FindBugsProgress;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 progressCallback Ledu/umd/cs/findbugs/FindBugsProgress;
MethodParameters:
Name Flags
progressCallback
public void setProject(edu.umd.cs.findbugs.Project);
descriptor: (Ledu/umd/cs/findbugs/Project;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 project Ledu/umd/cs/findbugs/Project;
MethodParameters:
Name Flags
project
public void setRelaxedReportingMode(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
iload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.relaxedReportingMode:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 relaxedReportingMode Z
MethodParameters:
Name Flags
relaxedReportingMode
public void setReleaseName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
aload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.releaseName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 releaseName Ljava/lang/String;
MethodParameters:
Name Flags
releaseName
public void setSourceInfoFile(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
aload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.sourceInfoFileName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 sourceInfoFile Ljava/lang/String;
MethodParameters:
Name Flags
sourceInfoFile
public void setUserPreferences(edu.umd.cs.findbugs.config.UserPreferences);
descriptor: (Ledu/umd/cs/findbugs/config/UserPreferences;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
aload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.userPreferences:Ledu/umd/cs/findbugs/config/UserPreferences;
1: aload 0
aload 1
invokevirtual edu.umd.cs.findbugs.FindBugs2.configureFilters:(Ledu/umd/cs/findbugs/config/UserPreferences;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 3 1 userPreferences Ledu/umd/cs/findbugs/config/UserPreferences;
MethodParameters:
Name Flags
userPreferences
protected void configureFilters(edu.umd.cs.findbugs.config.UserPreferences);
descriptor: (Ledu/umd/cs/findbugs/config/UserPreferences;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual edu.umd.cs.findbugs.config.UserPreferences.getExcludeBugsFiles:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
astore 3
start local 3 2: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 15
StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 4: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
ifnull 15
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 6
5: goto 15
6: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 0
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual edu.umd.cs.findbugs.FindBugs2.excludeBaselineBugs:(Ljava/lang/String;)V
7: goto 15
StackMap locals:
StackMap stack: java.lang.Exception
8: astore 6
start local 6 9: new java.lang.StringBuilder
dup
ldc "Unable to read filter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.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;
aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 10: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
ifnull 13
11: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
aload 7
aload 6
invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
12: goto 15
StackMap locals: java.lang.Exception java.lang.String
StackMap stack:
13: aload 2
ifnonnull 15
14: new java.lang.IllegalArgumentException
dup
aload 7
aload 6
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
astore 2
end local 7 end local 6 end local 4 15: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
16: aload 1
invokevirtual edu.umd.cs.findbugs.config.UserPreferences.getIncludeFilterFiles:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
astore 4
start local 4 17: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 30
StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
18: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 19: aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
ifnull 30
aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 21
20: goto 30
21: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 0
aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
iconst_1
invokevirtual edu.umd.cs.findbugs.FindBugs2.addFilter:(Ljava/lang/String;Z)V
22: goto 30
StackMap locals:
StackMap stack: java.lang.Exception
23: astore 7
start local 7 24: new java.lang.StringBuilder
dup
ldc "Unable to read filter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.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;
aload 7
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 25: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
ifnull 28
26: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
aload 8
aload 7
invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
27: goto 30
StackMap locals: java.lang.Exception java.lang.String
StackMap stack:
28: aload 2
ifnonnull 30
29: new java.lang.IllegalArgumentException
dup
aload 8
aload 7
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
astore 2
end local 8 end local 7 end local 5 30: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
31: aload 1
invokevirtual edu.umd.cs.findbugs.config.UserPreferences.getExcludeFilterFiles:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
astore 5
start local 5 32: aload 5
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 47
StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
33: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 34: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
astore 8
start local 8 35: aload 8
ifnull 47
aload 8
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 37
36: goto 47
37: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Set java.util.Map$Entry java.util.Iterator java.lang.Boolean
StackMap stack:
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 38: aload 0
aload 9
iconst_0
invokevirtual edu.umd.cs.findbugs.FindBugs2.addFilter:(Ljava/lang/String;Z)V
39: goto 47
StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Set java.util.Map$Entry java.util.Iterator java.lang.Boolean java.lang.String
StackMap stack: java.lang.Exception
40: astore 10
start local 10 41: new java.lang.StringBuilder
dup
ldc "Unable to read filter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
start local 11 42: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
ifnull 45
43: aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.getBugReporter:()Ledu/umd/cs/findbugs/BugReporter;
aload 11
aload 10
invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
44: goto 47
StackMap locals: java.lang.Exception java.lang.String
StackMap stack:
45: aload 2
ifnonnull 47
46: new java.lang.IllegalArgumentException
dup
aload 11
aload 10
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
astore 2
end local 11 end local 10 end local 9 end local 8 end local 6 47: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
48: aload 2
ifnull 50
49: aload 2
athrow
50: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.config.UserPreferences java.lang.IllegalArgumentException java.util.Set java.util.Set java.util.Set
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 51 1 userPreferences Ledu/umd/cs/findbugs/config/UserPreferences;
1 51 2 deferredError Ljava/lang/IllegalArgumentException;
2 51 3 excludeBugFiles Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;>;
4 15 4 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;
9 15 6 e Ljava/lang/Exception;
10 15 7 message Ljava/lang/String;
17 51 4 includeFilterFiles Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;>;
19 30 5 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;
24 30 7 e Ljava/lang/Exception;
25 30 8 message Ljava/lang/String;
32 51 5 excludeFilterFiles Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;>;
34 47 6 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Boolean;>;
35 47 8 value Ljava/lang/Boolean;
38 47 9 excludeFilterFile Ljava/lang/String;
41 47 10 e Ljava/lang/Exception;
42 47 11 message Ljava/lang/String;
Exception table:
from to target type
6 7 8 Class java.lang.Exception
21 22 23 Class java.lang.Exception
38 39 40 Class java.lang.Exception
MethodParameters:
Name Flags
userPreferences
public boolean emitTrainingOutput();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.trainingOutputDir:Ljava/lang/String;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
public edu.umd.cs.findbugs.config.UserPreferences getUserPreferences();
descriptor: ()Ledu/umd/cs/findbugs/config/UserPreferences;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.userPreferences:Ledu/umd/cs/findbugs/config/UserPreferences;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
private void createClassPath();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
invokeinterface edu.umd.cs.findbugs.classfile.IClassFactory.createClassPath:()Ledu/umd/cs/findbugs/classfile/IClassPath;
putfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
public java.lang.String getTrainingInputDir();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.trainingInputDir:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
public java.lang.String getTrainingOutputDir();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.trainingOutputDir:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ledu/umd/cs/findbugs/FindBugs2;
public boolean useTrainingInput();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.trainingInputDir:Ljava/lang/String;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
public void setScanNestedArchives(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
iload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.scanNestedArchives:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 scanNestedArchives Z
MethodParameters:
Name Flags
scanNestedArchives
public void setNoClassOk(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
iload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.noClassOk:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 noClassOk Z
MethodParameters:
Name Flags
noClassOk
protected edu.umd.cs.findbugs.classfile.IAnalysisCache createAnalysisCache();
descriptor: ()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic edu.umd.cs.findbugs.classfile.impl.ClassFactory.instance:()Ledu/umd/cs/findbugs/classfile/IClassFactory;
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokeinterface edu.umd.cs.findbugs.classfile.IClassFactory.createAnalysisCache:(Ledu/umd/cs/findbugs/classfile/IClassPath;Ledu/umd/cs/findbugs/BugReporter;)Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
astore 1
start local 1 1: aload 1
invokestatic edu.umd.cs.findbugs.FindBugs2.registerBuiltInAnalysisEngines:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
2: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
aload 1
invokestatic edu.umd.cs.findbugs.FindBugs2.registerPluginAnalysisEngines:(Ledu/umd/cs/findbugs/DetectorFactoryCollection;Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
3: aload 1
ldc Ledu/umd/cs/findbugs/DetectorFactoryCollection;
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.eagerlyPutDatabase:(Ljava/lang/Class;Ljava/lang/Object;)V
4: aload 1
invokestatic edu.umd.cs.findbugs.classfile.Global.setAnalysisCacheForCurrentThread:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ledu/umd/cs/findbugs/FindBugs2;
1 6 1 analysisCache Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
Exceptions:
throws java.io.IOException
public static void registerBuiltInAnalysisEngines(edu.umd.cs.findbugs.classfile.IAnalysisCache);
descriptor: (Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new edu.umd.cs.findbugs.classfile.engine.EngineRegistrar
dup
invokespecial edu.umd.cs.findbugs.classfile.engine.EngineRegistrar.<init>:()V
aload 0
invokevirtual edu.umd.cs.findbugs.classfile.engine.EngineRegistrar.registerAnalysisEngines:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
1: new edu.umd.cs.findbugs.classfile.engine.asm.EngineRegistrar
dup
invokespecial edu.umd.cs.findbugs.classfile.engine.asm.EngineRegistrar.<init>:()V
aload 0
invokevirtual edu.umd.cs.findbugs.classfile.engine.asm.EngineRegistrar.registerAnalysisEngines:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
2: new edu.umd.cs.findbugs.classfile.engine.bcel.EngineRegistrar
dup
invokespecial edu.umd.cs.findbugs.classfile.engine.bcel.EngineRegistrar.<init>:()V
aload 0
invokevirtual edu.umd.cs.findbugs.classfile.engine.bcel.EngineRegistrar.registerAnalysisEngines:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 analysisCache Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
MethodParameters:
Name Flags
analysisCache
public static void registerPluginAnalysisEngines(edu.umd.cs.findbugs.DetectorFactoryCollection, edu.umd.cs.findbugs.classfile.IAnalysisCache);
descriptor: (Ledu/umd/cs/findbugs/DetectorFactoryCollection;Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual edu.umd.cs.findbugs.DetectorFactoryCollection.pluginIterator:()Ljava/util/Iterator;
astore 2
start local 2 1: goto 20
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.Plugin
astore 3
start local 3 3: aload 3
invokevirtual edu.umd.cs.findbugs.Plugin.getEngineRegistrarClass:()Ljava/lang/Class;
astore 4
start local 4 4: aload 4
ifnull 20
5: aload 4
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.classfile.IAnalysisEngineRegistrar
astore 5
start local 5 6: aload 5
aload 1
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisEngineRegistrar.registerAnalysisEngines:(Ledu/umd/cs/findbugs/classfile/IAnalysisCache;)V
end local 5 7: goto 20
StackMap locals: edu.umd.cs.findbugs.DetectorFactoryCollection edu.umd.cs.findbugs.classfile.IAnalysisCache java.util.Iterator edu.umd.cs.findbugs.Plugin java.lang.Class
StackMap stack: java.lang.InstantiationException
8: astore 5
start local 5 9: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Could not create analysis engine registrar for plugin "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 3
invokevirtual edu.umd.cs.findbugs.Plugin.getPluginId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 12: aload 6
aload 5
invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
13: aload 6
athrow
end local 6 end local 5 14: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 5
start local 5 15: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Could not create analysis engine registrar for plugin "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 3
invokevirtual edu.umd.cs.findbugs.Plugin.getPluginId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 18: aload 6
aload 5
invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
19: aload 6
athrow
end local 6 end local 5 end local 4 end local 3 20: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 2 21: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 detectorFactoryCollection Ledu/umd/cs/findbugs/DetectorFactoryCollection;
0 22 1 analysisCache Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
1 21 2 i Ljava/util/Iterator<Ledu/umd/cs/findbugs/Plugin;>;
3 20 3 plugin Ledu/umd/cs/findbugs/Plugin;
4 20 4 engineRegistrarClass Ljava/lang/Class<+Ledu/umd/cs/findbugs/classfile/IAnalysisEngineRegistrar;>;
6 7 5 engineRegistrar Ledu/umd/cs/findbugs/classfile/IAnalysisEngineRegistrar;
9 14 5 e Ljava/lang/InstantiationException;
12 14 6 ioe Ljava/io/IOException;
15 20 5 e Ljava/lang/IllegalAccessException;
18 20 6 ioe Ljava/io/IOException;
Exception table:
from to target type
5 7 8 Class java.lang.InstantiationException
5 7 14 Class java.lang.IllegalAccessException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
detectorFactoryCollection
analysisCache
private void buildClassPath();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokeinterface edu.umd.cs.findbugs.classfile.IClassFactory.createClassPathBuilder:(Ledu/umd/cs/findbugs/classfile/IErrorLogger;)Ledu/umd/cs/findbugs/classfile/IClassPathBuilder;
astore 1
start local 1 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 2: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
invokevirtual edu.umd.cs.findbugs.Project.getFileArray:()[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.classfile.IClassPathBuilder java.util.HashSet top int int java.lang.String[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 2
aload 3
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
ifeq 6
5: aload 1
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
aload 3
invokeinterface edu.umd.cs.findbugs.classfile.IClassFactory.createFilesystemCodeBaseLocator:(Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ICodeBaseLocator;
iconst_1
invokeinterface edu.umd.cs.findbugs.classfile.IClassPathBuilder.addCodeBase:(Ledu/umd/cs/findbugs/classfile/ICodeBaseLocator;Z)V
end local 3 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 3
8: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
invokevirtual edu.umd.cs.findbugs.Project.getAuxClasspathEntryList:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.classfile.IClassPathBuilder java.util.HashSet top java.util.Iterator
StackMap stack:
9: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 10: aload 2
aload 3
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
ifeq 12
11: aload 1
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classFactory:Ledu/umd/cs/findbugs/classfile/IClassFactory;
aload 3
invokeinterface edu.umd.cs.findbugs.classfile.IClassFactory.createFilesystemCodeBaseLocator:(Ljava/lang/String;)Ledu/umd/cs/findbugs/classfile/ICodeBaseLocator;
iconst_0
invokeinterface edu.umd.cs.findbugs.classfile.IClassPathBuilder.addCodeBase:(Ledu/umd/cs/findbugs/classfile/ICodeBaseLocator;Z)V
end local 3 12: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 2 13: aload 1
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.scanNestedArchives:Z
invokeinterface edu.umd.cs.findbugs.classfile.IClassPathBuilder.scanNestedArchives:(Z)V
14: aload 1
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
invokeinterface edu.umd.cs.findbugs.classfile.IClassPathBuilder.build:(Ledu/umd/cs/findbugs/classfile/IClassPath;Ledu/umd/cs/findbugs/classfile/IClassPathBuilderProgress;)V
15: aload 0
aload 1
invokeinterface edu.umd.cs.findbugs.classfile.IClassPathBuilder.getAppClassList:()Ljava/util/List;
putfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
16: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifeq 18
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " classes scanned"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
18: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.classfile.IClassPathBuilder
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classPath:Ledu/umd/cs/findbugs/classfile/IClassPath;
invokeinterface edu.umd.cs.findbugs.classfile.IClassPath.appCodeBaseIterator:()Ljava/util/Iterator;
astore 2
start local 2 19: goto 26
20: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.classfile.ICodeBase
astore 3
start local 3 21: aload 3
invokeinterface edu.umd.cs.findbugs.classfile.ICodeBase.containsSourceFiles:()Z
ifeq 25
22: aload 3
invokeinterface edu.umd.cs.findbugs.classfile.ICodeBase.getPathName:()Ljava/lang/String;
astore 4
start local 4 23: aload 4
ifnull 25
24: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
aload 4
invokevirtual edu.umd.cs.findbugs.Project.addSourceDir:(Ljava/lang/String;)Z
pop
end local 4 25: StackMap locals: edu.umd.cs.findbugs.classfile.ICodeBase
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.project:Ledu/umd/cs/findbugs/Project;
aload 3
invokeinterface edu.umd.cs.findbugs.classfile.ICodeBase.getLastModifiedTime:()J
invokevirtual edu.umd.cs.findbugs.Project.addTimestamp:(J)V
end local 3 26: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
end local 2 27: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ledu/umd/cs/findbugs/FindBugs2;
1 28 1 builder Ledu/umd/cs/findbugs/classfile/IClassPathBuilder;
2 13 2 seen Ljava/util/HashSet<Ljava/lang/String;>;
4 6 3 path Ljava/lang/String;
10 12 3 path Ljava/lang/String;
19 27 2 i Ljava/util/Iterator<+Ledu/umd/cs/findbugs/classfile/ICodeBase;>;
21 26 3 appCodeBase Ledu/umd/cs/findbugs/classfile/ICodeBase;
23 25 4 pathName Ljava/lang/String;
Exceptions:
throws java.lang.InterruptedException, java.io.IOException, edu.umd.cs.findbugs.classfile.CheckedAnalysisException
private void buildReferencedClassSet();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=16, args_size=1
start local 0 0: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Adding referenced classes"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 3: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 2
start local 2 4: aload 2
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
invokevirtual java.util.LinkedList.addAll:(Ljava/util/Collection;)Z
pop
5: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 6: new java.util.HashSet
dup
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 4
start local 4 7: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 8: new java.util.HashSet
dup
invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
9: invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getAllClassDescriptors:()Ljava/util/Collection;
10: invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 6
start local 6 11: iconst_0
istore 7
start local 7 12: new java.util.HashSet
dup
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 8
start local 8 13: goto 53
14: StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.util.Set java.util.LinkedList java.util.Set java.util.Set java.util.Set java.util.HashSet int java.util.Set
StackMap stack:
invokestatic java.lang.Thread.interrupted:()Z
ifeq 16
15: new java.lang.InterruptedException
dup
invokespecial java.lang.InterruptedException.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
astore 9
start local 9 17: aload 3
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 19
18: goto 53
19: StackMap locals: edu.umd.cs.findbugs.classfile.ClassDescriptor
StackMap stack:
aload 3
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
20: aload 6
aload 9
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifne 24
21: iinc 7 1
22: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifeq 24
iload 7
sipush 5000
irem
ifne 24
23: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Adding referenced class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: StackMap locals:
StackMap stack:
aload 1
aload 9
invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.getPackageName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
25: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
ldc Ledu/umd/cs/findbugs/ba/XClass;
aload 9
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
start local 10 26: aload 10
invokeinterface edu.umd.cs.findbugs.ba.XClass.getSuperclassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
astore 11
start local 11 27: aload 11
ifnull 29
aload 8
aload 11
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 29
28: aload 2
aload 11
invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
29: StackMap locals: edu.umd.cs.findbugs.ba.XClass edu.umd.cs.findbugs.classfile.ClassDescriptor
StackMap stack:
aload 10
invokeinterface edu.umd.cs.findbugs.ba.XClass.getInterfaceDescriptorList:()[Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 34
StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.util.Set java.util.LinkedList java.util.Set java.util.Set java.util.Set java.util.HashSet int java.util.Set edu.umd.cs.findbugs.classfile.ClassDescriptor edu.umd.cs.findbugs.ba.XClass edu.umd.cs.findbugs.classfile.ClassDescriptor top int int edu.umd.cs.findbugs.classfile.ClassDescriptor[]
StackMap stack:
30: aload 15
iload 13
aaload
astore 12
start local 12 31: aload 8
aload 12
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 33
32: aload 2
aload 12
invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
end local 12 33: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
34: iload 13
iload 14
if_icmplt 30
35: aload 10
invokeinterface edu.umd.cs.findbugs.ba.XClass.getImmediateEnclosingClass:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
astore 12
start local 12 36: aload 12
ifnull 53
aload 8
aload 12
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 53
37: aload 2
aload 12
invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
end local 12 end local 11 end local 10 38: goto 53
StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.util.Set java.util.LinkedList java.util.Set java.util.Set java.util.Set java.util.HashSet int java.util.Set edu.umd.cs.findbugs.classfile.ClassDescriptor
StackMap stack: java.lang.RuntimeException
39: astore 10
start local 10 40: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
new java.lang.StringBuilder
dup
ldc "Error scanning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " for referenced classes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 10
invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
41: aload 4
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 53
42: aload 5
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 10 43: goto 53
44: StackMap locals:
StackMap stack: edu.umd.cs.findbugs.classfile.MissingClassException
astore 10
start local 10 45: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
aload 10
invokevirtual edu.umd.cs.findbugs.classfile.MissingClassException.getClassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
invokeinterface edu.umd.cs.findbugs.BugReporter.reportMissingClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
46: aload 4
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 53
47: aload 5
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 10 48: goto 53
49: StackMap locals:
StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
astore 10
start local 10 50: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
new java.lang.StringBuilder
dup
ldc "Error scanning "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " for referenced classes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 10
invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
51: aload 4
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 53
52: aload 5
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 53: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 14
54: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
aload 5
invokeinterface java.util.List.removeAll:(Ljava/util/Collection;)Z
pop
55: invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
aload 5
invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.purge:(Ljava/util/Collection;)V
56: invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getAllClassDescriptors:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 59
StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.util.Set java.util.LinkedList java.util.Set java.util.Set java.util.Set java.util.HashSet int java.util.Set top java.util.Iterator
StackMap stack:
57: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
astore 9
start local 9 58: aload 1
aload 9
invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.getPackageName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 9 59: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 57
60: aload 0
new java.util.ArrayList
dup
invokestatic edu.umd.cs.findbugs.classfile.DescriptorFactory.instance:()Ledu/umd/cs/findbugs/classfile/DescriptorFactory;
invokevirtual edu.umd.cs.findbugs.classfile.DescriptorFactory.getAllClassDescriptors:()Ljava/util/Collection;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
61: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifeq 69
62: aload 1
ldc ""
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
63: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Added "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " referenced classes"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
64: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Total of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " packages"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
65: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 68
StackMap locals:
StackMap stack:
66: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
astore 9
start local 9 67: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 9 68: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 66
69: StackMap locals: edu.umd.cs.findbugs.FindBugs2 java.util.Set java.util.LinkedList java.util.Set java.util.Set java.util.Set java.util.HashSet int java.util.Set
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 this Ledu/umd/cs/findbugs/FindBugs2;
3 70 1 referencedPackageSet Ljava/util/Set<Ljava/lang/String;>;
4 70 2 workList Ljava/util/LinkedList<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
6 70 3 seen Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
7 70 4 appClassSet Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
8 70 5 badAppClassSet Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
11 70 6 knownDescriptors Ljava/util/HashSet<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
12 70 7 count I
13 70 8 addedToWorkList Ljava/util/Set<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
17 53 9 classDesc Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
26 38 10 classNameAndInfo Ledu/umd/cs/findbugs/ba/XClass;
27 38 11 superclassDescriptor Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
31 33 12 ifaceDesc Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
36 38 12 enclosingClass Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
40 43 10 e Ljava/lang/RuntimeException;
45 48 10 e Ledu/umd/cs/findbugs/classfile/MissingClassException;
50 53 10 e Ledu/umd/cs/findbugs/classfile/CheckedAnalysisException;
58 59 9 d Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
67 68 9 d Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
Exception table:
from to target type
25 38 39 Class java.lang.RuntimeException
25 38 44 Class edu.umd.cs.findbugs.classfile.MissingClassException
25 38 49 Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
Exceptions:
throws java.lang.InterruptedException
public java.util.List<edu.umd.cs.findbugs.classfile.ClassDescriptor> sortByCallGraph(java.util.Collection<edu.umd.cs.findbugs.classfile.ClassDescriptor>, edu.umd.cs.findbugs.util.TopologicalSort$OutEdges<edu.umd.cs.findbugs.classfile.ClassDescriptor>);
descriptor: (Ljava/util/Collection;Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic edu.umd.cs.findbugs.util.TopologicalSort.sortByCallGraph:(Ljava/util/Collection;Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges;)Ljava/util/List;
astore 3
start local 3 1: aload 3
aload 2
invokestatic edu.umd.cs.findbugs.util.TopologicalSort.countBadEdges:(Ljava/util/List;Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 3 1 classList Ljava/util/Collection<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
0 3 2 outEdges Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
1 3 3 evaluationOrder Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
Signature: (Ljava/util/Collection<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;)Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
MethodParameters:
Name Flags
classList
outEdges
public static void clearAnalysisContext();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.removeCurrentAnalysisContext:()V
1: return
LocalVariableTable:
Start End Slot Name Signature
public static void createAnalysisContext(edu.umd.cs.findbugs.Project, java.util.List<edu.umd.cs.findbugs.classfile.ClassDescriptor>, java.lang.String);
descriptor: (Ledu/umd/cs/findbugs/Project;Ljava/util/List;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new edu.umd.cs.findbugs.ba.AnalysisContext
dup
aload 0
invokespecial edu.umd.cs.findbugs.ba.AnalysisContext.<init>:(Ledu/umd/cs/findbugs/Project;)V
astore 3
start local 3 1: aload 3
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.setCurrentAnalysisContext:(Ledu/umd/cs/findbugs/ba/AnalysisContext;)V
2: aload 3
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.clearRepository:()V
3: aload 2
ifnull 6
4: aload 3
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getSourceInfoMap:()Ledu/umd/cs/findbugs/ba/SourceInfoMap;
astore 4
start local 4 5: aload 4
new java.io.FileInputStream
dup
aload 2
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
invokevirtual edu.umd.cs.findbugs.ba.SourceInfoMap.read:(Ljava/io/InputStream;)V
end local 4 6: StackMap locals: edu.umd.cs.findbugs.ba.AnalysisContext
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 project Ledu/umd/cs/findbugs/Project;
0 7 1 appClassList Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
0 7 2 sourceInfoFileName Ljava/lang/String;
1 7 3 analysisContext Ledu/umd/cs/findbugs/ba/AnalysisContext;
5 6 4 sourceInfoMap Ledu/umd/cs/findbugs/ba/SourceInfoMap;
Exceptions:
throws java.io.IOException
Signature: (Ledu/umd/cs/findbugs/Project;Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;Ljava/lang/String;)V
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
javax.annotation.CheckForNull()
RuntimeVisibleParameterAnnotations:
0:
1:
2:
javax.annotation.CheckForNull()
MethodParameters:
Name Flags
project
appClassList
sourceInfoFileName
public static void setAppClassList(java.util.List<edu.umd.cs.findbugs.classfile.ClassDescriptor>);
descriptor: (Ljava/util/List;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
1: astore 1
start local 1 2: aload 1
aload 0
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.setAppClassList:(Ljava/util/List;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 appClassList Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
2 4 1 analysisContext Ledu/umd/cs/findbugs/ba/AnalysisContext;
Signature: (Ljava/util/List<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;)V
MethodParameters:
Name Flags
appClassList
private void configureAnalysisFeatures();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.analysisFeatureSettingList:[Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: edu.umd.cs.findbugs.FindBugs2 top int int edu.umd.cs.findbugs.config.AnalysisFeatureSetting[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
invokevirtual edu.umd.cs.findbugs.config.AnalysisFeatureSetting.configure:(Ledu/umd/cs/findbugs/ba/AnalysisContext;)V
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
bipush 7
6: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.mergeSimilarWarnings:Z
7: invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.setBoolProperty:(IZ)V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ledu/umd/cs/findbugs/FindBugs2;
2 3 1 setting Ledu/umd/cs/findbugs/config/AnalysisFeatureSetting;
private void createExecutionPlan();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
new edu.umd.cs.findbugs.plan.ExecutionPlan
dup
invokespecial edu.umd.cs.findbugs.plan.ExecutionPlan.<init>:()V
putfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
1: new edu.umd.cs.findbugs.FindBugs2$3
dup
aload 0
invokespecial edu.umd.cs.findbugs.FindBugs2$3.<init>:(Ledu/umd/cs/findbugs/FindBugs2;)V
astore 1
start local 1 2: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
aload 1
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.setDetectorFactoryChooser:(Ledu/umd/cs/findbugs/DetectorFactoryChooser;)V
3: getstatic edu.umd.cs.findbugs.plan.ExecutionPlan.DEBUG:Z
ifeq 5
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "rank threshold is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.rankThreshold:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: StackMap locals: edu.umd.cs.findbugs.DetectorFactoryChooser
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.detectorFactoryCollection:Ledu/umd/cs/findbugs/DetectorFactoryCollection;
invokevirtual edu.umd.cs.findbugs.DetectorFactoryCollection.pluginIterator:()Ljava/util/Iterator;
astore 2
start local 2 6: goto 11
7: StackMap locals: java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.Plugin
astore 3
start local 3 8: getstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
ifeq 10
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Adding plugin "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual edu.umd.cs.findbugs.Plugin.getPluginId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to execution plan"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: StackMap locals: edu.umd.cs.findbugs.Plugin
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
aload 3
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.addPlugin:(Ledu/umd/cs/findbugs/Plugin;)V
end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 2 12: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.build:()V
13: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
ldc Ledu/umd/cs/findbugs/plan/ExecutionPlan;
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.eagerlyPutDatabase:(Ljava/lang/Class;Ljava/lang/Object;)V
14: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifeq 16
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.getNumPasses:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " passes in execution plan"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ledu/umd/cs/findbugs/FindBugs2;
2 17 1 detectorFactoryChooser Ledu/umd/cs/findbugs/DetectorFactoryChooser;
6 12 2 i Ljava/util/Iterator<Ledu/umd/cs/findbugs/Plugin;>;
8 11 3 plugin Ledu/umd/cs/findbugs/Plugin;
Exceptions:
throws edu.umd.cs.findbugs.plan.OrderingConstraintException
private void analyzeApplication();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=34, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokeinterface edu.umd.cs.findbugs.BugReporter.getProjectStats:()Ledu/umd/cs/findbugs/ProjectStats;
invokevirtual edu.umd.cs.findbugs.ProjectStats.getProfiler:()Ledu/umd/cs/findbugs/log/Profiler;
astore 2
start local 2 2: aload 2
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.start:(Ljava/lang/Class;)V
3: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentXFactory:()Ledu/umd/cs/findbugs/ba/XFactory;
invokevirtual edu.umd.cs.findbugs.ba.XFactory.canonicalizeAll:()V
4: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.getNumPasses:()I
iconst_1
if_icmple 5
iconst_1
goto 6
StackMap locals: int edu.umd.cs.findbugs.log.Profiler
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 3
start local 3 7: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.getNumPasses:()I
ifne 9
8: new java.lang.AssertionError
dup
ldc "no analysis passes"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals: int
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.getNumPasses:()I
newarray 10
astore 4
start local 4 10: aload 4
iconst_0
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
iastore
11: iconst_0
istore 5
start local 5 12: goto 17
13: StackMap locals: int[] int
StackMap stack:
aload 4
iload 5
iload 5
ifne 14
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
goto 15
StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] int
StackMap stack: int[] int
14: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
invokeinterface java.util.List.size:()I
StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] int
StackMap stack: int[] int int
15: iastore
16: iinc 5 1
StackMap locals:
StackMap stack:
17: iload 5
aload 4
arraylength
if_icmplt 13
end local 5 18: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
aload 4
invokeinterface edu.umd.cs.findbugs.FindBugsProgress.predictPassCount:([I)V
19: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentXFactory:()Ledu/umd/cs/findbugs/ba/XFactory;
astore 5
start local 5 20: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 6
start local 6 21: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
goto 33
StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection top java.util.Iterator
StackMap stack:
22: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
astore 7
start local 7 23: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
ldc Ledu/umd/cs/findbugs/ba/XClass;
aload 7
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 9
start local 9 24: aload 5
aload 9
invokevirtual edu.umd.cs.findbugs.ba.XFactory.intern:(Ledu/umd/cs/findbugs/ba/XClass;)V
end local 9 25: goto 33
StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator
StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
26: astore 9
start local 9 27: new java.lang.StringBuilder
dup
ldc "Couldn't get class info for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 9
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
28: aload 6
aload 7
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 9 29: goto 33
30: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 9
start local 9 31: new java.lang.StringBuilder
dup
ldc "Couldn't get class info for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 9
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.logError:(Ljava/lang/String;Ljava/lang/Exception;)V
32: aload 6
aload 7
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 7 33: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
34: aload 6
invokeinterface java.util.Collection.isEmpty:()Z
ifne 37
35: aload 0
new java.util.LinkedHashSet
dup
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
putfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
36: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
aload 6
invokeinterface java.util.Collection.removeAll:(Ljava/util/Collection;)Z
pop
37: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 7
start local 7 38: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokeinterface edu.umd.cs.findbugs.BugReporter.getProjectStats:()Ledu/umd/cs/findbugs/ProjectStats;
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
invokevirtual edu.umd.cs.findbugs.ProjectStats.setReferencedClasses:(I)V
39: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.passIterator:()Ljava/util/Iterator;
astore 9
start local 9 40: goto 162
41: StackMap locals: long java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.plan.AnalysisPass
astore 10
start local 10 42: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.yourkitController:Ledu/umd/cs/findbugs/log/YourKitController;
new java.lang.StringBuilder
dup
ldc "Pass "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.log.YourKitController.advanceGeneration:(Ljava/lang/String;)V
43: iload 3
ifeq 44
iload 1
ifne 44
iconst_1
goto 45
StackMap locals: edu.umd.cs.findbugs.plan.AnalysisPass
StackMap stack:
44: iconst_0
StackMap locals:
StackMap stack: int
45: istore 11
start local 11 46: aload 10
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokevirtual edu.umd.cs.findbugs.plan.AnalysisPass.instantiateDetector2sInPass:(Ledu/umd/cs/findbugs/BugReporter;)[Ledu/umd/cs/findbugs/Detector2;
astore 12
start local 12 47: iload 11
ifeq 48
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.referencedClassSet:Ljava/util/Collection;
goto 49
StackMap locals: int edu.umd.cs.findbugs.Detector2[]
StackMap stack:
48: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.appClassList:Ljava/util/List;
StackMap locals:
StackMap stack: java.util.Collection
49: astore 13
start local 13 50: invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentXFactory:()Ledu/umd/cs/findbugs/ba/XFactory;
invokevirtual edu.umd.cs.findbugs.ba.XFactory.canonicalizeAll:()V
51: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifne 52
getstatic edu.umd.cs.findbugs.FindBugs2.LIST_ORDER:Z
ifeq 55
52: StackMap locals: java.util.Collection
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%6d : Pass %d: %d classes%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
invokestatic java.lang.System.currentTimeMillis:()J
lload 7
lsub
ldc 1000
ldiv
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 13
invokeinterface java.util.Collection.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
53: getstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
ifeq 55
54: invokestatic edu.umd.cs.findbugs.ba.XFactory.profile:()V
55: StackMap locals:
StackMap stack:
iload 11
ifne 58
56: new edu.umd.cs.findbugs.FindBugs2$4
dup
aload 0
invokespecial edu.umd.cs.findbugs.FindBugs2$4.<init>:(Ledu/umd/cs/findbugs/FindBugs2;)V
astore 14
start local 14 57: aload 0
aload 13
aload 14
invokevirtual edu.umd.cs.findbugs.FindBugs2.sortByCallGraph:(Ljava/util/Collection;Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges;)Ljava/util/List;
astore 13
end local 14 58: StackMap locals:
StackMap stack:
getstatic edu.umd.cs.findbugs.FindBugs2.LIST_ORDER:Z
ifeq 64
59: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Analysis order:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
60: aload 13
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 15
goto 63
StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection top java.util.Iterator
StackMap stack:
61: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
astore 14
start local 14 62: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 14 63: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 61
64: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection
StackMap stack:
invokestatic edu.umd.cs.findbugs.ba.AnalysisContext.currentAnalysisContext:()Ledu/umd/cs/findbugs/ba/AnalysisContext;
astore 14
start local 14 65: aload 14
iload 1
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.updateDatabases:(I)V
66: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
aload 13
invokeinterface java.util.Collection.size:()I
invokeinterface edu.umd.cs.findbugs.FindBugsProgress.startAnalysis:(I)V
67: iconst_0
istore 15
start local 15 68: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.purgeAllMethodAnalysis:()V
69: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
ldc Ledu/umd/cs/findbugs/asm/FBClassReader;
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.purgeClassAnalysis:(Ljava/lang/Class;)V
70: aload 13
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 17
goto 152
StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int top java.util.Iterator
StackMap stack:
71: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.classfile.ClassDescriptor
astore 16
start local 16 72: lconst_0
lstore 18
start local 18 73: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifeq 79
74: invokestatic java.lang.System.nanoTime:()J
lstore 18
75: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "%6d %d/%d %d/%d %s%n"
bipush 6
anewarray java.lang.Object
dup
iconst_0
invokestatic java.lang.System.currentTimeMillis:()J
lload 7
lsub
ldc 1000
ldiv
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
76: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.executionPlan:Ledu/umd/cs/findbugs/plan/ExecutionPlan;
invokevirtual edu.umd.cs.findbugs.plan.ExecutionPlan.getNumPasses:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
77: aload 13
invokeinterface java.util.Collection.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_5
aload 16
aastore
78: invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
79: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long
StackMap stack:
iinc 15 1
80: iload 11
ifne 82
iload 15
sipush 1000
irem
ifne 82
81: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.yourkitController:Ledu/umd/cs/findbugs/log/YourKitController;
ldc "Pass %d.%02d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 15
sipush 1000
idiv
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.log.YourKitController.advanceGeneration:(Ljava/lang/String;)V
82: StackMap locals:
StackMap stack:
getstatic edu.umd.cs.findbugs.FindBugs2.SCREEN_FIRST_PASS_CLASSES:Z
ifne 83
iload 11
ifne 87
83: StackMap locals:
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classScreener:Ledu/umd/cs/findbugs/IClassScreener;
aload 16
invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.toResourceName:()Ljava/lang/String;
invokeinterface edu.umd.cs.findbugs.IClassScreener.matches:(Ljava/lang/String;)Z
ifne 87
84: getstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
ifeq 152
85: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "*** Excluded by class screener"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
86: goto 152
87: StackMap locals:
StackMap stack:
aload 14
aload 16
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.isTooBig:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Z
istore 20
start local 20 88: iload 20
ifeq 92
aload 14
aload 16
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.isApplicationClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Z
ifeq 92
89: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
new edu.umd.cs.findbugs.BugInstance
dup
ldc "SKIPPED_CLASS_TOO_BIG"
iconst_2
invokespecial edu.umd.cs.findbugs.BugInstance.<init>:(Ljava/lang/String;I)V
90: aload 16
invokevirtual edu.umd.cs.findbugs.BugInstance.addClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)Ledu/umd/cs/findbugs/BugInstance;
91: invokeinterface edu.umd.cs.findbugs.BugReporter.reportBug:(Ledu/umd/cs/findbugs/BugInstance;)V
92: StackMap locals: int
StackMap stack:
aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.getClassName:()Ljava/lang/String;
invokestatic edu.umd.cs.findbugs.util.ClassName.toDottedClassName:(Ljava/lang/String;)Ljava/lang/String;
putfield edu.umd.cs.findbugs.FindBugs2.currentClassName:Ljava/lang/String;
93: aload 0
aload 16
invokevirtual edu.umd.cs.findbugs.FindBugs2.notifyClassObservers:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
94: aload 2
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.currentClassName:Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.log.Profiler.startContext:(Ljava/lang/Object;)V
95: aload 14
aload 16
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.setClassBeingAnalyzed:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
96: aload 12
dup
astore 24
arraylength
istore 23
iconst_0
istore 22
goto 124
StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int top int int edu.umd.cs.findbugs.Detector2[]
StackMap stack:
97: aload 24
iload 22
aaload
astore 21
start local 21 98: invokestatic java.lang.Thread.interrupted:()Z
ifeq 100
99: new java.lang.InterruptedException
dup
invokespecial java.lang.InterruptedException.<init>:()V
athrow
100: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int edu.umd.cs.findbugs.Detector2 int int edu.umd.cs.findbugs.Detector2[]
StackMap stack:
iload 20
ifeq 102
ldc Ledu/umd/cs/findbugs/FirstPassDetector;
aload 21
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 102
101: goto 123
102: StackMap locals:
StackMap stack:
getstatic edu.umd.cs.findbugs.FindBugs2.DEBUG:Z
ifeq 104
103: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Applying "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 21
invokeinterface edu.umd.cs.findbugs.Detector2.getDetectorClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
104: StackMap locals:
StackMap stack:
aload 2
aload 21
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.start:(Ljava/lang/Class;)V
105: aload 21
aload 16
invokeinterface edu.umd.cs.findbugs.Detector2.visitClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
106: goto 122
StackMap locals:
StackMap stack: org.apache.bcel.classfile.ClassFormatException
107: astore 25
start local 25 108: aload 0
aload 16
aload 21
aload 25
invokevirtual edu.umd.cs.findbugs.FindBugs2.logRecoverableException:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;Ledu/umd/cs/findbugs/Detector2;Ljava/lang/Throwable;)V
end local 25 109: aload 2
aload 21
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
goto 123
110: StackMap locals:
StackMap stack: edu.umd.cs.findbugs.classfile.MissingClassException
astore 25
start local 25 111: invokestatic edu.umd.cs.findbugs.classfile.Global.getAnalysisCache:()Ledu/umd/cs/findbugs/classfile/IAnalysisCache;
invokeinterface edu.umd.cs.findbugs.classfile.IAnalysisCache.getErrorLogger:()Ledu/umd/cs/findbugs/classfile/IErrorLogger;
aload 25
invokevirtual edu.umd.cs.findbugs.classfile.MissingClassException.getClassDescriptor:()Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
invokeinterface edu.umd.cs.findbugs.classfile.IErrorLogger.reportMissingClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
end local 25 112: aload 2
aload 21
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
goto 123
113: StackMap locals:
StackMap stack: edu.umd.cs.findbugs.classfile.CheckedAnalysisException
astore 25
start local 25 114: aload 0
aload 16
aload 21
aload 25
invokevirtual edu.umd.cs.findbugs.FindBugs2.logRecoverableException:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;Ledu/umd/cs/findbugs/Detector2;Ljava/lang/Throwable;)V
end local 25 115: aload 2
aload 21
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
goto 123
116: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 25
start local 25 117: aload 0
aload 16
aload 21
aload 25
invokevirtual edu.umd.cs.findbugs.FindBugs2.logRecoverableException:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;Ledu/umd/cs/findbugs/Detector2;Ljava/lang/Throwable;)V
end local 25 118: aload 2
aload 21
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
goto 123
119: StackMap locals:
StackMap stack: java.lang.Throwable
astore 26
120: aload 2
aload 21
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
121: aload 26
athrow
122: StackMap locals:
StackMap stack:
aload 2
aload 21
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
end local 21 123: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int top int int edu.umd.cs.findbugs.Detector2[]
StackMap stack:
iinc 22 1
StackMap locals:
StackMap stack:
124: iload 22
iload 23
if_icmplt 97
125: goto 140
StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int
StackMap stack: java.lang.Throwable
126: astore 27
127: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
invokeinterface edu.umd.cs.findbugs.FindBugsProgress.finishClass:()V
128: aload 2
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.currentClassName:Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.log.Profiler.endContext:(Ljava/lang/Object;)V
129: aload 14
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.clearClassBeingAnalyzed:()V
130: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifeq 139
131: invokestatic java.lang.System.nanoTime:()J
lload 18
lsub
ldc 1000
ldiv
lstore 28
start local 28 132: lload 28
ldc 15000
lcmp
ifle 139
133: aload 14
aload 16
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getClassSize:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)I
istore 30
start local 30 134: lload 28
iload 30
i2l
ldiv
lstore 31
start local 31 135: lload 31
ldc 15
lcmp
ifle 139
136: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " %6d usecs/byte %6d msec %6d bytes %d pass %s%n"
iconst_5
anewarray java.lang.Object
dup
iconst_0
lload 31
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 28
ldc 1000
ldiv
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
iload 30
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
137: aload 16
aastore
138: invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 31 end local 30 end local 28 139: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int top top top top top top java.lang.Throwable
StackMap stack:
aload 27
athrow
140: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int edu.umd.cs.findbugs.classfile.ClassDescriptor java.util.Iterator long int
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
invokeinterface edu.umd.cs.findbugs.FindBugsProgress.finishClass:()V
141: aload 2
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.currentClassName:Ljava/lang/String;
invokevirtual edu.umd.cs.findbugs.log.Profiler.endContext:(Ljava/lang/Object;)V
142: aload 14
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.clearClassBeingAnalyzed:()V
143: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifeq 152
144: invokestatic java.lang.System.nanoTime:()J
lload 18
lsub
ldc 1000
ldiv
lstore 28
start local 28 145: lload 28
ldc 15000
lcmp
ifle 152
146: aload 14
aload 16
invokevirtual edu.umd.cs.findbugs.ba.AnalysisContext.getClassSize:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)I
istore 30
start local 30 147: lload 28
iload 30
i2l
ldiv
lstore 31
start local 31 148: lload 31
ldc 15
lcmp
ifle 152
149: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " %6d usecs/byte %6d msec %6d bytes %d pass %s%n"
iconst_5
anewarray java.lang.Object
dup
iconst_0
lload 31
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 28
ldc 1000
ldiv
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
iload 30
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
150: aload 16
aastore
151: invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 31 end local 30 end local 28 end local 20 end local 18 end local 16 152: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int top java.util.Iterator
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 71
153: aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 155
154: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.yourkitController:Ledu/umd/cs/findbugs/log/YourKitController;
invokevirtual edu.umd.cs.findbugs.log.YourKitController.captureMemorySnapshot:()V
155: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int
StackMap stack:
aload 12
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
goto 159
StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator edu.umd.cs.findbugs.plan.AnalysisPass int edu.umd.cs.findbugs.Detector2[] java.util.Collection edu.umd.cs.findbugs.ba.AnalysisContext int top int int edu.umd.cs.findbugs.Detector2[]
StackMap stack:
156: aload 19
iload 17
aaload
astore 16
start local 16 157: aload 16
invokeinterface edu.umd.cs.findbugs.Detector2.finishPass:()V
end local 16 158: iinc 17 1
StackMap locals:
StackMap stack:
159: iload 17
iload 18
if_icmplt 156
160: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.progress:Ledu/umd/cs/findbugs/FindBugsProgress;
invokeinterface edu.umd.cs.findbugs.FindBugsProgress.finishPerClassAnalysis:()V
161: iinc 1 1
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 162: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler int int[] edu.umd.cs.findbugs.ba.XFactory java.util.Collection long java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 41
end local 9 end local 7 end local 6 end local 5 end local 4 end local 3 163: goto 171
StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler
StackMap stack: java.lang.Throwable
164: astore 33
165: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokeinterface edu.umd.cs.findbugs.BugReporter.finish:()V
166: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokeinterface edu.umd.cs.findbugs.BugReporter.reportQueuedErrors:()V
167: aload 2
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
168: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifeq 170
169: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Analysis completed"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
170: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top java.lang.Throwable
StackMap stack:
aload 33
athrow
171: StackMap locals: edu.umd.cs.findbugs.FindBugs2 int edu.umd.cs.findbugs.log.Profiler
StackMap stack:
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokeinterface edu.umd.cs.findbugs.BugReporter.finish:()V
172: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
invokeinterface edu.umd.cs.findbugs.BugReporter.reportQueuedErrors:()V
173: aload 2
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual edu.umd.cs.findbugs.log.Profiler.end:(Ljava/lang/Class;)V
174: getstatic edu.umd.cs.findbugs.FindBugs2.PROGRESS:Z
ifeq 176
175: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Analysis completed"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
176: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 177 0 this Ledu/umd/cs/findbugs/FindBugs2;
1 177 1 passCount I
2 177 2 profiler Ledu/umd/cs/findbugs/log/Profiler;
7 163 3 multiplePasses Z
10 163 4 classesPerPass [I
12 18 5 i I
20 163 5 factory Ledu/umd/cs/findbugs/ba/XFactory;
21 163 6 badClasses Ljava/util/Collection<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
23 33 7 desc Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
24 25 9 info Ledu/umd/cs/findbugs/ba/XClass;
27 29 9 e Ledu/umd/cs/findbugs/classfile/CheckedAnalysisException;
31 33 9 e Ljava/lang/RuntimeException;
38 163 7 startTime J
40 163 9 passIterator Ljava/util/Iterator<Ledu/umd/cs/findbugs/plan/AnalysisPass;>;
42 162 10 pass Ledu/umd/cs/findbugs/plan/AnalysisPass;
46 162 11 isNonReportingFirstPass Z
47 162 12 detectorList [Ledu/umd/cs/findbugs/Detector2;
50 162 13 classCollection Ljava/util/Collection<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
57 58 14 outEdges Ledu/umd/cs/findbugs/util/TopologicalSort$OutEdges<Ledu/umd/cs/findbugs/classfile/ClassDescriptor;>;
62 63 14 c Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
65 162 14 currentAnalysisContext Ledu/umd/cs/findbugs/ba/AnalysisContext;
68 162 15 count I
72 152 16 classDescriptor Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
73 152 18 classStartNanoTime J
88 152 20 isHuge Z
98 123 21 detector Ledu/umd/cs/findbugs/Detector2;
108 109 25 e Lorg/apache/bcel/classfile/ClassFormatException;
111 112 25 e Ledu/umd/cs/findbugs/classfile/MissingClassException;
114 115 25 e Ledu/umd/cs/findbugs/classfile/CheckedAnalysisException;
117 118 25 e Ljava/lang/RuntimeException;
132 139 28 usecs J
145 152 28 usecs J
134 139 30 classSize I
147 152 30 classSize I
135 139 31 speed J
148 152 31 speed J
157 158 16 detector Ledu/umd/cs/findbugs/Detector2;
Exception table:
from to target type
23 25 26 Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
23 25 30 Class java.lang.RuntimeException
104 106 107 Class org.apache.bcel.classfile.ClassFormatException
104 106 110 Class edu.umd.cs.findbugs.classfile.MissingClassException
104 106 113 Class edu.umd.cs.findbugs.classfile.CheckedAnalysisException
104 106 116 Class java.lang.RuntimeException
104 109 119 any
110 112 119 any
113 115 119 any
116 118 119 any
96 126 126 any
4 164 164 any
Exceptions:
throws java.lang.InterruptedException
private void notifyClassObservers(edu.umd.cs.findbugs.classfile.ClassDescriptor);
descriptor: (Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.classObserverList:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.classfile.ClassDescriptor top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast edu.umd.cs.findbugs.classfile.IClassObserver
astore 2
start local 2 2: aload 2
aload 1
invokeinterface edu.umd.cs.findbugs.classfile.IClassObserver.observeClass:(Ledu/umd/cs/findbugs/classfile/ClassDescriptor;)V
end local 2 3: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 5 1 classDescriptor Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
2 3 2 observer Ledu/umd/cs/findbugs/classfile/IClassObserver;
MethodParameters:
Name Flags
classDescriptor
private void logRecoverableException(edu.umd.cs.findbugs.classfile.ClassDescriptor, edu.umd.cs.findbugs.Detector2, java.lang.Throwable);
descriptor: (Ledu/umd/cs/findbugs/classfile/ClassDescriptor;Ledu/umd/cs/findbugs/Detector2;Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
1: new java.lang.StringBuilder
dup
ldc "Exception analyzing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual edu.umd.cs.findbugs.classfile.ClassDescriptor.toDottedClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " using detector "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 2
invokeinterface edu.umd.cs.findbugs.Detector2.getDetectorClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: aload 3
5: invokeinterface edu.umd.cs.findbugs.BugReporter.logError:(Ljava/lang/String;Ljava/lang/Throwable;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 7 1 classDescriptor Ledu/umd/cs/findbugs/classfile/ClassDescriptor;
0 7 2 detector Ledu/umd/cs/findbugs/Detector2;
0 7 3 e Ljava/lang/Throwable;
MethodParameters:
Name Flags
classDescriptor
detector
e
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: invokestatic edu.umd.cs.findbugs.CheckBcel.check:()Z
ifne 2
1: iconst_1
invokestatic java.lang.System.exit:(I)V
2: StackMap locals:
StackMap stack:
new edu.umd.cs.findbugs.FindBugs2
dup
invokespecial edu.umd.cs.findbugs.FindBugs2.<init>:()V
astore 1
start local 1 3: new edu.umd.cs.findbugs.TextUICommandLine
dup
invokespecial edu.umd.cs.findbugs.TextUICommandLine.<init>:()V
astore 2
start local 2 4: aload 2
aload 0
aload 1
invokestatic edu.umd.cs.findbugs.FindBugs.processCommandLine:(Ledu/umd/cs/findbugs/TextUICommandLine;[Ljava/lang/String;Ledu/umd/cs/findbugs/IFindBugsEngine;)V
5: aload 2
invokevirtual edu.umd.cs.findbugs.TextUICommandLine.justPrintConfiguration:()Z
istore 3
start local 3 6: iload 3
ifne 7
aload 2
invokevirtual edu.umd.cs.findbugs.TextUICommandLine.justPrintVersion:()Z
ifeq 9
7: StackMap locals: edu.umd.cs.findbugs.FindBugs2 edu.umd.cs.findbugs.TextUICommandLine int
StackMap stack:
iload 3
invokestatic edu.umd.cs.findbugs.Version.printVersion:(Z)V
8: return
9: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic edu.umd.cs.findbugs.FindBugs.runMain:(Ledu/umd/cs/findbugs/IFindBugsEngine;Ledu/umd/cs/findbugs/TextUICommandLine;)V
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 args [Ljava/lang/String;
3 11 1 findBugs Ledu/umd/cs/findbugs/FindBugs2;
4 11 2 commandLine Ledu/umd/cs/findbugs/TextUICommandLine;
6 11 3 justPrintConfiguration Z
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
public void setAbridgedMessages(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
iload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.abridgedMessages:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 xmlWithAbridgedMessages Z
MethodParameters:
Name Flags
xmlWithAbridgedMessages
public void setMergeSimilarWarnings(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
iload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.mergeSimilarWarnings:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 mergeSimilarWarnings Z
MethodParameters:
Name Flags
mergeSimilarWarnings
public void setApplySuppression(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
iload 1
putfield edu.umd.cs.findbugs.AnalysisOptions.applySuppression:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 applySuppression Z
MethodParameters:
Name Flags
applySuppression
public void setRankThreshold(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield edu.umd.cs.findbugs.FindBugs2.rankThreshold:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 2 1 rankThreshold I
MethodParameters:
Name Flags
rankThreshold
public void finishSettings();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield edu.umd.cs.findbugs.FindBugs2.analysisOptions:Ledu/umd/cs/findbugs/AnalysisOptions;
getfield edu.umd.cs.findbugs.AnalysisOptions.applySuppression:Z
ifeq 2
1: aload 0
new edu.umd.cs.findbugs.FilterBugReporter
dup
aload 0
getfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
aload 0
invokevirtual edu.umd.cs.findbugs.FindBugs2.getProject:()Ledu/umd/cs/findbugs/Project;
invokevirtual edu.umd.cs.findbugs.Project.getSuppressionFilter:()Ledu/umd/cs/findbugs/filter/Filter;
iconst_0
invokespecial edu.umd.cs.findbugs.FilterBugReporter.<init>:(Ledu/umd/cs/findbugs/BugReporter;Ledu/umd/cs/findbugs/filter/Matcher;Z)V
putfield edu.umd.cs.findbugs.FindBugs2.bugReporter:Ledu/umd/cs/findbugs/BugReporter;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/FindBugs2;
public void setBugReporterDecorators(java.util.Set<java.lang.String>, java.util.Set<java.lang.String>);
descriptor: (Ljava/util/Set;Ljava/util/Set;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
putfield edu.umd.cs.findbugs.FindBugs2.explicitlyEnabledBugReporterDecorators:Ljava/util/Set;
1: aload 0
aload 2
putfield edu.umd.cs.findbugs.FindBugs2.explicitlyDisabledBugReporterDecorators:Ljava/util/Set;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ledu/umd/cs/findbugs/FindBugs2;
0 3 1 explicitlyEnabled Ljava/util/Set<Ljava/lang/String;>;
0 3 2 explicitlyDisabled Ljava/util/Set<Ljava/lang/String;>;
Signature: (Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
explicitlyEnabled
explicitlyDisabled
}
SourceFile: "FindBugs2.java"
NestMembers:
edu.umd.cs.findbugs.FindBugs2$1 edu.umd.cs.findbugs.FindBugs2$2 edu.umd.cs.findbugs.FindBugs2$3 edu.umd.cs.findbugs.FindBugs2$4
InnerClasses:
edu.umd.cs.findbugs.FindBugs2$1
edu.umd.cs.findbugs.FindBugs2$2
edu.umd.cs.findbugs.FindBugs2$3
edu.umd.cs.findbugs.FindBugs2$4
public abstract OutEdges = edu.umd.cs.findbugs.util.TopologicalSort$OutEdges of edu.umd.cs.findbugs.util.TopologicalSort
public abstract Entry = java.util.Map$Entry of java.util.Map