This enables more execution modes like standalone and Mapreduce-style execution.
See also D41729
Differential D41730
[clangd] Use ToolExecutor to write the global-symbol-builder tool. ioeric on Jan 4 2018, 9:35 AM. Authored by
Details
Diff Detail
Event TimelineComment Actions The implementation looks good, but to see whether sam has high-level comments on this.
Comment Actions Address review comments.
Comment Actions This makes SymbolCollector (production code) depend on YAML (explicitly experimental), as well as on Tooling interfaces. Moreover, it's unfortunate we'd need to change SymbolCollector at all. Currently it's a nice abstraction that does one thing (AST -> SymbolSlab), now we're making it do two things. It can't be for scalability reasons - there's no problem fitting all the symbols from a TU in memory. So why do we need to do this? Comment Actions Address review comment: move all ToolExecutor and YAML-specific logics out of SymbolCollector. Comment Actions Thanks for the catch! I completely missed these perspectives...
WrapperFrontendAction is helpful here. All changes have been moved into the tool now. PTAL |