|
clang-tools 24.0.0git
|
Public Member Functions | |
| ModulesBuilderImpl (const GlobalCompilationDatabase &CDB) | |
| ModuleNameToSourceCache & | getProjectModulesCache () |
| const ObservedModuleFiles & | getObservedFiles () const |
| const GlobalCompilationDatabase & | getCDB () const |
| bool | observeSourcePath (PathRef File) |
| bool | onFileEvent (const FileEvent &Event) |
| llvm::Error | getOrBuildModuleFile (PathRef RequiredSource, StringRef ModuleName, const ThreadsafeFS &TFS, CachingProjectModules &MDB, ReusablePrerequisiteModules &BuiltModuleFiles) |
Definition at line 1115 of file ModulesBuilder.cpp.
|
inline |
Definition at line 1117 of file ModulesBuilder.cpp.
|
inline |
Definition at line 1124 of file ModulesBuilder.cpp.
Referenced by getOrBuildModuleFile().
|
inline |
Definition at line 1123 of file ModulesBuilder.cpp.
| llvm::Error clang::clangd::ModulesBuilder::ModulesBuilderImpl::getOrBuildModuleFile | ( | PathRef | RequiredSource, |
| StringRef | ModuleName, | ||
| const ThreadsafeFS & | TFS, | ||
| CachingProjectModules & | MDB, | ||
| ReusablePrerequisiteModules & | BuiltModuleFiles ) |
It is possible that we're meeting third party modules (modules whose source are not in the project. e.g, the std module may be a third-party module for most project) or something wrong with the implementation of ProjectModules. FIXME: How should we treat third party modules here? If we want to ignore third party modules, we should return true instead of false here. Currently we simply bail out.
Try to get prebuilt module files from the compilation database first. This helps to avoid building the module files that are already built by the compiler.
Definition at line 1238 of file ModulesBuilder.cpp.
References getCDB(), clang::clangd::log(), and clang::clangd::ThreadsafeFS::view().
|
inline |
Definition at line 1120 of file ModulesBuilder.cpp.
|
inline |
Definition at line 1126 of file ModulesBuilder.cpp.
References clang::clangd::File.
|
inline |
Definition at line 1130 of file ModulesBuilder.cpp.
References clang::clangd::Changed, clang::clangd::Created, clang::clangd::Deleted, and clang::clangd::File.