clang-tools 20.0.0git
|
An interface to query the modules information in the project. More...
#include <ProjectModules.h>
Public Member Functions | |
virtual std::vector< std::string > | getRequiredModules (PathRef File)=0 |
virtual PathRef | getSourceForModuleName (llvm::StringRef ModuleName, PathRef RequiredSrcFile=PathRef())=0 |
virtual | ~ProjectModules ()=default |
An interface to query the modules information in the project.
Users should get instances of ProjectModules
from GlobalCompilationDatabase::getProjectModules(PathRef)
.
Currently, the modules information includes:
Note that there can be multiple source files declaring the same module in a valid project. Although the language specification requires that every module unit's name must be unique in valid program, there can be multiple program in a project. And it is technically valid if these program doesn't interfere with each other.
A module name should be in the format: <primary-module-name>[:partition-name]
. So module names covers partitions.
Definition at line 37 of file ProjectModules.h.
|
virtualdefault |
|
pure virtual |
Implemented in clang::clangd::ScanningAllProjectModules.
|
pure virtual |
Implemented in clang::clangd::ScanningAllProjectModules.