<div dir="ltr">Hi Daniel, it would be interesting to hear if clang is able to parse/compile your codebase and where it fails if not.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 31, 2014 at 4:00 PM, Daniel Albuschat <span dir="ltr"><<a href="mailto:d.albuschat@gmail.com" target="_blank">d.albuschat@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Hi,</div><div class="gmail_quote"><br></div><div class="gmail_quote">

2014-07-30 19:13 GMT+02:00 "C. Bergström" <span dir="ltr"><<a href="mailto:cbergstrom@pathscale.com" target="_blank">cbergstrom@pathscale.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div class="">On 07/30/14 11:42 PM, Richard wrote:<br>


</div><div class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">This is where clang-based refactoring tools are really going to shine.<br>



Leveraging the *production quality* parser and resulting lossless AST<br>
just puts you miles ahead in the game.<br>
</blockquote></div></div><div class="">
Have you evaluated MSVC+Visually Assist plugin? While it's not IntelliJ, I have heard good things about it. I think that's a professional level baseline which other tools could work towards matching/beating..<br>



<br>
This is OT for the list, but you and others are welcome to follow-up with me offlist for the refactoring stuff we are doing where I work.<br>
<br>
The refactoring work I have experience with ends up relying on things which go sorta outside the typical libclang tooling realm. You really have a lot to track beyond just a single source file and dealing with that can get tricky.</div>

</blockquote>
<div><br></div><div>I have much experience with refactoring large C++ codebases, all depending on WinAPI. My conclusion is: Visual Assist X seems to currently be the best tool at the market. However, it is quite useless, since most - if not any - refactoring-attempts at an over 20-year-old codebase with roughly 2 million lines of Microsoft-infested C++ code (DWORD, BOOL, etc.) failed. Even small, local refactorings take a) very long and b) mostly yield incorrect results.</div>


<div>For example, there was a paradigm to have a nested "data"-class inside of classes that manage the ui. They all share the same name, albeit being nested inside of totally different classes. VA X failed miserably analysing ("Go to definition") and refactoring this.</div>


<div><br></div><div>BTW, this is similar to Microsoft's effort regarding Roslyn: They already understood that there can be no sufficiently functioning refactoring tool that does not actually use the compiler's parser itself.</div>


<div><br></div><div>If clang-rename will be able to handle the codebase I am working with, I will be in sheer joy.</div><div><br></div><div>Greetings,</div><div>Daniel Albuschat</div><div><br></div><div><br></div><div> </div>


</div></div></div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>