sammccall added inline comments.

================
Comment at: clang-tools-extra/clangd/InlayHints.cpp:466
+// so that we can recover argument names from it.
+// FIXME: This function is mostly duplicated in SemaCodeComplete.cpp; unify.
+static FunctionProtoTypeLoc getPrototypeLoc(Expr *Callee) {
----------------
nridge wrote:
> nridge wrote:
> > The reason I didn't unify them in this patch is less that I'm lazy, and 
> > more that I'm not sure where to put code that will be shared by 
> > SemaCodeComplete.cpp and clangd.
> > 
> > Do we have some sort of dumping ground for miscellaneous AST utilities, 
> > like `clang-tools-extra/clangd/AST.h` but also usable in libSema?
> I guess the function is performing a heuristic / best-effort operation, so 
> HeuristicResolver could be the place for it once that is upstreamed.
(I'm happy with this being where it is, for lack of a really good option)

I don't have a good answer here - sometimes people seem to dumb these as 
methods on `Expr` etc itself, but that seems terrible. `AST` is probably the 
best existing library for it if we want to use it from Sema, but it feels a 
little... impure.

It doesn't feel like a perfect fit for HeuristicResolver but in practice if 
we're going to move that into AST then it seems best overall for this function 
to come along for the ride.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D158249

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

Reply via email to