aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
diff options
context:
space:
mode:
authorNathan James <n.james93@hotmail.co.uk>2024-07-15 20:22:15 +0100
committerGitHub <noreply@github.com>2024-07-15 21:22:15 +0200
commit87ca6386f9389f9d929d660e37701590092cefab (patch)
treec5dcac2689883a9fb1216ce7447ac456bf9d36f4 /clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
parent31d4c9750694fa3728e45cbd6f740063ee19a6fa (diff)
downloadllvm-87ca6386f9389f9d929d660e37701590092cefab.zip
llvm-87ca6386f9389f9d929d660e37701590092cefab.tar.gz
llvm-87ca6386f9389f9d929d660e37701590092cefab.tar.bz2
[clang-tidy] Allow specifying pipe syntax for use-ranges checks (#98696)
Add `UseReversePipe` option to (boost|modernize)-use-ranges checks. This controls whether to create a reverse view using function syntax (`reverse(Range)`) or pipe syntax (`Range | reverse`)
Diffstat (limited to 'clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp b/clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
index 9351a1c..4022ea0 100644
--- a/clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
+++ b/clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
@@ -331,12 +331,15 @@ utils::UseRangesCheck::ReplacerMap UseRangesCheck::getReplacerMap() const {
UseRangesCheck::UseRangesCheck(StringRef Name, ClangTidyContext *Context)
: utils::UseRangesCheck(Name, Context),
- IncludeBoostSystem(Options.get("IncludeBoostSystem", true)) {}
+ IncludeBoostSystem(Options.get("IncludeBoostSystem", true)),
+ UseReversePipe(Options.get("UseReversePipe", false)) {}
void UseRangesCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
utils::UseRangesCheck::storeOptions(Opts);
Options.store(Opts, "IncludeBoostSystem", IncludeBoostSystem);
+ Options.store(Opts, "UseReversePipe", UseReversePipe);
}
+
DiagnosticBuilder UseRangesCheck::createDiag(const CallExpr &Call) {
DiagnosticBuilder D =
diag(Call.getBeginLoc(), "use a %0 version of this algorithm");
@@ -362,10 +365,10 @@ UseRangesCheck::getReverseDescriptor() const {
{"::boost::rbegin", "::boost::rend"},
{"::boost::const_rbegin", "::boost::const_rend"},
};
- return ReverseIteratorDescriptor{"boost::adaptors::reverse",
- IncludeBoostSystem
- ? "<boost/range/adaptor/reversed.hpp>"
- : "boost/range/adaptor/reversed.hpp",
- Refs};
+ return ReverseIteratorDescriptor{
+ UseReversePipe ? "boost::adaptors::reversed" : "boost::adaptors::reverse",
+ IncludeBoostSystem ? "<boost/range/adaptor/reversed.hpp>"
+ : "boost/range/adaptor/reversed.hpp",
+ Refs, UseReversePipe};
}
} // namespace clang::tidy::boost