Contributing Apple's work on refactoring and indexing-while-building to llvm.org

This afternoon at WWDC, we announced a couple of clang features as part of Xcode 9. We plan to contribute these features back to llvm.org promptly, after our schedules open up from the conference.

Argyrios Kyrtzidis will follow up in the next week with patches and a review plan for indexing-while-building in clang.

Alex Lorenz will follow up in the next week with patches and a review plan for refactoring support in clang with an accompanying libclang API.

Duncan

Hi Duncan,

This is excellent news! I was just reading about the new features and was curious as to how they were achieved. I am hoping that we can reuse most of this work in Clangd so that we can accelerate things and collaborate on the common code. I find that the core implementation in lib/Index is already useful, therefore, I’m greatly anticipating this contribution.

Thanks a lot!

Marc-André Laperle

Hey, awesome to see Apple working more in this space!

I would generally expect these to take the form of an RFC discussion about the design of the features rather than patches initially… They both seem like they should get community feedback on the overall design and/or approach, especially given the amount of community discussion around both indexing and refactoring in Clang these days. Looking forward to more details though!

Agreed, I’m also very happy to see Apple contribute here, looking forward to getting clang’s indexing / refactoring to the next level! Especially for clangd we really need a good indexing solution; currently, there’s an ongoing discussion on indexing in an email thread on cfe-dev titled “Adding indexing support to Clangd”.
I agree with Chandler that a high level explanation on the design and how things fit in with the current tooling infrastructure would be helpful.

Yup, I’m expecting the same level of discussion; but since we already have patches to point at for reference, we may as well do so.