diff options
Diffstat (limited to 'include/clang/AST/ParentMap.h')
-rw-r--r-- | include/clang/AST/ParentMap.h | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/include/clang/AST/ParentMap.h b/include/clang/AST/ParentMap.h deleted file mode 100644 index 8945c41..0000000 --- a/include/clang/AST/ParentMap.h +++ /dev/null @@ -1,67 +0,0 @@ -//===--- ParentMap.h - Mappings from Stmts to their Parents -----*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines the ParentMap class. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_AST_PARENTMAP_H -#define LLVM_CLANG_AST_PARENTMAP_H - -namespace clang { -class Stmt; -class Expr; - -class ParentMap { - void* Impl; -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); - - /// Manually sets the parent of \p S to \p Parent. - /// - /// If \p S is already in the map, this method will update the mapping. - void setParent(const Stmt *S, const Stmt *Parent); - - Stmt *getParent(Stmt*) const; - Stmt *getParentIgnoreParens(Stmt *) const; - Stmt *getParentIgnoreParenCasts(Stmt *) const; - Stmt *getParentIgnoreParenImpCasts(Stmt *) const; - Stmt *getOuterParenParent(Stmt *) const; - - const Stmt *getParent(const Stmt* S) const { - return getParent(const_cast<Stmt*>(S)); - } - - const Stmt *getParentIgnoreParens(const Stmt *S) const { - 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) != nullptr; - } - - bool isConsumedExpr(Expr *E) const; - - bool isConsumedExpr(const Expr *E) const { - return isConsumedExpr(const_cast<Expr*>(E)); - } -}; - -} // end clang namespace -#endif |