[cfe-dev] RFC: Adding a rename refactoring tool to clang

Amin Shali amshali at google.com
Mon Jul 28 10:05:55 PDT 2014


You brought up an interesting case here. Although we are concerned about
such case, it is not our intent to actually implement a cache/index service
to be able to get the parsed files in this project. I think this could be
an opportunity for a service to grow here that can be used not just by
refactoring but also other things.



*Λ*MIN シ | Data, that's what for dinner. | amshali@
<amshali at google.com> | Google
Inc.


On Sat, Jul 26, 2014 at 12:26 AM, Tobias Grosser <tobias at grosser.es> wrote:

> On 25/07/2014 22:01, Amin Shali wrote:
>
>> Folks,
>>
>> At Google we are working on a tool and set of APIs for refactoring C++
>> programs based on LibTooling. Particularly, we have targeted rename
>> refactoring for C++ as our first step.
>>
>> In our first iteration we want to offer two things:
>> 1- A command line tool similar to clang-format which will semantically
>> rename a symbol (specified by a position in a file) in a set of input
>> files.
>> 2- An API for doing the above task which can effectively be used to
>> provide
>> this functionality for any editor (Emacs, Vim, CodeMirror, etc.).
>>
>
> Hi Amin,
>
> this is interesting.
>
> Do you plan to keep parsed files in memory/a cache/indexed? If you e.g.
> want to rename a couple of constructs in the LLVM code base, it seems to
> make a big difference if you need to wait 5-10 minutes until a rename has
> taken place or if it is almost instant, especially for editor integration.
>
> I am asking this as performing actions/analysis across multiple
> translation units is a recurring problem and it would be interesting to see
> if/how your work would (maybe not today?) integrate with such kind of
> service.
>
> Cheers,
> Tobias
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140728/ff7fe542/attachment.html>


More information about the cfe-dev mailing list