kadircet added a comment.

Sorry I was trying to give some brief idea about what it might look like in 
`Implementation Concerns` section above, but let me give some more details;

I think we can just change the signature for PreambleParsedCallback 
<https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clangd/Preamble.h#L83>
 to pass along refcounted objects. forgot to mention in the first comment, but 
we should also change the CanonicalIncludes to be a shared_ptr so that it can 
outlive the PreambleData. We should invoke the callback inside buildPreamble 
<https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clangd/Preamble.cpp#L669>
 after a successful build. Afterwards we should also change the signature for 
onPreambleAST 
<https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clangd/TUScheduler.h#L164>
 to take AST, PP and CanonicalIncludes as ref-counted objects again and 
`PreambleThread::build` should just forward objects received from 
`PreambleParsedCallback`. Afterwards inside the 
UpdateIndexCallbacks::onPreambleAST 
<https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/clangd/ClangdServer.cpp#L70>
 we can just invoke indexing on `Tasks` if it's present or synchronously in the 
absence of it.

Does that make sense?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D148088

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

Reply via email to