[cfe-dev] clang-refactoring tool proposal

Kirill Bobyrev via cfe-dev cfe-dev at lists.llvm.org
Thu Aug 11 05:01:55 PDT 2016


Ben, Milian,

Thank you for the feedback!

On Wed, Aug 10, 2016 at 12:59 PM, Milian Wolff via cfe-dev <
cfe-dev at lists.llvm.org> wrote:
>
> On Mittwoch, 10. August 2016 00:06:46 CEST Ben Jackson via cfe-dev wrote:
> > First, I think clang-refactor is a great idea and a great point of focus
> for
> > really useful tools.
> > > My proposed solution is to create clang-refactor tool, which would be
> an
> > > “umbrella” for other refactoring modules. A prototype of clang-refactor
> > > would merge clang-rename inside of it and other modules and
> refactorings
> > > would be added later.
> > >
> > > A properly designed clang-refactor tool would be able to process
> multiple
> > > Translation Units, which is crucial for all mentioned refactoring.
> >
> > As a maintainer of a code comprehension tool which uses libclang, it
> would
> > be really useful if such a refactoring ability was exposed via the
> > higher-level APIs. We’d *love* to have IDE-like refactoring for
> C/C++/etc.
> > in the tool, and I’m sure our users would too :).
> >
> > One of the challenges we have with clang-rename, clang-include-fixer
> etc. is
> > that they are difficult to integrate with existing applications which use
> > libclang. Or perhaps I should say, they require orthogonal integration -
> > currently to integrate these tools, even though I have successfully
> > generated a TU/AST etc., I have to shell out to a binary which users may
> or
> > may not have installed.
>
That's true. Clang-refactor should consider making the interface to all of
the subtools more or less uniform.

> >
> > I know that is probably complex to deliver in practice, and I understand
> > that the maintainers may have different opinions on the scope of libclang
> > (or even the scope of this discussion!), but I wanted to throw the idea
> out
> > there, in case there is appetite. Certainly, I would be super excited to
> > integrate these tools into ycmd/YouCompleteMe. I don’t doubt others would
> > similarly benefit.
>
Yes, ycmd and YCM are very good things to integrate into, but I think that
shouldn't be the only focus, i.e. a good high-level API should provide a
nice and easy way of integration to any other third-party projects, too.

>
> I can only second the above. KDevelop is in exactly the same position, and
> I
> bet lots of other tools out there are as well. Just think of the potential
> time that can be saved by handing in an existing TU instead of having to
> parse
> that yet again.
>
> Cheers
>
> --
> Milian Wolff
> mail at milianw.de
> http://milianw.de
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>


-- 
Best regards,
Kirill Bobyrev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160811/55117d48/attachment.html>


More information about the cfe-dev mailing list