llvm/clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp

//===--- UseEmplaceCheck.cpp - clang-tidy----------------------------------===//
//
// 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 "UseEmplaceCheck.h"
#include "../utils/OptionsUtils.h"
usingnamespaceclang::ast_matchers;

namespace clang::tidy::modernize {

namespace {
AST_MATCHER_P(InitListExpr, initCountLeq, unsigned, N) {}

// Identical to hasAnyName, except it does not take template specifiers into
// account. This is used to match the functions names as in
// DefaultEmplacyFunctions below without caring about the template types of the
// containers.
AST_MATCHER_P(NamedDecl, hasAnyNameIgnoringTemplates, std::vector<StringRef>,
              Names) {}

// Checks if the given matcher is the last argument of the given CallExpr.
AST_MATCHER_P(CallExpr, hasLastArgument,
              clang::ast_matchers::internal::Matcher<Expr>, InnerMatcher) {}

// Checks if the given member call has the same number of arguments as the
// function had parameters defined (this is useful to check if there is only one
// variadic argument).
AST_MATCHER(CXXMemberCallExpr, hasSameNumArgsAsDeclNumParams) {}

AST_MATCHER(DeclRefExpr, hasExplicitTemplateArgs) {}

// Helper Matcher which applies the given QualType Matcher either directly or by
// resolving a pointer type to its pointee. Used to match v.push_back() as well
// as p->push_back().
auto hasTypeOrPointeeType(
    const ast_matchers::internal::Matcher<QualType> &TypeMatcher) {}

// Matches if the node has canonical type matching any of the given names.
auto hasWantedType(llvm::ArrayRef<StringRef> TypeNames) {}

// Matches member call expressions of the named method on the listed container
// types.
auto cxxMemberCallExprOnContainer(
    StringRef MethodName, llvm::ArrayRef<StringRef> ContainerNames) {}

const auto DefaultContainersWithPushBack =;
const auto DefaultContainersWithPush =;
const auto DefaultContainersWithPushFront =;
const auto DefaultSmartPointers =;
const auto DefaultTupleTypes =;
const auto DefaultTupleMakeFunctions =;
const auto DefaultEmplacyFunctions =;
} // namespace

UseEmplaceCheck::UseEmplaceCheck(StringRef Name, ClangTidyContext *Context)
    :{}

void UseEmplaceCheck::registerMatchers(MatchFinder *Finder) {}

void UseEmplaceCheck::check(const MatchFinder::MatchResult &Result) {}

void UseEmplaceCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {}

} // namespace clang::tidy::modernize