| edu.umd.cs.findbugs.ba.deref.UnconditionalValueDerefAnalysis
UnconditionalValueDerefAnalysis | public class UnconditionalValueDerefAnalysis extends BackwardDataflowAnalysis (Code) | | Dataflow analysis to find values unconditionally dereferenced in the future.
author: David Hovemeyer |
Method Summary | |
public void | clearDerefsOnNonNullBranches(IsNullValueDataflow invDataflow) HACK: use the given is-null dataflow to clear deref sets for
values that are known to be definitely non-null on a branch. | public void | copy(UnconditionalValueDerefSet source, UnconditionalValueDerefSet dest) | public UnconditionalValueDerefSet | createFact() | public int | getLastUpdateTimestamp(UnconditionalValueDerefSet fact) | public void | initEntryFact(UnconditionalValueDerefSet result) | public boolean | isFactValid(UnconditionalValueDerefSet fact) | public boolean | isTop(UnconditionalValueDerefSet fact) | public static void | main(String[] args) | public void | makeFactTop(UnconditionalValueDerefSet fact) | public void | meetInto(UnconditionalValueDerefSet fact, Edge edge, UnconditionalValueDerefSet result) | public void | meetInto(UnconditionalValueDerefSet fact, Edge edge, UnconditionalValueDerefSet result, boolean onlyEdge) | public boolean | same(UnconditionalValueDerefSet fact1, UnconditionalValueDerefSet fact2) | public void | setLastUpdateTimestamp(UnconditionalValueDerefSet fact, int lastUpdate) | public void | setTypeDataflow(TypeDataflow typeDataflow) | public void | startIteration() | public void | transferInstruction(InstructionHandle handle, BasicBlock basicBlock, UnconditionalValueDerefSet fact) |
ASSUME_NONZERO_TRIP_LOOPS | final public static boolean ASSUME_NONZERO_TRIP_LOOPS(Code) | | |
CHECK_ANNOTATIONS | final public static boolean CHECK_ANNOTATIONS(Code) | | |
CHECK_CALLS | final public static boolean CHECK_CALLS(Code) | | |
DEBUG | final public static boolean DEBUG(Code) | | |
DEBUG_CHECK_CALLS | final public static boolean DEBUG_CHECK_CALLS(Code) | | |
IGNORE_DEREF_OF_NCP | final public static boolean IGNORE_DEREF_OF_NCP(Code) | | |
VERBOSE_NULLARG_DEBUG | final public static boolean VERBOSE_NULLARG_DEBUG(Code) | | |
UnconditionalValueDerefAnalysis | public UnconditionalValueDerefAnalysis(ReverseDepthFirstSearch rdfs, DepthFirstSearch dfs, CFG cfg, Method method, MethodGen methodGen, ValueNumberDataflow vnaDataflow, AssertionMethods assertionMethods)(Code) | | Constructor.
Parameters: rdfs - the reverse depth-first-search (for the block order) Parameters: dfs - TODO Parameters: cfg - the CFG for the method Parameters: method - TODO Parameters: methodGen - the MethodGen for the method Parameters: vnaDataflow - Parameters: assertionMethods - AssertionMethods for the analyzed class |
clearDerefsOnNonNullBranches | public void clearDerefsOnNonNullBranches(IsNullValueDataflow invDataflow)(Code) | | HACK: use the given is-null dataflow to clear deref sets for
values that are known to be definitely non-null on a branch.
Parameters: invDataflow - the IsNullValueDataflow to use |
startIteration | public void startIteration()(Code) | | |
|
|