clang-tools
8.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 184 of file ClangTidyOptions.h.
typedef std::pair<std::string, std::function<llvm::ErrorOr<ClangTidyOptions> llvm::StringRef)> > clang::tidy::FileOptionsProvider::ConfigFileHandler |
Definition at line 190 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 209 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 203 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 215 of file ClangTidyOptions.cpp.
|
overridevirtual |
Returns an ordered vector of OptionsSources, in order of increasing priority.
Reimplemented from clang::tidy::DefaultOptionsProvider.
Definition at line 227 of file ClangTidyOptions.cpp.
References CachedOptions, FS, clang::tidy::DefaultOptionsProvider::getRawOptions(), clang::tidy::ClangTidyOptionsProvider::OptionsSourceTypeCheckCommandLineOption, OverrideOptions, Path, Result, and tryReadConfigFile().
|
protected |
Try to read configuration files from Directory
using registered ConfigHandlers
.
Definition at line 274 of file ClangTidyOptions.cpp.
References ConfigHandlers.
Referenced by getRawOptions().
|
protected |
Definition at line 256 of file ClangTidyOptions.h.
Referenced by getRawOptions().
|
protected |
Definition at line 258 of file ClangTidyOptions.h.
Referenced by FileOptionsProvider(), and tryReadConfigFile().
|
protected |
Definition at line 259 of file ClangTidyOptions.h.
Referenced by FileOptionsProvider(), and getRawOptions().
|
protected |
Definition at line 257 of file ClangTidyOptions.h.
Referenced by getRawOptions().