@DefaultAnnotationForParameters(value=NonNull.class)

Package edu.umd.cs.findbugs.ba

A bytecode analysis framework for BCEL, providing CFG construction, generic dataflow analysis, and a variety of specific dataflow analyses.

See:
          Description

Interface Summary
AnalysisFeatures Boolean analysis properties for use in the AnalysisContext.
BlockOrder Specify an order for visiting basic blocks.
BytecodeScanner.Callback Callback interface to report scanned instructions.
CFGBuilder Abstract interface for CFG builder classes.
ClassMember Common super-interface for class members (fields and methods).
ClassObserver An interface to be implemented by classes which observer the analysis of classes.
DataflowAnalysis<Fact> A dataflow analysis to be used with the Dataflow class.
DataflowValueChooser<Value> Predicate for dataflow values.
Debug  
DFSEdgeTypes Interface defining depth first search edge type constants.
EdgeChooser Interface for choosing CFG Edges.
EdgeTypes Constants defining the type of control flow edges, as well as flags defining additional information about the edges.
JavaClassAndMethodChooser  
MethodChooser Interface for choosing methods.
RepositoryLookupFailureCallback An interface which Repository class lookup failures are reported to.
ResourceTracker<Resource> A ResourceTracker is used with ResourceValueAnalysis to determine where in a method a certain kind of resource is created, and to model the effect of instructions on the state of that resource.
SourceFileDataSource A data source which can produce a stream for a source file.
XField Abstract representation of a field.
XMethod  
 

Class Summary
AbstractBlockOrder Abstract base class for BlockOrder variants.
AbstractClassMember  
AbstractDataflow<Fact,AnalysisType extends AbstractDataflowAnalysis<Fact>> Convenience class for defining Dataflow classes which use an AbstractDataflowAnalysis subtype.
AbstractDataflowAnalysis<Fact> Abstract base class providing functionality that will be useful for most dataflow analysis implementations.
AbstractDominatorsAnalysis A dataflow analysis to compute dominator relationships between basic blocks.
AbstractField  
AbstractFrameModelingVisitor<Value,FrameType extends Frame<Value>> A common base class for frame modeling visitors.
AbstractMethod  
AnalysisContext A context for analysis of a complete project.
AnnotationDatabase<AnnotationEnum extends AnnotationEnumeration>  
AnnotationEnumeration<E extends AnnotationEnumeration<E>>  
AssertionMethods Mark methodref constant pool entries of methods that are likely to implement assertions.
AssignedFieldMap  
BackwardDataflowAnalysis<Fact> Abstract base class for backward dataflow analyses.
BasicBlock Simple basic block abstraction for BCEL.
BetterCFGBuilder2 A CFGBuilder that really tries to construct accurate control flow graphs.
BlockType Dataflow value representing the current nesting of catch and finally blocks.
BlockTypeAnalysis Dataflow analysis to determine the nesting of catch and finally blocks within a method.
BytecodeScanner Scan the raw bytecodes of a method.
CFG Simple control flow graph abstraction for BCEL.
CFGBuilderFactory Factory object to create CFGBuilders for methods.
CFGPrinter Print out a representation of a control-flow graph.
CheckReturnAnnotationDatabase  
CheckReturnValueAnnotation  
ClassContext A ClassContext caches all of the auxiliary objects used to analyze the methods of a class.
ClassHash Compute a hash of method names and signatures.
ClassNotFoundExceptionParser Parse the detail message in a ClassNotFoundException to extract the name of the missing class.
CompoundMethodChooser  
Dataflow<Fact,AnalysisType extends DataflowAnalysis<Fact>> Perform dataflow analysis on a method using a control flow graph.
DataflowCFGPrinter<Fact,AnalysisType extends AbstractDataflowAnalysis<Fact>> CFGPrinter class which prints dataflow values at each basic block and instruction.
DataflowTestDriver<Fact,AnalysisType extends AbstractDataflowAnalysis<Fact>> A test driver for dataflow analysis classes.
DebugRepositoryLookupFailureCallback DebugRepositoryLookupFailureCallback implementation for debugging.
DepthFirstSearch Algorithm to perform a depth first search on a CFG.
DFSCFGPrinter  
DominatorsAnalysis Dataflow analysis to compute dominator sets for a CFG.
Edge An edge of a control flow graph.
ExceptionHandlerMap This class provides a convenient way of determining the exception handlers for instructions in a method.
FileSourceFileDataSource Data source for source files which are stored in the filesystem.
ForwardDataflowAnalysis<Fact> Abstract base class for forward dataflow analyses.
Frame<ValueType> Generic class for representing a Java stack frame as a dataflow value.
FrameDataflowAnalysis<ValueType,FrameType extends Frame<ValueType>> A convenient base class for dataflow analysis classes which use Frames as values.
Hierarchy Facade for class hierarchy queries.
InnerClassAccess  
InnerClassAccessMap Singleton class to determine which methods are accessors used by inner classes to access fields in their enclosing classes.
InstanceField  
InstanceMethod  
JavaClassAndMethod A JavaClass and a Method belonging to the class.
LineNumberMap Summarize line numbers (and other source information) for a method.
LiveLocalStoreAnalysis Dataflow analysis to find live stores of locals.
LiveLocalStoreDataflow Dataflow class for LiveLocalStoreAnalysis.
Location A class representing a location in the CFG for a method.
LockAnalysis Analysis to determine where particular values are locked in a method.
LockChecker Front-end for LockDataflow that can avoid doing unnecessary work (e.g., actually performing the lock dataflow) if the method analyzed does not contain explicit monitorenter/monitorexit instructions.
LockDataflow  
LockSet Lock counts for values (as produced by ValueNumberAnalysis).
MethodHash Compute a hash of the bytecode for given method.
NullnessAnnotation  
NullnessAnnotation.Parser  
NullnessAnnotationDatabase  
PostDominatorsAnalysis Dataflow analysis to compute postdominator sets for a CFG.
PruneInfeasibleExceptionEdges Prune a CFG to remove infeasible exception edges.
PruneInfeasibleExceptionEdges2 Remove obviously infeasible exception edgges, and mark all exception edges of a CFG to indicate if they can throw a checked exception, and if they throw "explicit" exceptions (thrown via ATHROW or from a called method which explicitly declares thrown exceptions)
PruneUnconditionalExceptionThrowerEdges  
RepositoryClassParser A special version of ClassParser that automatically enters parsed classes into the Repository.
ResourceValue  
ResourceValueAnalysis<Resource>  
ResourceValueAnalysisTestDriver<Resource,ResourceTrackerType extends ResourceTracker<Resource>>  
ResourceValueFrame  
ResourceValueFrameModelingVisitor  
ReturnPath  
ReturnPathAnalysis  
ReturnPathDataflow  
ReverseDepthFirstSearch Algorithm to perform a reverse depth first search on a CFG.
ReverseDFSOrder A BlockOrder for visiting the blocks of a CFG in the order they would be visited in a depth first search of the reversed CFG.
ReversePostfixOrder A BlockOrder for visiting the blocks of a CFG in the reverse of the order in which they are finished in a depth first search.
SignatureConverter Convert part or all of a Java type signature into something closer to what types look like in the source code.
SignatureParser A simple class to parse method signatures.
SimplePathEnumerator Object to enumerate (some subset of) the simple paths in a CFG.
SourceFile Cached data for a source file.
SourceFinder Class to open input streams on source files.
SourceInfoMap Global information about the source code for an application.
SourceInfoMap.SourceLineRange A range of source lines.
StackDepth Dataflow fact to represent the depth of the Java operand stack.
StackDepthAnalysis A really simple forward dataflow analysis to find the depth of the Java operand stack.
StaticField  
StaticMethod  
Target The target of a branch instruction.
TargetEnumeratingVisitor Visitor to find all of the targets of an instruction whose InstructionHandle is given.
URLClassPath A work-alike class to use instead of BCEL's ClassPath class.
URLClassPathRepository BCEL Repository implementation that uses an URLClassPath to find classes.
XFactory Factory methods for creating XMethod objects.
XMethodParameter  
ZipSourceFileDataSource A source file data source for source files residing in Zip or Jar archives.
 

Exception Summary
AnalysisException A kind of runtime exception that can be thrown to indicate a fatal error in an analysis.
CFGBuilderException  
DataflowAnalysisException Exception type to indicate a dataflow analysis failure.
InvalidBytecodeException An exception that may be thrown by frame modeling visitor classes to indicate that the method being analyzed contains invalid bytecode.
MethodUnprofitableException Used to signal a method not analyzed because it seemed unprofitable to do so
MissingClassException DataflowAnalysisException variant to report a class lookup failure that caused dataflow analysis to abort.
 

Package edu.umd.cs.findbugs.ba Description

A bytecode analysis framework for BCEL, providing CFG construction, generic dataflow analysis, and a variety of specific dataflow analyses.