clang-tools
15.0.0git
|
Finds and fixes header guards that do not adhere to LLVM style. More...
#include <HeaderGuardCheck.h>
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... | |
![]() | |
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... | |
![]() | |
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 | |
![]() | |
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... | |
![]() | |
OptionsView | Options |
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:
HeaderFileExtensions
: a semicolon-separated list of filename extensions of header files (The filename extension should not contain "." prefix). ";h;hh;hpp;hxx" by default.
For extension-less header files, using an empty string or leaving an empty string between ";" if there are other filename extensions.
Definition at line 28 of file HeaderGuardCheck.h.
clang::tidy::llvm_check::LLVMHeaderGuardCheck::LLVMHeaderGuardCheck | ( | StringRef | Name, |
ClangTidyContext * | Context | ||
) |
Definition at line 17 of file HeaderGuardCheck.cpp.
|
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().
|
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.