diff options
Diffstat (limited to 'include/clang/AST/ParentMap.h')
-rw-r--r-- | include/clang/AST/ParentMap.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/clang/AST/ParentMap.h b/include/clang/AST/ParentMap.h index f826e11..9ea5a09 100644 --- a/include/clang/AST/ParentMap.h +++ b/include/clang/AST/ParentMap.h @@ -24,8 +24,14 @@ 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; + Stmt *getParentIgnoreParenCasts(Stmt *) const; const Stmt *getParent(const Stmt* S) const { return getParent(const_cast<Stmt*>(S)); @@ -35,6 +41,10 @@ public: return getParentIgnoreParens(const_cast<Stmt*>(S)); } + const Stmt *getParentIgnoreParenCasts(const Stmt *S) const { + return getParentIgnoreParenCasts(const_cast<Stmt*>(S)); + } + bool hasParent(Stmt* S) const { return getParent(S) != 0; } |