clang-tools 18.0.0git
Public Member Functions | List of all members
clang::tidy::cppcoreguidelines::OwningMemoryCheck Class Reference

Checks for common use cases for gsl::owner and enforces the unique owner nature of it whenever possible. More...

#include <OwningMemoryCheck.h>

Inheritance diagram for clang::tidy::cppcoreguidelines::OwningMemoryCheck:
Inheritance graph
[legend]

Public Member Functions

 OwningMemoryCheck (StringRef Name, ClangTidyContext *Context)
 
bool isLanguageVersionSupported (const LangOptions &LangOpts) const override
 Override this to disable registering matchers and PP callbacks if an invalid language version is being used.
 
void storeOptions (ClangTidyOptions::OptionMap &Opts) override
 Make configuration of checker discoverable.
 
void registerMatchers (ast_matchers::MatchFinder *Finder) override
 Match common cases, where the owner semantic is relevant, like function calls, delete expressions and others.
 
void check (const ast_matchers::MatchFinder::MatchResult &Result) override
 ClangTidyChecks that register ASTMatchers should do the actual work in here.
 
std::optional< TraversalKind > getCheckTraversalKind () const override
 
- Public Member Functions inherited from clang::tidy::ClangTidyCheck
 ClangTidyCheck (StringRef CheckName, ClangTidyContext *Context)
 Initializes the check with CheckName and Context.
 
virtual bool isLanguageVersionSupported (const LangOptions &LangOpts) const
 Override this to disable registering matchers and PP callbacks if an invalid language version is being used.
 
virtual void registerPPCallbacks (const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP)
 Override this to register PPCallbacks in the preprocessor.
 
virtual void registerMatchers (ast_matchers::MatchFinder *Finder)
 Override this to register AST matchers with Finder.
 
virtual void check (const ast_matchers::MatchFinder::MatchResult &Result)
 ClangTidyChecks that register ASTMatchers should do the actual work in here.
 
DiagnosticBuilder diag (SourceLocation Loc, StringRef Description, DiagnosticIDs::Level Level=DiagnosticIDs::Warning)
 Add a diagnostic with the check's name.
 
DiagnosticBuilder diag (StringRef Description, DiagnosticIDs::Level Level=DiagnosticIDs::Warning)
 Add a diagnostic with the check's name.
 
DiagnosticBuilder configurationDiag (StringRef Description, DiagnosticIDs::Level Level=DiagnosticIDs::Warning) const
 Adds a diagnostic to report errors in the check's configuration.
 
virtual void storeOptions (ClangTidyOptions::OptionMap &Options)
 Should store all options supported by this check with their current values or default values for options that haven't been overridden.
 

Additional Inherited Members

- Protected Member Functions inherited from clang::tidy::ClangTidyCheck
StringRef getCurrentMainFile () const
 Returns the main file name of the current translation unit.
 
const LangOptions & getLangOpts () const
 Returns the language options from the context.
 
bool areDiagsSelfContained () const
 Returns true when the check is run in a use case when only 1 fix will be applied at a time.
 
StringRef getID () const override
 
- Protected Attributes inherited from clang::tidy::ClangTidyCheck
OptionsView Options
 

Detailed Description

Checks for common use cases for gsl::owner and enforces the unique owner nature of it whenever possible.

For the user-facing documentation see: http://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines/owning-memory.html

Definition at line 21 of file OwningMemoryCheck.h.

Constructor & Destructor Documentation

◆ OwningMemoryCheck()

clang::tidy::cppcoreguidelines::OwningMemoryCheck::OwningMemoryCheck ( StringRef  Name,
ClangTidyContext Context 
)
inline

Definition at line 23 of file OwningMemoryCheck.h.

Member Function Documentation

◆ check()

void clang::tidy::cppcoreguidelines::OwningMemoryCheck::check ( const ast_matchers::MatchFinder::MatchResult &  Result)
overridevirtual

ClangTidyChecks that register ASTMatchers should do the actual work in here.

Reimplemented from clang::tidy::ClangTidyCheck.

Definition at line 167 of file OwningMemoryCheck.cpp.

◆ getCheckTraversalKind()

std::optional< TraversalKind > clang::tidy::cppcoreguidelines::OwningMemoryCheck::getCheckTraversalKind ( ) const
inlineoverride

Definition at line 40 of file OwningMemoryCheck.h.

◆ isLanguageVersionSupported()

bool clang::tidy::cppcoreguidelines::OwningMemoryCheck::isLanguageVersionSupported ( const LangOptions &  LangOpts) const
inlineoverridevirtual

Override this to disable registering matchers and PP callbacks if an invalid language version is being used.

For example if a check is examining overloaded functions then this should be overridden to return false when the CPlusPlus flag is not set in LangOpts.

Reimplemented from clang::tidy::ClangTidyCheck.

Definition at line 31 of file OwningMemoryCheck.h.

◆ registerMatchers()

void clang::tidy::cppcoreguidelines::OwningMemoryCheck::registerMatchers ( ast_matchers::MatchFinder *  Finder)
overridevirtual

Match common cases, where the owner semantic is relevant, like function calls, delete expressions and others.

Reimplemented from clang::tidy::ClangTidyCheck.

Definition at line 29 of file OwningMemoryCheck.cpp.

References clang::tidy::utils::options::parseStringList().

◆ storeOptions()

void clang::tidy::cppcoreguidelines::OwningMemoryCheck::storeOptions ( ClangTidyOptions::OptionMap Opts)
overridevirtual

Make configuration of checker discoverable.

Reimplemented from clang::tidy::ClangTidyCheck.

Definition at line 22 of file OwningMemoryCheck.cpp.

References clang::tidy::ClangTidyCheck::Options, and clang::tidy::ClangTidyCheck::OptionsView::store().


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