[all-commits] [llvm/llvm-project] d0817b: [clangd] Extract symbol-scope logic out of Quality...

Sam McCall via All-commits all-commits at lists.llvm.org
Fri Jan 29 05:44:50 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d0817b5f18c7bb435012d214f293d4a7839e492e
      https://github.com/llvm/llvm-project/commit/d0817b5f18c7bb435012d214f293d4a7839e492e
  Author: Sam McCall <sam.mccall at gmail.com>
  Date:   2021-01-29 (Fri, 29 Jan 2021)

  Changed paths:
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/AST.h
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/Quality.cpp
    M clang-tools-extra/clangd/Quality.h
    M clang-tools-extra/clangd/quality/CompletionModelCodegen.py
    M clang-tools-extra/clangd/quality/model/features.json
    M clang-tools-extra/clangd/unittests/ASTTests.cpp
    M clang-tools-extra/clangd/unittests/QualityTests.cpp

  Log Message:
  -----------
  [clangd] Extract symbol-scope logic out of Quality, add tests. NFC

This prepares for reuse from the semantic highlighting code.

There's a bit of yak-shaving here:
 - when the enum is moved into the clangd namespace, promote it to a
   scoped enum. This means teaching the decision forest infrastructure
   to deal with scoped enums.
 - AccessibleScope isn't quite the right name: e.g. public class members
   are treated as accessible, but still have class scope. So rename to
   SymbolScope.
 - Rename some QualitySignals members to avoid name conflicts.
   (the string) SymbolScope -> Scope
   (the enum) Scope -> ScopeKind




More information about the All-commits mailing list