Review Request 124200: Introduction of rename variable refactoring
Maciej Poleski
d82ks8djf82msd83hf8sc02lqb5gh5 at gmail.com
Sat Jul 4 13:58:18 UTC 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124200/
-----------------------------------------------------------
(Updated Lip 4, 2015, 3:58 po poĊudniu)
Review request for KDevelop.
Changes
-------
Update description (note)
Repository: kdev-clang
Description (updated)
-------
Introduced rename variable refactoring.
This patch provides preliminary support for variable rename refactoring.
Currently only one project is supported.
Currently it is required to save all opened documents (cache is not ready).
Regeneration of compile_commands.json needs to be polished. How to get appropriate notification (IProjectBuilder::configured signal)? As a workaround i simply restarted KDevelop to get this regenerated.
To use this refactoring right click on variable declaration (definition) and select "rename" refactoring.
Full renaming support will consist of a few parts - one of them is renaming around VarDecl (this patch).
Quite early, but i wanted to see that this work is going into some direction after month of coding of pure interfaces/details.
How to split diffs? I noticed that RBTool created diff consisting of all changes ignoring other pending request. I wanted only the last one, because earlier commits are subject of other review.
NOTE: This is very conservative refactoring. It runs ClangTool on every TU defined in compile_commands.json. Such refactorings are very slow. I will have to work more on it (make some heuristics reducing set of TUs which need processing).
Diffs
-----
CMakeLists.txt 875172a8407f4bd9faf330f032a280fa66c2b16f
clangsupport.h 8ed1ec90bbbc41d7c7a94d926e0951c729a6194c
clangsupport.cpp e22c55426a2e839ec11cbe0b2fe1e13721b0583a
cmake/FindClang.cmake 6c9bd6ef0242319122dcc7e6fd6cea8d9f0cbfbb
refactoring/CMakeLists.txt PRE-CREATION
refactoring/debug.h PRE-CREATION
refactoring/debug.cpp PRE-CREATION
refactoring/documentcache.h PRE-CREATION
refactoring/documentcache.cpp PRE-CREATION
refactoring/interface.h PRE-CREATION
refactoring/interface.cpp PRE-CREATION
refactoring/kdevrefactorings.h PRE-CREATION
refactoring/kdevrefactorings.cpp PRE-CREATION
refactoring/kdevrefactorings_disabled.h PRE-CREATION
refactoring/nooprefactoring.h PRE-CREATION
refactoring/nooprefactoring.cpp PRE-CREATION
refactoring/refactoring.h PRE-CREATION
refactoring/refactoring.cpp PRE-CREATION
refactoring/refactoringcontext.h PRE-CREATION
refactoring/refactoringcontext.cpp PRE-CREATION
refactoring/refactoringinfo.h PRE-CREATION
refactoring/refactoringinfo.cpp PRE-CREATION
refactoring/refactoringmanager.h PRE-CREATION
refactoring/refactoringmanager.cpp PRE-CREATION
refactoring/renamevardeclrefactoring.h PRE-CREATION
refactoring/renamevardeclrefactoring.cpp PRE-CREATION
refactoring/utils.h PRE-CREATION
refactoring/utils.cpp PRE-CREATION
Diff: https://git.reviewboard.kde.org/r/124200/diff/
Testing
-------
Manual testing on very small code bases as cache and compile_commands.json regeneration is not fully functional.
Thanks,
Maciej Poleski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20150704/0a7c8f8d/attachment.html>
More information about the KDevelop-devel
mailing list