clang-tools
10.0.0
|
Implementation of the ClangTidyOptionsProvider
interface, which tries to find a configuration file in the closest parent directory of each source file.
More...
#include <ClangTidyOptions.h>
Public Types | |
typedef std::pair< std::string, std::function< llvm::ErrorOr< ClangTidyOptions > llvm::StringRef)> > | ConfigFileHandler |
typedef std::vector< ConfigFileHandler > | ConfigFileHandlers |
Configuration file handlers listed in the order of priority. More... | |
![]() | |
typedef std::pair< ClangTidyOptions, std::string > | OptionsSource |
ClangTidyOptions and its source. More... | |
Public Member Functions | |
FileOptionsProvider (const ClangTidyGlobalOptions &GlobalOptions, const ClangTidyOptions &DefaultOptions, const ClangTidyOptions &OverrideOptions, llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > FS=nullptr) | |
Initializes the FileOptionsProvider instance. More... | |
FileOptionsProvider (const ClangTidyGlobalOptions &GlobalOptions, const ClangTidyOptions &DefaultOptions, const ClangTidyOptions &OverrideOptions, const ConfigFileHandlers &ConfigHandlers) | |
Initializes the FileOptionsProvider instance with a custom set of configuration file handlers. More... | |
std::vector< OptionsSource > | getRawOptions (llvm::StringRef FileName) override |
Returns an ordered vector of OptionsSources, in order of increasing priority. More... | |
![]() | |
DefaultOptionsProvider (const ClangTidyGlobalOptions &GlobalOptions, const ClangTidyOptions &Options) | |
const ClangTidyGlobalOptions & | getGlobalOptions () override |
Returns global options, which are independent of the file. More... | |
![]() | |
virtual | ~ClangTidyOptionsProvider () |
ClangTidyOptions | getOptions (llvm::StringRef FileName) |
Returns options applying to a specific translation unit with the specified FileName . More... | |
Protected Member Functions | |
llvm::Optional< OptionsSource > | tryReadConfigFile (llvm::StringRef Directory) |
Try to read configuration files from Directory using registered ConfigHandlers . More... | |
Protected Attributes | |
llvm::StringMap< OptionsSource > | CachedOptions |
ClangTidyOptions | OverrideOptions |
ConfigFileHandlers | ConfigHandlers |
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > | FS |
Additional Inherited Members | |
![]() | |
static const char | OptionsSourceTypeDefaultBinary [] |
static const char | OptionsSourceTypeCheckCommandLineOption [] |
static const char | OptionsSourceTypeConfigCommandLineOption [] |
Implementation of the ClangTidyOptionsProvider
interface, which tries to find a configuration file in the closest parent directory of each source file.
By default, files named ".clang-tidy" will be considered, and the clang::tidy::parseConfiguration
function will be used for parsing, but a custom set of configuration file names and parsing functions can be specified using the appropriate constructor.
Definition at line 183 of file ClangTidyOptions.h.
typedef std::pair<std::string, std::function<llvm::ErrorOr<ClangTidyOptions> llvm::StringRef)> > clang::tidy::FileOptionsProvider::ConfigFileHandler |
Definition at line 189 of file ClangTidyOptions.h.
typedef std::vector<ConfigFileHandler> clang::tidy::FileOptionsProvider::ConfigFileHandlers |
Configuration file handlers listed in the order of priority.
Custom configuration file formats can be supported by constructing the list of handlers and passing it to the appropriate FileOptionsProvider
constructor. E.g. initialization of a FileOptionsProvider
with support of a custom configuration file format for files named ".my-tidy-config" could look similar to this:
With the order of handlers shown above, the ".my-tidy-config" file would take precedence over ".clang-tidy" if both reside in the same directory.
Definition at line 208 of file ClangTidyOptions.h.
clang::tidy::FileOptionsProvider::FileOptionsProvider | ( | const ClangTidyGlobalOptions & | GlobalOptions, |
const ClangTidyOptions & | DefaultOptions, | ||
const ClangTidyOptions & | OverrideOptions, | ||
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > | FS = nullptr |
||
) |
Initializes the FileOptionsProvider
instance.
GlobalOptions | are just stored and returned to the caller of getGlobalOptions . |
DefaultOptions | are used for all settings not specified in a configuration file. |
If any of the
OverrideOptions | fields are set, they will override whatever options are read from the configuration file. |
Definition at line 202 of file ClangTidyOptions.cpp.
References ConfigHandlers, FS, and clang::tidy::parseConfiguration().
clang::tidy::FileOptionsProvider::FileOptionsProvider | ( | const ClangTidyGlobalOptions & | GlobalOptions, |
const ClangTidyOptions & | DefaultOptions, | ||
const ClangTidyOptions & | OverrideOptions, | ||
const ConfigFileHandlers & | ConfigHandlers | ||
) |
Initializes the FileOptionsProvider
instance with a custom set of configuration file handlers.
GlobalOptions | are just stored and returned to the caller of getGlobalOptions . |
DefaultOptions | are used for all settings not specified in a configuration file. |
If any of the
OverrideOptions | fields are set, they will override whatever options are read from the configuration file. |
ConfigHandlers | specifies a custom set of configuration file handlers. Each handler is a pair of configuration file name and a function that can parse configuration from this file type. The configuration files in each directory are searched for in the order of appearance in ConfigHandlers . |
Definition at line 214 of file ClangTidyOptions.cpp.
|
overridevirtual |
Returns an ordered vector of OptionsSources, in order of increasing priority.
Reimplemented from clang::tidy::DefaultOptionsProvider.
Definition at line 226 of file ClangTidyOptions.cpp.
References FS, clang::tidy::DefaultOptionsProvider::getRawOptions(), clang::tidy::ClangTidyOptionsProvider::OptionsSourceTypeCheckCommandLineOption, OverrideOptions, and Path.
|
protected |
Try to read configuration files from Directory
using registered ConfigHandlers
.
Definition at line 273 of file ClangTidyOptions.cpp.
References ConfigHandlers, and Text.
|
protected |
Definition at line 255 of file ClangTidyOptions.h.
|
protected |
Definition at line 257 of file ClangTidyOptions.h.
Referenced by FileOptionsProvider(), and tryReadConfigFile().
|
protected |
Definition at line 258 of file ClangTidyOptions.h.
Referenced by FileOptionsProvider(), and getRawOptions().
|
protected |
Definition at line 256 of file ClangTidyOptions.h.
Referenced by getRawOptions().