History log of /llvm-project/clang-tools-extra/clang-doc/HTMLGenerator.cpp (Results 1 – 25 of 64)
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, llvmorg-19.1.0-rc3
# c29aba71 20-Aug-2024 PeterChou1 <peter.chou@mail.utoronto.ca>

[clang-doc] add support for block commands in clang-doc html output (#101108)


# 5ef2456a 16-Aug-2024 PeterChou1 <peter.chou@mail.utoronto.ca>

[clang-doc] add support for enums comments in html generation (#101282)

Part of https://github.com/llvm/llvm-project/issues/101129

This patch adds support for attaching comments to enums for HTML

[clang-doc] add support for enums comments in html generation (#101282)

Part of https://github.com/llvm/llvm-project/issues/101129

This patch adds support for attaching comments to enums for HTML in
clang-doc. It changes the enum generation to table tags where as
perviously we're using lists which is more in line with what other doc
generators are doing. It also gives clang-doc the ability to show user
specified enum values

show more ...


# b4bc7b18 12-Aug-2024 PeterChou1 <peter.chou@mail.utoronto.ca>

[clang-doc] add support for comments for members in HTML output (#101255)

currently the HTML output does not support comments attached to class
members, this patch modifies the HTMLGenerator to add

[clang-doc] add support for comments for members in HTML output (#101255)

currently the HTML output does not support comments attached to class
members, this patch modifies the HTMLGenerator to add comments for the
output.

show more ...


Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1
# 91450f1b 25-Jul-2024 PeterChou1 <peter.chou@mail.utoronto.ca>

[clang-doc] switched from using relative to absolute paths (#93281)

fixes https://github.com/llvm/llvm-project/issues/92867

This patches changes the way clang-doc index navigation works,
previou

[clang-doc] switched from using relative to absolute paths (#93281)

fixes https://github.com/llvm/llvm-project/issues/92867

This patches changes the way clang-doc index navigation works,
previously it was based a relative path approach, this approach is error
prone and lead to wrong paths for the anchor tag. The new navigation way
is based on absolute paths and should work and be less confusing
codewise.
Because the differences with serving over a http server and viewing via
file system I also added export a RootPath variable to the index_json.js
file

show more ...


# fb55db54 23-Jul-2024 PeterChou1 <peter.chou@mail.utoronto.ca>

[clang-doc] fix broken tests (#100260)

This patch fixes the broken test caused by clang-doc which was caused by
https://github.com/llvm/llvm-project/pull/100251

https://lab.llvm.org/buildbot/#/b

[clang-doc] fix broken tests (#100260)

This patch fixes the broken test caused by clang-doc which was caused by
https://github.com/llvm/llvm-project/pull/100251

https://lab.llvm.org/buildbot/#/builders/144/builds/3080

show more ...


# 80d1c6ac 23-Jul-2024 PeterChou1 <peter.chou@mail.utoronto.ca>

Revert "[clang-doc] add ftime profiling" (#100251)

This broke the build due to failing some clang-tidy checks:
https://lab.llvm.org/buildbot/#/builders/145/builds/789


Revision tags: llvmorg-20-init
# 46a2abb9 08-Jul-2024 Paul Kirth <paulkirth@google.com>

[clang-doc][nfc] Avoid constructing SmallString in ToString method (#96921)

This patch updates the return type of HTMLTag::toString from
SmallString<16> to StringRef, since this API only returns st

[clang-doc][nfc] Avoid constructing SmallString in ToString method (#96921)

This patch updates the return type of HTMLTag::toString from
SmallString<16> to StringRef, since this API only returns string
literals. As a result, there is no need to construct a full heap
allocated or owned string.

Additionally, this patch renames ToString to toString to match the LLVM
style guide.

show more ...


# a9b1e80a 30-Jun-2024 PeterChou1 <peter.chou@mail.utoronto.ca>

[clang-doc] add async loading (#93276)

Fixes https://github.com/llvm/llvm-project/issues/93273

This patch changes the way clang-doc loads html indexes. Previously
clang-doc loaded the index via

[clang-doc] add async loading (#93276)

Fixes https://github.com/llvm/llvm-project/issues/93273

This patch changes the way clang-doc loads html indexes. Previously
clang-doc loaded the index via an index_json.js file which uses
JSON.parse to parse the file. This patches changes that to use an async
function called LoadIndex which enables asynchronous loading making the
initial page load not be blocked by loading a large JavaScript object.

show more ...


# ecfbb850 27-Jun-2024 Paul Kirth <paulkirth@google.com>

[clang-doc][NFC] Fix style guide violations in HTMLGenerator.cpp

This patch addresses several code style issues that conflict with the
project's style guide. Primarily the naming of functions, and `

[clang-doc][NFC] Fix style guide violations in HTMLGenerator.cpp

This patch addresses several code style issues that conflict with the
project's style guide. Primarily the naming of functions, and `else`
after `return` statements. It only addresses issues found in
HTMLGenerator.cpp.

Reviewers: petrhosek

Reviewed By: petrhosek

Pull Request: https://github.com/llvm/llvm-project/pull/96924

show more ...


# f14ad744 27-Jun-2024 PeterChou1 <peter.chou@mail.utoronto.ca>

Reapply [clang-doc] Add --asset option to clang-doc (#96358)

Reapply https://github.com/llvm/llvm-project/pull/94717
Adds a new option --asset which allows users to specified the asset
folder for

Reapply [clang-doc] Add --asset option to clang-doc (#96358)

Reapply https://github.com/llvm/llvm-project/pull/94717
Adds a new option --asset which allows users to specified the asset
folder for the html output of clang-doc.

This patch adds a better test for --asset option + fixes bug where
clang-doc assumes that user supplied js file is assume to be index.js

show more ...


Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, 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
# 2b00d449 27-Jan-2024 Kazu Hirata <kazu@google.com>

[clang-tools-extra] Use SmallString::operator std::string (NFC)


Revision tags: llvmorg-19-init
# 21edd381 14-Jan-2024 Kazu Hirata <kazu@google.com>

[clang-doc] Use SmallString::operator std::string (NFC)


Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, 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, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0
# 15aa9653 15-Mar-2023 Kazu Hirata <kazu@google.com>

[clang-tools-extra] Use *{Set,Map}::contains (NFC)


Revision tags: 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
# f71ffd3b 08-Jan-2023 Kazu Hirata <kazu@google.com>

[clang-tools-extra] Use std::optional instead of llvm::Optional (NFC)

This patch replaces (llvm::|)Optional< with std::optional<. I'll post
a separate patch to clean up the "using" declarations, #i

[clang-tools-extra] Use std::optional instead of llvm::Optional (NFC)

This patch replaces (llvm::|)Optional< with std::optional<. I'll post
a separate patch to clean up the "using" declarations, #include
"llvm/ADT/Optional.h", etc.

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

show more ...


# 71f55735 08-Jan-2023 Kazu Hirata <kazu@google.com>

[clang-tools-extra] Add #include <optional> (NFC)

This patch adds #include <optional> to those files containing
llvm::Optional<...> or Optional<...>.

I'll post a separate patch to actually replace

[clang-tools-extra] Add #include <optional> (NFC)

This patch adds #include <optional> to those files containing
llvm::Optional<...> or Optional<...>.

I'll post a separate patch to actually replace llvm::Optional with
std::optional.

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

show more ...


# 53243f2a 17-Dec-2022 Fangrui Song <i@maskray.me>

std::optional::value => operator*/operator->

value() has undesired exception checking semantics and calls
__throw_bad_optional_access in libc++. Moreover, the API is unavailable without
_LIBCPP_NO_E

std::optional::value => operator*/operator->

value() has undesired exception checking semantics and calls
__throw_bad_optional_access in libc++. Moreover, the API is unavailable without
_LIBCPP_NO_EXCEPTIONS on older Mach-O platforms (see
_LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS).

This fixes check-clang-tools.

show more ...


# 059a23c0 03-Dec-2022 Kazu Hirata <kazu@google.com>

[clang-tools-extra] Use std::nullopt instead of None (NFC)

This patch mechanically replaces None with std::nullopt where the
compiler would warn if None were deprecated. The intent is to reduce
the

[clang-tools-extra] Use std::nullopt instead of None (NFC)

This patch mechanically replaces None with std::nullopt where the
compiler would warn if None were deprecated. The intent is to reduce
the amount of manual work required in migrating from Optional to
std::optional.

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

show more ...


# 7b8c7e02 29-Nov-2022 Brett Wilson <brettw@gmail.com>

[clang-doc] Move file layout to the generators.

Previously file naming and directory layout was handled on a per Info
object basis by ClangDocMain and the generators blindly wrote to the
files given

[clang-doc] Move file layout to the generators.

Previously file naming and directory layout was handled on a per Info
object basis by ClangDocMain and the generators blindly wrote to the
files given. This means all generators must use the same file layout and
caused problems where multiple objects mapped to the same file. The
object collision problem happens most easily with template
specializations because the template parameters are not part of the
"name".

This patch moves the responsibility for output file organization to the
generators. Currently HTML and MD use the same structure as before. But
they now collect all objects that map to a given file and combine them,
avoiding the corruption problems.

Converts the YAML generator to naming files based on USR in one
directory. This is easier for downstream tools to manage and avoids the
naming problems with template specializations. Since this change
requires backward-incompatible output changes to referenced files anyway
(since each one is now an array), this is a good time to introduce this
change.

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

show more ...


Revision tags: llvmorg-15.0.6
# 48bb1471 22-Nov-2022 Paul Kirth <paulkirth@google.com>

Revert "[clang-doc] Move file layout to the generators."

This reverts commit f8a469fc572778d05b72f34a772082cf3abd3cda.

The test in single-file-public.cpp breaks on Mac, due to an unknown
regextype

Revert "[clang-doc] Move file layout to the generators."

This reverts commit f8a469fc572778d05b72f34a772082cf3abd3cda.

The test in single-file-public.cpp breaks on Mac, due to an unknown
regextype in the find command.

show more ...


Revision tags: llvmorg-15.0.5
# f8a469fc 15-Nov-2022 Brett Wilson <brettw@gmail.com>

[clang-doc] Move file layout to the generators.

Previously file naming and directory layout was handled on a per Info
object basis by ClangDocMain and the generators blindly wrote to the
files given

[clang-doc] Move file layout to the generators.

Previously file naming and directory layout was handled on a per Info
object basis by ClangDocMain and the generators blindly wrote to the
files given. This means all generators must use the same file layout and
caused problems where multiple objects mapped to the same file. The
object collision problem happens most easily with template
specializations because the template parameters are not part of the
"name".

This patch moves the responsibility for output file organization to the
generators. Currently HTML and MD use the same structure as before. But
they now collect all objects that map to a given file and combine them,
avoiding the corruption problems.

Converts the YAML generator to naming files based on USR in one
directory. This is easier for downstream tools to manage and avoids
the naming problems with template specializations. Since this change
requires backward-incompatible output changes to referenced files anyway
(since each one is now an array), this is a good time to introduce this
change.

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

show more ...


Revision tags: llvmorg-15.0.4, llvmorg-15.0.3
# 21fb70c6 14-Oct-2022 Brett Wilson <brettw@gmail.com>

[clang-doc] Add typedef/using information.

Read typedef and "using" type alias declarations and serialize into the
internal structures. Emit this information in the YAML output. The HTML
and MD gene

[clang-doc] Add typedef/using information.

Read typedef and "using" type alias declarations and serialize into the
internal structures. Emit this information in the YAML output. The HTML
and MD generators are unchanged.

Separate out the logic to create the parent namespace or record object
and insert the newly created child into it. This logic was previously
duplicated for every "info" type and is now shared.

To help this, a struct containing the child vectors was separated out so
children can be added generically and without having too many templates.

A small change was made to populateParentNamespaces() to allow using
types that aren't themselves DeclContexts (typedefs are the first
example of this).

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

show more ...


Revision tags: working, llvmorg-15.0.2
# a7594772 28-Sep-2022 Haowei Wu <haowei@google.com>

Revert "[clang-doc] Add typedef/using information."

This reverts commit eed22583fd78d4d657fb70b99e62fbdc1f83b8f9, which
breaks clang build with -Werror.


# eed22583 27-Sep-2022 Brett Wilson <brettw@google.com>

[clang-doc] Add typedef/using information.

Read typedef and "using" type alias declarations and serialize into the internal structures. Emit this information in the YAML output. The HTML and MD gene

[clang-doc] Add typedef/using information.

Read typedef and "using" type alias declarations and serialize into the internal structures. Emit this information in the YAML output. The HTML and MD generators are unchanged.

Separate out the logic to create the parent namespace or record object and insert the newly created child into it. This logic was previously duplicated for every "info" type and is now shared.

To help this, a struct containing the child vectors was separated out so children can be added generically and without having too many templates.

A small change was made to populateParentNamespaces() to allow using types that aren't themselves DeclContexts (typedefs are the first example of this).

Reviewed By: paulkirth, haowei

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

show more ...


# 0afc6085 27-Sep-2022 Brett Wilson <brettw@google.com>

[clang-doc] Clean up *Info constructors.

The *Info object (for the copy of the AST") constructors had many duplicated variants. Many of the variants seemed to be in an attempt to avoid default argum

[clang-doc] Clean up *Info constructors.

The *Info object (for the copy of the AST") constructors had many duplicated variants. Many of the variants seemed to be in an attempt to avoid default arguments. But default arguments are not prohibited and using them allows most of the variants to be removed which improves readability.

Remove the IsInGlobalNamespace flag on a Reference. This is set when the path is empty, and only read once in the HTML generator with the identical condition. The constructor cleanup exposed a problem where this was set to false when the constructor with no path was used, but true when the path was set to empty.

There should be no observable change with the exception that IsInGlobalNamespace is no longer emitted in YAML.

Reviewed By: paulkirth, haowei

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

show more ...


Revision tags: llvmorg-15.0.1
# eaa7b324 19-Sep-2022 Brett Wilson <brettw@google.com>

[clang-doc] Add support for explicitly typed enums

Add support for explicitly typed enums:
enum Foo : unsigned { ... };
to the internal representation and to the YAML output.

Add support for gett

[clang-doc] Add support for explicitly typed enums

Add support for explicitly typed enums:
enum Foo : unsigned { ... };
to the internal representation and to the YAML output.

Add support for getting the value of an enum constant, as well as accessing the original expression that produced it. This changes the YAML output of enums from an array of strings for the enum members to an array of dictionaries. These dictionaries now report the name, value, and original expression.

The markdown and HTML outputs are unchanged, they still output the name from the new enhanced internal schema.

Reviewed By: paulkirth

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

show more ...


123