https://github.com/PeterChou1 created https://github.com/llvm/llvm-project/pull/101255
currently the HTML output does not support comments attached to class members, this patch modifies the HTMLGenerator to add comments for the output. >From 477bcb79430b6e64ea957ac29800d4ab1ed674af Mon Sep 17 00:00:00 2001 From: PeterChou1 <peter.c...@mail.utoronto.ca> Date: Tue, 30 Jul 2024 18:07:56 -0400 Subject: [PATCH] [clang-doc] modify test --- clang-tools-extra/clang-doc/HTMLGenerator.cpp | 12 +++++++++--- clang-tools-extra/test/clang-doc/basic-project.test | 9 ++++++--- .../unittests/clang-doc/HTMLGeneratorTest.cpp | 4 +++- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/clang-tools-extra/clang-doc/HTMLGenerator.cpp b/clang-tools-extra/clang-doc/HTMLGenerator.cpp index aef22453035c3..4383d0250f05d 100644 --- a/clang-tools-extra/clang-doc/HTMLGenerator.cpp +++ b/clang-tools-extra/clang-doc/HTMLGenerator.cpp @@ -352,6 +352,8 @@ genHTML(const EnumInfo &I, const ClangDocContext &CDCtx); static std::vector<std::unique_ptr<TagNode>> genHTML(const FunctionInfo &I, const ClangDocContext &CDCtx, StringRef ParentInfoDir); +static std::unique_ptr<TagNode> +genHTML(const std::vector<CommentInfo> &C); static std::vector<std::unique_ptr<TagNode>> genEnumsBlock(const std::vector<EnumInfo> &Enums, @@ -418,9 +420,13 @@ genRecordMembersBlock(const llvm::SmallVector<MemberTypeInfo, 4> &Members, if (Access != "") Access = Access + " "; auto LIBody = std::make_unique<TagNode>(HTMLTag::TAG_LI); - LIBody->Children.emplace_back(std::make_unique<TextNode>(Access)); - LIBody->Children.emplace_back(genReference(M.Type, ParentInfoDir)); - LIBody->Children.emplace_back(std::make_unique<TextNode>(" " + M.Name)); + auto MemberDecl = std::make_unique<TagNode>(HTMLTag::TAG_DIV); + MemberDecl->Children.emplace_back(std::make_unique<TextNode>(Access)); + MemberDecl->Children.emplace_back(genReference(M.Type, ParentInfoDir)); + MemberDecl->Children.emplace_back(std::make_unique<TextNode>(" " + M.Name)); + if (!M.Description.empty()) + LIBody->Children.emplace_back(genHTML(M.Description)); + LIBody->Children.emplace_back(std::move(MemberDecl)); ULBody->Children.emplace_back(std::move(LIBody)); } return Out; diff --git a/clang-tools-extra/test/clang-doc/basic-project.test b/clang-tools-extra/test/clang-doc/basic-project.test index 38569d824f1f0..dac18899fad74 100644 --- a/clang-tools-extra/test/clang-doc/basic-project.test +++ b/clang-tools-extra/test/clang-doc/basic-project.test @@ -94,8 +94,10 @@ // HTML-RECTANGLE: <a href="Shape.html">Shape</a> // HTML-RECTANGLE: </p> // HTML-RECTANGLE: <h2 id="Members">Members</h2> -// HTML-RECTANGLE: <li>private double width_</li> -// HTML-RECTANGLE: <li>private double height_</li> +// HTML-RECTANGLE: <p> Width of the rectangle.</p> +// HTML-RECTANGLE: <div>private double width_</div> +// HTML-RECTANGLE: <p> Height of the rectangle.</p> +// HTML-RECTANGLE: <div>private double height_</div> // HTML-RECTANGLE: <h2 id="Functions">Functions</h2> // HTML-RECTANGLE: <h3 id="{{([0-9A-F]{40})}}">Rectangle</h3> // HTML-RECTANGLE: <p>public void Rectangle(double width, double height)</p> @@ -115,7 +117,8 @@ // HTML-CIRCLE: <a href="Shape.html">Shape</a> // HTML-CIRCLE: </p> // HTML-CIRCLE: <h2 id="Members">Members</h2> -// HTML-CIRCLE: <li>private double radius_</li> +// HTML-CIRCLE: <p> Radius of the circle.</p> +// HTML-CIRCLE: <div>private double radius_</div> // HTML-CIRCLE: <h2 id="Functions">Functions</h2> // HTML-CIRCLE: <h3 id="{{([0-9A-F]{40})}}">Circle</h3> // HTML-CIRCLE: <p>public void Circle(double radius)</p> diff --git a/clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp b/clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp index e4a7340318b93..bd031282b042a 100644 --- a/clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp +++ b/clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp @@ -197,7 +197,9 @@ TEST(HTMLGeneratorTest, emitRecordHTML) { </p> <h2 id="Members">Members</h2> <ul> - <li>private int X</li> + <li> + <div>private int X</div> + </li> </ul> <h2 id="Records">Records</h2> <ul> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits