diff options
author | Nico Weber <thakis@chromium.org> | 2020-06-28 21:49:07 -0400 |
---|---|---|
committer | Nico Weber <thakis@chromium.org> | 2020-06-28 21:49:29 -0400 |
commit | 8f73c4432b5fa8510c99a5053c07dc70a610e1fb (patch) | |
tree | c0a9eeeb15f12025e82c3129120dabc6ed29f551 /clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp | |
parent | 80e15b4574f4a11792472249f64bac790145cc56 (diff) | |
download | llvm-8f73c4432b5fa8510c99a5053c07dc70a610e1fb.zip llvm-8f73c4432b5fa8510c99a5053c07dc70a610e1fb.tar.gz llvm-8f73c4432b5fa8510c99a5053c07dc70a610e1fb.tar.bz2 |
Revert "[clang-tidy] Reworked enum options handling(again)"
This reverts commit b9306fd042ce1c11d84f05d2124dfdc65b8331fe
and follow-up 42a51587c79a673045aec3586f4070630e5e7af3.
It seems to build check-clang-tools on macOS, see comments on
https://reviews.llvm.org/D82188
Diffstat (limited to 'clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp')
-rw-r--r-- | clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp | 54 |
1 files changed, 25 insertions, 29 deletions
diff --git a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp index 720d43a2..dd18d86 100644 --- a/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp @@ -28,31 +28,6 @@ using namespace llvm; namespace clang { namespace tidy { - -template <> struct OptionEnumMapping<modernize::Confidence::Level> { - static llvm::ArrayRef<std::pair<modernize::Confidence::Level, StringRef>> - getEnumMapping() { - static constexpr std::pair<modernize::Confidence::Level, StringRef> - Mapping[] = {{modernize::Confidence::CL_Reasonable, "reasonable"}, - {modernize::Confidence::CL_Safe, "safe"}, - {modernize::Confidence::CL_Risky, "risky"}}; - return makeArrayRef(Mapping); - } -}; - -template <> struct OptionEnumMapping<modernize::VariableNamer::NamingStyle> { - static llvm::ArrayRef< - std::pair<modernize::VariableNamer::NamingStyle, StringRef>> - getEnumMapping() { - static constexpr std::pair<modernize::VariableNamer::NamingStyle, StringRef> - Mapping[] = {{modernize::VariableNamer::NS_CamelCase, "CamelCase"}, - {modernize::VariableNamer::NS_CamelBack, "camelBack"}, - {modernize::VariableNamer::NS_LowerCase, "lower_case"}, - {modernize::VariableNamer::NS_UpperCase, "UPPER_CASE"}}; - return makeArrayRef(Mapping); - } -}; - namespace modernize { static const char LoopNameArray[] = "forLoopArray"; @@ -69,6 +44,25 @@ static const char EndVarName[] = "endVar"; static const char DerefByValueResultName[] = "derefByValueResult"; static const char DerefByRefResultName[] = "derefByRefResult"; +static ArrayRef<std::pair<StringRef, Confidence::Level>> +getConfidenceMapping() { + static constexpr std::pair<StringRef, Confidence::Level> Mapping[] = { + {"reasonable", Confidence::CL_Reasonable}, + {"safe", Confidence::CL_Safe}, + {"risky", Confidence::CL_Risky}}; + return makeArrayRef(Mapping); +} + +static ArrayRef<std::pair<StringRef, VariableNamer::NamingStyle>> +getStyleMapping() { + static constexpr std::pair<StringRef, VariableNamer::NamingStyle> Mapping[] = + {{"CamelCase", VariableNamer::NS_CamelCase}, + {"camelBack", VariableNamer::NS_CamelBack}, + {"lower_case", VariableNamer::NS_LowerCase}, + {"UPPER_CASE", VariableNamer::NS_UpperCase}}; + return makeArrayRef(Mapping); +} + // shared matchers static const TypeMatcher AnyType() { return anything(); } @@ -483,13 +477,15 @@ LoopConvertCheck::RangeDescriptor::RangeDescriptor() LoopConvertCheck::LoopConvertCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), TUInfo(new TUTrackingInfo), MaxCopySize(Options.get("MaxCopySize", 16ULL)), - MinConfidence(Options.get("MinConfidence", Confidence::CL_Reasonable)), - NamingStyle(Options.get("NamingStyle", VariableNamer::NS_CamelCase)) {} + MinConfidence(Options.get("MinConfidence", getConfidenceMapping(), + Confidence::CL_Reasonable)), + NamingStyle(Options.get("NamingStyle", getStyleMapping(), + VariableNamer::NS_CamelCase)) {} void LoopConvertCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { Options.store(Opts, "MaxCopySize", std::to_string(MaxCopySize)); - Options.store(Opts, "MinConfidence", MinConfidence); - Options.store(Opts, "NamingStyle", NamingStyle); + Options.store(Opts, "MinConfidence", MinConfidence, getConfidenceMapping()); + Options.store(Opts, "NamingStyle", NamingStyle, getStyleMapping()); } void LoopConvertCheck::registerMatchers(MatchFinder *Finder) { |