clang-tools 20.0.0git
|
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 Member Functions | |
FileOptionsProvider (ClangTidyGlobalOptions GlobalOptions, ClangTidyOptions DefaultOptions, ClangTidyOptions OverrideOptions, llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > FS=nullptr) | |
Initializes the FileOptionsProvider instance. | |
FileOptionsProvider (ClangTidyGlobalOptions GlobalOptions, ClangTidyOptions DefaultOptions, ClangTidyOptions OverrideOptions, ConfigFileHandlers ConfigHandlers) | |
Initializes the FileOptionsProvider instance with a custom set of configuration file handlers. | |
std::vector< OptionsSource > | getRawOptions (llvm::StringRef FileName) override |
Returns an ordered vector of OptionsSources, in order of increasing priority. | |
Public Member Functions inherited from clang::tidy::DefaultOptionsProvider | |
DefaultOptionsProvider (ClangTidyGlobalOptions GlobalOptions, ClangTidyOptions Options) | |
const ClangTidyGlobalOptions & | getGlobalOptions () override |
Returns global options, which are independent of the file. | |
std::vector< OptionsSource > | getRawOptions (llvm::StringRef FileName) override |
Returns an ordered vector of OptionsSources, in order of increasing priority. | |
Public Member Functions inherited from clang::tidy::ClangTidyOptionsProvider | |
virtual | ~ClangTidyOptionsProvider () |
virtual const ClangTidyGlobalOptions & | getGlobalOptions ()=0 |
Returns global options, which are independent of the file. | |
virtual std::vector< OptionsSource > | getRawOptions (llvm::StringRef FileName)=0 |
Returns an ordered vector of OptionsSources, in order of increasing priority. | |
ClangTidyOptions | getOptions (llvm::StringRef FileName) |
Returns options applying to a specific translation unit with the specified FileName . | |
Additional Inherited Members | |
Public Types inherited from clang::tidy::ClangTidyOptionsProvider | |
using | OptionsSource = std::pair< ClangTidyOptions, std::string > |
ClangTidyOptions and its source. | |
Static Public Attributes inherited from clang::tidy::ClangTidyOptionsProvider | |
static const char | OptionsSourceTypeDefaultBinary [] |
static const char | OptionsSourceTypeCheckCommandLineOption [] |
static const char | OptionsSourceTypeConfigCommandLineOption [] |
Protected Types inherited from clang::tidy::FileOptionsBaseProvider | |
using | ConfigFileHandler = std::pair< std::string, std::function< llvm::ErrorOr< ClangTidyOptions >(llvm::MemoryBufferRef)> > |
using | ConfigFileHandlers = std::vector< ConfigFileHandler > |
Configuration file handlers listed in the order of priority. | |
Protected Member Functions inherited from clang::tidy::FileOptionsBaseProvider | |
FileOptionsBaseProvider (ClangTidyGlobalOptions GlobalOptions, ClangTidyOptions DefaultOptions, ClangTidyOptions OverrideOptions, llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > FS) | |
FileOptionsBaseProvider (ClangTidyGlobalOptions GlobalOptions, ClangTidyOptions DefaultOptions, ClangTidyOptions OverrideOptions, ConfigFileHandlers ConfigHandlers) | |
void | addRawFileOptions (llvm::StringRef AbsolutePath, std::vector< OptionsSource > &CurOptions) |
std::optional< OptionsSource > | tryReadConfigFile (llvm::StringRef Directory) |
Try to read configuration files from Directory using registered ConfigHandlers . | |
Protected Attributes inherited from clang::tidy::FileOptionsBaseProvider | |
llvm::StringMap< OptionsSource > | CachedOptions |
ClangTidyOptions | OverrideOptions |
ConfigFileHandlers | ConfigHandlers |
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > | FS |
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 272 of file ClangTidyOptions.h.
clang::tidy::FileOptionsProvider::FileOptionsProvider | ( | ClangTidyGlobalOptions | GlobalOptions, |
ClangTidyOptions | DefaultOptions, | ||
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 376 of file ClangTidyOptions.cpp.
clang::tidy::FileOptionsProvider::FileOptionsProvider | ( | ClangTidyGlobalOptions | GlobalOptions, |
ClangTidyOptions | DefaultOptions, | ||
ClangTidyOptions | OverrideOptions, | ||
FileOptionsBaseProvider::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 384 of file ClangTidyOptions.cpp.
|
overridevirtual |
Returns an ordered vector of OptionsSources, in order of increasing priority.
Reimplemented from clang::tidy::DefaultOptionsProvider.
Definition at line 396 of file ClangTidyOptions.cpp.
References clang::tidy::FileOptionsBaseProvider::addRawFileOptions(), FileName, clang::tidy::FileOptionsBaseProvider::FS, clang::tidy::DefaultOptionsProvider::getRawOptions(), clang::tidy::ClangTidyOptionsProvider::OptionsSourceTypeCheckCommandLineOption, and clang::tidy::FileOptionsBaseProvider::OverrideOptions.