================ @@ -15,26 +15,26 @@ using namespace clang::ast_matchers; namespace clang::tidy::readability { void ContainerContainsCheck::registerMatchers(MatchFinder *Finder) { - const auto SupportedContainers = hasType( - hasUnqualifiedDesugaredType(recordType(hasDeclaration(cxxRecordDecl( - hasAnyName("::std::set", "::std::unordered_set", "::std::map", - "::std::unordered_map", "::std::multiset", - "::std::unordered_multiset", "::std::multimap", - "::std::unordered_multimap")))))); + const auto HasContainsMethod = hasMethod( + cxxMethodDecl(isConst(), returns(booleanType()), hasName("contains"))); + const auto ContainerWithContains = hasType( + hasUnqualifiedDesugaredType(recordType(hasDeclaration(cxxRecordDecl(anyOf( + HasContainsMethod, hasAnyBase(hasType(hasCanonicalType(hasDeclaration( + cxxRecordDecl(HasContainsMethod))))))))))); ---------------- EugeneZelenko wrote:
And return type is `bool`. https://github.com/llvm/llvm-project/pull/107521 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits