15 #ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_WORKLIST_H 16 #define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_WORKLIST_H 65 virtual bool hasWork()
const = 0;
83 static std::unique_ptr<WorkList> makeDFS();
84 static std::unique_ptr<WorkList> makeBFS();
85 static std::unique_ptr<WorkList> makeBFSBlockDFSContents();
86 static std::unique_ptr<WorkList> makeUnexploredFirst();
87 static std::unique_ptr<WorkList> makeUnexploredFirstPriorityQueue();
88 static std::unique_ptr<WorkList> makeUnexploredFirstPriorityLocationQueue();
void enqueue(ExplodedNode *N, const CFGBlock *B, unsigned idx)
An abstract data type used to count the number of times a given block has been visited along a path a...
void setBlockCounter(BlockCounter C)
BlockCounter getBlockCounter() const
Returns the block counter map associated with the worklist unit.
Represents a single basic block in a source-level CFG.
unsigned getIndex() const
Return the index within the CFGBlock for the worklist unit.
WorkListUnit(ExplodedNode *N, BlockCounter C, const CFGBlock *B, unsigned idx)
ExplodedNode * getNode() const
Returns the node associated with the worklist unit.
ProgramPoint getLocation() const
getLocation - Returns the edge associated with the given node.
Dataflow Directional Tag Classes.
const CFGBlock * getBlock() const
Returns the CFGblock associated with the worklist unit.
WorkListUnit(ExplodedNode *N, BlockCounter C)
BlockCounter getBlockCounter() const
void enqueue(ExplodedNode *N)