sammccall added a comment.

In D56370#1390283 <https://reviews.llvm.org/D56370#1390283>, @kadircet wrote:

> Implementation LG, but I am not sure about adding a functionality on a 
> proposal that might change. WDYT @sammccall ?


We discussed this a bit on the thread, I think we should follow the proposed 
spec, but with some useful hedges:

- only implement enough bits to be useful
- I'm not sure the internal APIs/implementation should follow the "shape" of 
the spec so deeply.

So on a concrete but still high-level:

- I don't think we should implement the `resolve` operation, or resolution 
bounds, at this point - this patch doesn't do anything slow. Returning complete 
ancestors and never returning any children seems simplest.
- in 'XRefs.h', I think the API to introduce is `findTypeAt(Position) -> Decl*` 
+  `typeAncestors(Decl*)` and later `typeDescendants(Decl*)`, rather than a 
single more complex `typeHierarchy` call. These two operations have little in 
common implementation-wise, and it's easy to imagine editors preferring to 
expose them separately. In clangdserver of course we need to expose a single 
operation because of transactionality. The stitching together could go in 
clangdserver, or a higher-level function exposed by xrefs - but I think the 
separate functions are what we should be unit-testing.



================
Comment at: clang-tools-extra/unittests/clangd/Matchers.h:130
 
+// Implements the HasValue(m) matcher for matching an Optional whose
+// value matches matcher m.
----------------
nridge wrote:
> Should I split this out into a separate patch? It's used by the tests being 
> added for this functionality.
This is nice! I think it should probably go in llvm/Testing/Support/..., but 
it's OK here.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D56370



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

Reply via email to