mirror of https://github.com/microsoft/clang.git
Add method ParentMap::addStmt().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119181 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
948163b498
commit
d6543f8bba
|
@ -24,6 +24,11 @@ public:
|
||||||
ParentMap(Stmt* ASTRoot);
|
ParentMap(Stmt* ASTRoot);
|
||||||
~ParentMap();
|
~ParentMap();
|
||||||
|
|
||||||
|
/// \brief Adds and/or updates the parent/child-relations of the complete
|
||||||
|
/// stmt tree of S. All children of S including indirect descendants are
|
||||||
|
/// visited and updated or inserted but not the parents of S.
|
||||||
|
void addStmt(Stmt* S);
|
||||||
|
|
||||||
Stmt *getParent(Stmt*) const;
|
Stmt *getParent(Stmt*) const;
|
||||||
Stmt *getParentIgnoreParens(Stmt *) const;
|
Stmt *getParentIgnoreParens(Stmt *) const;
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,12 @@ ParentMap::~ParentMap() {
|
||||||
delete (MapTy*) Impl;
|
delete (MapTy*) Impl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ParentMap::addStmt(Stmt* S) {
|
||||||
|
if (S) {
|
||||||
|
BuildParentMap(*(MapTy*) Impl, S);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Stmt* ParentMap::getParent(Stmt* S) const {
|
Stmt* ParentMap::getParent(Stmt* S) const {
|
||||||
MapTy* M = (MapTy*) Impl;
|
MapTy* M = (MapTy*) Impl;
|
||||||
MapTy::iterator I = M->find(S);
|
MapTy::iterator I = M->find(S);
|
||||||
|
|
Loading…
Reference in New Issue