clang-tools 22.0.0git
clang::tidy::modernize::MakeSmartPtrCheck Class Referenceabstract

Base class for MakeSharedCheck and MakeUniqueCheck. More...

#include <MakeSmartPtrCheck.h>

Inheritance diagram for clang::tidy::modernize::MakeSmartPtrCheck:
[legend]

Public Member Functions

 MakeSmartPtrCheck (StringRef Name, ClangTidyContext *Context, StringRef MakeSmartPtrFunctionName)
void registerMatchers (ast_matchers::MatchFinder *Finder) final
void registerPPCallbacks (const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) override
void check (const ast_matchers::MatchFinder::MatchResult &Result) final
void storeOptions (ClangTidyOptions::OptionMap &Opts) override

Protected Types

using SmartPtrTypeMatcher = ast_matchers::internal::BindableMatcher<QualType>

Protected Member Functions

virtual SmartPtrTypeMatcher getSmartPointerTypeMatcher () const =0
 Returns matcher that match with different smart pointer types.
bool isLanguageVersionSupported (const LangOptions &LangOpts) const override
 Returns whether the C++ version is compatible with current check.

Static Protected Attributes

static const char PointerType [] = "pointerType"

Detailed Description

Base class for MakeSharedCheck and MakeUniqueCheck.

Definition at line 22 of file MakeSmartPtrCheck.h.

Member Typedef Documentation

◆ SmartPtrTypeMatcher

using clang::tidy::modernize::MakeSmartPtrCheck::SmartPtrTypeMatcher = ast_matchers::internal::BindableMatcher<QualType>
protected

Definition at line 33 of file MakeSmartPtrCheck.h.

Constructor & Destructor Documentation

◆ MakeSmartPtrCheck()

clang::tidy::modernize::MakeSmartPtrCheck::MakeSmartPtrCheck ( StringRef Name,
ClangTidyContext * Context,
StringRef MakeSmartPtrFunctionName )

Member Function Documentation

◆ check()

void clang::tidy::modernize::MakeSmartPtrCheck::check ( const ast_matchers::MatchFinder::MatchResult & Result)
final

◆ getSmartPointerTypeMatcher()

virtual SmartPtrTypeMatcher clang::tidy::modernize::MakeSmartPtrCheck::getSmartPointerTypeMatcher ( ) const
protectedpure virtual

Returns matcher that match with different smart pointer types.

Requires to bind pointer type (qualType) with PointerType string declared in this class.

Implemented in clang::tidy::modernize::MakeSharedCheck, and clang::tidy::modernize::MakeUniqueCheck.

Referenced by registerMatchers().

◆ isLanguageVersionSupported()

bool clang::tidy::modernize::MakeSmartPtrCheck::isLanguageVersionSupported ( const LangOptions & LangOpts) const
overrideprotected

Returns whether the C++ version is compatible with current check.

Definition at line 62 of file MakeSmartPtrCheck.cpp.

◆ registerMatchers()

void clang::tidy::modernize::MakeSmartPtrCheck::registerMatchers ( ast_matchers::MatchFinder * Finder)
final

◆ registerPPCallbacks()

void clang::tidy::modernize::MakeSmartPtrCheck::registerPPCallbacks ( const SourceManager & SM,
Preprocessor * PP,
Preprocessor * ModuleExpanderPP )
override

Definition at line 67 of file MakeSmartPtrCheck.cpp.

◆ storeOptions()

void clang::tidy::modernize::MakeSmartPtrCheck::storeOptions ( ClangTidyOptions::OptionMap & Opts)
override

Definition at line 53 of file MakeSmartPtrCheck.cpp.

Member Data Documentation

◆ PointerType

const char clang::tidy::modernize::MakeSmartPtrCheck::PointerType = "pointerType"
staticprotected

The documentation for this class was generated from the following files: