ilya-biryukov added inline comments.

================
Comment at: clangd/ClangdLSPServer.h:26
 /// dispatch and ClangdServer together.
-class ClangdLSPServer {
+class ClangdLSPServer : public DiagnosticsConsumer {
 public:
----------------
I would not expect ClangdLSPServer to be passed as a DiagnosticsConsumer.
It's not the purpose of this class at all, therefore I don't think it's a good 
idea to inherit publicly from DiagnosticsConsumer.
Private inheritance would be fine (to reduce code repetition), but is generally 
considered to be hard-to-grasp.


================
Comment at: clangd/ClangdLSPServer.h:29
+  ClangdLSPServer(JSONOutput &Out,
+                  GlobalCompilationDatabase &CDB,
+                  FileSystemProvider &FSProvider,
----------------
What are the use-cases for getting GlobalCompilationDatabase and 
FileSystemProvider as an outside parameter?
It actually seems to me they are implementation details of ClangdLSPServer.

I.e. the purpose of this class is to provide an easy interface to just run LSP 
server without worrying about its configuration.



https://reviews.llvm.org/D34201



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D34201: [clangd]... Ilya Biryukov via Phabricator via cfe-commits

Reply via email to