[all-commits] [llvm/llvm-project] 3d1560: [clangd][NFC] Make use of TagDecl inside type for ...

kadir çetinkaya via All-commits all-commits at lists.llvm.org
Tue Dec 17 07:34:26 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 3d15605358ebadcbd7740a61c92b4fea4d6241e5
      https://github.com/llvm/llvm-project/commit/3d15605358ebadcbd7740a61c92b4fea4d6241e5
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2019-12-17 (Tue, 17 Dec 2019)

  Changed paths:
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/unittests/HoverTests.cpp

  Log Message:
  -----------
  [clangd][NFC] Make use of TagDecl inside type for hover on auto

Summary:
We were traversing AST twice to get the Decl in case of sugared
types(auto, decltype). They seem to be same in practice, so this patch gets rid
of the second traversal and makes use of TagDecl inside QualType instead.

Reviewers: ilya-biryukov

Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

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


  Commit: 9ab15f303efdfc841f475918535ab4e13960491b
      https://github.com/llvm/llvm-project/commit/9ab15f303efdfc841f475918535ab4e13960491b
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2019-12-17 (Tue, 17 Dec 2019)

  Changed paths:
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/unittests/HoverTests.cpp

  Log Message:
  -----------
  [clangd] Fix handling of inline/anon namespaces and names of deduced types in hover

Summary:
Clangd normally skips inline and anon namespaces while printing nested name
specifiers. It also drops any tag specifiers since we make use of `HoverInfo::Kind`
instead of some text in `HoverInfo::Name`

There was a bug causing us to print innermost inline/anon namespace, this patch
fixes that by skipping those.
Also changes printing and kind detection of deduced types to be similar to decl
case.

Also improves printing for lambdas, currently clangd prints lambdas as
`(anonymous class)`, we can improve it by at least printing `(lambda)`
instead.

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

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


Compare: https://github.com/llvm/llvm-project/compare/0a1ba7c536af...9ab15f303efd


More information about the All-commits mailing list