[PATCH] D35406: [clangd] Replace ASTUnit with manual AST management.

Marc-Andre Laperle via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 14 07:56:37 PDT 2017


malaperle added a comment.

In https://reviews.llvm.org/D35406#809609, @ilya-biryukov wrote:

> The idea is to allows us changing the way we manage/rebuild PCHs and ASTs.
>  ASTUnit is used for many things and has a fairly complicated and verbose interface and does a lot of mutations all other the place inside it, so making changes to it is not particularly easy.
>  On the other hand, it doesn't add a lot of value for clangd specifically, since we use a very simple subset of it.
>
> The next step I planned was to allow code completion to be run in parallel with recomputing preamble/computing diagnostics. (And in general, allow multiple TUs to be processed in parallel).
>  That would probably involve changes to the interface, so we should definitely sync with you on the work you've been doing.
>  And we were also planning to look into indexing at a later point, so discussing the design there might be interesting as well.


Thanks a lot for the additional information.

For synching with what I am doing. I am "only" looking right now at the modeling of the index and its on-disk storage, not really on the speeding up of the parsing of the TUs (i.e. the input of the index). I use index::IndexDataConsumer to feed the index and I see that in your change it is still pretty much used the same way as before so there is no problem. I will post on the indexing thread from before with a more detailed proposal from before once it is a bit further along.


https://reviews.llvm.org/D35406





More information about the cfe-commits mailing list