[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