[cfe-dev] clang-refactoring tool proposal

Krzysztof Wiśniewski via cfe-dev cfe-dev at lists.llvm.org
Sun Aug 21 11:49:50 PDT 2016


Hey Kirill,

are there any news like design docs or in general more info that you said
will appear in the end of this week?

Regards,
Chris Wisniewski

On Thu, Aug 18, 2016 at 1:54 PM Alexander Droste <
alexander.ra.droste at googlemail.com> wrote:

> Hi Kirill,
>
> sounds great. Thanks for being open to contributions!
>
> -Alex
>
> On 17.08.16 10:27, Kirill Bobyrev wrote:
> > Hi Alexander and Krzysztof,
> >
> > Thank you for your interest!
> >
> > Please find my comment inline.
> >
> > On Sun, Aug 14, 2016 at 4:36 PM, Krzysztof Wiśniewski <
> k.k.wisniewski1 at gmail.com
> > <mailto:k.k.wisniewski1 at gmail.com>> wrote:
> >
> >     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.
> >
> > As soon as design docs look fine for me. I am currently working on
> design docs
> > and I hope to finish them soon. There will be enough info about
> everything in
> > these docs. Feedback on them will be highly appreciated.
> >
> > Yes, it does not exist in upstream yet, there's a "demo" that I have,
> but it's
> > still very basic one. I don't have any timeline, but I hope to get
> design docs
> > to public by the end of this week.
> >
> > I suppose there'll be a lot of work in that direction, so feedback and
> > contributions are always nice!
> >
> > By the way, there's a page about Open Projects @ Clang
> > <http://clang.llvm.org/OpenProjects.html> if you are interested.
> >
> >     Best regards,
> >
> >     Chris Wisniewski
> >
> >     On Sun, Aug 14, 2016 at 12:11 PM Alexander Droste via cfe-dev
> >     <cfe-dev at lists.llvm.org <mailto: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>
> >         <mailto: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> <mailto:
> 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>
> >         <mailto: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>
> >         >     <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 <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>
> >         >
> >         _______________________________________________
> >         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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160821/3497c064/attachment.html>


More information about the cfe-dev mailing list