History log of /llvm-project/clang/lib/ExtractAPI/DeclarationFragments.cpp (Results 1 – 25 of 55)
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
# 33fa40cc 02-Oct-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Generate subheading for typedef'd anonymous types (#110689)

When an anonymous type has a typedef we normally use the typedef's name
in places where we expect a named identifier

[clang][ExtractAPI] Generate subheading for typedef'd anonymous types (#110689)

When an anonymous type has a typedef we normally use the typedef's name
in places where we expect a named identifier in the symbol graph. This
extends this logic to apply to subheadings.

rdar://136690614

show more ...


Revision tags: llvmorg-19.1.1
# ac664697 19-Sep-2024 Youngsuk Kim <youngsuk.kim@hpe.com>

[clang] Tidy uses of raw_string_ostream (NFC)

As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884b

[clang] Tidy uses of raw_string_ostream (NFC)

As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884ba395ad084d for further reference )

* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.

show more ...


Revision tags: llvmorg-19.1.0
# cf1ad281 05-Sep-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Handle AttributedType fragments transparently (#107262)

rdar://131958623


Revision tags: llvmorg-19.1.0-rc4
# b1b24d75 27-Aug-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Fix quirks in interaction with submodules (#105868)

Extension SGFs require the module system to be enabled in order to discover which module defines the extended external type.

[clang][ExtractAPI] Fix quirks in interaction with submodules (#105868)

Extension SGFs require the module system to be enabled in order to discover which module defines the extended external type.
This patch ensures the following:
- Associate symbols with their top level module name, and that only top level modules are considered as modules for emitting extension SGFs.
- Ensure we don't drop macro definitions that came from a submodule. To this end look at all defined macros in `PPCalbacks::EndOfMainFile` instead of relying on `PPCallbacks::MacroDefined` being called to detect a macro definition.

show more ...


Revision tags: llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init
# 2c13194e 16-Jul-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI][NFC] Remove some nullptr dereference problems (#98914)

A places try to get a NamedDecl's name using getName when it isn't a
simple identifier, migrate these areas to getNameAsSt

[clang][ExtractAPI][NFC] Remove some nullptr dereference problems (#98914)

A places try to get a NamedDecl's name using getName when it isn't a
simple identifier, migrate these areas to getNameAsString.

rdar://125315602

show more ...


Revision tags: llvmorg-18.1.8, llvmorg-18.1.7
# ab7e6b66 24-May-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Ensure TemplateArgumentLocations are only accessed if available (#93205)


# 2bde13cd 22-May-2024 Matheus Izvekov <mizvekov@gmail.com>

[clang] NFCI: use TemplateArgumentLoc for NTTP DefaultArgument (#92852)

This is an enabler for https://github.com/llvm/llvm-project/pull/92855

This allows an NTTP default argument to be set as an a

[clang] NFCI: use TemplateArgumentLoc for NTTP DefaultArgument (#92852)

This is an enabler for https://github.com/llvm/llvm-project/pull/92855

This allows an NTTP default argument to be set as an arbitrary
TemplateArgument, not just an expression.
This allows template parameter packs to have default arguments in the
AST, even though the language proper doesn't support the syntax for it.

This allows NTTP default arguments to be other kinds of arguments, like
packs, integral constants, and such.

show more ...


# e42b799b 21-May-2024 Matheus Izvekov <mizvekov@gmail.com>

[clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (#92854)

This is an enabler for a future patch.

This allows an type-parameter default argument to be set as an arbitrary
Temp

[clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (#92854)

This is an enabler for a future patch.

This allows an type-parameter default argument to be set as an arbitrary
TemplateArgument, not just a type.
This allows template parameter packs to have default arguments in the
AST, even though the language proper doesn't support the syntax for it.

This will be used in a later patch which synthesizes template parameter
lists with arbitrary default arguments taken from template
specializations.

There are a few places we used SubsType, because we only had a type, now
we use SubstTemplateArgument.
SubstTemplateArgument was missing arguments for setting Instantiation
location and entity names.
Adding those is needed so we don't regress in diagnostics.

show more ...


Revision tags: llvmorg-18.1.6
# 7a674793 17-May-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Correctly generate declaration fragments for non-type template parameters (#91958)

Previously we only generated declaration fragments for template type
parameters/arguments, thi

[clang][ExtractAPI] Correctly generate declaration fragments for non-type template parameters (#91958)

Previously we only generated declaration fragments for template type
parameters/arguments, this adds supports for most other possible
template parameters/arguments.

rdar://127732598

show more ...


Revision tags: 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
# 2b6c038e 02-Apr-2024 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] improve template argument name deduction (#77716)

The names of template arguments in partial specializations or parameters
used as types might be mangled according to index and

[clang][ExtractAPI] improve template argument name deduction (#77716)

The names of template arguments in partial specializations or parameters
used as types might be mangled according to index and depth. Instead of
looping through parameter lists to find matches like we do now, they can
be deduced via their QualTypes or as written from the AST.

show more ...


# 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
# 26648dae 28-Jan-2024 Kazu Hirata <kazu@google.com>

[ExtractAPI] Use StringRef::starts_with (NFC)


Revision tags: llvmorg-19-init
# c5532124 22-Jan-2024 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Ensure typedef to pointer types are preserved (#78584)

When generating declaration fragments for types that use typedefs to
pointer types ensure that we keep the user-defined ty

[clang][ExtractAPI] Ensure typedef to pointer types are preserved (#78584)

When generating declaration fragments for types that use typedefs to
pointer types ensure that we keep the user-defined typedef form instead
of desugaring the typedef.

rdar://102137655

show more ...


# 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 ...


# 6b89fab8 28-Nov-2023 Daniel Grumberg <dgrumberg@apple.com>

[clang][ExtractAPI] Add support for blocks in declaration fragments (#73369)

Ensure that block types get represented correctly in declaration
fragments, as block parameter names are important for d

[clang][ExtractAPI] Add support for blocks in declaration fragments (#73369)

Ensure that block types get represented correctly in declaration
fragments, as block parameter names are important for documentation
clients we need a separate system from getFragmentsForType in order to
have access to full ParmVarDecls for the parameters.

rdar://118257401

show more ...


Revision tags: llvmorg-17.0.6, llvmorg-17.0.5
# 4ad2ada5 31-Oct-2023 Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>

[clang][NFC] Refactor ElaboratedTypeKeyword

This patch moves ElaboratedTypeKeyword before `Type` definition so that the enum is complete where bit-field for it is declared. It also converts it to sc

[clang][NFC] Refactor ElaboratedTypeKeyword

This patch moves ElaboratedTypeKeyword before `Type` definition so that the enum is complete where bit-field for it is declared. It also converts it to scoped enum and removes `ETK_` prefix.

show more ...


# 49fd28d9 31-Oct-2023 Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>

[clang][NFC] Refactor `ArrayType::ArraySizeModifier`

This patch moves `ArraySizeModifier` before `Type` declaration so that it's complete at `ArrayTypeBitfields` declaration. It's also converted to

[clang][NFC] Refactor `ArrayType::ArraySizeModifier`

This patch moves `ArraySizeModifier` before `Type` declaration so that it's complete at `ArrayTypeBitfields` declaration. It's also converted to scoped enum along the way.

show more ...


Revision tags: llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4
# 847186eb 25-Aug-2023 Elizabeth Andrews <elizabeth.andrews@intel.com>

[NFC][Clang] Fix static analyzer concern

Fix a few static analyzer concerns about dereferencing
null value.

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


# e8174456 22-Aug-2023 Erick Velez <erickvelez7@gmail.com>

[clang][ExtractAPI] Fix bool spelling coming from the macro definition.

getFragmentsForType resulted in a bool typeIdentifier fragment to be spelled "_Bool".
This fixes the spelling to be "bool" and

[clang][ExtractAPI] Fix bool spelling coming from the macro definition.

getFragmentsForType resulted in a bool typeIdentifier fragment to be spelled "_Bool".
This fixes the spelling to be "bool" and checks it in C and C++.

Reviewed By: dang

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

show more ...


# 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
# 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 ...


# 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 ...


123