diff options
author | Etienne Bergeron <etienneb@google.com> | 2016-05-10 15:31:15 +0000 |
---|---|---|
committer | Etienne Bergeron <etienneb@google.com> | 2016-05-10 15:31:15 +0000 |
commit | 6fce394f709ce4f6ec9c7d0b01ecf859a58ecdff (patch) | |
tree | 864a19f42557522c648c714b1323c7a28734061d /clang-tidy/performance | |
parent | 68b67631e4f3b6723eb0741712a7e74110b4fe75 (diff) |
[clang-tidy] Lift parsing of sequence of names functions to utils.
Summary:
Lift some common code used by multiple checkers.
This function is also used by checkers that are coming.
It is quite common for a checker to parse a list of names.
Reviewers: alexfh
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D19846
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269065 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'clang-tidy/performance')
-rw-r--r-- | clang-tidy/performance/FasterStringFindCheck.cpp | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/clang-tidy/performance/FasterStringFindCheck.cpp b/clang-tidy/performance/FasterStringFindCheck.cpp index ea43d352..893458f4 100644 --- a/clang-tidy/performance/FasterStringFindCheck.cpp +++ b/clang-tidy/performance/FasterStringFindCheck.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// #include "FasterStringFindCheck.h" +#include "../utils/OptionsUtils.h" #include "clang/AST/ASTContext.h" #include "clang/ASTMatchers/ASTMatchFinder.h" #include "llvm/ADT/Optional.h" @@ -21,20 +22,6 @@ namespace performance { namespace { -static const char StringLikeClassesDelimiter[] = ";"; - -std::vector<std::string> ParseClasses(StringRef Option) { - SmallVector<StringRef, 4> Classes; - Option.split(Classes, StringLikeClassesDelimiter); - std::vector<std::string> Result; - for (StringRef &Class : Classes) { - Class = Class.trim(); - if (!Class.empty()) - Result.push_back(Class); - } - return Result; -} - llvm::Optional<std::string> MakeCharacterLiteral(const StringLiteral *Literal) { std::string Result; { @@ -64,14 +51,13 @@ AST_MATCHER_FUNCTION(ast_matchers::internal::Matcher<Expr>, FasterStringFindCheck::FasterStringFindCheck(StringRef Name, ClangTidyContext *Context) : ClangTidyCheck(Name, Context), - StringLikeClasses( - ParseClasses(Options.get("StringLikeClasses", "std::basic_string"))) { + StringLikeClasses(utils::options::parseStringList( + Options.get("StringLikeClasses", "std::basic_string"))) { } void FasterStringFindCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { Options.store(Opts, "StringLikeClasses", - llvm::join(StringLikeClasses.begin(), StringLikeClasses.end(), - StringLikeClassesDelimiter)); + utils::options::serializeStringList(StringLikeClasses)); } void FasterStringFindCheck::registerMatchers(MatchFinder *Finder) { |