From: Argyrios Kyrtzidis Date: Wed, 19 Nov 2008 17:36:39 +0000 (+0000) Subject: Make the non-const DeclContext::getParent call the const version, instead of the... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=20bc6762282d192bd19be03094d4f311710e020c;p=clang Make the non-const DeclContext::getParent call the const version, instead of the other way around. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59646 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/DeclBase.h b/include/clang/AST/DeclBase.h index ba948078a6..bfc7607b74 100644 --- a/include/clang/AST/DeclBase.h +++ b/include/clang/AST/DeclBase.h @@ -294,9 +294,10 @@ protected: public: /// getParent - Returns the containing DeclContext if this is a ScopedDecl, /// else returns NULL. - DeclContext *getParent(); - const DeclContext *getParent() const { - return const_cast(this)->getParent(); + const DeclContext *getParent() const; + DeclContext *getParent() { + return const_cast( + const_cast(this)->getParent()); } bool isFunctionOrMethod() const { diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp index 7e51ef5010..88d9a20855 100644 --- a/lib/AST/DeclBase.cpp +++ b/lib/AST/DeclBase.cpp @@ -353,10 +353,10 @@ DeclContext *Decl::castToDeclContext(const Decl *D) { // DeclContext Implementation //===----------------------------------------------------------------------===// -DeclContext *DeclContext::getParent() { - if (ScopedDecl *SD = dyn_cast(this)) +const DeclContext *DeclContext::getParent() const { + if (const ScopedDecl *SD = dyn_cast(this)) return SD->getDeclContext(); - else if (BlockDecl *BD = dyn_cast(this)) + else if (const BlockDecl *BD = dyn_cast(this)) return BD->getParentContext(); else return NULL;