clang API Documentation
Implements a set of CFGBlocks using a BitVector. More...
#include <PostOrderCFGView.h>
Classes | |
struct | iterator |
Public Member Functions | |
CFGBlockSet () | |
CFGBlockSet (const CFG *G) | |
bool | insert (const CFGBlock *Block) |
Set the bit associated with a particular CFGBlock. This is the important method for the SetType template parameter. | |
bool | alreadySet (const CFGBlock *Block) |
Check if the bit for a CFGBlock has been already set. This method is for tracking visited blocks in the main threadsafety loop. Block must not be null. |
Implements a set of CFGBlocks using a BitVector.
This class contains a minimal interface, primarily dictated by the SetType template parameter of the llvm::po_iterator template, as used with external storage. We also use this set to keep track of which CFGBlocks we visit during the analysis.
Definition at line 38 of file PostOrderCFGView.h.
clang::PostOrderCFGView::CFGBlockSet::CFGBlockSet | ( | ) | [inline] |
Definition at line 45 of file PostOrderCFGView.h.
clang::PostOrderCFGView::CFGBlockSet::CFGBlockSet | ( | const CFG * | G | ) | [inline] |
Definition at line 46 of file PostOrderCFGView.h.
bool clang::PostOrderCFGView::CFGBlockSet::alreadySet | ( | const CFGBlock * | Block | ) | [inline] |
Check if the bit for a CFGBlock has been already set. This method is for tracking visited blocks in the main threadsafety loop. Block must not be null.
Definition at line 66 of file PostOrderCFGView.h.
References clang::CFGBlock::getBlockID().
Referenced by clang::threadSafety::ThreadSafetyAnalyzer::runAnalysis(), clang::threadSafety::LocalVariableMap::traverseCFG(), and clang::threadSafety::CFGWalker::walk().
bool clang::PostOrderCFGView::CFGBlockSet::insert | ( | const CFGBlock * | Block | ) | [inline] |
Set the bit associated with a particular CFGBlock. This is the important method for the SetType template parameter.
Definition at line 50 of file PostOrderCFGView.h.
References clang::CFGBlock::getBlockID().
Referenced by clang::threadSafety::ThreadSafetyAnalyzer::runAnalysis(), clang::threadSafety::LocalVariableMap::traverseCFG(), and clang::threadSafety::CFGWalker::walk().