kadircet added a comment.

> Sorry I've lost my context - did we decide to move forward with this patch?

I don't think we've came to a conclusion, just decided to postpone until 
needed. I believe the `cases` design is really a good fit for making tweaks 
expose multiple code actions.

But we've actually missed one thing while discussing this patch. It actually 
allows data from `clang::Diagnostic` to be stashed into `clangd::Diag` for use 
later on. Modules can actually stash this info while the AST is being built, 
later on they can be retrieved directly from the `ParsedAST::getDiagnostics()`. 
But this creates the N*M problem again, and feels like a hack.
What we can do instead is during `enumerateTweak`, we can group `data` in 
diagnostics (making sure `data` stored in `diagnostic` is keyed by `tweak::id`) 
and pass an additional array of json objects in `tweak::prepare`.  This will 
make the problem N+M again and make the data passing explicit.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99540

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

Reply via email to