================
@@ -85,19 +85,20 @@ class PrerequisiteModules {
 /// different versions and different source files.
 class ModulesBuilder {
 public:
-  ModulesBuilder(const GlobalCompilationDatabase &CDB) : CDB(CDB) {}
+  ModulesBuilder() = default;
+  virtual ~ModulesBuilder() = default;
 
   ModulesBuilder(const ModulesBuilder &) = delete;
   ModulesBuilder(ModulesBuilder &&) = delete;
 
   ModulesBuilder &operator=(const ModulesBuilder &) = delete;
   ModulesBuilder &operator=(ModulesBuilder &&) = delete;
 
-  std::unique_ptr<PrerequisiteModules>
-  buildPrerequisiteModulesFor(PathRef File, const ThreadsafeFS &TFS) const;
+  virtual std::unique_ptr<PrerequisiteModules>
----------------
kadircet wrote:

>Since I want to avoid introducing the complex date members for 
>ReusableModulesBuilder into the header file. I feel the current codes may be 
>more neat. 

I totally agree with that. I think the recommendations in the rest of the 
comments mitigates this concern. Especially the one around just declaring a 
caching-class as an implementation detail and not polluting the header with any 
other details.

https://github.com/llvm/llvm-project/pull/106683
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to