aaron.ballman added inline comments.
================ Comment at: clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp:22 +namespace { +auto hasAnyWhitelistedName(const std::string &Names) { + const std::vector<std::string> NameList = ---------------- ================ Comment at: clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp:23-24 +auto hasAnyWhitelistedName(const std::string &Names) { + const std::vector<std::string> NameList = + utils::options::parseStringList(Names); + return hasAnyName(std::vector<StringRef>(NameList.begin(), NameList.end())); ---------------- It's unfortunate that this is parsing the list of names each time -- I think we should parse the string list one time and pass a container in to this function rather than doing the split every time we encounter a constructor. ================ Comment at: clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp:102 if (const auto *Conversion = - Result.Nodes.getNodeAs<CXXConversionDecl>("conversion")) { + Result.Nodes.getNodeAs<CXXConversionDecl>("conversion")) { if (Conversion->isOutOfLine()) ---------------- Unintended formatting change? ================ Comment at: clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.h:28 + : ClangTidyCheck(Name, Context), + ConstructorWhitelist(Options.get("ConstructorWhitelist", "")) {} + void storeOptions(ClangTidyOptions::OptionMap &Opts) override; ---------------- The community has recently been switching away from "whitelist" and "blacklist" terminology, so I'd recommend changing this to `IgnoredConstructors`. Should conversion operators also have an allow list? (The core guideline doesn't mention it, but I'm wondering about code that wants an implicit conversion in a particular case and how they should silence the diagnostic in that case.) ================ Comment at: clang-tools-extra/test/clang-tidy/checkers/google-explicit-constructor-constructorwhitelist-option.cpp:11 +// RUN: ]}' + +struct A { ---------------- It looks like there are no tests for conversion operators -- those should be added. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102779/new/ https://reviews.llvm.org/D102779 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits