class PostOrderCFGView::CFGBlockSet
Declaration
class PostOrderCFGView::CFGBlockSet { /* full declaration omitted */ };
Description
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.
Declared at: clang/include/clang/Analysis/Analyses/PostOrderCFGView.h:38
Member Variables
- private llvm::BitVector VisitedBlockIDs
Method Overview
- public CFGBlockSet()
- public CFGBlockSet(const clang::CFG * G)
- public bool alreadySet(const clang::CFGBlock * Block)
- public std::pair<llvm::NoneType, bool> insert(const clang::CFGBlock * Block)
Methods
¶CFGBlockSet()
CFGBlockSet()
Declared at: clang/include/clang/Analysis/Analyses/PostOrderCFGView.h:46
¶CFGBlockSet(const clang::CFG* G)
CFGBlockSet(const clang::CFG* G)
Declared at: clang/include/clang/Analysis/Analyses/PostOrderCFGView.h:47
Parameters
- const clang::CFG* G
¶bool alreadySet(const clang::CFGBlock* Block)
bool alreadySet(const clang::CFGBlock* Block)
Description
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.
Declared at: clang/include/clang/Analysis/Analyses/PostOrderCFGView.h:67
Parameters
- const clang::CFGBlock* Block
¶std::pair<llvm::NoneType, bool> insert(
const clang::CFGBlock* Block)
std::pair<llvm::NoneType, bool> insert(
const clang::CFGBlock* Block)
Description
Set the bit associated with a particular CFGBlock. This is the important method for the SetType template parameter.
Declared at: clang/include/clang/Analysis/Analyses/PostOrderCFGView.h:51
Parameters
- const clang::CFGBlock* Block