llvm-project/clang-tools-extra/clang-rename
Haojian Wu 74f823a045 [clang-rename] Support renaming qualified symbol
Summary:
The patch adds a new feature for renaming qualified symbol references.
Unlike orginal clang-rename behavior, when renaming a qualified symbol to a new
qualified symbol (e.g "A::Foo" => "B::Bar"), this new rename behavior will
consider the prefix qualifiers of the symbol, and calculate the new prefix
qualifiers.  It aims to add as few additional qualifiers as possible.

As this is an early version (only supports renaming classes), I don't change
current clang-rename interfaces at the moment, and would like to keep its
(command-line tool) behavior. So I added new interfaces for the prototype.
In the long run, these interfaces should be unified.

No functionality changes in original clang-rename command-line tool.

This patch also contains a few bug fixes of clang-rename which are discovered by
the new unittest:

* fix a potential nullptr accessment when class declaration doesn't have definition.
* add USRs of nested declartaions in "getNamedDeclFor".

Reviewers: ioeric

Reviewed By: ioeric

Subscribers: alexfh, cfe-commits, mgorny

Differential Revision: https://reviews.llvm.org/D31176

llvm-svn: 299419
2017-04-04 09:30:06 +00:00
..
tool Make Emacs libraries compatible with Emacs 24. 2016-10-11 09:15:10 +00:00
CMakeLists.txt [clang-rename] Support renaming qualified symbol 2017-04-04 09:30:06 +00:00
RenamingAction.cpp [clang-rename] Support renaming qualified symbol 2017-04-04 09:30:06 +00:00
RenamingAction.h [clang-rename] Support renaming qualified symbol 2017-04-04 09:30:06 +00:00
USRFinder.cpp [clang-rename] Support renaming qualified symbol 2017-04-04 09:30:06 +00:00
USRFinder.h [clang-rename] Fix Clang-tidy and IWYU warnings; other minor fixes 2016-09-04 22:19:52 +00:00
USRFindingAction.cpp [clang-rename] Support renaming qualified symbol 2017-04-04 09:30:06 +00:00
USRFindingAction.h [clang-rename] Merge rename-{at|all} & optimise. 2016-09-16 08:45:19 +00:00
USRLocFinder.cpp [clang-rename] Support renaming qualified symbol 2017-04-04 09:30:06 +00:00
USRLocFinder.h [clang-rename] Support renaming qualified symbol 2017-04-04 09:30:06 +00:00