Chromium Code Reviews| 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 db208abc2f762e0a7848ddb5f3700cb21743c46f..c5469c23534e011b99816251dc80eb8691367d16 100644 |
| --- a/tools/clang/rewrite_to_chrome_style/RewriteToChromeStyle.cpp |
| +++ b/tools/clang/rewrite_to_chrome_style/RewriteToChromeStyle.cpp |
| @@ -222,20 +222,21 @@ class RewriterBase : public MatchFinder::MatchCallback { |
| : replacements_(replacements) {} |
| void run(const MatchFinder::MatchResult& result) override { |
| - std::string name; |
| + std::string new_name; |
| const DeclNode* decl = result.Nodes.getNodeAs<DeclNode>("decl"); |
| clang::ASTContext* context = result.Context; |
| - if (!GetNameForDecl(*decl, *context, name)) |
| + if (!GetNameForDecl(*decl, *context, new_name)) |
| return; |
| - auto r = replacements_->emplace( |
| - *result.SourceManager, TargetNodeTraits<TargetNode>::GetRange( |
| - *result.Nodes.getNodeAs<TargetNode>( |
| - TargetNodeTraits<TargetNode>::kName)), |
| - name); |
| - auto from = decl->getNameAsString(); |
| - auto to = r.first->getReplacementText().str(); |
| - if (from != to) |
| - replacement_names_.emplace(std::move(from), std::move(to)); |
| + llvm::StringRef old_name = decl->getName(); |
| + if (old_name == new_name) |
|
dcheng
2016/01/28 06:47:42
I moved this up to reduce the amount of edits emit
|
| + return; |
| + clang::CharSourceRange range = TargetNodeTraits<TargetNode>::GetRange( |
| + *result.Nodes.getNodeAs<TargetNode>( |
| + TargetNodeTraits<TargetNode>::kName)); |
| + if (range.getBegin().isMacroID() || range.getEnd().isMacroID()) |
| + return; |
| + replacements_->emplace(*result.SourceManager, range, new_name); |
| + replacement_names_.emplace(old_name.str(), std::move(new_name)); |
| } |
| const std::unordered_map<std::string, std::string>& replacement_names() |