clang-tools  14.0.0git
Public Member Functions | Protected Member Functions | List of all members
clang::tidy::modernize::MakeSharedCheck Class Reference

Replace the pattern: More...

#include <MakeSharedCheck.h>

Inheritance diagram for clang::tidy::modernize::MakeSharedCheck:
Inheritance graph
[legend]
Collaboration diagram for clang::tidy::modernize::MakeSharedCheck:
Collaboration graph
[legend]

Public Member Functions

 MakeSharedCheck (StringRef Name, ClangTidyContext *Context)
 
- Public Member Functions inherited from clang::tidy::modernize::MakeSmartPtrCheck
 MakeSmartPtrCheck (StringRef Name, ClangTidyContext *Context, StringRef MakeSmartPtrFunctionName)
 
void registerMatchers (ast_matchers::MatchFinder *Finder) final
 Override this to register AST matchers with Finder. More...
 
void registerPPCallbacks (const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) override
 Override this to register PPCallbacks in the preprocessor. More...
 
void check (const ast_matchers::MatchFinder::MatchResult &Result) final
 ClangTidyChecks that register ASTMatchers should do the actual work in here. More...
 
void storeOptions (ClangTidyOptions::OptionMap &Opts) override
 Should store all options supported by this check with their current values or default values for options that haven't been overridden. More...
 
- Public Member Functions inherited from clang::tidy::ClangTidyCheck
 ClangTidyCheck (StringRef CheckName, ClangTidyContext *Context)
 Initializes the check with CheckName and Context. More...
 
DiagnosticBuilder diag (SourceLocation Loc, StringRef Description, DiagnosticIDs::Level Level=DiagnosticIDs::Warning)
 Add a diagnostic with the check's name. More...
 
DiagnosticBuilder diag (StringRef Description, DiagnosticIDs::Level Level=DiagnosticIDs::Warning)
 Add a diagnostic with the check's name. More...
 
DiagnosticBuilder configurationDiag (StringRef Description, DiagnosticIDs::Level Level=DiagnosticIDs::Warning) const
 Adds a diagnostic to report errors in the check's configuration. More...
 

Protected Member Functions

SmartPtrTypeMatcher getSmartPointerTypeMatcher () const override
 Returns matcher that match with different smart pointer types. More...
 
- Protected Member Functions inherited from clang::tidy::modernize::MakeSmartPtrCheck
bool isLanguageVersionSupported (const LangOptions &LangOpts) const override
 Returns whether the C++ version is compatible with current check. More...
 
- Protected Member Functions inherited from clang::tidy::ClangTidyCheck
StringRef getCurrentMainFile () const
 Returns the main file name of the current translation unit. More...
 
const LangOptions & getLangOpts () const
 Returns the language options from the context. More...
 

Additional Inherited Members

- Protected Types inherited from clang::tidy::modernize::MakeSmartPtrCheck
using SmartPtrTypeMatcher = ast_matchers::internal::BindableMatcher< QualType >
 
- Protected Attributes inherited from clang::tidy::ClangTidyCheck
OptionsView Options
 
- Static Protected Attributes inherited from clang::tidy::modernize::MakeSmartPtrCheck
static const char PointerType [] = "pointerType"
 

Detailed Description

Replace the pattern:

std::shared_ptr<type>(new type(args...))

With the safer version:

std::make_shared<type>(args...)

For the user-facing documentation see: http://clang.llvm.org/extra/clang-tidy/checks/modernize-make-shared.html

Definition at line 30 of file MakeSharedCheck.h.

Constructor & Destructor Documentation

◆ MakeSharedCheck()

clang::tidy::modernize::MakeSharedCheck::MakeSharedCheck ( StringRef  Name,
ClangTidyContext Context 
)

Definition at line 20 of file MakeSharedCheck.cpp.

Member Function Documentation

◆ getSmartPointerTypeMatcher()

MakeSharedCheck::SmartPtrTypeMatcher clang::tidy::modernize::MakeSharedCheck::getSmartPointerTypeMatcher ( ) const
overrideprotectedvirtual

Returns matcher that match with different smart pointer types.

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

Implements clang::tidy::modernize::MakeSmartPtrCheck.

Definition at line 24 of file MakeSharedCheck.cpp.

References clang::tidy::modernize::MakeSmartPtrCheck::PointerType.


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