[clang-tools-extra] r276967 - [clang-rename] USRFinder.cpp cleanup
Kirill Bobyrev via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 28 02:05:06 PDT 2016
Author: omtcyfz
Date: Thu Jul 28 04:05:06 2016
New Revision: 276967
URL: http://llvm.org/viewvc/llvm-project?rev=276967&view=rev
Log:
[clang-rename] USRFinder.cpp cleanup
Modified:
clang-tools-extra/trunk/clang-rename/USRFinder.cpp
Modified: clang-tools-extra/trunk/clang-rename/USRFinder.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-rename/USRFinder.cpp?rev=276967&r1=276966&r2=276967&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-rename/USRFinder.cpp (original)
+++ clang-tools-extra/trunk/clang-rename/USRFinder.cpp Thu Jul 28 04:05:06 2016
@@ -34,17 +34,15 @@ class NamedDeclFindingASTVisitor
public:
// \brief Finds the NamedDecl at a point in the source.
// \param Point the location in the source to search for the NamedDecl.
- explicit NamedDeclFindingASTVisitor(const SourceManager &SourceMgr,
- const SourceLocation Point,
- const ASTContext *Context)
- : Result(nullptr), SourceMgr(SourceMgr), Point(Point), Context(Context) {}
+ explicit NamedDeclFindingASTVisitor(const SourceLocation Point,
+ const ASTContext &Context)
+ : Result(nullptr), Point(Point), Context(Context) {}
// \brief Finds the NamedDecl for a name in the source.
// \param Name the fully qualified name.
- explicit NamedDeclFindingASTVisitor(const SourceManager &SourceMgr,
- const std::string &Name,
- const ASTContext *Context)
- : Result(nullptr), SourceMgr(SourceMgr), Name(Name), Context(Context) {}
+ explicit NamedDeclFindingASTVisitor(const std::string &Name,
+ const ASTContext &Context)
+ : Result(nullptr), Name(Name), Context(Context) {}
// Declaration visitors:
@@ -53,8 +51,10 @@ public:
// checking if the point lies within the length of the name of the declaration
// and the start location is sufficient.
bool VisitNamedDecl(const NamedDecl *Decl) {
- return dyn_cast<CXXConversionDecl>(Decl) ? true :
- setResult(Decl, Decl->getLocation(), Decl->getNameAsString().length());
+ return dyn_cast<CXXConversionDecl>(Decl)
+ ? true
+ : setResult(Decl, Decl->getLocation(),
+ Decl->getNameAsString().length());
}
// Expression visitors:
@@ -76,10 +76,9 @@ public:
bool VisitTypeLoc(const TypeLoc Loc) {
const auto TypeBeginLoc = Loc.getBeginLoc();
const auto TypeEndLoc = Lexer::getLocForEndOfToken(
- TypeBeginLoc, 0, SourceMgr, Context->getLangOpts());
- if (auto *RD = Loc.getType()->getAsCXXRecordDecl())
- return setResult(RD, TypeBeginLoc, TypeEndLoc);
- return true;
+ TypeBeginLoc, 0, Context.getSourceManager(), Context.getLangOpts());
+ return setResult(Loc.getType()->getAsCXXRecordDecl(), TypeBeginLoc,
+ TypeEndLoc);
}
// Other:
@@ -91,9 +90,7 @@ public:
void handleNestedNameSpecifierLoc(NestedNameSpecifierLoc NameLoc) {
while (NameLoc) {
const auto *Decl = NameLoc.getNestedNameSpecifier()->getAsNamespace();
- if (Decl) {
- setResult(Decl, NameLoc.getLocalBeginLoc(), NameLoc.getLocalEndLoc());
- }
+ setResult(Decl, NameLoc.getLocalBeginLoc(), NameLoc.getLocalEndLoc());
NameLoc = NameLoc.getPrefix();
}
}
@@ -103,6 +100,9 @@ private:
// \returns false on success.
bool setResult(const NamedDecl *Decl, SourceLocation Start,
SourceLocation End) {
+ if (!Decl) {
+ return true;
+ }
if (Name.empty()) {
// Offset is used to find the declaration.
if (!Start.isValid() || !Start.isFileID() || !End.isValid() ||
@@ -131,30 +131,28 @@ private:
bool isPointWithin(const SourceLocation Start, const SourceLocation End) {
// FIXME: Add tests for Point == End.
return Point == Start || Point == End ||
- (SourceMgr.isBeforeInTranslationUnit(Start, Point) &&
- SourceMgr.isBeforeInTranslationUnit(Point, End));
+ (Context.getSourceManager().isBeforeInTranslationUnit(Start,
+ Point) &&
+ Context.getSourceManager().isBeforeInTranslationUnit(Point, End));
}
const NamedDecl *Result;
- const SourceManager &SourceMgr;
const SourceLocation Point; // The location to find the NamedDecl.
const std::string Name;
- const ASTContext *Context;
+ const ASTContext &Context;
};
} // namespace
const NamedDecl *getNamedDeclAt(const ASTContext &Context,
const SourceLocation Point) {
- const auto &SourceMgr = Context.getSourceManager();
- const auto SearchFile = SourceMgr.getFilename(Point);
-
- NamedDeclFindingASTVisitor Visitor(SourceMgr, Point, &Context);
+ const auto 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 = SourceMgr.getFilename(FileLoc);
+ const auto FileName = Context.getSourceManager().getFilename(FileLoc);
// FIXME: Add test.
if (FileName == SearchFile) {
Visitor.TraverseDecl(CurrDecl);
@@ -171,8 +169,7 @@ const NamedDecl *getNamedDeclAt(const AS
const NamedDecl *getNamedDeclFor(const ASTContext &Context,
const std::string &Name) {
- const auto &SourceMgr = Context.getSourceManager();
- NamedDeclFindingASTVisitor Visitor(SourceMgr, Name, &Context);
+ NamedDeclFindingASTVisitor Visitor(Name, Context);
Visitor.TraverseDecl(Context.getTranslationUnitDecl());
return Visitor.getNamedDecl();
More information about the cfe-commits
mailing list