clang-tools 22.0.0git
clang::clangd::ScanningAllProjectModules Class Reference

TODO: The existing ScanningAllProjectModules is not efficient. More...

Inheritance diagram for clang::clangd::ScanningAllProjectModules:
[legend]

Public Member Functions

 ScanningAllProjectModules (std::shared_ptr< const clang::tooling::CompilationDatabase > CDB, const ThreadsafeFS &TFS)
 ~ScanningAllProjectModules () override=default
std::vector< std::string > getRequiredModules (PathRef File) override
void setCommandMangler (CommandMangler Mangler) override
std::string getSourceForModuleName (llvm::StringRef ModuleName, PathRef RequiredSourceFile) override
 RequiredSourceFile is not used intentionally.
std::string getModuleNameForSource (PathRef File) override
Public Member Functions inherited from clang::clangd::ProjectModules
virtual ~ProjectModules ()=default

Additional Inherited Members

Public Types inherited from clang::clangd::ProjectModules
using CommandMangler

Detailed Description

TODO: The existing ScanningAllProjectModules is not efficient.

See the comments in ModuleDependencyScanner for detail.

In the future, we wish the build system can provide a well design compilation database for modules then we can query that new compilation database directly. Or we need to have a global long-live scanner to detect the state of each file.

Definition at line 185 of file ScanningProjectModules.cpp.

Constructor & Destructor Documentation

◆ ScanningAllProjectModules()

clang::clangd::ScanningAllProjectModules::ScanningAllProjectModules ( std::shared_ptr< const clang::tooling::CompilationDatabase > CDB,
const ThreadsafeFS & TFS )
inline

Definition at line 187 of file ScanningProjectModules.cpp.

◆ ~ScanningAllProjectModules()

clang::clangd::ScanningAllProjectModules::~ScanningAllProjectModules ( )
overridedefault

Member Function Documentation

◆ getModuleNameForSource()

std::string clang::clangd::ScanningAllProjectModules::getModuleNameForSource ( PathRef File)
inlineoverridevirtual

Implements clang::clangd::ProjectModules.

Definition at line 210 of file ScanningProjectModules.cpp.

References clang::clangd::File.

◆ getRequiredModules()

std::vector< std::string > clang::clangd::ScanningAllProjectModules::getRequiredModules ( PathRef File)
inlineoverridevirtual

Implements clang::clangd::ProjectModules.

Definition at line 194 of file ScanningProjectModules.cpp.

References clang::clangd::File.

◆ getSourceForModuleName()

std::string clang::clangd::ScanningAllProjectModules::getSourceForModuleName ( llvm::StringRef ModuleName,
PathRef RequiredSourceFile )
inlineoverridevirtual

RequiredSourceFile is not used intentionally.

See the comments of ModuleDependencyScanner for detail.

Implements clang::clangd::ProjectModules.

Definition at line 204 of file ScanningProjectModules.cpp.

◆ setCommandMangler()

void clang::clangd::ScanningAllProjectModules::setCommandMangler ( CommandMangler Mangler)
inlineoverridevirtual

Reimplemented from clang::clangd::ProjectModules.

Definition at line 198 of file ScanningProjectModules.cpp.


The documentation for this class was generated from the following file: