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

Namespaces

 boost
 
 cert
 
 cppcoreguidelines
 
 google
 
 llvm
 
 matchers
 
 misc
 
 modernize
 
 mpi
 
 performance
 
 readability
 
 utils
 

Classes

class  OptionsView
 Provides access to the ClangTidyCheck options via check-local names. More...
 
class  ClangTidyCheck
 Base class for all clang-tidy checks. More...
 
class  ClangTidyASTConsumerFactory
 
struct  ClangTidyError
 A detected error complete with information to display diagnostic and automatic fix. More...
 
class  GlobList
 Read-only set of strings represented as a list of positive and negative globs. More...
 
struct  ClangTidyStats
 Contains displayed and ignored diagnostic counters for a ClangTidy run. More...
 
struct  ProfileData
 Container for clang-tidy profiling data. 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...
 
class  ClangTidyCheckFactories
 A collection of ClangTidyCheckFactory instances. More...
 
class  ClangTidyModule
 A clang-tidy module groups a number of ClangTidyChecks and gives them a prefixed name. More...
 
struct  FileFilter
 Contains a list of line ranges in a single file. More...
 
struct  ClangTidyGlobalOptions
 Global options. More...
 
struct  ClangTidyOptions
 Contains options for clang-tidy. More...
 
class  ClangTidyOptionsProvider
 Abstract interface for retrieving various ClangTidy options. More...
 
class  DefaultOptionsProvider
 Implementation of the ClangTidyOptionsProvider interface, which returns the same options for all files. More...
 
class  ConfigOptionsProvider
 Implementation of ClangTidyOptions interface, which is used for '-config' command-line option. 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  ClangTidyPluginAction
 The core clang tidy plugin action. More...
 

Typedefs

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

Functions

static
ClangTidyModuleRegistry::Add
< cert::CERTModule
X ("cert-module","Adds lint checks corresponding to CERT secure coding guidelines.")
 
static void setStaticAnalyzerCheckerOpts (const ClangTidyOptions &Opts, AnalyzerOptionsRef AnalyzerOptions)
 
static CheckersList getCheckersControlList (GlobList &Filter)
 
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...
 
ClangTidyStats runClangTidy (std::unique_ptr< ClangTidyOptionsProvider > OptionsProvider, const CompilationDatabase &Compilations, ArrayRef< std::string > InputFiles, std::vector< ClangTidyError > *Errors, ProfileData *Profile)
 
void handleErrors (const std::vector< ClangTidyError > &Errors, bool Fix, StringRef FormatStyle, unsigned &WarningsAsErrorsCount)
 Displays the found Errors to the users. More...
 
void exportReplacements (const llvm::StringRef MainFilePath, const std::vector< ClangTidyError > &Errors, raw_ostream &OS)
 
ClangTidyStats runClangTidy (std::unique_ptr< ClangTidyOptionsProvider > OptionsProvider, const tooling::CompilationDatabase &Compilations, ArrayRef< std::string > InputFiles, std::vector< ClangTidyError > *Errors, 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::MiscModule
X ("misc-module","Adds miscellaneous lint checks.")
 
static
ClangTidyModuleRegistry::Add
< mpi::MPIModule
X ("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
< ClangTidyOptionsProvider
createOptionsProvider ()
 
static int clangTidyMain (int argc, const char **argv)
 

Variables

volatile int BoostModuleAnchorSource = 0
 
volatile int CERTModuleAnchorSource = 0
 
volatile int CppCoreGuidelinesModuleAnchorSource = 0
 
volatile int GoogleModuleAnchorSource = 0
 
volatile int LLVMModuleAnchorSource = 0
 
volatile int MiscModuleAnchorSource = 0
 
volatile int ModernizeModuleAnchorSource = 0
 
volatile int MPIModuleAnchorSource = 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 CERTModuleAnchorDestination
 
static int LLVM_ATTRIBUTE_UNUSED BoostModuleAnchorDestination
 
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
 
static int LLVM_ATTRIBUTE_UNUSED ReadabilityModuleAnchorDestination
 

Typedef Documentation

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

Definition at line 290 of file ClangTidy.cpp.

Definition at line 19 of file ClangTidyModuleRegistry.h.

Function Documentation

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

Definition at line 208 of file ClangTidyMain.cpp.

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

Serializes configuration to a YAML-encoded string.

Definition at line 327 of file ClangTidyOptions.cpp.

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

Definition at line 160 of file ClangTidyMain.cpp.

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.

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

Definition at line 565 of file ClangTidy.cpp.

static CheckersList clang::tidy::getCheckersControlList ( GlobList &  Filter)
static
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 446 of file ClangTidy.cpp.

References Context, and clang::tidy::ClangTidyASTConsumerFactory::getCheckNames().

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

References Context, and clang::tidy::ClangTidyASTConsumerFactory::getCheckOptions().

void clang::tidy::handleErrors ( const std::vector< ClangTidyError > &  Errors,
bool  Fix,
StringRef  FormatStyle,
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 540 of file ClangTidy.cpp.

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().

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().

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().

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

Parses configuration from JSON and returns ClangTidyOptions or an error.

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

Definition at line 318 of file ClangTidyOptions.cpp.

References Input().

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

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

Parses LineFilter from JSON and stores it to the Options.

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

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

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

Definition at line 121 of file ClangTidyMain.cpp.

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

Definition at line 93 of file ClangTidyMain.cpp.

ClangTidyStats clang::tidy::runClangTidy ( std::unique_ptr< ClangTidyOptionsProvider >  OptionsProvider,
const tooling::CompilationDatabase &  Compilations,
ArrayRef< std::string >  InputFiles,
std::vector< ClangTidyError > *  Errors,
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.
ClangTidyStats clang::tidy::runClangTidy ( std::unique_ptr< ClangTidyOptionsProvider >  OptionsProvider,
const CompilationDatabase &  Compilations,
ArrayRef< std::string >  InputFiles,
std::vector< ClangTidyError > *  Errors,
ProfileData *  Profile 
)
static void clang::tidy::setStaticAnalyzerCheckerOpts ( const ClangTidyOptions &  Opts,
AnalyzerOptionsRef  AnalyzerOptions 
)
static
static ClangTidyModuleRegistry::Add<mpi::MPIModule> clang::tidy::X ( "mpi-module"  ,
"Adds MPI clang-tidy checks."   
)
static
static ClangTidyModuleRegistry::Add<cert::CERTModule> clang::tidy::X ( "cert-module"  ,
"Adds lint checks corresponding to CERT secure coding guidelines."   
)
static
static ClangTidyModuleRegistry::Add<misc::MiscModule> clang::tidy::X ( "misc-module"  ,
"Adds miscellaneous lint checks."   
)
static

Variable Documentation

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

Definition at line 334 of file ClangTidyMain.cpp.

volatile int clang::tidy::BoostModuleAnchorSource = 0

Definition at line 35 of file BoostTidyModule.cpp.

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

Definition at line 83 of file ClangTidyPlugin.cpp.

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

Definition at line 329 of file ClangTidyMain.cpp.

volatile int clang::tidy::CERTModuleAnchorSource = 0

Definition at line 81 of file CERTTidyModule.cpp.

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

Definition at line 93 of file ClangTidyPlugin.cpp.

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

Definition at line 344 of file ClangTidyMain.cpp.

volatile int clang::tidy::CppCoreGuidelinesModuleAnchorSource = 0

Definition at line 76 of file CppCoreGuidelinesTidyModule.cpp.

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

Definition at line 98 of file ClangTidyPlugin.cpp.

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

Definition at line 349 of file ClangTidyMain.cpp.

volatile int clang::tidy::GoogleModuleAnchorSource = 0

Definition at line 99 of file GoogleTidyModule.cpp.

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

Definition at line 88 of file ClangTidyPlugin.cpp.

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

Definition at line 339 of file ClangTidyMain.cpp.

volatile int clang::tidy::LLVMModuleAnchorSource = 0

Definition at line 41 of file LLVMTidyModule.cpp.

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

Definition at line 103 of file ClangTidyPlugin.cpp.

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

Definition at line 354 of file ClangTidyMain.cpp.

volatile int clang::tidy::MiscModuleAnchorSource = 0

Definition at line 154 of file MiscTidyModule.cpp.

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

Definition at line 108 of file ClangTidyPlugin.cpp.

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

Definition at line 359 of file ClangTidyMain.cpp.

volatile int clang::tidy::ModernizeModuleAnchorSource = 0

Definition at line 99 of file ModernizeTidyModule.cpp.

int LLVM_ATTRIBUTE_UNUSED clang::tidy::MPIModuleAnchorDestination
static
Initial value:
=
volatile int MPIModuleAnchorSource

Definition at line 113 of file ClangTidyPlugin.cpp.

int LLVM_ATTRIBUTE_UNUSED clang::tidy::MPIModuleAnchorDestination
static
Initial value:
=
volatile int MPIModuleAnchorSource

Definition at line 364 of file ClangTidyMain.cpp.

volatile int clang::tidy::MPIModuleAnchorSource = 0

Definition at line 36 of file MPITidyModule.cpp.

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

Definition at line 118 of file ClangTidyPlugin.cpp.

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

Definition at line 369 of file ClangTidyMain.cpp.

volatile int clang::tidy::PerformanceModuleAnchorSource = 0

Definition at line 53 of file PerformanceTidyModule.cpp.

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

Definition at line 123 of file ClangTidyPlugin.cpp.

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

Definition at line 374 of file ClangTidyMain.cpp.

volatile int clang::tidy::ReadabilityModuleAnchorSource = 0

Definition at line 101 of file ReadabilityTidyModule.cpp.