Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: tools/clang/rewrite_to_chrome_style/RewriteToChromeStyle.cpp

Issue 1645263002: rewrite_to_chrome_style: tweak macro ignoring logic. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Betterer commetns Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/clang/rewrite_to_chrome_style/tests/macros-expected.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/clang/rewrite_to_chrome_style/RewriteToChromeStyle.cpp
diff --git a/tools/clang/rewrite_to_chrome_style/RewriteToChromeStyle.cpp b/tools/clang/rewrite_to_chrome_style/RewriteToChromeStyle.cpp
index 82abf41c570fb34190a873151f1bf3011c9db193..a914618e76aef71a171fd1dcb33181e1b1d338d4 100644
--- a/tools/clang/rewrite_to_chrome_style/RewriteToChromeStyle.cpp
+++ b/tools/clang/rewrite_to_chrome_style/RewriteToChromeStyle.cpp
@@ -207,8 +207,8 @@ struct TargetNodeTraits;
template <>
struct TargetNodeTraits<clang::NamedDecl> {
static const char kName[];
- static clang::CharSourceRange GetRange(const clang::NamedDecl& decl) {
- return clang::CharSourceRange::getTokenRange(decl.getLocation());
+ static clang::SourceLocation GetLoc(const clang::NamedDecl& decl) {
+ return decl.getLocation();
}
};
const char TargetNodeTraits<clang::NamedDecl>::kName[] = "decl";
@@ -216,8 +216,8 @@ const char TargetNodeTraits<clang::NamedDecl>::kName[] = "decl";
template <>
struct TargetNodeTraits<clang::MemberExpr> {
static const char kName[];
- static clang::CharSourceRange GetRange(const clang::MemberExpr& expr) {
- return clang::CharSourceRange::getTokenRange(expr.getMemberLoc());
+ static clang::SourceLocation GetLoc(const clang::MemberExpr& expr) {
+ return expr.getMemberLoc();
}
};
const char TargetNodeTraits<clang::MemberExpr>::kName[] = "expr";
@@ -225,8 +225,8 @@ const char TargetNodeTraits<clang::MemberExpr>::kName[] = "expr";
template <>
struct TargetNodeTraits<clang::DeclRefExpr> {
static const char kName[];
- static clang::CharSourceRange GetRange(const clang::DeclRefExpr& expr) {
- return clang::CharSourceRange::getTokenRange(expr.getLocation());
+ static clang::SourceLocation GetLoc(const clang::DeclRefExpr& expr) {
+ return expr.getLocation();
}
};
const char TargetNodeTraits<clang::DeclRefExpr>::kName[] = "expr";
@@ -234,10 +234,9 @@ const char TargetNodeTraits<clang::DeclRefExpr>::kName[] = "expr";
template <>
struct TargetNodeTraits<clang::CXXCtorInitializer> {
static const char kName[];
- static clang::CharSourceRange GetRange(
- const clang::CXXCtorInitializer& init) {
+ static clang::SourceLocation GetLoc(const clang::CXXCtorInitializer& init) {
assert(init.isWritten());
- return clang::CharSourceRange::getTokenRange(init.getSourceLocation());
+ return init.getSourceLocation();
}
};
const char TargetNodeTraits<clang::CXXCtorInitializer>::kName[] = "initializer";
@@ -249,23 +248,27 @@ class RewriterBase : public MatchFinder::MatchCallback {
: replacements_(replacements) {}
void run(const MatchFinder::MatchResult& result) override {
- std::string new_name;
const DeclNode* decl = result.Nodes.getNodeAs<DeclNode>("decl");
- clang::ASTContext* context = result.Context;
+ // If the decl originates inside a macro, just skip it completely.
+ clang::SourceLocation decl_loc =
+ TargetNodeTraits<clang::NamedDecl>::GetLoc(*decl);
+ if (decl_loc.isMacroID())
+ return;
// If false, there's no name to be renamed.
if (!decl->getIdentifier())
return;
// If false, the name was not suitable for renaming.
+ clang::ASTContext* context = result.Context;
+ std::string new_name;
if (!GetNameForDecl(*decl, *context, new_name))
return;
llvm::StringRef old_name = decl->getName();
if (old_name == new_name)
return;
- clang::CharSourceRange range = TargetNodeTraits<TargetNode>::GetRange(
+ clang::SourceLocation loc = TargetNodeTraits<TargetNode>::GetLoc(
*result.Nodes.getNodeAs<TargetNode>(
TargetNodeTraits<TargetNode>::kName));
- if (range.getBegin().isMacroID() || range.getEnd().isMacroID())
- return;
+ clang::CharSourceRange range = clang::CharSourceRange::getTokenRange(loc);
replacements_->emplace(*result.SourceManager, range, new_name);
replacement_names_.emplace(old_name.str(), std::move(new_name));
}
« no previous file with comments | « no previous file | tools/clang/rewrite_to_chrome_style/tests/macros-expected.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698