clang-tools  6.0.0svn
Namespaces | Classes | Typedefs | Functions | Variables
clang::tidy Namespace Reference

Namespaces

 android
 
 boost
 
 bugprone
 
 cert
 
 cppcoreguidelines
 
 fuchsia
 
 google
 
 hicpp
 
 llvm
 
 matchers
 
 misc
 
 modernize
 
 mpi
 
 objc
 
 performance
 
 readability
 
 utils
 

Classes

class  ClangTidyASTConsumerFactory
 
class  ClangTidyCheck
 Base class for all clang-tidy checks. More...
 
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...
 
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  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  OptionsView
 Provides access to the ClangTidyCheck options via check-local names. More...
 
struct  ProfileData
 Container for clang-tidy profiling data. More...
 

Typedefs

typedef std::vector< std::pair< std::string, bool > > CheckersList
 
typedef llvm::Registry< ClangTidyModuleClangTidyModuleRegistry
 

Functions

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.")
 
static void setStaticAnalyzerCheckerOpts (const ClangTidyOptions &Opts, AnalyzerOptionsRef AnalyzerOptions)
 
static CheckersList getCheckersControlList (ClangTidyContext &Context)
 
std::vector< std::string > getCheckNames (const ClangTidyOptions &Options)
 Fills the list of check names that are enabled when the provided filters are applied. More...
 
ClangTidyOptions::OptionMap getCheckOptions (const ClangTidyOptions &Options)
 Returns the effective check-specific options. More...
 
void runClangTidy (clang::tidy::ClangTidyContext &Context, const CompilationDatabase &Compilations, ArrayRef< std::string > InputFiles, ProfileData *Profile)
 
void handleErrors (ClangTidyContext &Context, bool Fix, unsigned &WarningsAsErrorsCount)
 Displays the found Errors to the users. More...
 
void exportReplacements (const llvm::StringRef MainFilePath, const std::vector< ClangTidyError > &Errors, raw_ostream &OS)
 
void runClangTidy (clang::tidy::ClangTidyContext &Context, const tooling::CompilationDatabase &Compilations, ArrayRef< std::string > InputFiles, ProfileData *Profile=nullptr)
 Run a set of clang-tidy checks on a set of files. More...
 
void exportReplacements (StringRef MainFilePath, const std::vector< ClangTidyError > &Errors, raw_ostream &OS)
 Serializes replacements into YAML and writes them to the specified output stream. More...
 
template<typename T >
static void mergeVectors (Optional< T > &Dest, const Optional< T > &Src)
 
static void mergeCommaSeparatedLists (Optional< std::string > &Dest, const Optional< std::string > &Src)
 
template<typename T >
static void overrideValue (Optional< T > &Dest, const Optional< T > &Src)
 
std::error_code parseLineFilter (StringRef LineFilter, clang::tidy::ClangTidyGlobalOptions &Options)
 Parses -line-filter option and stores it to the Options. More...
 
llvm::ErrorOr< ClangTidyOptionsparseConfiguration (StringRef Config)
 
std::string configurationAsText (const ClangTidyOptions &Options)
 Serializes configuration to a YAML-encoded string. More...
 
std::error_code parseLineFilter (llvm::StringRef LineFilter, ClangTidyGlobalOptions &Options)
 Parses LineFilter from JSON and stores it to the Options. More...
 
llvm::ErrorOr< ClangTidyOptionsparseConfiguration (llvm::StringRef Config)
 Parses configuration from JSON and returns ClangTidyOptions or an error. More...
 
static ClangTidyModuleRegistry::Add< misc::MiscModuleX ("misc-module", "Adds miscellaneous lint checks.")
 
static ClangTidyModuleRegistry::Add< mpi::MPIModuleX ("mpi-module", "Adds MPI clang-tidy checks.")
 
static void printStats (const ClangTidyStats &Stats)
 
static void printProfileData (const ProfileData &Profile, llvm::raw_ostream &OS)
 
static std::unique_ptr< ClangTidyOptionsProvidercreateOptionsProvider ()
 
static int clangTidyMain (int argc, const char **argv)
 

Variables

volatile int AndroidModuleAnchorSource = 0
 
volatile int BoostModuleAnchorSource = 0
 
volatile int BugproneModuleAnchorSource = 0
 
volatile int CERTModuleAnchorSource = 0
 
volatile int CppCoreGuidelinesModuleAnchorSource = 0
 
volatile int FuchsiaModuleAnchorSource = 0
 
volatile int GoogleModuleAnchorSource = 0
 
volatile int HICPPModuleAnchorSource = 0
 
volatile int LLVMModuleAnchorSource = 0
 
volatile int MiscModuleAnchorSource = 0
 
volatile int ModernizeModuleAnchorSource = 0
 
volatile int MPIModuleAnchorSource = 0
 
volatile int ObjCModuleAnchorSource = 0
 
volatile int PerformanceModuleAnchorSource = 0
 
static int LLVM_ATTRIBUTE_UNUSED CERTModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED LLVMModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED CppCoreGuidelinesModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED GoogleModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED MiscModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED ModernizeModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED MPIModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED PerformanceModuleAnchorDestination
 
volatile int ReadabilityModuleAnchorSource = 0
 
static int LLVM_ATTRIBUTE_UNUSED ReadabilityModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED ObjCModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED CERTModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED BoostModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED BugproneModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED LLVMModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED CppCoreGuidelinesModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED FuchsiaModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED GoogleModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED AndroidModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED MiscModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED ModernizeModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED MPIModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED PerformanceModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED ReadabilityModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED ObjCModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED HICPPModuleAnchorDestination
 

Typedef Documentation

◆ CheckersList

typedef std::vector<std::pair<std::string, bool> > clang::tidy::CheckersList

Definition at line 303 of file ClangTidy.cpp.

◆ ClangTidyModuleRegistry

Definition at line 19 of file ClangTidyModuleRegistry.h.

Function Documentation

◆ clangTidyMain()

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

◆ configurationAsText()

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

Serializes configuration to a YAML-encoded string.

Definition at line 328 of file ClangTidyOptions.cpp.

◆ createOptionsProvider()

static std::unique_ptr<ClangTidyOptionsProvider> clang::tidy::createOptionsProvider ( )
static

Definition at line 165 of file ClangTidyMain.cpp.

Referenced by clangTidyMain().

◆ exportReplacements() [1/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.

◆ exportReplacements() [2/2]

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

Definition at line 573 of file ClangTidy.cpp.

◆ getCheckersControlList()

static CheckersList clang::tidy::getCheckersControlList ( ClangTidyContext Context)
static

◆ getCheckNames()

std::vector< std::string > clang::tidy::getCheckNames ( const ClangTidyOptions Options)

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

Definition at line 459 of file ClangTidy.cpp.

◆ getCheckOptions()

ClangTidyOptions::OptionMap clang::tidy::getCheckOptions ( const ClangTidyOptions Options)

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 467 of file ClangTidy.cpp.

◆ handleErrors()

void clang::tidy::handleErrors ( ClangTidyContext Context,
bool  Fix,
unsigned &  WarningsAsErrorsCount 
)

Displays the found Errors to the users.

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

Definition at line 548 of file ClangTidy.cpp.

References clang::tidy::ClangTidyContext::getErrors().

◆ mergeCommaSeparatedLists()

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

Definition at line 130 of file ClangTidyOptions.cpp.

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

◆ mergeVectors()

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

Definition at line 121 of file ClangTidyOptions.cpp.

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

◆ overrideValue()

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

Definition at line 137 of file ClangTidyOptions.cpp.

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

◆ parseConfiguration() [1/2]

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

Parses configuration from JSON and returns ClangTidyOptions or an error.

◆ parseConfiguration() [2/2]

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

◆ parseLineFilter() [1/2]

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

Parses LineFilter from JSON and stores it to the Options.

◆ 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 312 of file ClangTidyOptions.cpp.

References clang::tidy::ClangTidyGlobalOptions::LineFilter.

Referenced by clangTidyMain().

◆ printProfileData()

static void clang::tidy::printProfileData ( const ProfileData Profile,
llvm::raw_ostream &  OS 
)
static

Definition at line 126 of file ClangTidyMain.cpp.

Referenced by clangTidyMain().

◆ printStats()

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

Definition at line 98 of file ClangTidyMain.cpp.

◆ runClangTidy() [1/2]

void clang::tidy::runClangTidy ( clang::tidy::ClangTidyContext Context,
const tooling::CompilationDatabase &  Compilations,
ArrayRef< std::string >  InputFiles,
ProfileData Profile = nullptr 
)

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

Parameters
Profileif provided, it enables check profile collection in MatchFinder, and will contain the result of the profile.

◆ runClangTidy() [2/2]

void clang::tidy::runClangTidy ( clang::tidy::ClangTidyContext Context,
const CompilationDatabase &  Compilations,
ArrayRef< std::string >  InputFiles,
ProfileData Profile 
)

Definition at line 475 of file ClangTidy.cpp.

◆ setStaticAnalyzerCheckerOpts()

static void clang::tidy::setStaticAnalyzerCheckerOpts ( const ClangTidyOptions Opts,
AnalyzerOptionsRef  AnalyzerOptions 
)
static

Definition at line 292 of file ClangTidy.cpp.

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

◆ X() [1/4]

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

◆ X() [2/4]

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

◆ X() [3/4]

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

◆ X() [4/4]

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

Variable Documentation

◆ AndroidModuleAnchorDestination

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

Definition at line 380 of file ClangTidyMain.cpp.

◆ AndroidModuleAnchorSource

volatile int clang::tidy::AndroidModuleAnchorSource = 0

Definition at line 64 of file AndroidTidyModule.cpp.

◆ BoostModuleAnchorDestination

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

Definition at line 350 of file ClangTidyMain.cpp.

◆ 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 355 of file ClangTidyMain.cpp.

◆ BugproneModuleAnchorSource

volatile int clang::tidy::BugproneModuleAnchorSource = 0

Definition at line 83 of file BugproneTidyModule.cpp.

◆ CERTModuleAnchorDestination [1/2]

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

Definition at line 83 of file ClangTidyPlugin.cpp.

◆ CERTModuleAnchorDestination [2/2]

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

Definition at line 345 of file ClangTidyMain.cpp.

◆ CERTModuleAnchorSource

volatile int clang::tidy::CERTModuleAnchorSource = 0

Definition at line 87 of file CERTTidyModule.cpp.

◆ CppCoreGuidelinesModuleAnchorDestination [1/2]

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

Definition at line 93 of file ClangTidyPlugin.cpp.

◆ CppCoreGuidelinesModuleAnchorDestination [2/2]

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

Definition at line 365 of file ClangTidyMain.cpp.

◆ CppCoreGuidelinesModuleAnchorSource

volatile int clang::tidy::CppCoreGuidelinesModuleAnchorSource = 0

Definition at line 79 of file CppCoreGuidelinesTidyModule.cpp.

◆ FuchsiaModuleAnchorDestination

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

Definition at line 370 of file ClangTidyMain.cpp.

◆ FuchsiaModuleAnchorSource

volatile int clang::tidy::FuchsiaModuleAnchorSource = 0

Definition at line 39 of file FuchsiaTidyModule.cpp.

◆ GoogleModuleAnchorDestination [1/2]

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

Definition at line 98 of file ClangTidyPlugin.cpp.

◆ GoogleModuleAnchorDestination [2/2]

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

Definition at line 375 of file ClangTidyMain.cpp.

◆ GoogleModuleAnchorSource

volatile int clang::tidy::GoogleModuleAnchorSource = 0

Definition at line 102 of file GoogleTidyModule.cpp.

◆ HICPPModuleAnchorDestination

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

Definition at line 415 of file ClangTidyMain.cpp.

◆ HICPPModuleAnchorSource

volatile int clang::tidy::HICPPModuleAnchorSource = 0

Definition at line 111 of file HICPPTidyModule.cpp.

◆ LLVMModuleAnchorDestination [1/2]

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

Definition at line 88 of file ClangTidyPlugin.cpp.

◆ LLVMModuleAnchorDestination [2/2]

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

Definition at line 360 of file ClangTidyMain.cpp.

◆ LLVMModuleAnchorSource

volatile int clang::tidy::LLVMModuleAnchorSource = 0

Definition at line 41 of file LLVMTidyModule.cpp.

◆ MiscModuleAnchorDestination [1/2]

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

Definition at line 103 of file ClangTidyPlugin.cpp.

◆ MiscModuleAnchorDestination [2/2]

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

Definition at line 385 of file ClangTidyMain.cpp.

◆ MiscModuleAnchorSource

volatile int clang::tidy::MiscModuleAnchorSource = 0

Definition at line 117 of file MiscTidyModule.cpp.

◆ ModernizeModuleAnchorDestination [1/2]

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

Definition at line 108 of file ClangTidyPlugin.cpp.

◆ ModernizeModuleAnchorDestination [2/2]

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

Definition at line 390 of file ClangTidyMain.cpp.

◆ ModernizeModuleAnchorSource

volatile int clang::tidy::ModernizeModuleAnchorSource = 0

Definition at line 110 of file ModernizeTidyModule.cpp.

◆ MPIModuleAnchorDestination [1/2]

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

Definition at line 113 of file ClangTidyPlugin.cpp.

◆ MPIModuleAnchorDestination [2/2]

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

Definition at line 395 of file ClangTidyMain.cpp.

◆ MPIModuleAnchorSource

volatile int clang::tidy::MPIModuleAnchorSource = 0

Definition at line 36 of file MPITidyModule.cpp.

◆ ObjCModuleAnchorDestination [1/2]

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

Definition at line 128 of file ClangTidyPlugin.cpp.

◆ ObjCModuleAnchorDestination [2/2]

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

Definition at line 410 of file ClangTidyMain.cpp.

◆ ObjCModuleAnchorSource

volatile int clang::tidy::ObjCModuleAnchorSource = 0

Definition at line 47 of file ObjCTidyModule.cpp.

◆ PerformanceModuleAnchorDestination [1/2]

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

Definition at line 118 of file ClangTidyPlugin.cpp.

◆ PerformanceModuleAnchorDestination [2/2]

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

Definition at line 400 of file ClangTidyMain.cpp.

◆ PerformanceModuleAnchorSource

volatile int clang::tidy::PerformanceModuleAnchorSource = 0

Definition at line 68 of file PerformanceTidyModule.cpp.

◆ ReadabilityModuleAnchorDestination [1/2]

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

Definition at line 123 of file ClangTidyPlugin.cpp.

◆ ReadabilityModuleAnchorDestination [2/2]

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

Definition at line 405 of file ClangTidyMain.cpp.

◆ ReadabilityModuleAnchorSource

volatile int clang::tidy::ReadabilityModuleAnchorSource = 0

Definition at line 107 of file ReadabilityTidyModule.cpp.