brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 2071955 Raw
31 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 "MakeSharedCheck.h"10 11// FixItHint - Hint to check documentation script to mark this check as12// providing a FixIt.13 14using namespace clang::ast_matchers;15 16namespace clang::tidy::modernize {17 18MakeSharedCheck::MakeSharedCheck(StringRef Name, ClangTidyContext *Context)19    : MakeSmartPtrCheck(Name, Context, "std::make_shared") {}20 21MakeSharedCheck::SmartPtrTypeMatcher22MakeSharedCheck::getSmartPointerTypeMatcher() const {23  return qualType(hasUnqualifiedDesugaredType(24      recordType(hasDeclaration(classTemplateSpecializationDecl(25          hasName("::std::shared_ptr"), templateArgumentCountIs(1),26          hasTemplateArgument(0, templateArgument(refersToType(27                                     qualType().bind(PointerType)))))))));28}29 30} // namespace clang::tidy::modernize31