================ @@ -0,0 +1,97 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "UseBulkInsertCheck.h" +#include "clang/ASTMatchers/ASTMatchFinder.h" +#include "clang/Lex/Lexer.h" + +using namespace clang::ast_matchers; + +namespace clang::tidy::misc { + +void UseBulkInsertCheck::registerMatchers(MatchFinder *Finder) { + Finder->addMatcher( + cxxForRangeStmt( + hasLoopVariable(varDecl().bind("loop_var")), + hasRangeInit(expr().bind("range")), + hasBody(compoundStmt( + statementCountIs(1), + hasAnySubstatement(cxxMemberCallExpr( + callee(memberExpr( + ofClass(cxxRecordDecl(hasAnyName( + "::std::set", "::std::map", "::std::multiset", ---------------- ayyYoSam wrote:
Makes sense. I'll keep the current implementation focused on standard associative containers for now. If Mainteiner (who will be doing the review) agrees, we can add an option for custom containers (such as Boost containers) as a follow-up improvement in a new Pull Request or in this one right here. https://github.com/llvm/llvm-project/pull/226742 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
