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

Suggests switching the initialization pattern of absl::Cleanup instances from the factory function to class template argument deduction (CTAD), in C++17 and higher. More...

#include <CleanupCtadCheck.h>

Inheritance diagram for clang::tidy::abseil::CleanupCtadCheck:
Inheritance graph
[legend]

Public Member Functions

 CleanupCtadCheck (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.
 
- Public Member Functions inherited from clang::tidy::utils::TransformerClangTidyCheck
 TransformerClangTidyCheck (StringRef Name, ClangTidyContext *Context)
 
 TransformerClangTidyCheck (std::function< std::optional< transformer::RewriteRuleWith< std::string > >(const LangOptions &, const OptionsView &)> MakeRule, StringRef Name, ClangTidyContext *Context)
 DEPRECATED: prefer the two argument constructor in conjunction with setRule.
 
 TransformerClangTidyCheck (transformer::RewriteRuleWith< std::string > R, StringRef Name, ClangTidyContext *Context)
 Convenience overload of the constructor when the rule doesn't have any dependencies.
 
void registerPPCallbacks (const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) override
 Override this to register PPCallbacks in the preprocessor.
 
void registerMatchers (ast_matchers::MatchFinder *Finder) final
 Override this to register AST matchers with Finder.
 
void check (const ast_matchers::MatchFinder::MatchResult &Result) final
 ClangTidyChecks that register ASTMatchers should do the actual work in here.
 
void storeOptions (ClangTidyOptions::OptionMap &Opts) override
 Derived classes that override this function should call this method from the overridden method.
 
void setRule (transformer::RewriteRuleWith< std::string > R)
 Set the rule that this check implements.
 
- 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

Suggests switching the initialization pattern of absl::Cleanup instances from the factory function to class template argument deduction (CTAD), in C++17 and higher.

For the user-facing documentation see: http://clang.llvm.org/extra/clang-tidy/checks/abseil/cleanup-ctad.html

Definition at line 22 of file CleanupCtadCheck.h.

Constructor & Destructor Documentation

◆ CleanupCtadCheck()

clang::tidy::abseil::CleanupCtadCheck::CleanupCtadCheck ( StringRef  Name,
ClangTidyContext Context 
)

Definition at line 40 of file CleanupCtadCheck.cpp.

Member Function Documentation

◆ isLanguageVersionSupported()

bool clang::tidy::abseil::CleanupCtadCheck::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 26 of file CleanupCtadCheck.h.


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