usaxena95 added a comment.

> The SelectionRangeClientCapabilities determines what should the LSP server 
> send the client, if it is true, clangd should send 
> SelectionRangeRegistrationOptions. 
>  But looking at the current specification, it doesn't seem to add too much 
> value. I think we can just simplify return a bool for now (as you did in this 
> patch).

Yeah. So should I remove the client capability since we do not use it and just 
return bool as now?



================
Comment at: clang-tools-extra/clangd/ClangdLSPServer.cpp:1131
+    Callback<std::vector<SelectionRange>> Reply) {
+  if (Params.positions.size() != 1) {
+    elog("{0} positions provided to SelectionRange. Supports exactly one "
----------------
hokein wrote:
> usaxena95 wrote:
> > ilya-biryukov wrote:
> > > hokein wrote:
> > > > maybe add an `assert(!Params.positions.empty())`. I think we should not 
> > > > run into this case.
> > > But `Params` comes to clangd over LSP, right?
> > > That means `assert` can fire in case of bad inputs over LSP to clangd.
> > > Bad inputs over LSP should never crash clangd.
> > Yes this comes from the client and can be a bad input. We should just 
> > return error and not crash in such case.
> but the code still doesn't handle the `empty` case?
We do right ?
If the size != 1 then we just return an error.


================
Comment at: clang-tools-extra/clangd/Protocol.h:1248
+   */
+  llvm::Optional<std::unique_ptr<SelectionRange>> parent;
+
----------------
hokein wrote:
> I think we can simplify the code further, using 
> `llvm::Optional<SelectionRange>` should be enough, the parent is null for the 
> outer-most range.
I don't think it is possible to do that since the type (SelectionRange) would 
be incomplete at that point. For example size of this class cannot be computed. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67720/new/

https://reviews.llvm.org/D67720



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to