[clangd] Simplify client capabilities parsing.
authorSam McCall <sam.mccall@gmail.com>
Wed, 17 Oct 2018 07:33:42 +0000 (07:33 +0000)
committerSam McCall <sam.mccall@gmail.com>
Wed, 17 Oct 2018 07:33:42 +0000 (07:33 +0000)
commitbf6a2fc329bc05f3c08a1a62568e8933dc692bf9
treeba09db2ac059d41536cb2678667be3ae86f28308
parentdc8f3cf8b0061e34ddda9f90d1db176b4a7c2d93
[clangd] Simplify client capabilities parsing.

Summary:
Instead of parsing into structs that mirror LSP, simply parse into a flat struct
that contains the info we need.
This is an exception to our strategy with Protocol.h, which seems justified:
 - the structure here is very large and deeply nested
 - we care about almost none of it
 - we should never have to serialize client capabilities

Reviewers: kadircet

Subscribers: ilya-biryukov, ioeric, MaskRay, jkorous, arphaman, cfe-commits

Differential Revision: https://reviews.llvm.org/D53266

llvm-svn: 344673
clang-tools-extra/clangd/ClangdLSPServer.cpp
clang-tools-extra/clangd/Protocol.cpp
clang-tools-extra/clangd/Protocol.h