[clang-rename] introduce better symbol finding
authorKirill Bobyrev <omtcyfz@gmail.com>
Fri, 22 Jul 2016 13:41:09 +0000 (13:41 +0000)
committerKirill Bobyrev <omtcyfz@gmail.com>
Fri, 22 Jul 2016 13:41:09 +0000 (13:41 +0000)
commita3432fa91cd547fb4b23dc65198993c5161dfd32
treec78c3b986ac9e5945646b34bcfc244ab5a698825
parentbd7aa358f0222841e46d3555725f6ab3ef46c0ce
[clang-rename] introduce better symbol finding

This patch introduces:

* TypeLoc visiting, which helps a lot in renaming types
* NestedNameSpecifierLoc visiting (through getting them via ASTMatcher at the moment, though, because RecursiveASTVisitor<T>::VisitNestedNameSpecifierLoc isn't implemented), which helps to treat nested names correctly
* better code formatting and refactoring
* bunch of tests

Reviewers: alexfh

Differential revision: https://reviews.llvm.org/D22465

llvm-svn: 276414
16 files changed:
clang-tools-extra/clang-rename/RenamingAction.cpp
clang-tools-extra/clang-rename/USRFinder.cpp
clang-tools-extra/clang-rename/USRFinder.h
clang-tools-extra/clang-rename/USRFindingAction.cpp
clang-tools-extra/clang-rename/USRLocFinder.cpp
clang-tools-extra/test/clang-rename/ClassAsTemplateArgumentFindByClass.cpp [new file with mode: 0644]
clang-tools-extra/test/clang-rename/ClassAsTemplateArgumentFindByTemplateArgument.cpp [new file with mode: 0644]
clang-tools-extra/test/clang-rename/ClassNameInFunctionDefenition.cpp
clang-tools-extra/test/clang-rename/ComplicatedClassType.cpp
clang-tools-extra/test/clang-rename/TemplateClassInstantiationFindByDeclaration.cpp [new file with mode: 0644]
clang-tools-extra/test/clang-rename/TemplateClassInstantiationFindByTypeUse.cpp [new file with mode: 0644]
clang-tools-extra/test/clang-rename/TemplateFunctionFindByDeclaration.cpp [new file with mode: 0644]
clang-tools-extra/test/clang-rename/TemplateFunctionFindByUse.cpp [new file with mode: 0644]
clang-tools-extra/test/clang-rename/TemplateTypenameFindByTemplateParam.cpp [new file with mode: 0644]
clang-tools-extra/test/clang-rename/TemplateTypenameFindByTypeInside.cpp [new file with mode: 0644]
clang-tools-extra/test/clang-rename/UserDefinedConversionFindByTypeDeclaration.cpp