diff options
Diffstat (limited to 'lib/AST/Decl.cpp')
-rw-r--r-- | lib/AST/Decl.cpp | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index fe9885ef26..5ef0c09093 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -358,12 +358,16 @@ const Expr *VarDecl::getDefinition(const VarDecl *&Def) const { return Def? Def->getInit() : 0; } -Decl *VarDecl::getPrimaryDecl() const { - const VarDecl *Prim = this; - while (Prim->getPreviousDeclaration()) - Prim = Prim->getPreviousDeclaration(); +const VarDecl *VarDecl::getFirstDeclaration() const { + const VarDecl *First = this; + while (First->getPreviousDeclaration()) + First = First->getPreviousDeclaration(); + + return First; +} - return const_cast<VarDecl *>(Prim); +Decl *VarDecl::getPrimaryDecl() const { + return const_cast<VarDecl *>(getFirstDeclaration()); } //===----------------------------------------------------------------------===// @@ -577,12 +581,16 @@ FunctionDecl::setPreviousDeclaration(FunctionDecl *PrevDecl) { } } -Decl *FunctionDecl::getPrimaryDecl() const { - const FunctionDecl *Prim = this; - while (Prim->getPreviousDeclaration()) - Prim = Prim->getPreviousDeclaration(); +const FunctionDecl *FunctionDecl::getFirstDeclaration() const { + const FunctionDecl *First = this; + while (First->getPreviousDeclaration()) + First = First->getPreviousDeclaration(); + + return First; +} - return const_cast<FunctionDecl *>(Prim); +Decl *FunctionDecl::getPrimaryDecl() const { + return const_cast<FunctionDecl *>(getFirstDeclaration()); } /// getOverloadedOperator - Which C++ overloaded operator this |