[PATCH] D75096: [ASTMatchers] Matcher macros with params move params instead of copying
This revision was automatically updated to reflect the committed changes. Closed by commit rG3e9a7b2ba470: [ASTMatchers] Matcher macros with params move params instead of copying (authored by njames93). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75096/new/ https://reviews.llvm.org/D75096 Files: clang/include/clang/ASTMatchers/ASTMatchersMacros.h Index: clang/include/clang/ASTMatchers/ASTMatchersMacros.h === --- clang/include/clang/ASTMatchers/ASTMatchersMacros.h +++ clang/include/clang/ASTMatchers/ASTMatchersMacros.h @@ -134,9 +134,8 @@ class matcher_##DefineMatcher##OverloadId##Matcher \ : public ::clang::ast_matchers::internal::MatcherInterface { \ public: \ -explicit matcher_##DefineMatcher##OverloadId##Matcher( \ -ParamType const &A##Param) \ -: Param(A##Param) {} \ +explicit matcher_##DefineMatcher##OverloadId##Matcher(ParamType A##Param) \ +: Param(std::move(A##Param)) {}\ bool matches(const Type &Node, \ ::clang::ast_matchers::internal::ASTMatchFinder *Finder, \ ::clang::ast_matchers::internal::BoundNodesTreeBuilder\ @@ -147,12 +146,13 @@ }; \ }\ inline ::clang::ast_matchers::internal::Matcher DefineMatcher( \ - ParamType const &Param) {\ + ParamType Param) { \ return ::clang::ast_matchers::internal::makeMatcher( \ -new internal::matcher_##DefineMatcher##OverloadId##Matcher(Param));\ +new internal::matcher_##DefineMatcher##OverloadId##Matcher(\ +std::move(Param)));\ }\ - typedef ::clang::ast_matchers::internal::Matcher( \ - &DefineMatcher##_Type##OverloadId)(ParamType const &Param); \ + typedef ::clang::ast_matchers::internal::Matcher ( \ + &DefineMatcher##_Type##OverloadId)(ParamType Param); \ inline bool internal::matcher_##DefineMatcher##OverloadId##Matcher::matches( \ const Type &Node,\ ::clang::ast_matchers::internal::ASTMatchFinder *Finder, \ @@ -183,9 +183,9 @@ class matcher_##DefineMatcher##OverloadId##Matcher \ : public ::clang::ast_matchers::internal::MatcherInterface { \ public: \ -matcher_##DefineMatcher##OverloadId##Matcher(ParamType1 const &A##Param1, \ - ParamType2 const &A##Param2) \ -: Param1(A##Param1), Param2(A##Param2) {} \ +matcher_##DefineMatcher##OverloadId##Matcher(ParamType1 A##Param1, \ + ParamType2 A##Param2) \ +: Param1(std::move(A##Param1)), Param2(std::move(A##Param2)) {}\ bool matches(const Type &Node, \ ::clang::ast_matchers::internal::ASTMatchFinder *Finder, \ ::clang::ast_matchers::internal::BoundNodesTreeBuilder\ @@ -197,14 +197,14 @@ }; \ }\ inline ::clang::ast_matchers::internal::Matcher DefineMatcher( \ - ParamType1 const &Param1, ParamType2 const &Param2) {\ + ParamType1 Param1, ParamType2 Param2) { \ return ::clang::ast_matchers::internal::makeMatcher( \ -new internal::matcher_##DefineMatcher##OverloadId##Matcher(Param1, \ - Param2)); \ +new internal::matcher_##DefineMatcher##OverloadId##Matcher(\ +std::move(Param1), std::move(Param2)));\ }\ - typedef ::clang::ast_matchers::internal::Matcher( \ - &DefineMatcher##_Type##OverloadId)(ParamTy
[PATCH] D75096: [ASTMatchers] Matcher macros with params move params instead of copying
njames93 created this revision. njames93 added reviewers: aaron.ballman, gribozavr2. Herald added a project: clang. Herald added a subscriber: cfe-commits. Use move semantics instead of copying for AST Matchers with parameters Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D75096 Files: clang/include/clang/ASTMatchers/ASTMatchersMacros.h Index: clang/include/clang/ASTMatchers/ASTMatchersMacros.h === --- clang/include/clang/ASTMatchers/ASTMatchersMacros.h +++ clang/include/clang/ASTMatchers/ASTMatchersMacros.h @@ -134,9 +134,8 @@ class matcher_##DefineMatcher##OverloadId##Matcher \ : public ::clang::ast_matchers::internal::MatcherInterface { \ public: \ -explicit matcher_##DefineMatcher##OverloadId##Matcher( \ -ParamType const &A##Param) \ -: Param(A##Param) {} \ +explicit matcher_##DefineMatcher##OverloadId##Matcher(ParamType A##Param) \ +: Param(std::move(A##Param)) {}\ bool matches(const Type &Node, \ ::clang::ast_matchers::internal::ASTMatchFinder *Finder, \ ::clang::ast_matchers::internal::BoundNodesTreeBuilder\ @@ -147,12 +146,13 @@ }; \ }\ inline ::clang::ast_matchers::internal::Matcher DefineMatcher( \ - ParamType const &Param) {\ + ParamType Param) { \ return ::clang::ast_matchers::internal::makeMatcher( \ -new internal::matcher_##DefineMatcher##OverloadId##Matcher(Param));\ +new internal::matcher_##DefineMatcher##OverloadId##Matcher(\ +std::move(Param)));\ }\ - typedef ::clang::ast_matchers::internal::Matcher( \ - &DefineMatcher##_Type##OverloadId)(ParamType const &Param); \ + typedef ::clang::ast_matchers::internal::Matcher ( \ + &DefineMatcher##_Type##OverloadId)(ParamType Param); \ inline bool internal::matcher_##DefineMatcher##OverloadId##Matcher::matches( \ const Type &Node,\ ::clang::ast_matchers::internal::ASTMatchFinder *Finder, \ @@ -183,9 +183,9 @@ class matcher_##DefineMatcher##OverloadId##Matcher \ : public ::clang::ast_matchers::internal::MatcherInterface { \ public: \ -matcher_##DefineMatcher##OverloadId##Matcher(ParamType1 const &A##Param1, \ - ParamType2 const &A##Param2) \ -: Param1(A##Param1), Param2(A##Param2) {} \ +matcher_##DefineMatcher##OverloadId##Matcher(ParamType1 A##Param1, \ + ParamType2 A##Param2) \ +: Param1(std::move(A##Param1)), Param2(std::move(A##Param2)) {}\ bool matches(const Type &Node, \ ::clang::ast_matchers::internal::ASTMatchFinder *Finder, \ ::clang::ast_matchers::internal::BoundNodesTreeBuilder\ @@ -197,14 +197,14 @@ }; \ }\ inline ::clang::ast_matchers::internal::Matcher DefineMatcher( \ - ParamType1 const &Param1, ParamType2 const &Param2) {\ + ParamType1 Param1, ParamType2 Param2) { \ return ::clang::ast_matchers::internal::makeMatcher( \ -new internal::matcher_##DefineMatcher##OverloadId##Matcher(Param1, \ - Param2)); \ +new internal::matcher_##DefineMatcher##OverloadId##Matcher(\ +std::move(Param1), std::move(Param2)));\ }\ - typedef ::clang::ast_matchers::internal::Matcher( \ - &DefineMatcher##_Type##OverloadId)(ParamType1 const &Param1, \ -