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

This checker is concerned with C-style memory management and suggest modern alternatives to it. More...

#include <NoMallocCheck.h>

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

Public Member Functions

 NoMallocCheck (StringRef Name, ClangTidyContext *Context)
 Construct Checker and read in configuration for function names.
 
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
 Registering for malloc, calloc, realloc and free calls.
 
void check (const ast_matchers::MatchFinder::MatchResult &Result) override
 Checks matched function calls and gives suggestion to modernize the code.
 
- 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

This checker is concerned with C-style memory management and suggest modern alternatives to it.

The check is only enabled in C++. For analyzing malloc calls see Clang Static Analyzer - unix.Malloc.

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

Definition at line 23 of file NoMallocCheck.h.

Constructor & Destructor Documentation

◆ NoMallocCheck()

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

Construct Checker and read in configuration for function names.

Definition at line 26 of file NoMallocCheck.h.

Member Function Documentation

◆ check()

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

Checks matched function calls and gives suggestion to modernize the code.

Reimplemented from clang::tidy::ClangTidyCheck.

Definition at line 51 of file NoMallocCheck.cpp.

References clang::tidy::ClangTidyCheck::diag().

◆ isLanguageVersionSupported()

bool clang::tidy::cppcoreguidelines::NoMallocCheck::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 32 of file NoMallocCheck.h.

◆ registerMatchers()

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

Registering for malloc, calloc, realloc and free calls.

Reimplemented from clang::tidy::ClangTidyCheck.

Definition at line 29 of file NoMallocCheck.cpp.

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

◆ storeOptions()

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

Make configuration of checker discoverable.

Reimplemented from clang::tidy::ClangTidyCheck.

Definition at line 23 of file NoMallocCheck.cpp.

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


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