14 #include "llvm/ADT/DenseMap.h" 19 using namespace clang;
21 typedef llvm::DenseMap<const Stmt*, CFGBlock*>
SMap;
33 SMap::iterator I = SM->find(X);
56 CFGBlock *&Entry = SM[CS->getStmt()];
ElementList::iterator iterator
Stmt - This represents one statement.
static void Accumulate(SMap &SM, CFGBlock *B)
CFGBlockListTy::iterator iterator
Represents a single basic block in a source-level CFG.
Represents a source-level, intra-procedural CFG that represents the control-flow of a Stmt...
CFGBlock * getBlock(Stmt *S)
Returns the CFGBlock the specified Stmt* appears in.
Stmt * getParentIgnoreParens(Stmt *) const
Optional< T > getAs() const
Convert to the specified CFGElement type, returning None if this CFGElement is not of the desired typ...
Dataflow Directional Tag Classes.
static CFGStmtMap * Build(CFG *C, ParentMap *PM)
Returns a new CFGMap for the given CFG.
Stmt * getTerminatorStmt()
static SMap * AsMap(void *m)
X
Add a minimal nested name specifier fixit hint to allow lookup of a tag name from an outer enclosing ...
Represents a top-level expression in a basic block.
llvm::DenseMap< const Stmt *, CFGBlock * > SMap