clang-tools  15.0.0git
Public Member Functions | List of all members
clang::tidy::llvm_check::LLVMHeaderGuardCheck Class Reference

Finds and fixes header guards that do not adhere to LLVM style. More...

#include <HeaderGuardCheck.h>

Inheritance diagram for clang::tidy::llvm_check::LLVMHeaderGuardCheck:
Inheritance graph
[legend]
Collaboration diagram for clang::tidy::llvm_check::LLVMHeaderGuardCheck:
Collaboration graph
[legend]

Public Member Functions

 LLVMHeaderGuardCheck (StringRef Name, ClangTidyContext *Context)
 
bool shouldSuggestEndifComment (StringRef Filename) override
 Returns true if the check should suggest inserting a trailing comment on the #endif of the header guard. More...
 
std::string getHeaderGuard (StringRef Filename, StringRef OldGuard) override
 Gets the canonical header guard for a file. More...
 
- Public Member Functions inherited from clang::tidy::utils::HeaderGuardCheck
 HeaderGuardCheck (StringRef Name, ClangTidyContext *Context)
 
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...
 
void registerPPCallbacks (const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) override
 Override this to register PPCallbacks in the preprocessor. More...
 
std::string sanitizeHeaderGuard (StringRef Guard)
 Ensure that the provided header guard is a non-reserved identifier. More...
 
virtual bool shouldFixHeaderGuard (StringRef Filename)
 Returns true if the check should suggest changing an existing header guard to the string returned by HeaderGuardCheck::getHeaderGuard. More...
 
virtual bool shouldSuggestToAddHeaderGuard (StringRef Filename)
 Returns true if the check should add a header guard to the file if it has none. More...
 
virtual std::string formatEndIf (StringRef HeaderGuard)
 Returns a replacement for the #endif line with a comment mentioning HeaderGuard. More...
 
- Public Member Functions inherited from clang::tidy::ClangTidyCheck
 ClangTidyCheck (StringRef CheckName, ClangTidyContext *Context)
 Initializes the check with CheckName and Context. More...
 
virtual bool isLanguageVersionSupported (const LangOptions &LangOpts) const
 Override this to disable registering matchers and PP callbacks if an invalid language version is being used. More...
 
virtual void registerMatchers (ast_matchers::MatchFinder *Finder)
 Override this to register AST matchers with Finder. More...
 
virtual void check (const ast_matchers::MatchFinder::MatchResult &Result)
 ClangTidyChecks that register ASTMatchers should do the actual work in here. 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...
 

Additional Inherited Members

- 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...
 
bool areDiagsSelfContained () const
 Returns true when the check is run in a use case when only 1 fix will be applied at a time. More...
 
- Protected Attributes inherited from clang::tidy::ClangTidyCheck
OptionsView Options
 

Detailed Description

Finds and fixes header guards that do not adhere to LLVM style.

For the user-facing documentation see: http://clang.llvm.org/extra/clang-tidy/checks/llvm/header-guard.html The check supports these options:

Definition at line 28 of file HeaderGuardCheck.h.

Constructor & Destructor Documentation

◆ LLVMHeaderGuardCheck()

clang::tidy::llvm_check::LLVMHeaderGuardCheck::LLVMHeaderGuardCheck ( StringRef  Name,
ClangTidyContext Context 
)

Definition at line 17 of file HeaderGuardCheck.cpp.

Member Function Documentation

◆ getHeaderGuard()

std::string clang::tidy::llvm_check::LLVMHeaderGuardCheck::getHeaderGuard ( StringRef  Filename,
StringRef  OldGuard 
)
overridevirtual

Gets the canonical header guard for a file.

Implements clang::tidy::utils::HeaderGuardCheck.

Definition at line 21 of file HeaderGuardCheck.cpp.

References Filename, and clang::clangd::replace().

◆ shouldSuggestEndifComment()

bool clang::tidy::llvm_check::LLVMHeaderGuardCheck::shouldSuggestEndifComment ( StringRef  Filename)
inlineoverridevirtual

Returns true if the check should suggest inserting a trailing comment on the #endif of the header guard.

It will use the same name as returned by HeaderGuardCheck::getHeaderGuard.

Reimplemented from clang::tidy::utils::HeaderGuardCheck.

Definition at line 32 of file HeaderGuardCheck.h.


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