1//===--- SharedPtrArrayMismatchCheck.cpp - clang-tidy ---------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "SharedPtrArrayMismatchCheck.h"
10
11using namespace clang::ast_matchers;
12
13namespace clang::tidy::bugprone {
14
15SharedPtrArrayMismatchCheck::SharedPtrArrayMismatchCheck(
16 StringRef Name, ClangTidyContext *Context)
17 : SmartPtrArrayMismatchCheck(Name, Context, "shared") {}
18
19SharedPtrArrayMismatchCheck::SmartPtrClassMatcher
20SharedPtrArrayMismatchCheck::getSmartPointerClassMatcher() const {
21 return classTemplateSpecializationDecl(
22 hasName(Name: "::std::shared_ptr"), templateArgumentCountIs(N: 1),
23 hasTemplateArgument(
24 N: 0, InnerMatcher: templateArgument(refersToType(InnerMatcher: qualType().bind(ID: PointerTypeN)))));
25}
26
27} // namespace clang::tidy::bugprone
28

source code of clang-tools-extra/clang-tidy/bugprone/SharedPtrArrayMismatchCheck.cpp