clang-tools 22.0.0git
clang::tidy Namespace Reference

Namespaces

namespace  abseil
namespace  altera
namespace  android
namespace  boost
namespace  bugprone
namespace  cert
namespace  concurrency
namespace  cppcoreguidelines
namespace  custom
namespace  darwin
namespace  fuchsia
namespace  google
namespace  hicpp
namespace  linuxkernel
namespace  llvm_check
namespace  llvm_libc
namespace  matchers
namespace  misc
namespace  modernize
namespace  mpi
namespace  objc
namespace  openmp
namespace  performance
namespace  portability
namespace  readability
namespace  utils
namespace  zircon

Classes

class  CachedGlobList
 A GlobList that caches search results, so that search is performed only once for the same query. More...
struct  ChecksAndOptions
class  ClangTidyASTConsumerFactory
class  ClangTidyCheckFactories
 A collection of ClangTidyCheckFactory instances. More...
class  ClangTidyContext
 Every ClangTidyCheck reports errors through a DiagnosticsEngine provided by this context. More...
class  ClangTidyDiagnosticConsumer
 A diagnostic consumer that turns each Diagnostic into a SourceManager-independent ClangTidyError. More...
struct  ClangTidyError
 A detected error complete with information to display diagnostic and automatic fix. More...
struct  ClangTidyGlobalOptions
 Global options. More...
class  ClangTidyModule
 A clang-tidy module groups a number of ClangTidyChecks and gives them a prefixed name. More...
struct  ClangTidyOptions
 Contains options for clang-tidy. More...
class  ClangTidyOptionsProvider
 Abstract interface for retrieving various ClangTidy options. More...
class  ClangTidyPluginAction
 The core clang tidy plugin action. More...
class  ClangTidyProfiling
struct  ClangTidyStats
 Contains displayed and ignored diagnostic counters for a ClangTidy run. More...
class  ConfigOptionsProvider
 Implementation of ClangTidyOptions interface, which is used for '-config' command-line option. More...
class  DefaultOptionsProvider
 Implementation of the ClangTidyOptionsProvider interface, which returns the same options for all files. More...
struct  FileFilter
 Contains a list of line ranges in a single file. More...
class  FileOptionsBaseProvider
class  FileOptionsProvider
 Implementation of the ClangTidyOptionsProvider interface, which tries to find a configuration file in the closest parent directory of each source file. More...
class  GlobList
 Read-only set of strings represented as a list of positive and negative globs. More...
class  NoLintDirectiveHandler
 This class is used to locate NOLINT comments in the file being analyzed, to decide whether a diagnostic should be suppressed. More...
struct  OptionEnumMapping
 This class should be specialized by any enum type that needs to be converted to and from an llvm::StringRef. More...
struct  OptionEnumMapping< bugprone::SignalHandlerCheck::AsyncSafeFunctionSetKind >
struct  OptionEnumMapping< concurrency::MtUnsafeCheck::FunctionSet >
struct  OptionEnumMapping< cppcoreguidelines::ProBoundsAvoidUncheckedContainerAccess::FixModes >
struct  OptionEnumMapping< misc::OverrideWithDifferentVisibilityCheck::ChangeKind >
struct  OptionEnumMapping< misc::UseInternalLinkageCheck::FixModeKind >
struct  OptionEnumMapping< modernize::Confidence::Level >
struct  OptionEnumMapping< modernize::UseTrailingReturnTypeCheck::TransformLambda >
struct  OptionEnumMapping< modernize::VariableNamer::NamingStyle >
struct  OptionEnumMapping< readability::IdentifierNamingCheck::CaseType >
struct  OptionEnumMapping< readability::IdentifierNamingCheck::HungarianPrefixType >
class  RenamerClangTidyCheck
 Base class for clang-tidy checks that want to flag declarations and/or macros for renaming based on customizable criteria. More...

Typedefs

using ClangTidyModuleRegistry = llvm::Registry<ClangTidyModule>
using DiagCallback = llvm::function_ref<void(const llvm::SMDiagnostic &)>
using P = cppcoreguidelines::ProBoundsAvoidUncheckedContainerAccess
using FileExtensionsSet = llvm::SmallSet<llvm::StringRef, 5>

Enumerations

enum  FixBehaviour { FB_NoFix , FB_Fix , FB_FixNotes }
 Controls what kind of fixes clang-tidy is allowed to apply. More...
enum class  NoLintType { NoLint , NoLintNextLine , NoLintBegin , NoLintEnd }

Functions

static ClangTidyModuleRegistry::Add< altera::AlteraModuleX ("altera-module", "Adds Altera FPGA OpenCL lint checks.")
static ClangTidyModuleRegistry::Add< bugprone::BugproneModuleX ("bugprone-module", "Adds checks for bugprone code constructs.")
static ClangTidyModuleRegistry::Add< cert::CERTModuleX ("cert-module", "Adds lint checks corresponding to CERT secure coding guidelines.")
std::vector< std::string > getCheckNames (const ClangTidyOptions &Options, bool AllowEnablingAnalyzerAlphaCheckers, bool ExperimentalCustomChecks)
 Fills the list of check names that are enabled when the provided filters are applied.
void filterCheckOptions (ClangTidyOptions &Options, const std::vector< std::string > &EnabledChecks)
 Filters CheckOptions in Options to only include options specified in the EnabledChecks which is a sorted vector.
ClangTidyOptions::OptionMap getCheckOptions (const ClangTidyOptions &Options, bool AllowEnablingAnalyzerAlphaCheckers, bool ExperimentalCustomChecks)
 Returns the effective check-specific options.
std::vector< ClangTidyErrorrunClangTidy (clang::tidy::ClangTidyContext &Context, const CompilationDatabase &Compilations, ArrayRef< std::string > InputFiles, llvm::IntrusiveRefCntPtr< llvm::vfs::OverlayFileSystem > BaseFS, bool ApplyAnyFix, bool EnableCheckProfile, llvm::StringRef StoreCheckProfile, bool Quiet)
void handleErrors (llvm::ArrayRef< ClangTidyError > Errors, ClangTidyContext &Context, FixBehaviour Fix, unsigned &WarningsAsErrorsCount, llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > BaseFS)
 Displays the found Errors to the users.
void exportReplacements (const llvm::StringRef MainFilePath, const std::vector< ClangTidyError > &Errors, raw_ostream &OS)
ChecksAndOptions getAllChecksAndOptions (bool AllowEnablingAnalyzerAlphaCheckers, bool ExperimentalCustomChecks)
std::vector< ClangTidyErrorrunClangTidy (clang::tidy::ClangTidyContext &Context, const tooling::CompilationDatabase &Compilations, ArrayRef< std::string > InputFiles, llvm::IntrusiveRefCntPtr< llvm::vfs::OverlayFileSystem > BaseFS, bool ApplyAnyFix, bool EnableCheckProfile=false, llvm::StringRef StoreCheckProfile=StringRef(), bool Quiet=false)
 Run a set of clang-tidy checks on a set of files.
void exportReplacements (StringRef MainFilePath, const std::vector< ClangTidyError > &Errors, raw_ostream &OS)
 Serializes replacements into YAML and writes them to the specified output stream.
static ClangTidyOptions::OptionMap::const_iterator findPriorityOption (const ClangTidyOptions::OptionMap &Options, StringRef NamePrefix, StringRef LocalName, ClangTidyContext *Context)
static std::optional< bool > getAsBool (StringRef Value, const llvm::Twine &LookupName)
static constexpr llvm::StringLiteral ConfigWarning ("invalid configuration value '%0' for option '%1'%select{|; expected a " "bool|; expected an integer|; did you mean '%3'?}2")
const llvm::StringMap< tooling::Replacements > * getFixIt (const tooling::Diagnostic &Diagnostic, bool AnyFix)
 Gets the Fix attached to Diagnostic.
template<typename T>
static void mergeVectors (std::optional< T > &Dest, const std::optional< T > &Src)
static void mergeCommaSeparatedLists (std::optional< std::string > &Dest, const std::optional< std::string > &Src)
template<typename T>
static void overrideValue (std::optional< T > &Dest, const std::optional< T > &Src)
std::error_code parseLineFilter (StringRef LineFilter, clang::tidy::ClangTidyGlobalOptions &Options)
 Parses -line-filter option and stores it to the Options.
llvm::ErrorOr< ClangTidyOptionsparseConfiguration (llvm::MemoryBufferRef Config)
 Parses configuration from JSON and returns ClangTidyOptions or an error.
static void diagHandlerImpl (const llvm::SMDiagnostic &Diag, void *Ctx)
llvm::ErrorOr< ClangTidyOptionsparseConfigurationWithDiags (llvm::MemoryBufferRef Config, DiagCallback Handler)
std::string configurationAsText (const ClangTidyOptions &Options)
 Serializes configuration to a YAML-encoded string.
std::error_code parseLineFilter (llvm::StringRef LineFilter, ClangTidyGlobalOptions &Options)
 Parses LineFilter from JSON and stores it to the Options.
static ClangTidyModuleRegistry::Add< concurrency::ConcurrencyModuleX ("concurrency-module", "Adds concurrency checks.")
static ClangTidyModuleRegistry::Add< custom::CustomModuleX ("custom-module", "Adds custom query lint checks.")
static ClangTidyModuleRegistry::Add< darwin::DarwinModuleX ("darwin-module", "Adds Darwin-specific lint checks.")
static bool consumeNegativeIndicator (StringRef &GlobList)
static llvm::StringRef extractNextGlob (StringRef &GlobList)
static llvm::Regex createRegexFromGlob (StringRef &Glob)
static ClangTidyModuleRegistry::Add< misc::MiscModuleX ("misc-module", "Adds miscellaneous lint checks.")
static ClangTidyModuleRegistry::Add< mpi::MPIModuleX ("mpi-module", "Adds MPI clang-tidy checks.")
static std::optional< NoLintTypestrToNoLintType (StringRef Str)
static std::string trimWhitespace (StringRef Checks)
static SmallVector< NoLintToken > getNoLints (StringRef Buffer)
static tooling::Diagnostic makeNoLintError (const SourceManager &SrcMgr, FileID File, const NoLintToken &NoLint)
static SmallVector< NoLintBlockToken > formNoLintBlocks (SmallVector< NoLintToken > NoLints, const SourceManager &SrcMgr, FileID File, SmallVectorImpl< tooling::Diagnostic > &NoLintErrors)
static std::pair< size_t, size_t > getLineStartAndEnd (StringRef Buffer, size_t From)
static bool lineHasNoLint (StringRef Buffer, std::pair< size_t, size_t > LineStartAndEnd, NoLintType Type, StringRef DiagName)
static bool withinNoLintBlock (ArrayRef< NoLintBlockToken > NoLintBlocks, size_t DiagPos, StringRef DiagName)
static std::optional< StringRef > getBuffer (const SourceManager &SrcMgr, FileID File, bool AllowIO)
static void printStats (const ClangTidyStats &Stats)
static std::unique_ptr< ClangTidyOptionsProvidercreateOptionsProvider (llvm::IntrusiveRefCntPtr< vfs::FileSystem > FS)
static llvm::IntrusiveRefCntPtr< vfs::FileSystem > getVfsFromFile (const std::string &OverlayFile, llvm::IntrusiveRefCntPtr< vfs::FileSystem > BaseFS)
static StringRef closest (StringRef Value, const StringSet<> &Allowed)
static bool verifyChecks (const StringSet<> &AllChecks, StringRef CheckGlob, StringRef Source)
static bool verifyFileExtensions (const std::vector< std::string > &HeaderFileExtensions, const std::vector< std::string > &ImplementationFileExtensions, StringRef Source)
static bool verifyOptions (const llvm::StringSet<> &ValidOptions, const ClangTidyOptions::OptionMap &OptionMap, StringRef Source)
static SmallString< 256 > makeAbsolute (llvm::StringRef Input)
static llvm::IntrusiveRefCntPtr< vfs::OverlayFileSystem > createBaseFS ()
int clangTidyMain (int argc, const char **argv)
static const NamedDecl * findDecl (const RecordDecl &RecDecl, StringRef DeclName)
static const CXXMethodDecl * getOverrideMethod (const CXXMethodDecl *Method)
 Returns the function that Method is overridding.
static bool hasNoName (const NamedDecl *Decl)
static const NamedDecl * getFailureForNamedDecl (const NamedDecl *ND)
static NameLookup findDeclInBases (const CXXRecordDecl &Parent, StringRef DeclName, bool AggressiveTemplateLookup)
 Returns a decl matching the DeclName in Parent or one of its base classes.
static std::string getDiagnosticSuffix (const RenamerClangTidyCheck::ShouldFixStatus FixStatus, const std::string &Fixup)

Variables

volatile int AbseilModuleAnchorSource = 0
volatile int AlteraModuleAnchorSource = 0
volatile int AndroidModuleAnchorSource = 0
volatile int BoostModuleAnchorSource = 0
volatile int BugproneModuleAnchorSource = 0
volatile int CERTModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED AbseilModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED AlteraModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED AndroidModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED BoostModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED BugproneModuleAnchorDestination
static int LLVM_ATTRIBUTE_UNUSED CERTModuleAnchorDestination
volatile int ConcurrencyModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED ConcurrencyModuleAnchorDestination
volatile int CppCoreGuidelinesModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED CppCoreGuidelinesModuleAnchorDestination
volatile int DarwinModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED DarwinModuleAnchorDestination
volatile int FuchsiaModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED FuchsiaModuleAnchorDestination
volatile int GoogleModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED GoogleModuleAnchorDestination
volatile int HICPPModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED HICPPModuleAnchorDestination
volatile int LinuxKernelModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED LinuxKernelModuleAnchorDestination
volatile int LLVMModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED LLVMModuleAnchorDestination
volatile int LLVMLibcModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED LLVMLibcModuleAnchorDestination
volatile int MiscModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED MiscModuleAnchorDestination
volatile int ModernizeModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED ModernizeModuleAnchorDestination
volatile int ObjCModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED ObjCModuleAnchorDestination
volatile int OpenMPModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED OpenMPModuleAnchorDestination
volatile int PerformanceModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED PerformanceModuleAnchorDestination
volatile int PortabilityModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED PortabilityModuleAnchorDestination
volatile int ReadabilityModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED ReadabilityModuleAnchorDestination
volatile int ZirconModuleAnchorSource = 0
static int LLVM_ATTRIBUTE_UNUSED ZirconModuleAnchorDestination
volatile int CustomModuleAnchorSource = 0
volatile int MPIModuleAnchorSource = 0
static constexpr StringLiteral VerifyConfigWarningEnd = " [-verify-config]\n"

Typedef Documentation

◆ ClangTidyModuleRegistry

Definition at line 17 of file ClangTidyModuleRegistry.h.

◆ DiagCallback

using clang::tidy::DiagCallback = llvm::function_ref<void(const llvm::SMDiagnostic &)>

Definition at line 346 of file ClangTidyOptions.h.

◆ FileExtensionsSet

using clang::tidy::FileExtensionsSet = llvm::SmallSet<llvm::StringRef, 5>

Definition at line 16 of file FileExtensionsSet.h.

◆ P

Enumeration Type Documentation

◆ FixBehaviour

Controls what kind of fixes clang-tidy is allowed to apply.

Enumerator
FB_NoFix 

Don't try to apply any fix.

FB_Fix 

Only apply fixes added to warnings.

FB_FixNotes 

Apply fixes found in notes.

Definition at line 103 of file ClangTidy.h.

◆ NoLintType

enum class clang::tidy::NoLintType
strong
Enumerator
NoLint 
NoLintNextLine 
NoLintBegin 
NoLintEnd 

Definition at line 40 of file NoLintDirectiveHandler.cpp.

Function Documentation

◆ clangTidyMain()

int clang::tidy::clangTidyMain ( int argc,
const char ** argv )

Definition at line 382 of file ClangTidyMain.cpp.

Referenced by main().

◆ closest()

StringRef clang::tidy::closest ( StringRef Value,
const StringSet<> & Allowed )
static

Definition at line 276 of file ClangTidyMain.cpp.

References ClangTidyCategory().

◆ configurationAsText()

std::string clang::tidy::configurationAsText ( const ClangTidyOptions & Options)

Serializes configuration to a YAML-encoded string.

Definition at line 560 of file ClangTidyOptions.cpp.

Referenced by clang::clangd::ParsedAST::build().

◆ ConfigWarning()

constexpr llvm::StringLiteral clang::tidy::ConfigWarning ( "invalid configuration value '%0' for option '%1'%select{|; expected a " "bool|; expected an integer|; did you mean '%3'?}2" )
staticconstexpr

References ConfigWarning().

Referenced by ConfigWarning().

◆ consumeNegativeIndicator()

bool clang::tidy::consumeNegativeIndicator ( StringRef & GlobList)
static

Definition at line 17 of file GlobList.cpp.

Referenced by clang::tidy::GlobList::GlobList().

◆ createBaseFS()

llvm::IntrusiveRefCntPtr< vfs::OverlayFileSystem > clang::tidy::createBaseFS ( )
static

◆ createOptionsProvider()

std::unique_ptr< ClangTidyOptionsProvider > clang::tidy::createOptionsProvider ( llvm::IntrusiveRefCntPtr< vfs::FileSystem > FS)
static

Definition at line 177 of file ClangTidyMain.cpp.

References ClangTidyCategory().

◆ createRegexFromGlob()

llvm::Regex clang::tidy::createRegexFromGlob ( StringRef & Glob)
static

Definition at line 32 of file GlobList.cpp.

Referenced by clang::tidy::GlobList::GlobList().

◆ diagHandlerImpl()

void clang::tidy::diagHandlerImpl ( const llvm::SMDiagnostic & Diag,
void * Ctx )
static

Definition at line 544 of file ClangTidyOptions.cpp.

Referenced by parseConfigurationWithDiags().

◆ exportReplacements() [1/2]

void clang::tidy::exportReplacements ( const llvm::StringRef MainFilePath,
const std::vector< ClangTidyError > & Errors,
raw_ostream & OS )

Definition at line 667 of file ClangTidy.cpp.

◆ exportReplacements() [2/2]

void clang::tidy::exportReplacements ( StringRef MainFilePath,
const std::vector< ClangTidyError > & Errors,
raw_ostream & OS )

Serializes replacements into YAML and writes them to the specified output stream.

◆ extractNextGlob()

llvm::StringRef clang::tidy::extractNextGlob ( StringRef & GlobList)
static

Definition at line 25 of file GlobList.cpp.

Referenced by clang::tidy::GlobList::GlobList().

◆ filterCheckOptions()

void clang::tidy::filterCheckOptions ( ClangTidyOptions & Options,
const std::vector< std::string > & EnabledChecks )

Filters CheckOptions in Options to only include options specified in the EnabledChecks which is a sorted vector.

Definition at line 525 of file ClangTidy.cpp.

References clang::tidy::ClangTidyOptions::CheckOptions.

◆ findDecl()

const NamedDecl * clang::tidy::findDecl ( const RecordDecl & RecDecl,
StringRef DeclName )
static

Definition at line 85 of file RenamerClangTidyCheck.cpp.

Referenced by findDeclInBases().

◆ findDeclInBases()

NameLookup clang::tidy::findDeclInBases ( const CXXRecordDecl & Parent,
StringRef DeclName,
bool AggressiveTemplateLookup )
static

Returns a decl matching the DeclName in Parent or one of its base classes.

If AggressiveTemplateLookup is true then it will check template dependent base classes as well. If a matching decl is found in multiple base classes then it will return a flag indicating the multiple resolutions.

Definition at line 142 of file RenamerClangTidyCheck.cpp.

References findDecl(), and findDeclInBases().

Referenced by findDeclInBases().

◆ findPriorityOption()

ClangTidyOptions::OptionMap::const_iterator clang::tidy::findPriorityOption ( const ClangTidyOptions::OptionMap & Options,
StringRef NamePrefix,
StringRef LocalName,
ClangTidyContext * Context )
static

◆ formNoLintBlocks()

SmallVector< NoLintBlockToken > clang::tidy::formNoLintBlocks ( SmallVector< NoLintToken > NoLints,
const SourceManager & SrcMgr,
FileID File,
SmallVectorImpl< tooling::Diagnostic > & NoLintErrors )
static

Definition at line 201 of file NoLintDirectiveHandler.cpp.

References makeNoLintError(), NoLint, NoLintBegin, and NoLintEnd.

◆ getAllChecksAndOptions()

◆ getAsBool()

std::optional< bool > clang::tidy::getAsBool ( StringRef Value,
const llvm::Twine & LookupName )
static

Definition at line 93 of file ClangTidyCheck.cpp.

References getAsBool().

Referenced by getAsBool().

◆ getBuffer()

std::optional< StringRef > clang::tidy::getBuffer ( const SourceManager & SrcMgr,
FileID File,
bool AllowIO )
static

Definition at line 327 of file NoLintDirectiveHandler.cpp.

◆ getCheckNames()

std::vector< std::string > clang::tidy::getCheckNames ( const ClangTidyOptions & Options,
bool AllowEnablingAnalyzerAlphaCheckers,
bool ExperimentalCustomChecks )

Fills the list of check names that are enabled when the provided filters are applied.

Definition at line 514 of file ClangTidy.cpp.

References AllowEnablingAnalyzerAlphaCheckers(), ExperimentalCustomChecks(), and clang::tidy::ClangTidyASTConsumerFactory::getCheckNames().

◆ getCheckOptions()

ClangTidyOptions::OptionMap clang::tidy::getCheckOptions ( const ClangTidyOptions & Options,
bool AllowEnablingAnalyzerAlphaCheckers,
bool ExperimentalCustomChecks )

Returns the effective check-specific options.

The method configures ClangTidy with the specified Options and collects effective options from all created checks. The returned set of options includes default check-specific options for all keys not overridden by Options.

Definition at line 540 of file ClangTidy.cpp.

References AllowEnablingAnalyzerAlphaCheckers(), ExperimentalCustomChecks(), clang::tidy::ClangTidyASTConsumerFactory::getCheckOptions(), and clang::tidy::ClangTidyContext::setDiagnosticsEngine().

◆ getDiagnosticSuffix()

◆ getFailureForNamedDecl()

const NamedDecl * clang::tidy::getFailureForNamedDecl ( const NamedDecl * ND)
static

◆ getFixIt()

const llvm::StringMap< tooling::Replacements > * clang::tidy::getFixIt ( const tooling::Diagnostic & Diagnostic,
bool AnyFix )

Gets the Fix attached to Diagnostic.

If there isn't a Fix attached to the diagnostic and AnyFix is true, Check to see if exactly one note has a Fix and return it. Otherwise return nullptr.

Definition at line 343 of file ClangTidyDiagnosticConsumer.cpp.

◆ getLineStartAndEnd()

std::pair< size_t, size_t > clang::tidy::getLineStartAndEnd ( StringRef Buffer,
size_t From )
static

Definition at line 295 of file NoLintDirectiveHandler.cpp.

◆ getNoLints()

SmallVector< NoLintToken > clang::tidy::getNoLints ( StringRef Buffer)
static

Definition at line 111 of file NoLintDirectiveHandler.cpp.

References Checks(), and strToNoLintType().

Referenced by lineHasNoLint().

◆ getOverrideMethod()

const CXXMethodDecl * clang::tidy::getOverrideMethod ( const CXXMethodDecl * Method)
static

Returns the function that Method is overridding.

If There are none or multiple overrides it returns nullptr. If the overridden function itself is overridding then it will recurse up to find the first decl of the function.

Definition at line 99 of file RenamerClangTidyCheck.cpp.

Referenced by getFailureForNamedDecl().

◆ getVfsFromFile()

llvm::IntrusiveRefCntPtr< vfs::FileSystem > clang::tidy::getVfsFromFile ( const std::string & OverlayFile,
llvm::IntrusiveRefCntPtr< vfs::FileSystem > BaseFS )
static

Definition at line 255 of file ClangTidyMain.cpp.

References ClangTidyCategory().

◆ handleErrors()

void clang::tidy::handleErrors ( llvm::ArrayRef< ClangTidyError > Errors,
ClangTidyContext & Context,
FixBehaviour Fix,
unsigned & WarningsAsErrorsCount,
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > BaseFS )

Displays the found Errors to the users.

If Fix is FB_Fix or FB_FixNotes, Errors containing fixes are automatically applied and reformatted. If no clang-format configuration file is found, the given \P FormatStyle is used.

Definition at line 640 of file ClangTidy.cpp.

References Fix().

◆ hasNoName()

bool clang::tidy::hasNoName ( const NamedDecl * Decl)
static

◆ lineHasNoLint()

bool clang::tidy::lineHasNoLint ( StringRef Buffer,
std::pair< size_t, size_t > LineStartAndEnd,
NoLintType Type,
StringRef DiagName )
static

Definition at line 304 of file NoLintDirectiveHandler.cpp.

References getNoLints(), and NoLint.

◆ makeAbsolute()

SmallString< 256 > clang::tidy::makeAbsolute ( llvm::StringRef Input)
static

◆ makeNoLintError()

tooling::Diagnostic clang::tidy::makeNoLintError ( const SourceManager & SrcMgr,
FileID File,
const NoLintToken & NoLint )
static

Definition at line 180 of file NoLintDirectiveHandler.cpp.

References NoLint, and NoLintBegin.

Referenced by formNoLintBlocks().

◆ mergeCommaSeparatedLists()

void clang::tidy::mergeCommaSeparatedLists ( std::optional< std::string > & Dest,
const std::optional< std::string > & Src )
static

Definition at line 269 of file ClangTidyOptions.cpp.

Referenced by clang::tidy::ClangTidyOptions::mergeWith().

◆ mergeVectors()

template<typename T>
void clang::tidy::mergeVectors ( std::optional< T > & Dest,
const std::optional< T > & Src )
static

Definition at line 260 of file ClangTidyOptions.cpp.

Referenced by clang::tidy::ClangTidyOptions::mergeWith().

◆ overrideValue()

template<typename T>
void clang::tidy::overrideValue ( std::optional< T > & Dest,
const std::optional< T > & Src )
static

Definition at line 276 of file ClangTidyOptions.cpp.

Referenced by clang::tidy::ClangTidyOptions::mergeWith().

◆ parseConfiguration()

llvm::ErrorOr< ClangTidyOptions > clang::tidy::parseConfiguration ( llvm::MemoryBufferRef Config)

Parses configuration from JSON and returns ClangTidyOptions or an error.

Definition at line 535 of file ClangTidyOptions.cpp.

References Config().

Referenced by clang::tidy::FileOptionsBaseProvider::FileOptionsBaseProvider().

◆ parseConfigurationWithDiags()

llvm::ErrorOr< ClangTidyOptions > clang::tidy::parseConfigurationWithDiags ( llvm::MemoryBufferRef Config,
DiagCallback Handler )

Definition at line 549 of file ClangTidyOptions.cpp.

References Config(), and diagHandlerImpl().

◆ parseLineFilter() [1/2]

std::error_code clang::tidy::parseLineFilter ( llvm::StringRef LineFilter,
ClangTidyGlobalOptions & Options )

Parses LineFilter from JSON and stores it to the Options.

References Config(), and LineFilter().

◆ parseLineFilter() [2/2]

std::error_code clang::tidy::parseLineFilter ( StringRef LineFilter,
clang::tidy::ClangTidyGlobalOptions & Options )

Parses -line-filter option and stores it to the Options.

Definition at line 527 of file ClangTidyOptions.cpp.

References clang::tidy::ClangTidyGlobalOptions::LineFilter, and LineFilter().

◆ printStats()

void clang::tidy::printStats ( const ClangTidyStats & Stats)
static

Definition at line 148 of file ClangTidyMain.cpp.

References ClangTidyCategory().

Referenced by makeAbsolute().

◆ runClangTidy() [1/2]

std::vector< ClangTidyError > clang::tidy::runClangTidy ( clang::tidy::ClangTidyContext & Context,
const CompilationDatabase & Compilations,
ArrayRef< std::string > InputFiles,
llvm::IntrusiveRefCntPtr< llvm::vfs::OverlayFileSystem > BaseFS,
bool ApplyAnyFix,
bool EnableCheckProfile,
llvm::StringRef StoreCheckProfile,
bool Quiet )

◆ runClangTidy() [2/2]

std::vector< ClangTidyError > clang::tidy::runClangTidy ( clang::tidy::ClangTidyContext & Context,
const tooling::CompilationDatabase & Compilations,
ArrayRef< std::string > InputFiles,
llvm::IntrusiveRefCntPtr< llvm::vfs::OverlayFileSystem > BaseFS,
bool ApplyAnyFix,
bool EnableCheckProfile = false,
llvm::StringRef StoreCheckProfile = StringRef(),
bool Quiet = false )

Run a set of clang-tidy checks on a set of files.

Parameters
EnableCheckProfileIf provided, it enables check profile collection in MatchFinder, and will contain the result of the profile.
StoreCheckProfileIf provided, and EnableCheckProfile is true, the profile will not be output to stderr, but will instead be stored as a JSON file in the specified directory.

References EnableCheckProfile(), Quiet(), and StoreCheckProfile().

◆ strToNoLintType()

std::optional< NoLintType > clang::tidy::strToNoLintType ( StringRef Str)
static

Definition at line 44 of file NoLintDirectiveHandler.cpp.

References NoLint, NoLintBegin, NoLintEnd, and NoLintNextLine.

Referenced by getNoLints().

◆ trimWhitespace()

std::string clang::tidy::trimWhitespace ( StringRef Checks)
static

Definition at line 61 of file NoLintDirectiveHandler.cpp.

References Checks().

◆ verifyChecks()

bool clang::tidy::verifyChecks ( const StringSet<> & AllChecks,
StringRef CheckGlob,
StringRef Source )
static

Definition at line 291 of file ClangTidyMain.cpp.

References ClangTidyCategory().

◆ verifyFileExtensions()

bool clang::tidy::verifyFileExtensions ( const std::vector< std::string > & HeaderFileExtensions,
const std::vector< std::string > & ImplementationFileExtensions,
StringRef Source )
static

Definition at line 319 of file ClangTidyMain.cpp.

References ClangTidyCategory().

◆ verifyOptions()

bool clang::tidy::verifyOptions ( const llvm::StringSet<> & ValidOptions,
const ClangTidyOptions::OptionMap & OptionMap,
StringRef Source )
static

Definition at line 339 of file ClangTidyMain.cpp.

References ClangTidyCategory().

◆ withinNoLintBlock()

bool clang::tidy::withinNoLintBlock ( ArrayRef< NoLintBlockToken > NoLintBlocks,
size_t DiagPos,
StringRef DiagName )
static

Definition at line 319 of file NoLintDirectiveHandler.cpp.

◆ X() [1/8]

ClangTidyModuleRegistry::Add< altera::AlteraModule > clang::tidy::X ( "altera-module" ,
"Adds Altera FPGA OpenCL lint checks."  )
static

◆ X() [2/8]

ClangTidyModuleRegistry::Add< bugprone::BugproneModule > clang::tidy::X ( "bugprone-module" ,
"Adds checks for bugprone code constructs."  )
static

◆ X() [3/8]

ClangTidyModuleRegistry::Add< cert::CERTModule > clang::tidy::X ( "cert-module" ,
"Adds lint checks corresponding to CERT secure coding guidelines."  )
static

◆ X() [4/8]

ClangTidyModuleRegistry::Add< concurrency::ConcurrencyModule > clang::tidy::X ( "concurrency-module" ,
"Adds concurrency checks."  )
static

◆ X() [5/8]

ClangTidyModuleRegistry::Add< custom::CustomModule > clang::tidy::X ( "custom-module" ,
"Adds custom query lint checks."  )
static

◆ X() [6/8]

ClangTidyModuleRegistry::Add< darwin::DarwinModule > clang::tidy::X ( "darwin-module" ,
"Adds Darwin-specific lint checks."  )
static

◆ X() [7/8]

ClangTidyModuleRegistry::Add< misc::MiscModule > clang::tidy::X ( "misc-module" ,
"Adds miscellaneous lint checks."  )
static

◆ X() [8/8]

ClangTidyModuleRegistry::Add< mpi::MPIModule > clang::tidy::X ( "mpi-module" ,
"Adds MPI clang-tidy checks."  )
static

Variable Documentation

◆ AbseilModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::AbseilModuleAnchorDestination
static
Initial value:

Definition at line 19 of file ClangTidyForceLinker.h.

◆ AbseilModuleAnchorSource

volatile int clang::tidy::AbseilModuleAnchorSource = 0

Definition at line 83 of file AbseilTidyModule.cpp.

◆ AlteraModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::AlteraModuleAnchorDestination
static
Initial value:

Definition at line 24 of file ClangTidyForceLinker.h.

◆ AlteraModuleAnchorSource

volatile int clang::tidy::AlteraModuleAnchorSource = 0

Definition at line 46 of file AlteraTidyModule.cpp.

◆ AndroidModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::AndroidModuleAnchorDestination
static
Initial value:

Definition at line 29 of file ClangTidyForceLinker.h.

◆ AndroidModuleAnchorSource

volatile int clang::tidy::AndroidModuleAnchorSource = 0

Definition at line 70 of file AndroidTidyModule.cpp.

◆ BoostModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::BoostModuleAnchorDestination
static
Initial value:

Definition at line 34 of file ClangTidyForceLinker.h.

◆ BoostModuleAnchorSource

volatile int clang::tidy::BoostModuleAnchorSource = 0

Definition at line 35 of file BoostTidyModule.cpp.

◆ BugproneModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::BugproneModuleAnchorDestination
static
Initial value:

Definition at line 39 of file ClangTidyForceLinker.h.

◆ BugproneModuleAnchorSource

volatile int clang::tidy::BugproneModuleAnchorSource = 0

Definition at line 310 of file BugproneTidyModule.cpp.

◆ CERTModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::CERTModuleAnchorDestination
static
Initial value:

Definition at line 44 of file ClangTidyForceLinker.h.

◆ CERTModuleAnchorSource

volatile int clang::tidy::CERTModuleAnchorSource = 0

Definition at line 367 of file CERTTidyModule.cpp.

◆ ConcurrencyModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::ConcurrencyModuleAnchorDestination
static
Initial value:

Definition at line 49 of file ClangTidyForceLinker.h.

◆ ConcurrencyModuleAnchorSource

volatile int clang::tidy::ConcurrencyModuleAnchorSource = 0

Definition at line 38 of file ConcurrencyTidyModule.cpp.

◆ CppCoreGuidelinesModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::CppCoreGuidelinesModuleAnchorDestination
static
Initial value:

Definition at line 54 of file ClangTidyForceLinker.h.

◆ CppCoreGuidelinesModuleAnchorSource

volatile int clang::tidy::CppCoreGuidelinesModuleAnchorSource = 0

Definition at line 166 of file CppCoreGuidelinesTidyModule.cpp.

◆ CustomModuleAnchorSource

volatile int clang::tidy::CustomModuleAnchorSource = 0

Definition at line 57 of file CustomTidyModule.cpp.

◆ DarwinModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::DarwinModuleAnchorDestination
static
Initial value:

Definition at line 66 of file ClangTidyForceLinker.h.

◆ DarwinModuleAnchorSource

volatile int clang::tidy::DarwinModuleAnchorSource = 0

Definition at line 35 of file DarwinTidyModule.cpp.

◆ FuchsiaModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::FuchsiaModuleAnchorDestination
static
Initial value:

Definition at line 71 of file ClangTidyForceLinker.h.

◆ FuchsiaModuleAnchorSource

volatile int clang::tidy::FuchsiaModuleAnchorSource = 0

Definition at line 55 of file FuchsiaTidyModule.cpp.

◆ GoogleModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::GoogleModuleAnchorDestination
static
Initial value:

Definition at line 76 of file ClangTidyForceLinker.h.

◆ GoogleModuleAnchorSource

volatile int clang::tidy::GoogleModuleAnchorSource = 0

Definition at line 106 of file GoogleTidyModule.cpp.

◆ HICPPModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::HICPPModuleAnchorDestination
static
Initial value:

Definition at line 81 of file ClangTidyForceLinker.h.

◆ HICPPModuleAnchorSource

volatile int clang::tidy::HICPPModuleAnchorSource = 0

Definition at line 122 of file HICPPTidyModule.cpp.

◆ LinuxKernelModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::LinuxKernelModuleAnchorDestination
static
Initial value:

Definition at line 86 of file ClangTidyForceLinker.h.

◆ LinuxKernelModuleAnchorSource

volatile int clang::tidy::LinuxKernelModuleAnchorSource = 0

Definition at line 34 of file LinuxKernelTidyModule.cpp.

◆ LLVMLibcModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::LLVMLibcModuleAnchorDestination
static
Initial value:

Definition at line 96 of file ClangTidyForceLinker.h.

◆ LLVMLibcModuleAnchorSource

volatile int clang::tidy::LLVMLibcModuleAnchorSource = 0

Definition at line 43 of file LLVMLibcTidyModule.cpp.

◆ LLVMModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::LLVMModuleAnchorDestination
static
Initial value:

Definition at line 91 of file ClangTidyForceLinker.h.

◆ LLVMModuleAnchorSource

volatile int clang::tidy::LLVMModuleAnchorSource = 0

Definition at line 68 of file LLVMTidyModule.cpp.

◆ MiscModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::MiscModuleAnchorDestination
static
Initial value:

Definition at line 101 of file ClangTidyForceLinker.h.

◆ MiscModuleAnchorSource

volatile int clang::tidy::MiscModuleAnchorSource = 0

Definition at line 98 of file MiscTidyModule.cpp.

◆ ModernizeModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::ModernizeModuleAnchorDestination
static
Initial value:

Definition at line 106 of file ClangTidyForceLinker.h.

◆ ModernizeModuleAnchorSource

volatile int clang::tidy::ModernizeModuleAnchorSource = 0

Definition at line 149 of file ModernizeTidyModule.cpp.

◆ MPIModuleAnchorSource

volatile int clang::tidy::MPIModuleAnchorSource = 0

Definition at line 34 of file MPITidyModule.cpp.

◆ ObjCModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::ObjCModuleAnchorDestination
static
Initial value:

Definition at line 119 of file ClangTidyForceLinker.h.

◆ ObjCModuleAnchorSource

volatile int clang::tidy::ObjCModuleAnchorSource = 0

Definition at line 56 of file ObjCTidyModule.cpp.

◆ OpenMPModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::OpenMPModuleAnchorDestination
static
Initial value:

Definition at line 124 of file ClangTidyForceLinker.h.

◆ OpenMPModuleAnchorSource

volatile int clang::tidy::OpenMPModuleAnchorSource = 0

Definition at line 37 of file OpenMPTidyModule.cpp.

◆ PerformanceModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::PerformanceModuleAnchorDestination
static
Initial value:

Definition at line 129 of file ClangTidyForceLinker.h.

◆ PerformanceModuleAnchorSource

volatile int clang::tidy::PerformanceModuleAnchorSource = 0

Definition at line 85 of file PerformanceTidyModule.cpp.

◆ PortabilityModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::PortabilityModuleAnchorDestination
static
Initial value:

Definition at line 134 of file ClangTidyForceLinker.h.

◆ PortabilityModuleAnchorSource

volatile int clang::tidy::PortabilityModuleAnchorSource = 0

Definition at line 46 of file PortabilityTidyModule.cpp.

◆ ReadabilityModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::ReadabilityModuleAnchorDestination
static
Initial value:

Definition at line 139 of file ClangTidyForceLinker.h.

◆ ReadabilityModuleAnchorSource

volatile int clang::tidy::ReadabilityModuleAnchorSource = 0

Definition at line 196 of file ReadabilityTidyModule.cpp.

◆ VerifyConfigWarningEnd

StringLiteral clang::tidy::VerifyConfigWarningEnd = " [-verify-config]\n"
staticconstexpr

Definition at line 289 of file ClangTidyMain.cpp.

◆ ZirconModuleAnchorDestination

int LLVM_ATTRIBUTE_UNUSED clang::tidy::ZirconModuleAnchorDestination
static
Initial value:

Definition at line 144 of file ClangTidyForceLinker.h.

◆ ZirconModuleAnchorSource

volatile int clang::tidy::ZirconModuleAnchorSource = 0

Definition at line 35 of file ZirconTidyModule.cpp.