From 6b7d8c294429c25e225b87769e4381659dc3bbb0 Mon Sep 17 00:00:00 2001 From: Kirill Bobyrev Date: Mon, 15 Aug 2016 23:20:05 +0000 Subject: [clang-rename] cleanup `auto` usages As Alexander pointed out, LLVM Coding Standards are more conservative about using auto, i.e. it should be used in the following situations: * When the type is obvious, i.e. explicitly mentioned in the same expression. For example `if (const clang::FieldDecl *FieldDecl = Initializer->getMember())`. * When the type is totally non-obvious and one iterates over something. For example `for (const auto &CurrDecl : Context.getTranslationUnitDecl()->decls())`. Otherwise the type should be explicitly stated. Reviewers: alexfh Differential Revision: https://reviews.llvm.org/D23397 llvm-svn: 278760 --- clang-tools-extra/clang-rename/USRFinder.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'clang-tools-extra/clang-rename/USRFinder.cpp') diff --git a/clang-tools-extra/clang-rename/USRFinder.cpp b/clang-tools-extra/clang-rename/USRFinder.cpp index 1ad7e9ee9b1..a554250ef0d 100644 --- a/clang-tools-extra/clang-rename/USRFinder.cpp +++ b/clang-tools-extra/clang-rename/USRFinder.cpp @@ -60,13 +60,13 @@ public: // Expression visitors: bool VisitDeclRefExpr(const DeclRefExpr *Expr) { - const auto *Decl = Expr->getFoundDecl(); + const NamedDecl *Decl = Expr->getFoundDecl(); return setResult(Decl, Expr->getLocation(), Decl->getNameAsString().length()); } bool VisitMemberExpr(const MemberExpr *Expr) { - const auto *Decl = Expr->getFoundDecl().getDecl(); + const NamedDecl *Decl = Expr->getFoundDecl().getDecl(); return setResult(Decl, Expr->getMemberLoc(), Decl->getNameAsString().length()); } @@ -74,9 +74,10 @@ public: // Other visitors: bool VisitTypeLoc(const TypeLoc Loc) { - const auto TypeBeginLoc = Loc.getBeginLoc(); - const auto TypeEndLoc = Lexer::getLocForEndOfToken( - TypeBeginLoc, 0, Context.getSourceManager(), Context.getLangOpts()); + const SourceLocation TypeBeginLoc = Loc.getBeginLoc(); + const SourceLocation TypeEndLoc = Lexer::getLocForEndOfToken( + TypeBeginLoc, 0, Context.getSourceManager(), + Context.getLangOpts()); if (const auto *TemplateTypeParm = dyn_cast(Loc.getType())) { return setResult(TemplateTypeParm->getDecl(), TypeBeginLoc, TypeEndLoc); @@ -117,7 +118,8 @@ public: // \returns false on success and sets Result. void handleNestedNameSpecifierLoc(NestedNameSpecifierLoc NameLoc) { while (NameLoc) { - const auto *Decl = NameLoc.getNestedNameSpecifier()->getAsNamespace(); + const NamespaceDecl *Decl = + NameLoc.getNestedNameSpecifier()->getAsNamespace(); setResult(Decl, NameLoc.getLocalBeginLoc(), NameLoc.getLocalEndLoc()); NameLoc = NameLoc.getPrefix(); } @@ -173,14 +175,13 @@ private: const NamedDecl *getNamedDeclAt(const ASTContext &Context, const SourceLocation Point) { - const auto SearchFile = Context.getSourceManager().getFilename(Point); + StringRef SearchFile = Context.getSourceManager().getFilename(Point); NamedDeclFindingASTVisitor Visitor(Point, Context); // We only want to search the decls that exist in the same file as the point. - auto Decls = Context.getTranslationUnitDecl()->decls(); - for (auto &CurrDecl : Decls) { - const auto FileLoc = CurrDecl->getLocStart(); - const auto FileName = Context.getSourceManager().getFilename(FileLoc); + for (const auto *CurrDecl : Context.getTranslationUnitDecl()->decls()) { + const SourceLocation FileLoc = CurrDecl->getLocStart(); + StringRef FileName = Context.getSourceManager().getFilename(FileLoc); // FIXME: Add test. if (FileName == SearchFile) { Visitor.TraverseDecl(CurrDecl); -- cgit v1.2.3