summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-rename/USRFinder.cpp
diff options
context:
space:
mode:
authorKirill Bobyrev <omtcyfz@gmail.com>2016-08-15 23:20:05 +0000
committerKirill Bobyrev <omtcyfz@gmail.com>2016-08-15 23:20:05 +0000
commit6b7d8c294429c25e225b87769e4381659dc3bbb0 (patch)
tree826bdb19af688d7e3de97e8bba27cf08434f1701 /clang-tools-extra/clang-rename/USRFinder.cpp
parent18e2d82297ec692c015bd1f22758913b6dd3c508 (diff)
downloadbcm5719-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.cpp23
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);
OpenPOWER on IntegriCloud