================
@@ -25,6 +25,8 @@
namespace clang {
namespace clangd {
+class ProjectModules;
----------------
kadircet wrote:
as others have also pointed out, this forward declaration is working around a
cyclic dependency. can we restructure this a little by:
- moving definition of ProjectModules interface into
`GlobalCompilationDatabase.h`, it's pretty thin, has only 2 methods.
- replacing `ProjectModules::create`, which is the reason why we have the
cyclic dependency, with a new header `ScanningProjectModules.h` and
`std::unique_ptr<ProjectModules> scanningProjectModules(std::shared_ptr<const
clang::tooling::CompilationDatabase> CDB, const ThreadsafeFS &TFS);`. This way
we can also safely postpone the discussion around passing the wrong global-cdb
into projectmodules, and can run the extra resource-dir injection on top of the
vanilla tooling-cdb. moreover, we avoid making a full copy of the source file
names in the project.
https://github.com/llvm/llvm-project/pull/66462
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits