diff options
| author | Kirill Bobyrev <omtcyfz@gmail.com> | 2016-08-15 23:20:05 +0000 |
|---|---|---|
| committer | Kirill Bobyrev <omtcyfz@gmail.com> | 2016-08-15 23:20:05 +0000 |
| commit | 6b7d8c294429c25e225b87769e4381659dc3bbb0 (patch) | |
| tree | 826bdb19af688d7e3de97e8bba27cf08434f1701 /clang-tools-extra/clang-rename/USRFinder.cpp | |
| parent | 18e2d82297ec692c015bd1f22758913b6dd3c508 (diff) | |
| download | bcm5719-llvm-6b7d8c294429c25e225b87769e4381659dc3bbb0.tar.gz bcm5719-llvm-6b7d8c294429c25e225b87769e4381659dc3bbb0.zip | |
[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
Diffstat (limited to 'clang-tools-extra/clang-rename/USRFinder.cpp')
| -rw-r--r-- | clang-tools-extra/clang-rename/USRFinder.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
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<TemplateTypeParmType>(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); |

