History log of /llvm-project/clang/lib/ExtractAPI/API.cpp (Results 1 – 25 of 40)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4
# b9f4afa1 29-Aug-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Fix iteration order of TopLevelRecords (#106411)

Fixes #106355


# 8f4f3df3 20-Aug-2024 Daniel Grumberg <dgrumberg@apple.com>

Reenable anon structs (#104922)

Add back missing includes and revert revert "[clang][ExtractAPI] Stop
dropping fields of nested anonymous record types when they aren't
attached to variable declara

Reenable anon structs (#104922)

Add back missing includes and revert revert "[clang][ExtractAPI] Stop
dropping fields of nested anonymous record types when they aren't
attached to variable declaration (#104600)"

show more ...


Revision tags: llvmorg-19.1.0-rc3
# b18b4547 19-Aug-2024 Daniel Grumberg <dgrumberg@apple.com>

Revert "[clang][ExtractAPI] Stop dropping fields of nested anonymous record types when they aren't attached to variable declaration (#104600)"

This reverts commit c60da1a271a6bb271e7703b2f7c71fbece6

Revert "[clang][ExtractAPI] Stop dropping fields of nested anonymous record types when they aren't attached to variable declaration (#104600)"

This reverts commit c60da1a271a6bb271e7703b2f7c71fbece67ab78.

show more ...


# c60da1a2 19-Aug-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Stop dropping fields of nested anonymous record types when they aren't attached to variable declaration (#104600)

- Introduce primitives for removing records from `APISet` and ma

[clang][ExtractAPI] Stop dropping fields of nested anonymous record types when they aren't attached to variable declaration (#104600)

- Introduce primitives for removing records from `APISet` and managing
the record chain of `RecordContext`
- Detect nested anonymous record types and remove them from the `APISet`
after they have been fully traversed and transfer ownership of child
records to the parent context (if any)

show more ...


Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7
# aaa4ff88 03-Jun-2024 David Stone <davidfromonline@gmail.com>

[clang][Modules] Remove unnecessary includes of `Module.h` (#93417)


Revision tags: llvmorg-18.1.6, llvmorg-18.1.5
# 2bcbe40f 24-Apr-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Fix handling of anonymous TagDecls (#87772)

This changes the handling of anonymous TagDecls to the following rules:
- If the TagDecl is embedded in the declaration for some VarD

[clang][ExtractAPI] Fix handling of anonymous TagDecls (#87772)

This changes the handling of anonymous TagDecls to the following rules:
- If the TagDecl is embedded in the declaration for some VarDecl (this
is the only possibility for RecordDecls), then pretend the child decls
belong to the VarDecl
- If it's an EnumDecl proceed as we did previously, i.e., embed it in
the enclosing DeclContext.

Additionally this fixes a few issues with declaration fragments not
consistently including "{ ... }" for anonymous TagDecls. To make testing
these additions easier this patch fixes some text declaration fragments
merging issues and updates tests accordingly.

rdar://121436298

show more ...


Revision tags: llvmorg-18.1.4
# e05c1b46 03-Apr-2024 Daniel Grumberg <dgrumberg@apple.com>

Reenable external categories (#87357)

Reenables b31414bf4f9898f7817a9fcf8a91f62ec26f3eaf.

Also adds a new warning for missing `--symbol-graph-dir` arg when
`--emit-extension-symbol-graphs` is pr

Reenable external categories (#87357)

Reenables b31414bf4f9898f7817a9fcf8a91f62ec26f3eaf.

Also adds a new warning for missing `--symbol-graph-dir` arg when
`--emit-extension-symbol-graphs` is provided. This also reverts the
commit that removed.

show more ...


Revision tags: llvmorg-18.1.3
# 209a1e8d 02-Apr-2024 Daniel Grumberg <dgrumberg@apple.com>

Revert "[clang][ExtractAPI] Add ability to create multiple symbol graphs (#86676)"

This failed the test suite due to missing DiagGroup for a new warning.

This reverts commit b31414bf4f9898f7817a9fc

Revert "[clang][ExtractAPI] Add ability to create multiple symbol graphs (#86676)"

This failed the test suite due to missing DiagGroup for a new warning.

This reverts commit b31414bf4f9898f7817a9fcf8a91f62ec26f3eaf.

show more ...


# b31414bf 02-Apr-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Add ability to create multiple symbol graphs (#86676)

This extends ExtractAPI to take into account symbols defined in categories to types defined in an external module.
This int

[clang][ExtractAPI] Add ability to create multiple symbol graphs (#86676)

This extends ExtractAPI to take into account symbols defined in categories to types defined in an external module.
This introduces 2 new command line flags, `--symbol-graph-dir=DIR` and `--emit-extension-symbol-graphs`, when used together this generates additional symbol graph files at `DIR/ExtendedModule@ProductName.symbols.json` for each external module that is extended in this way.

Additionally this makes some cleanups to tests to make them more resilient and cleans up the `APISet` data structure.

show more ...


Revision tags: llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init
# 69fedaf8 22-Jan-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Add support C unions in non C++ parsing mode (#77451)

Ensure that we generate correct symbol kinds and declaration fragments
for unions in C and Objective-C parsing modes.

rd

[clang][ExtractAPI] Add support C unions in non C++ parsing mode (#77451)

Ensure that we generate correct symbol kinds and declaration fragments
for unions in C and Objective-C parsing modes.

rdar://120544091

show more ...


# 3d4128f7 19-Jan-2024 Sofía Rodríguez <sofilin2000@icloud.com>

[clang][ExtractAPI] Record availability information only for the target platform (#76823)

Currently, ExtractAPI provides availability information for all
platforms within a given domain. With this

[clang][ExtractAPI] Record availability information only for the target platform (#76823)

Currently, ExtractAPI provides availability information for all
platforms within a given domain. With this change, we narrow down the
output to include availability details only for the specified target
platform, so users can generate the symbol graph with only the
availability information they need, omitting information of the other
platforms.

This change reverts the functionality introduced in
[`57c9780`](https://github.com/llvm/llvm-project/commit/57c9780).

rdar://120419037

show more ...


Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3
# 18d19911 14-Oct-2023 Kazu Hirata <kazu@google.com>

Stop including llvm/ADT/STLFunctionalExtras.h (NFC)

These source files do not use function_ref.


Revision tags: llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4
# 08f034f9 22-Aug-2023 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] Add support for namespaces

Serialize namespaces, nested namespaces, and class relationships inside them.

Depends on D157076

Reviewed By: dang

Differential Revision: https://re

[clang][ExtractAPI] Add support for namespaces

Serialize namespaces, nested namespaces, and class relationships inside them.

Depends on D157076

Reviewed By: dang

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

show more ...


Revision tags: llvmorg-17.0.0-rc3
# 3bb48553 21-Aug-2023 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] Refactor C++ method and field visitation

Refactor visitation for C++ record children by following the Visitor's CRTP.
Expand VisitCXXField, VisitCXXMethod for non-templates and i

[clang][ExtractAPI] Refactor C++ method and field visitation

Refactor visitation for C++ record children by following the Visitor's CRTP.
Expand VisitCXXField, VisitCXXMethod for non-templates and introduce VisitCXXConstructor, VisitCXXDestructor.
Handle relationships by finding the parent's Record via USR from DeclContext.

Depends on D158029

Reviewed By: dang

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

show more ...


# 634b2fd2 21-Aug-2023 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] Add support for C++ member templates

Visit and serialize C++ fields by checking if a var template's context is a CXXRecordDecl in VisitVarTemplateDecl.

Depends on D158027

Revie

[clang][ExtractAPI] Add support for C++ member templates

Visit and serialize C++ fields by checking if a var template's context is a CXXRecordDecl in VisitVarTemplateDecl.

Depends on D158027

Reviewed By: dang

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

show more ...


# d8e9c5d9 21-Aug-2023 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] Visit method templates with better scheme

Visit and serialize method templates and template specializations. Introduces a new scheme of visiting child Decls via VisitCXXMethodDec

[clang][ExtractAPI] Visit method templates with better scheme

Visit and serialize method templates and template specializations. Introduces a new scheme of visiting child Decls via VisitCXXMethodDecl which will be followed in future patches for Fields and non-template methods.

Depends on D157579

Reviewed By: dang

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

show more ...


# 80b787e8 18-Aug-2023 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] Add support for C++ global function templates

Add records, serialization for global function templates and their specializations

Depends on D157350

Reviewed By: dang

Different

[clang][ExtractAPI] Add support for C++ global function templates

Add records, serialization for global function templates and their specializations

Depends on D157350

Reviewed By: dang

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

show more ...


# 8d8c8981 18-Aug-2023 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] Add support for C++ variable templates

Serialize global C++ variable templates and specializations.

Depends on D157076

Reviewed By: dang

Differential Revision: https://reviews

[clang][ExtractAPI] Add support for C++ variable templates

Serialize global C++ variable templates and specializations.

Depends on D157076

Reviewed By: dang

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

show more ...


# 7ba37f4e 18-Aug-2023 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] Add support for C++ class templates and concepts

Add has_template template, DeclarationFragmentBuilder functions, and tests for class templates, specializations/partial specs, an

[clang][ExtractAPI] Add support for C++ class templates and concepts

Add has_template template, DeclarationFragmentBuilder functions, and tests for class templates, specializations/partial specs, and concepts.

Depends on D157007

Reviewed By: dang

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

show more ...


Revision tags: llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init
# 18493185 04-Jul-2023 ruturaj4 <ruturajkvaidya@ku.edu>

[clang][ExtractAPI] Add support for Objective-C categories

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


# 75f55eb3 04-Aug-2023 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] Add support for C++ classes with fix

Reintroduce D153557 with fix for use-after-free from f4de606ef271 and minor changes.

Reviewed By: dang

Differential Revision: https://revie

[clang][ExtractAPI] Add support for C++ classes with fix

Reintroduce D153557 with fix for use-after-free from f4de606ef271 and minor changes.

Reviewed By: dang

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

show more ...


# 20f7cc0d 02-Aug-2023 Erick Velez <erickvelez7@gmail.com>

Revert "[clang][ExtractAPI] Add support for C++ classes"

This reverts commit 8b76b44e46ac5b4efbf8cb3702f09d353af2a112.


Revision tags: llvmorg-16.0.6, llvmorg-16.0.5
# 8b76b44e 01-Jun-2023 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] Add support for C++ classes

Add ExtractAPI support C++ classes, fields, methods, and various qualifiers and specifiers

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


# c4933940 13-Jun-2023 Kazu Hirata <kazu@google.com>

[clang] Use DenseMapBase::lookup (NFC)


Revision tags: llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4
# 7a851921 26-Oct-2022 Daniel Grumberg <dgrumberg@apple.com>

[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 da

[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

show more ...


12