From 75f6caddabf87580deea977d0a428589f368df90 Mon Sep 17 00:00:00 2001 From: Haojian Wu Date: Fri, 7 Dec 2018 11:25:37 +0000 Subject: [PATCH] [clang-tidy] Remove duplicated getText implementation, NFC llvm-svn: 348583 --- .../readability/RedundantStringCStrCheck.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp index f0c378f..903a0ed 100644 --- a/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp @@ -13,6 +13,7 @@ #include "RedundantStringCStrCheck.h" #include "clang/Lex/Lexer.h" +#include "clang/Tooling/FixIt.h" using namespace clang::ast_matchers; @@ -22,14 +23,6 @@ namespace readability { namespace { -template -StringRef getText(const ast_matchers::MatchFinder::MatchResult &Result, - T const &Node) { - return Lexer::getSourceText( - CharSourceRange::getTokenRange(Node.getSourceRange()), - *Result.SourceManager, Result.Context->getLangOpts()); -} - // Return true if expr needs to be put in parens when it is an argument of a // prefix unary operator, e.g. when it is a binary or ternary operator // syntactically. @@ -54,10 +47,12 @@ formatDereference(const ast_matchers::MatchFinder::MatchResult &Result, if (const auto *Op = dyn_cast(&ExprNode)) { if (Op->getOpcode() == UO_AddrOf) { // Strip leading '&'. - return getText(Result, *Op->getSubExpr()->IgnoreParens()); + return tooling::fixit::getText(*Op->getSubExpr()->IgnoreParens(), + *Result.Context); } } - StringRef Text = getText(Result, ExprNode); + StringRef Text = tooling::fixit::getText(ExprNode, *Result.Context); + if (Text.empty()) return std::string(); // Add leading '*'. @@ -185,7 +180,8 @@ void RedundantStringCStrCheck::check(const MatchFinder::MatchResult &Result) { // Replace the "call" node with the "arg" node, prefixed with '*' // if the call was using '->' rather than '.'. std::string ArgText = - Arrow ? formatDereference(Result, *Arg) : getText(Result, *Arg).str(); + Arrow ? formatDereference(Result, *Arg) + : tooling::fixit::getText(*Arg, *Result.Context).str(); if (ArgText.empty()) return; -- 2.7.4