clang-tools 19.0.0git
Public Member Functions | List of all members
clang::tidy::bugprone::ReservedIdentifierCheck Class Referencefinal

Checks for usages of identifiers reserved for use by the implementation. More...

#include <ReservedIdentifierCheck.h>

Inheritance diagram for clang::tidy::bugprone::ReservedIdentifierCheck:
Inheritance graph
[legend]

Public Member Functions

 ReservedIdentifierCheck (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.
 
- Public Member Functions inherited from clang::tidy::RenamerClangTidyCheck
 RenamerClangTidyCheck (StringRef CheckName, ClangTidyContext *Context)
 
 ~RenamerClangTidyCheck ()
 
void registerMatchers (ast_matchers::MatchFinder *Finder) final
 Derived classes should not implement any matching logic themselves; this class will do the matching and call the derived class' getDeclFailureInfo() and getMacroFailureInfo() for determining whether a given identifier passes or fails the check.
 
void check (const ast_matchers::MatchFinder::MatchResult &Result) final
 ClangTidyChecks that register ASTMatchers should do the actual work in here.
 
void registerPPCallbacks (const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) final
 Override this to register PPCallbacks in the preprocessor.
 
void onEndOfTranslationUnit () final
 
void storeOptions (ClangTidyOptions::OptionMap &Opts) override
 Derived classes that override this function should call this method from the overridden method.
 
void checkMacro (const Token &MacroNameTok, const MacroInfo *MI, const SourceManager &SourceMgr)
 Check Macros for style violations.
 
void expandMacro (const Token &MacroNameTok, const MacroInfo *MI, const SourceManager &SourceMgr)
 Add a usage of a macro if it already has a violation.
 
void addUsage (const RenamerClangTidyCheck::NamingCheckId &Decl, SourceRange Range, const SourceManager &SourceMgr)
 
void addUsage (const NamedDecl *Decl, SourceRange Range, const SourceManager &SourceMgr)
 Convenience method when the usage to be added is a NamedDecl.
 
void checkNamedDecl (const NamedDecl *Decl, const SourceManager &SourceMgr)
 
- 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

- Public Types inherited from clang::tidy::RenamerClangTidyCheck
enum class  ShouldFixStatus {
  ShouldFix , ConflictsWithKeyword , ConflictsWithMacroDefinition , FixInvalidIdentifier ,
  IgnoreFailureThreshold , InsideMacro
}
 This enum will be used in select of the diagnostic message. More...
 
using NamingCheckId = std::pair< SourceLocation, StringRef >
 
using NamingCheckFailureMap = llvm::DenseMap< NamingCheckId, NamingCheckFailure >
 
virtual std::optional< FailureInfogetDeclFailureInfo (const NamedDecl *Decl, const SourceManager &SM) const =0
 Overridden by derived classes, returns information about if and how a Decl failed the check.
 
virtual std::optional< FailureInfogetMacroFailureInfo (const Token &MacroNameTok, const SourceManager &SM) const =0
 Overridden by derived classes, returns information about if and how a macro failed the check.
 
virtual DiagInfo getDiagInfo (const NamingCheckId &ID, const NamingCheckFailure &Failure) const =0
 Overridden by derived classes, returns a description of the diagnostic that should be emitted for the given failure.
 
- 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 usages of identifiers reserved for use by the implementation.

The C and C++ standards both reserve the following names for such use:

The C standard additionally reserves names beginning with a double underscore, while the C++ standard strengthens this to reserve names with a double underscore occurring anywhere.

For the user-facing documentation see: http://clang.llvm.org/extra/clang-tidy/checks/bugprone/reserved-identifier.html

Definition at line 31 of file ReservedIdentifierCheck.h.

Constructor & Destructor Documentation

◆ ReservedIdentifierCheck()

clang::tidy::bugprone::ReservedIdentifierCheck::ReservedIdentifierCheck ( StringRef  Name,
ClangTidyContext Context 
)

Definition at line 58 of file ReservedIdentifierCheck.cpp.

Member Function Documentation

◆ storeOptions()

void clang::tidy::bugprone::ReservedIdentifierCheck::storeOptions ( ClangTidyOptions::OptionMap Options)
overridevirtual

Should store all options supported by this check with their current values or default values for options that haven't been overridden.

The check should use Options.store() to store each option it supports whether it has the default value or it has been overridden.

Reimplemented from clang::tidy::ClangTidyCheck.

Definition at line 66 of file ReservedIdentifierCheck.cpp.

References clang::tidy::ClangTidyCheck::Options, clang::tidy::utils::options::serializeStringList(), clang::tidy::ClangTidyCheck::OptionsView::store(), and clang::tidy::RenamerClangTidyCheck::storeOptions().


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