@ParametersAreNonnullByDefault @AnalysisContextContained
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.
-
Interface Summary Interface Description AccessibleEntity Common superinterface for code entities having access flags: classes, fields, and methods.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).ComparableField ComparableMethod DataflowAnalysis<Fact> A dataflow analysis to be used with theDataflow
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.INullnessAnnotationDatabase Interface for querying nullness annotations on methods, fields, and parameters.JavaClassAndMethodChooser Deprecated. MethodChooser Interface for choosing methods.PathVisitor Visit the BasicBlocks, InstructionHandles, and Edges along a Path.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.XClass Interface for object representing information about a class.XField Abstract representation of a field.XMethod An XMethod represents symbolic information about a particular method. -
Class Summary Class Description AbstractBlockOrder Abstract base class for BlockOrder variants.AbstractClassMember AbstractDataflow<Fact,AnalysisType extends BasicAbstractDataflowAnalysis<Fact>> Convenience class for defining Dataflow classes which use a BasicAbstractDataflowAnalysis subtype.AbstractDataflowAnalysis<Fact> Abstract base class providing functionality that will be useful for most dataflow analysis implementations that model instructions within basic blocks.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.AnalysisFeatures.Builder AnnotationDatabase<AnnotationEnum extends AnnotationEnumeration<AnnotationEnum>> Database to keep track of annotated fields/methods/classes/etc.AnnotationEnumeration<E extends AnnotationEnumeration<E>> AnnotationRetentionDatabase AssertionMethods Mark methodref constant pool entries of methods that are likely to implement assertions.AssignedFieldMap BackwardDataflowAnalysis<Fact> Abstract base class for backward dataflow analyses.BasicAbstractDataflowAnalysis<Fact> A useful starting point for defining a dataflow analysis.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.BlockTypeDataflow 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.ClassSummary CompactLocationNumbering Compute a compact numbering of Locations in a CFG.CompoundMethodChooser Deprecated. Dataflow<Fact,AnalysisType extends DataflowAnalysis<Fact>> Perform dataflow analysis on a method using a control flow graph.DataflowCFGPrinter<Fact,AnalysisType extends DataflowAnalysis<Fact>> CFGPrinter class which prints dataflow values at each basic block and instruction.DebugRepositoryLookupFailureCallback DebugRepositoryLookupFailureCallback implementation for debugging.DefaultNullnessAnnotations 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.EqualsKindSummary ExceptionHandlerMap This class provides a convenient way of determining the exception handlers for instructions in a method.FieldSummary Interprocedural analysis summaryFileSourceFileDataSource 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.Hierarchy2 Facade for class hierarchy queries.IncompatibleTypes InnerClassAccess InnerClassAccessMap Determine which methods are accessors used by inner classes to access fields in their enclosing classes.InstructionHandleMap<ValueType> Map BCEL InstructionHandles to some kind of value type.JavaClassAndMethod A JavaClass and a Method belonging to the class.JCIPAnnotationDatabase 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 Dataflow class for LockAnalysis.LockSet Lock counts for values (as produced by ValueNumberAnalysis).MethodBytecodeSet Class representing the set of opcodes used in a method.MethodHash Compute a hash of the bytecode for given method.NullnessAnnotation NullnessAnnotation.Parser NullnessAnnotationDatabase Deprecated. ObjectTypeFactory OpcodeStackScanner Path A Path is a sequence of basic blocks.PostDominatorsAnalysis Dataflow analysis to compute postdominator sets for a CFG.PruneInfeasibleExceptionEdges Prune a CFG to remove infeasible exception edges.PruneUnconditionalExceptionThrowerEdges PutfieldScanner RepositoryClassParser A special version of ClassParser that automatically enters parsed classes into the Repository.ResourceValue ResourceValueAnalysis<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.ReversePostOrder 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.Target The target of a branch instruction.TargetEnumeratingVisitor Visitor to find all of the targets of an instruction whose InstructionHandle is given.TestCaseDetector UnresolvedXField 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. -
Enum Summary Enum Description AnnotationDatabase.Target EqualsKindSummary.KindOfEquals -
Exception Summary Exception Description 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 soMissingClassException DataflowAnalysisException variant to report a class lookup failure that caused dataflow analysis to abort.OpcodeStackScanner.UnreachableCodeException -
Annotation Types Summary Annotation Type Description AnalysisFeatures.AnalysisFeature Edge.Type