aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-11-15 20:54:24 +0000
committerTed Kremenek <kremenek@apple.com>2010-11-15 20:54:24 +0000
commitd6543f8bbac18cdb678a67da2a676c30c2941eca (patch)
treee716cd9c6e453c62bd74a21075c595d0eeafd98a
parent948163b4986dfb5060c0dbd2e5910431640e56d1 (diff)
Add method ParentMap::addStmt().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119181 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/AST/ParentMap.h5
-rw-r--r--lib/AST/ParentMap.cpp6
2 files changed, 11 insertions, 0 deletions
diff --git a/include/clang/AST/ParentMap.h b/include/clang/AST/ParentMap.h
index f826e1117b..600321268e 100644
--- a/include/clang/AST/ParentMap.h
+++ b/include/clang/AST/ParentMap.h
@@ -24,6 +24,11 @@ public:
ParentMap(Stmt* ASTRoot);
~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 *getParentIgnoreParens(Stmt *) const;
diff --git a/lib/AST/ParentMap.cpp b/lib/AST/ParentMap.cpp
index 5fe873acf7..21847f2821 100644
--- a/lib/AST/ParentMap.cpp
+++ b/lib/AST/ParentMap.cpp
@@ -40,6 +40,12 @@ ParentMap::~ParentMap() {
delete (MapTy*) Impl;
}
+void ParentMap::addStmt(Stmt* S) {
+ if (S) {
+ BuildParentMap(*(MapTy*) Impl, S);
+ }
+}
+
Stmt* ParentMap::getParent(Stmt* S) const {
MapTy* M = (MapTy*) Impl;
MapTy::iterator I = M->find(S);