[cfe-dev] Integrating clang-based refactoring tools into IDEs - best practices?

Manuel Klimek klimek at google.com
Mon Jun 1 03:16:46 PDT 2015


On a side note:
For API stability, I think recent changes are pretty wild as things move
towards more and more C++11 features. Usually we find it not that much work
to keep up with the C++ APIs.
ABI stability is of course a different problem - if you want to use the
platform libs instead of just building your own version of clang's libs
into your product, I do believe exporting stuff through libclang is pretty
much the only sensible option.

On Mon, Jun 1, 2015 at 12:13 PM Manuel Klimek <klimek at google.com> wrote:

> On Sat, May 30, 2015 at 2:54 PM Milian Wolff <mail at milianw.de> wrote:
>
>> Hello all,
>>
>> for KDevelop, we have a GSOC student this summer doing a R&D project on
>> how we
>> could leverage libTooling and friends to create refactoring tools for C++
>> code. I'm pretty sure that this is the correct way in the long run, but I
>> have
>> some trouble with the lack of API and ABI stability in the C++ libraries
>> of
>> LLVM, most notably libTooling here.
>>
>> I was thinking about a separate process that works only against a very
>> specific LLVM version. Thus, if distributors update LLVM, and the stuff
>> does
>> not compile anymore, we only loose the refactoring but not the whole
>> language
>> support (based on clang-c).
>> With this approach though, the cached parse data cannot be shared between
>> language support and refactoring...
>>
>> How do other IDEs handle this situation? Is there maybe an external
>> libTooling-c shim or similar that we could leverage?
>>
>
> I think you're the first IDE wanting to do that (so I'm super super
> excited and want to help you where I can :D)
>
> The original plan was to basically get refactorings into libclang once
> they're working well enough. To my knowledge we don't have such
> refactorings yet - is the SOC project about building refactorings, too? :)
>
> For tools like clang-format or clang-tidy we have integrations that use
> the command line interfaces.
>
>
>
>
>>
>> Bye
>> --
>> Milian Wolff
>> mail at milianw.de
>> http://milianw.de
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150601/7928f7a9/attachment.html>


More information about the cfe-dev mailing list