Changes from Git (git http://labmaster3.local/git/llvm-project.git)


  1. [clangd] Fix rename for explicit destructor calls (details)
Commit 38bdb94120b76f8f79cd27d721892673e573895a by kbobyrev
[clangd] Fix rename for explicit destructor calls
When triggering rename of the class name in the code with explicit
destructor calls, rename fails. Consider the following piece of code:
``` class Foo;
Foo f; f.~/*...*/Foo();
`findExplicitReferences` will report two `ReferenceLoc` for destructor
call: one is comming from `MemberExpr` (i.e. destructor call itself) and
would point to the tilde:
``` f.~/*...*/Foo();
And the second one is pointing to the typename and is coming from
``` f.~/*...*/Foo();
This causes rename to produce incorrect textual replacements. This patch
updates `MemberExpr` handler to detect destructor calls and prevents it
from reporting a duplicate reference.
Reviewers: kadircet, hokein
Differential Revision:
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp