Author: Benjamin Kramer Date: 2020-01-29T10:53:08+01:00 New Revision: 4e3f4f03f3e4dccfac6212a66d54d584fea328a2
URL: https://github.com/llvm/llvm-project/commit/4e3f4f03f3e4dccfac6212a66d54d584fea328a2 DIFF: https://github.com/llvm/llvm-project/commit/4e3f4f03f3e4dccfac6212a66d54d584fea328a2.diff LOG: [ASTMatchers] StringRef'ify hasName This was just inconvenient, and we make a copy anyways. Added: Modified: clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp clang-tools-extra/clang-tidy/utils/UsingInserter.cpp clang/include/clang/ASTMatchers/ASTMatchers.h clang/unittests/AST/ASTImporterTest.cpp clang/unittests/AST/DeclPrinterTest.cpp clang/unittests/AST/NamedDeclPrinterTest.cpp clang/unittests/AST/StmtPrinterTest.cpp clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp clang/unittests/StaticAnalyzer/Reusables.h Removed: ################################################################################ diff --git a/clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp b/clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp index f3bcc2a220fb..4bcb46b39032 100644 --- a/clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp +++ b/clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp @@ -36,8 +36,7 @@ using llvm::SmallSetVector; static const RecordDecl *findDefinition(StringRef RecordName, ASTContext &Context) { auto Results = - match(recordDecl(hasName(std::string(RecordName)), isDefinition()) - .bind("recordDecl"), + match(recordDecl(hasName(RecordName), isDefinition()).bind("recordDecl"), Context); if (Results.empty()) { llvm::errs() << "Definition of " << RecordName << " not found\n"; diff --git a/clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp b/clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp index d4db02174f50..3466cdbbdcff 100644 --- a/clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp +++ b/clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp @@ -91,8 +91,7 @@ rewriteInverseTimeCall(const MatchFinder::MatchResult &Result, DurationScale Scale, const Expr &Node) { llvm::StringRef InverseFunction = getTimeInverseForScale(Scale); if (const auto *MaybeCallArg = selectFirst<const Expr>( - "e", match(callExpr(callee(functionDecl( - hasName(std::string(InverseFunction)))), + "e", match(callExpr(callee(functionDecl(hasName(InverseFunction))), hasArgument(0, expr().bind("e"))), Node, *Result.Context))) { return tooling::fixit::getText(*MaybeCallArg, *Result.Context).str(); diff --git a/clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp b/clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp index 78ef1cca36e9..a3866651dced 100644 --- a/clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp +++ b/clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.cpp @@ -108,11 +108,11 @@ void TimeSubtractionCheck::registerMatchers(MatchFinder *Finder) { // a 'Duration'. If we know the result is a 'Duration', we can then infer // that the second operand must be a 'Time'. auto CallMatcher = - callExpr(callee(functionDecl( - hasName(std::string(getDurationFactoryForScale(*Scale))))), - hasArgument(0, binaryOperator(hasOperatorName("-"), - hasLHS(TimeInverseMatcher)) - .bind("binop"))) + callExpr( + callee(functionDecl(hasName(getDurationFactoryForScale(*Scale)))), + hasArgument(0, binaryOperator(hasOperatorName("-"), + hasLHS(TimeInverseMatcher)) + .bind("binop"))) .bind("outer_call"); Finder->addMatcher(CallMatcher, this); @@ -160,8 +160,8 @@ void TimeSubtractionCheck::check(const MatchFinder::MatchResult &Result) { // latter case (addressed first), we also need to worry about parenthesis. const auto *MaybeCallArg = selectFirst<const CallExpr>( "arg", match(expr(hasAncestor( - callExpr(callee(functionDecl(hasName(std::string( - getDurationFactoryForScale(*Scale)))))) + callExpr(callee(functionDecl(hasName( + getDurationFactoryForScale(*Scale))))) .bind("arg"))), *BinOp, *Result.Context)); if (MaybeCallArg && MaybeCallArg->getArg(0)->IgnoreImpCasts() == BinOp && diff --git a/clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp b/clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp index 2db2300693a0..27307c000f78 100644 --- a/clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp +++ b/clang-tools-extra/clang-tidy/google/UpgradeGoogletestCaseCheck.cpp @@ -242,10 +242,10 @@ static bool derivedTypeHasReplacementMethod(const MatchFinder::MatchResult &Result, llvm::StringRef ReplacementMethod) { const auto *Class = Result.Nodes.getNodeAs<CXXRecordDecl>("class"); - return !match(cxxRecordDecl(unless(isExpansionInFileMatching( - "gtest/gtest(-typed-test)?\\.h$")), - hasMethod(cxxMethodDecl( - hasName(std::string(ReplacementMethod))))), + return !match(cxxRecordDecl( + unless(isExpansionInFileMatching( + "gtest/gtest(-typed-test)?\\.h$")), + hasMethod(cxxMethodDecl(hasName(ReplacementMethod)))), *Class, *Result.Context) .empty(); } diff --git a/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp b/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp index 934bee29cb26..e852532af418 100644 --- a/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp +++ b/clang-tools-extra/clang-tidy/utils/UsingInserter.cpp @@ -58,7 +58,7 @@ Optional<FixItHint> UsingInserter::createUsingDeclaration( return None; } // Find conflicting declarations and references. - auto ConflictingDecl = namedDecl(hasName(std::string(UnqualifiedName))); + auto ConflictingDecl = namedDecl(hasName(UnqualifiedName)); bool HasConflictingDeclaration = !match(findAll(ConflictingDecl), *Function, Context).empty(); bool HasConflictingDeclRef = diff --git a/clang/include/clang/ASTMatchers/ASTMatchers.h b/clang/include/clang/ASTMatchers/ASTMatchers.h index 2e932dbf3daa..ac6ce076d60d 100644 --- a/clang/include/clang/ASTMatchers/ASTMatchers.h +++ b/clang/include/clang/ASTMatchers/ASTMatchers.h @@ -2663,8 +2663,9 @@ inline internal::Matcher<Stmt> sizeOfExpr( /// \code /// namespace a { namespace b { class X; } } /// \endcode -inline internal::Matcher<NamedDecl> hasName(const std::string &Name) { - return internal::Matcher<NamedDecl>(new internal::HasNameMatcher({Name})); +inline internal::Matcher<NamedDecl> hasName(StringRef Name) { + return internal::Matcher<NamedDecl>( + new internal::HasNameMatcher({std::string(Name)})); } /// Matches NamedDecl nodes that have any of the specified names. diff --git a/clang/unittests/AST/ASTImporterTest.cpp b/clang/unittests/AST/ASTImporterTest.cpp index 8c3dc6caba56..3e8f804374f4 100644 --- a/clang/unittests/AST/ASTImporterTest.cpp +++ b/clang/unittests/AST/ASTImporterTest.cpp @@ -115,8 +115,8 @@ class TestImportBase : public CompilerOptionSpecificTest, const BindableMatcher<NodeType> &VerificationMatcher) { return testImport( FromCode, FromArgs, ToCode, ToArgs, Verifier, - translationUnitDecl(has(namedDecl(hasName(std::string(DeclToImportID))) - .bind(DeclToImportID))), + translationUnitDecl( + has(namedDecl(hasName(DeclToImportID)).bind(DeclToImportID))), VerificationMatcher); } diff --git a/clang/unittests/AST/DeclPrinterTest.cpp b/clang/unittests/AST/DeclPrinterTest.cpp index 3bb17aba96c2..f85358b8f6c8 100644 --- a/clang/unittests/AST/DeclPrinterTest.cpp +++ b/clang/unittests/AST/DeclPrinterTest.cpp @@ -108,9 +108,8 @@ PrintedDeclCXX98Matches(StringRef Code, StringRef DeclName, StringRef ExpectedPrinted, PrintingPolicyModifier PolicyModifier = nullptr) { std::vector<std::string> Args(1, "-std=c++98"); - return PrintedDeclMatches( - Code, Args, namedDecl(hasName(std::string(DeclName))).bind("id"), - ExpectedPrinted, "input.cc", PolicyModifier); + return PrintedDeclMatches(Code, Args, namedDecl(hasName(DeclName)).bind("id"), + ExpectedPrinted, "input.cc", PolicyModifier); } ::testing::AssertionResult @@ -130,9 +129,8 @@ ::testing::AssertionResult PrintedDeclCXX11Matches(StringRef Code, StringRef DeclName, StringRef ExpectedPrinted) { std::vector<std::string> Args(1, "-std=c++11"); - return PrintedDeclMatches( - Code, Args, namedDecl(hasName(std::string(DeclName))).bind("id"), - ExpectedPrinted, "input.cc"); + return PrintedDeclMatches(Code, Args, namedDecl(hasName(DeclName)).bind("id"), + ExpectedPrinted, "input.cc"); } ::testing::AssertionResult PrintedDeclCXX11Matches( diff --git a/clang/unittests/AST/NamedDeclPrinterTest.cpp b/clang/unittests/AST/NamedDeclPrinterTest.cpp index d5077b8da868..a38b28bddaf4 100644 --- a/clang/unittests/AST/NamedDeclPrinterTest.cpp +++ b/clang/unittests/AST/NamedDeclPrinterTest.cpp @@ -112,45 +112,41 @@ ::testing::AssertionResult PrintedNamedDeclCXX98Matches(StringRef Code, StringRef DeclName, StringRef ExpectedPrinted) { std::vector<std::string> Args(1, "-std=c++98"); - return PrintedNamedDeclMatches( - Code, Args, - /*SuppressUnwrittenScope*/ false, - namedDecl(hasName(std::string(DeclName))).bind("id"), ExpectedPrinted, - "input.cc"); + return PrintedNamedDeclMatches(Code, Args, + /*SuppressUnwrittenScope*/ false, + namedDecl(hasName(DeclName)).bind("id"), + ExpectedPrinted, "input.cc"); } ::testing::AssertionResult PrintedWrittenNamedDeclCXX11Matches(StringRef Code, StringRef DeclName, StringRef ExpectedPrinted) { std::vector<std::string> Args(1, "-std=c++11"); - return PrintedNamedDeclMatches( - Code, Args, - /*SuppressUnwrittenScope*/ true, - namedDecl(hasName(std::string(DeclName))).bind("id"), ExpectedPrinted, - "input.cc"); + return PrintedNamedDeclMatches(Code, Args, + /*SuppressUnwrittenScope*/ true, + namedDecl(hasName(DeclName)).bind("id"), + ExpectedPrinted, "input.cc"); } ::testing::AssertionResult PrintedWrittenPropertyDeclObjCMatches(StringRef Code, StringRef DeclName, StringRef ExpectedPrinted) { std::vector<std::string> Args{"-std=c++11", "-xobjective-c++"}; - return PrintedNamedDeclMatches( - Code, Args, - /*SuppressUnwrittenScope*/ true, - objcPropertyDecl(hasName(std::string(DeclName))).bind("id"), - ExpectedPrinted, "input.m"); + return PrintedNamedDeclMatches(Code, Args, + /*SuppressUnwrittenScope*/ true, + objcPropertyDecl(hasName(DeclName)).bind("id"), + ExpectedPrinted, "input.m"); } ::testing::AssertionResult PrintedNestedNameSpecifierMatches(StringRef Code, StringRef DeclName, StringRef ExpectedPrinted) { std::vector<std::string> Args{"-std=c++11"}; - return PrintedDeclMatches( - Code, Args, namedDecl(hasName(std::string(DeclName))).bind("id"), - ExpectedPrinted, "input.cc", - [](llvm::raw_ostream &Out, const NamedDecl *D) { - D->printNestedNameSpecifier(Out); - }); + return PrintedDeclMatches(Code, Args, namedDecl(hasName(DeclName)).bind("id"), + ExpectedPrinted, "input.cc", + [](llvm::raw_ostream &Out, const NamedDecl *D) { + D->printNestedNameSpecifier(Out); + }); } } // unnamed namespace diff --git a/clang/unittests/AST/StmtPrinterTest.cpp b/clang/unittests/AST/StmtPrinterTest.cpp index 76195af6636a..080c18b0737b 100644 --- a/clang/unittests/AST/StmtPrinterTest.cpp +++ b/clang/unittests/AST/StmtPrinterTest.cpp @@ -34,7 +34,7 @@ namespace { enum class StdVer { CXX98, CXX11, CXX14, CXX17, CXX2a }; DeclarationMatcher FunctionBodyMatcher(StringRef ContainingFunction) { - return functionDecl(hasName(std::string(ContainingFunction)), + return functionDecl(hasName(ContainingFunction), has(compoundStmt(has(stmt().bind("id"))))); } diff --git a/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp b/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp index b24ec07f399b..1c3e00ca4ae8 100644 --- a/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp +++ b/clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp @@ -44,7 +44,7 @@ std::unique_ptr<ASTUnit> buildASTFromCode(const Twine &Code) { } ExprMatcher declRefTo(StringRef Name) { - return declRefExpr(to(namedDecl(hasName(std::string(Name))))); + return declRefExpr(to(namedDecl(hasName(Name)))); } StmtMatcher withEnclosingCompound(ExprMatcher Matcher) { diff --git a/clang/unittests/StaticAnalyzer/Reusables.h b/clang/unittests/StaticAnalyzer/Reusables.h index db9c085272db..bac2808369c2 100644 --- a/clang/unittests/StaticAnalyzer/Reusables.h +++ b/clang/unittests/StaticAnalyzer/Reusables.h @@ -34,7 +34,7 @@ const T *findNode(const Decl *Where, MatcherT What) { template <typename T> const T *findDeclByName(const Decl *Where, StringRef Name) { using namespace ast_matchers; - return findNode<T>(Where, namedDecl(hasName(std::string(Name)))); + return findNode<T>(Where, namedDecl(hasName(Name))); } // A re-usable consumer that constructs ExprEngine out of CompilerInvocation. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits