[cfe-dev] clang-refactoring tool proposal

Krzysztof Wiśniewski via cfe-dev cfe-dev at lists.llvm.org
Sun Aug 14 07:36:18 PDT 2016


Hi everyone!

I've just started to search for some open-source project to join because
a) I want to re-learn C++ (there have been a few years since I've used it)
b) need some topic for my masters thesis

The tool Kirill proposes sounds like a good opportunity for me to join - as
far as I understand, it does not exist yet and there seems to be a
community that is interested in using it when it's done. Do you have any
timeline when the planning and development could kick-off? Are there any
discussions/docs I should go through first? If you think I should start by
doing some bugs in other clang-related projects let me know.

Best regards,

Chris Wisniewski

On Sun, Aug 14, 2016 at 12:11 PM Alexander Droste via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> Hi,
>
> like everyone else, I think improved refactoring capabilities
> in clang would be pretty exciting. This is something I would
> really like to work on. So if there's interest to delegate
> some chunks of work I'd like to help.
>
> -Alex
>
> On 11.08.16 14:01, Kirill Bobyrev via cfe-dev wrote:
> > 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 <mailto: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 <mailto:mail at milianw.de>
> >     http://milianw.de
> >     _______________________________________________
> >     cfe-dev mailing list
> >     cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
> >     http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> >     <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev>
> >
> >
> >
> > --
> > Best regards,
> > Kirill Bobyrev
> >
> >
> > _______________________________________________
> > cfe-dev mailing list
> > cfe-dev at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> >
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160814/b0f32a7d/attachment.html>


More information about the cfe-dev mailing list