Package | Description |
---|---|
edu.umd.cs.findbugs |
Main package for the FindBugs application - contains the
engine class (FindBugs), the object model classes for bug instances
(BugInstance, BugAnnotation), and other miscellany.
|
edu.umd.cs.findbugs.ba |
A bytecode analysis framework for BCEL, providing CFG construction,
generic dataflow analysis, and a variety of specific dataflow analyses.
|
edu.umd.cs.findbugs.ba.bcp | |
edu.umd.cs.findbugs.ba.ca | |
edu.umd.cs.findbugs.ba.constant | |
edu.umd.cs.findbugs.ba.deref | |
edu.umd.cs.findbugs.ba.heap | |
edu.umd.cs.findbugs.ba.jsr305 |
Support for analyzing code containing JSR-305 type qualifier annotations.
|
edu.umd.cs.findbugs.ba.npe | |
edu.umd.cs.findbugs.ba.obl |
Implementation of dataflow analysis for checking whether
obligations to close streams and other resources (e.g.
|
edu.umd.cs.findbugs.ba.type | |
edu.umd.cs.findbugs.ba.vna | |
edu.umd.cs.findbugs.detect |
Modifier and Type | Method and Description |
---|---|
BasicBlock |
CallSite.getBasicBlock()
Get the basic block where the call site is located.
|
Constructor and Description |
---|
CallSite(org.apache.bcel.classfile.Method method,
BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
BasicBlock |
CFG.allocate()
Allocate a new BasicBlock.
|
BasicBlock |
Location.getBasicBlock()
Get the basic block.
|
BasicBlock |
CFG.getEntry()
Get the entry node.
|
BasicBlock |
CFG.getExit()
Get the exit node.
|
protected BasicBlock |
ReverseDepthFirstSearch.getNextSearchTreeRoot() |
protected BasicBlock |
DepthFirstSearch.getNextSearchTreeRoot() |
BasicBlock |
CFG.getPredecessorWithEdgeType(BasicBlock target,
int edgeType)
Get the first predecessor reachable from given edge type.
|
BasicBlock |
CFG.getSuccessorWithEdgeType(BasicBlock source,
int edgeType)
Get the first successor reachable from given edge type.
|
BasicBlock |
CFG.lookupBlockByLabel(int blockLabel)
Look up a BasicBlock by its unique label.
|
Modifier and Type | Method and Description |
---|---|
java.util.Iterator<BasicBlock> |
CFG.blockIterator()
Get an Iterator over the nodes (BasicBlocks) of the control flow graph.
|
java.util.Iterator<BasicBlock> |
BlockOrder.blockIterator()
Return an Iterator which visits the basic blocks in order.
|
java.util.Iterator<BasicBlock> |
AbstractBlockOrder.blockIterator() |
java.lang.Iterable<BasicBlock> |
CFG.blocks() |
java.util.Collection<BasicBlock> |
CFG.getBlocks(java.util.BitSet labelSet)
Get Collection of basic blocks whose IDs are specified by given BitSet.
|
java.util.Collection<BasicBlock> |
CFG.getBlocksContainingInstructionWithOffset(int offset)
Get a Collection of basic blocks which contain the bytecode instruction
with given offset.
|
Modifier and Type | Method and Description |
---|---|
void |
Path.acceptVisitorStartingFromLocation(CFG cfg,
PathVisitor visitor,
BasicBlock startBlock,
org.apache.bcel.generic.InstructionHandle startHandle)
Accept a PathVisitor, starting from a given BasicBlock and
InstructionHandle.
|
protected Edge |
CFG.allocateEdge(BasicBlock source,
BasicBlock target) |
java.lang.String |
DataflowCFGPrinter.blockAnnotate(BasicBlock bb) |
java.lang.String |
CFGPrinter.blockAnnotate(BasicBlock block) |
java.lang.String |
DataflowCFGPrinter.blockStartAnnotate(BasicBlock bb) |
java.lang.String |
CFGPrinter.blockStartAnnotate(BasicBlock block) |
int |
BlockOrder.compare(BasicBlock b1,
BasicBlock b2)
Return relative order of blocks.
|
int |
AbstractBlockOrder.compare(BasicBlock b1,
BasicBlock b2) |
Edge |
CFG.createEdge(BasicBlock source,
BasicBlock dest,
int type)
Add a unique edge to the graph.
|
java.util.BitSet |
AbstractDominatorsAnalysis.getAllDominatedBy(BasicBlock dominator)
Get a bitset containing the unique IDs of all blocks in CFG dominated (or
postdominated, depending on how the analysis was done) by given block.
|
java.util.BitSet |
AbstractDominatorsAnalysis.getAllDominatorsOf(BasicBlock block)
Get a bitset containing the unique IDs of all blocks which dominate (or
postdominate) the given block.
|
static Location |
Location.getFirstLocation(BasicBlock basicBlock) |
Edge |
CFG.getIncomingEdgeWithType(BasicBlock basicBlock,
int edgeType)
Get the first incoming edge in basic block with given type.
|
static Location |
Location.getLastLocation(BasicBlock basicBlock) |
int |
CFG.getNumNonExceptionSucessors(BasicBlock block)
Get number of non-exception control successors of given basic block.
|
Edge |
CFG.getOutgoingEdgeWithType(BasicBlock basicBlock,
int edgeType)
Get the first outgoing edge in basic block with given type.
|
BasicBlock |
CFG.getPredecessorWithEdgeType(BasicBlock target,
int edgeType)
Get the first predecessor reachable from given edge type.
|
Fact |
DataflowAnalysis.getResultFact(BasicBlock block)
Get the result fact for given basic block.
|
Fact |
Dataflow.getResultFact(BasicBlock block)
Get dataflow facts for end of given block.
|
Fact |
BasicAbstractDataflowAnalysis.getResultFact(BasicBlock block) |
Fact |
DataflowAnalysis.getStartFact(BasicBlock block)
Get the start fact for given basic block.
|
Fact |
Dataflow.getStartFact(BasicBlock block)
Get dataflow facts for start of given block.
|
Fact |
BasicAbstractDataflowAnalysis.getStartFact(BasicBlock block) |
BasicBlock |
CFG.getSuccessorWithEdgeType(BasicBlock source,
int edgeType)
Get the first successor reachable from given edge type.
|
java.lang.String |
DataflowCFGPrinter.instructionAnnotate(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock bb) |
java.lang.String |
CFGPrinter.instructionAnnotate(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock bb) |
protected java.util.Iterator<org.apache.bcel.generic.InstructionHandle> |
CFGPrinter.instructionIterator(BasicBlock bb) |
boolean |
ResourceTracker.isResourceClose(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
Resource resource,
ResourceValueFrame frame)
Determine if the given instruction is the site where a resource is
closed.
|
Resource |
ResourceTracker.isResourceCreation(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg)
Determine if the given instruction is the site where a resource is
created.
|
boolean |
ResourceTracker.mightCloseResource(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg)
Determine if the given instruction is the site where a resource is
closed.
|
void |
AbstractDominatorsAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
java.util.BitSet start,
java.util.BitSet result) |
void |
BlockTypeAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
BlockType start,
BlockType result) |
void |
DataflowAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
Fact start,
Fact result)
Transfer function for the analysis.
|
void |
AbstractDataflowAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
Fact start,
Fact result) |
abstract void |
ResourceValueFrameModelingVisitor.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock)
Subclasses must override this to model the effect of the given
instruction on the current frame.
|
void |
LiveLocalStoreAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
java.util.BitSet fact) |
abstract void |
AbstractDataflowAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
Fact fact)
Transfer function for a single instruction.
|
void |
LockAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
LockSet fact) |
void |
ResourceValueAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ResourceValueFrame fact) |
void |
ReturnPathAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ReturnPath fact) |
void |
StackDepthAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
StackDepth fact) |
void |
PathVisitor.visitBasicBlock(BasicBlock basicBlock)
Start to visit the given BasicBlock.
|
Constructor and Description |
---|
Edge(BasicBlock source,
BasicBlock dest)
Constructor.
|
Location(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock)
Constructor.
|
Constructor and Description |
---|
AbstractBlockOrder(CFG cfg,
java.util.Comparator<BasicBlock> comparator) |
Modifier and Type | Method and Description |
---|---|
BasicBlock |
PatternElementMatch.getBasicBlock()
Get the basic block containing the matched instruction.
|
Constructor and Description |
---|
PatternElementMatch(PatternElement patternElement,
org.apache.bcel.generic.InstructionHandle matchedInstruction,
BasicBlock basicBlock,
int matchCount,
PatternElementMatch prev)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
CallListAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
CallList fact) |
Modifier and Type | Method and Description |
---|---|
void |
ConstantAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ConstantFrame frame) |
Modifier and Type | Method and Description |
---|---|
void |
UnconditionalValueDerefAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
UnconditionalValueDerefSet fact) |
Modifier and Type | Method and Description |
---|---|
void |
FieldSetAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
FieldSet fact) |
Modifier and Type | Method and Description |
---|---|
void |
TypeQualifierDataflowAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
TypeQualifierValueSet fact) |
void |
BackwardTypeQualifierDataflowAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
TypeQualifierValueSet fact) |
Modifier and Type | Method and Description |
---|---|
void |
IsNullValueAnalysis.endTransfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
IsNullValueFrame result) |
void |
IsNullValueAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
IsNullValueFrame start,
IsNullValueFrame result) |
void |
ReturnPathTypeAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
ReturnPathType start,
ReturnPathType result) |
void |
IsNullValueAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
IsNullValueFrame fact) |
Modifier and Type | Method and Description |
---|---|
boolean |
InstructionActionCache.addsObligation(BasicBlock block,
org.apache.bcel.generic.InstructionHandle handle,
Obligation obligation) |
boolean |
InstructionActionCache.deletesObligation(BasicBlock block,
org.apache.bcel.generic.InstructionHandle handle,
Obligation obligation) |
java.util.Collection<ObligationPolicyDatabaseAction> |
InstructionActionCache.getActions(BasicBlock block,
org.apache.bcel.generic.InstructionHandle handle) |
void |
ObligationAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
StateSet start,
StateSet result) |
void |
ObligationAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
StateSet fact) |
Modifier and Type | Method and Description |
---|---|
void |
TypeAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
TypeFrame start,
TypeFrame result) |
void |
TypeAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
TypeFrame fact) |
Modifier and Type | Method and Description |
---|---|
void |
ValueNumberAnalysis.transfer(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle end,
ValueNumberFrame start,
ValueNumberFrame result) |
void |
ValueNumberAnalysis.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ValueNumberFrame fact) |
Modifier and Type | Method and Description |
---|---|
boolean |
StreamResourceTracker.isResourceClose(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
Stream resource,
ResourceValueFrame frame) |
Stream |
StreamResourceTracker.isResourceCreation(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg) |
boolean |
StreamResourceTracker.isResourceOpen(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
Stream resource,
ResourceValueFrame frame) |
boolean |
Stream.isStreamClose(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ResourceValueFrame frame,
RepositoryLookupFailureCallback lookupFailureCallback) |
boolean |
Stream.isStreamOpen(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg,
ResourceValueFrame frame) |
static boolean |
NoiseNullDeref.isThrower(BasicBlock target) |
static boolean |
FindNullDeref.isThrower(BasicBlock target) |
boolean |
StreamResourceTracker.mightCloseResource(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg) |
static boolean |
Stream.mightCloseStream(BasicBlock basicBlock,
org.apache.bcel.generic.InstructionHandle handle,
org.apache.bcel.generic.ConstantPoolGen cpg) |
void |
StreamFrameModelingVisitor.transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock) |
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.