edu.umd.cs.findbugs.ba.vna
public class ValueNumberAnalysis extends FrameDataflowAnalysis<ValueNumber,ValueNumberFrame>
ValueNumber
class for an explanation
of what the value numbers mean, and when they can be compared.
This class is still experimental.
See Also: ValueNumber DominatorsAnalysis
Field Summary | |
---|---|
static boolean | DEBUG |
Constructor Summary | |
---|---|
ValueNumberAnalysis(MethodGen methodGen, DepthFirstSearch dfs, LoadedFieldSet loadedFieldSet, RepositoryLookupFailureCallback lookupFailureCallback) |
Method Summary | |
---|---|
void | compactValueNumbers(Dataflow<ValueNumberFrame,ValueNumberAnalysis> dataflow)
Compact the value numbers assigned.
|
ValueNumberFrame | createFact() |
Iterator<ValueNumberFrame> | factIterator()
Get an Iterator over all dataflow facts that we've recorded for
the Locations in the CFG. |
ValueNumber | getClassObjectValue(String className) |
ValueNumber | getEntryValue(int local) |
ValueNumberFactory | getFactory() |
MergeTree | getMergeTree() |
int | getNumValuesAllocated() |
ValueNumber | getThisValue() |
void | initEntryFact(ValueNumberFrame result) |
boolean | isThisValue(ValueNumber value) |
static void | main(String[] argv)
Test driver. |
void | meetInto(ValueNumberFrame fact, Edge edge, ValueNumberFrame result) |
void | setMergeTree(MergeTree mergeTree) |
This method should be called at most once.
Parameters: dataflow the Dataflow object which executed this analysis (and has all of the block result values)