[all-commits] [llvm/llvm-project] 7a8519: [clang][ExtractAPI] Add support for single symbol ...

Daniel Grumberg via All-commits all-commits at lists.llvm.org
Tue Dec 13 03:19:30 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7a85192166b551929d413e8a38549375503371db
      https://github.com/llvm/llvm-project/commit/7a85192166b551929d413e8a38549375503371db
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2022-12-13 (Tue, 13 Dec 2022)

  Changed paths:
    M clang/include/clang-c/Documentation.h
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    A clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/CMakeLists.txt
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    A clang/lib/ExtractAPI/ExtractAPIVisitor.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.cpp
    M clang/lib/ExtractAPI/TypedefUnderlyingTypeResolver.h
    A clang/test/Index/extract-api-cursor.m
    A clang/test/Index/extract-api-usr.m
    M clang/tools/c-index-test/c-index-test.c
    M clang/tools/libclang/CMakeLists.txt
    A clang/tools/libclang/CXExtractAPI.cpp
    M clang/tools/libclang/libclang.map

  Log Message:
  -----------
  [clang][ExtractAPI] Add support for single symbol SGF and libclang support

This is mainly adding an entry point to `SymbolGraphSerializer` at
`serializeSingleSymbolSGF` and exposing the necessary data to make this
possible.  Additionaly there are some changes to how symbol kinds and
path components are serialized to make the usage more ergonomic in
`serializeSingleSymbolSGF`.

On the libclang side this introduces APIs to:
- create an APISet from a TU
- dispose of an APISet
- query an APISet for a single symbol SGF for a given USR.
- generate a single symbol SGF for a given CXCursor, this only traverses
the necessary AST nodes to construct the result as oppposed as going
through the entire AST.

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




More information about the All-commits mailing list