diff options
author | Sam McCall <sam.mccall@gmail.com> | 2018-10-18 12:32:04 +0000 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2018-10-18 12:32:04 +0000 |
commit | 2c30fbcac557ac258624a1d5c5f86f8b49848c86 (patch) | |
tree | 0f43bcd484b7944da8015feacd158d081c5c6a88 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 4859738cfe58f3d8322fe81f123543791fa6c4de (diff) | |
download | llvm-2c30fbcac557ac258624a1d5c5f86f8b49848c86.zip llvm-2c30fbcac557ac258624a1d5c5f86f8b49848c86.tar.gz llvm-2c30fbcac557ac258624a1d5c5f86f8b49848c86.tar.bz2 |
[clangd] Lay JSONRPCDispatcher to rest.
Summary:
Most of its functionality is moved into ClangdLSPServer.
The decoupling between JSONRPCDispatcher, ProtocolCallbacks, ClangdLSPServer
was never real, and only served to obfuscate.
Some previous implicit/magic stuff is now explicit:
- the return type of LSP method calls are now in the signature
- no more reply() that gets the ID using global context magic
- arg tracing no longer relies on RequestArgs::stash context magic either
This is mostly refactoring, but some deliberate fixes while here:
- LSP method params are now by const reference
- notifications and calls are now distinct namespaces.
(some tests had protocol errors and needed updating)
- we now reply to calls we failed to decode
- outgoing calls use distinct IDs
A few error codes and message IDs changed in unimportant ways (see tests).
Reviewers: ioeric
Subscribers: mgorny, ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, jfb, kadircet, cfe-commits
Differential Revision: https://reviews.llvm.org/D53387
llvm-svn: 344737
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions