[all-commits] [llvm/llvm-project] 2eaf6f: [AST] Preserve more structure in UsingEnumDecl node.

Sam McCall via All-commits all-commits at lists.llvm.org
Wed Oct 12 10:55:20 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2eaf6f973cacd7f24691b72a9c6a3ee2a3d1a60b
      https://github.com/llvm/llvm-project/commit/2eaf6f973cacd7f24691b72a9c6a3ee2a3d1a60b
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2022-10-12 (Wed, 12 Oct 2022)

  Changed paths:
    M clang-tools-extra/clangd/FindTarget.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/AST/ast-dump-using-enum.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTestTypeLocVisitor.cpp

  Log Message:
  -----------
  [AST] Preserve more structure in UsingEnumDecl node.

- store NestedNameSpecifier & Loc for the qualifiers
  This information was entirely missing from the AST.
- expose the location information for qualifier/identifier/typedefs as typeloc
  This allows many traversals/astmatchers etc to handle these generically along
  with other references. The decl vs type split can help preserve typedef
  sugar when https://github.com/llvm/llvm-project/issues/57659 is resolved.
- fix the SourceRange of UsingEnumDecl to include 'using'.

Fixes https://github.com/clangd/clangd/issues/1283

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




More information about the All-commits mailing list