28 lines · cpp
1//===----------------------------------------------------------------------===//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-exception6//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::SmartPtrClassMatcher20SharedPtrArrayMismatchCheck::getSmartPointerClassMatcher() const {21 return classTemplateSpecializationDecl(22 hasName("::std::shared_ptr"), templateArgumentCountIs(1),23 hasTemplateArgument(24 0, templateArgument(refersToType(qualType().bind(PointerTypeN)))));25}26 27} // namespace clang::tidy::bugprone28