public class CallListAnalysis extends AbstractDataflowAnalysis<CallList>
Constructor and Description |
---|
CallListAnalysis(CFG cfg,
DepthFirstSearch dfs,
org.apache.bcel.generic.ConstantPoolGen cpg) |
Modifier and Type | Method and Description |
---|---|
void |
copy(CallList source,
CallList dest)
Copy dataflow facts.
|
CallList |
createFact()
Create empty (uninitialized) dataflow facts for one program point.
|
BlockOrder |
getBlockOrder(CFG cfg)
Return the BlockOrder specifying the order in which BasicBlocks should be
visited in the main dataflow loop.
|
void |
initEntryFact(CallList fact)
Initialize the "entry" fact for the graph.
|
boolean |
isFactValid(CallList fact)
Determine whether the given fact is valid (neither top nor
bottom).
|
boolean |
isForwards()
Returns true if the analysis is forwards, false if backwards.
|
boolean |
isTop(CallList fact)
Is the given fact the top value.
|
void |
makeFactTop(CallList fact)
Make given fact the top value.
|
void |
meetInto(CallList start,
Edge edge,
CallList result)
Meet a dataflow fact associated with an incoming edge into another fact.
|
boolean |
same(CallList a,
CallList b)
Are given dataflow facts the same?
|
void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
CallList fact)
Transfer function for a single instruction.
|
getFactAfterLocation, getFactAtLocation, transfer
edgeTransfer, factToString, finishIteration, getFactOnEdge, getLastUpdateTimestamp, getResultFact, getStartFact, resultFactIterator, setLastUpdateTimestamp, startIteration
public CallListAnalysis(CFG cfg, DepthFirstSearch dfs, org.apache.bcel.generic.ConstantPoolGen cpg)
public void initEntryFact(CallList fact)
DataflowAnalysis
public boolean isForwards()
DataflowAnalysis
public BlockOrder getBlockOrder(CFG cfg)
DataflowAnalysis
cfg
- the CFG upon which we're performing dataflow analysispublic void makeFactTop(CallList fact)
DataflowAnalysis
public boolean isTop(CallList fact)
DataflowAnalysis
public CallList createFact()
DataflowAnalysis
public boolean same(CallList a, CallList b)
DataflowAnalysis
public void meetInto(CallList start, Edge edge, CallList result) throws DataflowAnalysisException
DataflowAnalysis
start
- the predecessor fact (incoming edge)edge
- the edge from the predecessorresult
- the result factDataflowAnalysisException
public void copy(CallList source, CallList dest)
DataflowAnalysis
public void transferInstruction(org.apache.bcel.generic.InstructionHandle handle, BasicBlock basicBlock, CallList fact) throws DataflowAnalysisException
AbstractDataflowAnalysis
transferInstruction
in class AbstractDataflowAnalysis<CallList>
handle
- the instructionbasicBlock
- the BasicBlock containing the instruction; needed to
disambiguate instructions in inlined JSR subroutinesfact
- which should be modified based on the instructionDataflowAnalysisException
public boolean isFactValid(CallList fact)
AbstractDataflowAnalysis
isFactValid
in class AbstractDataflowAnalysis<CallList>
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.