mirror of
https://github.com/intel/llvm.git
synced 2026-01-24 17:01:00 +08:00
[clang-tidy] Remove duplicated getText implementation, NFC
llvm-svn: 348583
This commit is contained in:
@@ -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 <typename T>
|
||||
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<clang::UnaryOperator>(&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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user