[all-commits] [llvm/llvm-project] 9f251e: [clangd] Define out-of-line availability checks
kadir çetinkaya via All-commits
all-commits at lists.llvm.org
Tue Dec 3 23:28:25 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 9f251eece46675ba0095baddebe90512abde6337
https://github.com/llvm/llvm-project/commit/9f251eece46675ba0095baddebe90512abde6337
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2019-12-04 (Wed, 04 Dec 2019)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
A clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
M clang-tools-extra/clangd/unittests/TweakTesting.cpp
M clang-tools-extra/clangd/unittests/TweakTesting.h
M clang-tools-extra/clangd/unittests/TweakTests.cpp
Log Message:
-----------
[clangd] Define out-of-line availability checks
Summary:
Initial availability checks for performing define out-of-line code
action, which is a refactoring that will help users move function/method
definitions from headers to implementation files.
Proposed implementation only checks whether we have an interesting selection,
namely function name or full function definition/body.
Reviewers: hokein
Subscribers: mgorny, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69266
Commit: ce2189202245953cbbfff100e6e5e9c1acb664ad
https://github.com/llvm/llvm-project/commit/ce2189202245953cbbfff100e6e5e9c1acb664ad
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2019-12-04 (Wed, 04 Dec 2019)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
M clang-tools-extra/clangd/unittests/TweakTesting.cpp
M clang-tools-extra/clangd/unittests/TweakTests.cpp
Log Message:
-----------
[clangd] Define out-of-line initial apply logic
Summary:
Initial implementation for apply logic, replaces function body with a
semicolon in source location and copies the full function definition into target
location.
Will handle qualification of return type and function name in following patches
to keep the changes small.
Reviewers: hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69298
Commit: e4609ec0e8cfddf697ffc3eccf9bef6a830bc6f0
https://github.com/llvm/llvm-project/commit/e4609ec0e8cfddf697ffc3eccf9bef6a830bc6f0
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2019-12-04 (Wed, 04 Dec 2019)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
M clang-tools-extra/clangd/unittests/TweakTests.cpp
Log Message:
-----------
[clangd] Define out-of-line qualify return value
Summary:
Return type might need qualification if insertion context doesn't have
the same decls visible as the source context.
This patch adds qualification for return value to cover such cases.
Reviewers: hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70535
Commit: ddcce0f3d665b66a8232a80ca918d349c8485fe4
https://github.com/llvm/llvm-project/commit/ddcce0f3d665b66a8232a80ca918d349c8485fe4
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2019-12-04 (Wed, 04 Dec 2019)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
M clang-tools-extra/clangd/unittests/TweakTests.cpp
Log Message:
-----------
[clangd] Define out-of-line qualify function name
Summary:
When moving function definitions to a different context, the function
name might need a different spelling, for example in the header it might be:
```
namespace a {
void foo() {}
}
```
And we might want to move it into a context which doesn't have `namespace a` as
a parent, then we must re-spell the function name, i.e:
```
void a::foo() {}
```
This patch implements a version of this which ignores using namespace
declarations in the source file.
Reviewers: hokein
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70656
Compare: https://github.com/llvm/llvm-project/compare/36663d506e31...ddcce0f3d665
More information about the All-commits
mailing list