https://github.com/evelez7 updated https://github.com/llvm/llvm-project/pull/150470
>From 98172493abfb2c93caefe2424dd17b93d32c17a0 Mon Sep 17 00:00:00 2001 From: Erick Velez <erickvel...@gmail.com> Date: Tue, 22 Jul 2025 21:15:36 -0700 Subject: [PATCH] [clang-doc] add param comments to comment template --- clang-tools-extra/clang-doc/JSONGenerator.cpp | 6 +- .../assets/comment-template.mustache | 8 + .../clang-doc/basic-project.mustache.test | 180 +++++++++--------- 3 files changed, 102 insertions(+), 92 deletions(-) diff --git a/clang-tools-extra/clang-doc/JSONGenerator.cpp b/clang-tools-extra/clang-doc/JSONGenerator.cpp index 92a4117c4e534..5fc28406ee870 100644 --- a/clang-tools-extra/clang-doc/JSONGenerator.cpp +++ b/clang-tools-extra/clang-doc/JSONGenerator.cpp @@ -147,8 +147,10 @@ static Object serializeComment(const CommentInfo &I, Object &Description) { Child.insert({"ParamName", I.ParamName}); Child.insert({"Direction", I.Direction}); Child.insert({"Explicit", I.Explicit}); - Child.insert({"Children", ChildArr}); - Obj.insert({commentKindToString(I.Kind), ChildVal}); + auto TextCommentsArray = extractTextComments(CARef.front().getAsObject()); + Child.insert({"Children", TextCommentsArray}); + if (I.Kind == CommentKind::CK_ParamCommandComment) + insertComment(Description, ChildVal, "ParamComments"); return Obj; } diff --git a/clang-tools-extra/clang-doc/assets/comment-template.mustache b/clang-tools-extra/clang-doc/assets/comment-template.mustache index f2edb1b2eb9ac..d55a53194ee5c 100644 --- a/clang-tools-extra/clang-doc/assets/comment-template.mustache +++ b/clang-tools-extra/clang-doc/assets/comment-template.mustache @@ -24,6 +24,14 @@ {{>Comments}} {{/Children}} {{/ParagraphComment}} +{{#HasParamComments}} + <h3>Parameters</h3> + {{#ParamComments}} + <div> + <b>{{ParamName}}</b> {{#Explicit}}{{Direction}}{{/Explicit}} {{#Children}}{{>Comments}}{{/Children}} + </div> + {{/ParamComments}} +{{/HasParamComments}} {{#BlockCommandComment}} <div class="block-command-comment__command"> <div class="block-command-command"> diff --git a/clang-tools-extra/test/clang-doc/basic-project.mustache.test b/clang-tools-extra/test/clang-doc/basic-project.mustache.test index 807ba1319e393..b55e0abe2cdef 100644 --- a/clang-tools-extra/test/clang-doc/basic-project.mustache.test +++ b/clang-tools-extra/test/clang-doc/basic-project.mustache.test @@ -259,24 +259,24 @@ HTML-CALC: <p></p> HTML-CALC: </div> HTML-CALC: <div> HTML-CALC: <p></p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <h3>Parameters</h3> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <b>a</b> <div> -HTML-CALC-NOT: <p> First integer.</p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <p></p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <b>b</b> <div> -HTML-CALC-NOT: <p> Second integer.</p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <p></p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: </div> +HTML-CALC: </div> +HTML-CALC: <h3>Parameters</h3> +HTML-CALC: <div> +HTML-CALC: <b>a</b> <div> +HTML-CALC: <p> First integer.</p> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <p></p> +HTML-CALC: </div> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <b>b</b> <div> +HTML-CALC: <p> Second integer.</p> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <p></p> +HTML-CALC: </div> +HTML-CALC: </div> HTML-CALC: </div> HTML-CALC: </div> HTML-CALC: </div> @@ -316,24 +316,24 @@ HTML-CALC: <p></p> HTML-CALC: </div> HTML-CALC: <div> HTML-CALC: <p></p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <h3>Parameters</h3> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <b>a</b> <div> -HTML-CALC-NOT: <p> First integer.</p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <p></p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <b>b</b> <div> -HTML-CALC-NOT: <p> Second integer.</p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <p></p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: </div> +HTML-CALC: </div> +HTML-CALC: <h3>Parameters</h3> +HTML-CALC: <div> +HTML-CALC: <b>a</b> <div> +HTML-CALC: <p> First integer.</p> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <p></p> +HTML-CALC: </div> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <b>b</b> <div> +HTML-CALC: <p> Second integer.</p> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <p></p> +HTML-CALC: </div> +HTML-CALC: </div> HTML-CALC: </div> HTML-CALC: </div> HTML-CALC: </div> @@ -353,23 +353,23 @@ HTML-CALC: <p></p> HTML-CALC: </div> HTML-CALC: <div> HTML-CALC: <p></p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <h3>Parameters</h3> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <b>a</b> <div> -HTML-CALC-NOT: <p> First integer.</p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <p></p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <b>b</b> <div> -HTML-CALC-NOT: <p> Second integer.</p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <p></p> -HTML-CALC-NOT: </div> +HTML-CALC: </div> +HTML-CALC: <h3>Parameters</h3> +HTML-CALC: <div> +HTML-CALC: <b>a</b> <div> +HTML-CALC: <p> First integer.</p> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <p></p> +HTML-CALC: </div> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <b>b</b> <div> +HTML-CALC: <p> Second integer.</p> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <p></p> +HTML-CALC: </div> HTML-CALC: </div> HTML-CALC: </div> HTML-CALC: </div> @@ -390,23 +390,23 @@ HTML-CALC: <p></p> HTML-CALC: </div> HTML-CALC: <div> HTML-CALC: <p></p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <h3>Parameters</h3> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <b>a</b> <div> -HTML-CALC-NOT: <p> First integer.</p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <p></p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <b>b</b> <div> -HTML-CALC-NOT: <p> Second integer.</p> -HTML-CALC-NOT: </div> -HTML-CALC-NOT: <div> -HTML-CALC-NOT: <p></p> -HTML-CALC-NOT: </div> +HTML-CALC: </div> +HTML-CALC: <h3>Parameters</h3> +HTML-CALC: <div> +HTML-CALC: <b>a</b> <div> +HTML-CALC: <p> First integer.</p> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <p></p> +HTML-CALC: </div> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <b>b</b> <div> +HTML-CALC: <p> Second integer.</p> +HTML-CALC: </div> +HTML-CALC: <div> +HTML-CALC: <p></p> +HTML-CALC: </div> HTML-CALC: </div> HTML-CALC: </div> HTML-CALC: </div> @@ -506,20 +506,20 @@ HTML-RECTANGLE: <p></p> HTML-RECTANGLE: </div> HTML-RECTANGLE: <div> HTML-RECTANGLE: <p></p> -HTML-RECTANGLE-NOT: </div> -HTML-RECTANGLE-NOT: <h3>Parameters</h3> -HTML-RECTANGLE-NOT: <div> -HTML-RECTANGLE-NOT: <b>width</b> <div> -HTML-RECTANGLE-NOT: <p> Width of the rectangle.</p> -HTML-RECTANGLE-NOT: </div> -HTML-RECTANGLE-NOT: <div> -HTML-RECTANGLE-NOT: <p></p> -HTML-RECTANGLE-NOT: </div> -HTML-RECTANGLE-NOT: </div> -HTML-RECTANGLE-NOT: <div> -HTML-RECTANGLE-NOT: <b>height</b> <div> -HTML-RECTANGLE-NOT: <p> Height of the rectangle.</p> -HTML-RECTANGLE-NOT: </div> +HTML-RECTANGLE: </div> +HTML-RECTANGLE: <h3>Parameters</h3> +HTML-RECTANGLE: <div> +HTML-RECTANGLE: <b>width</b> <div> +HTML-RECTANGLE: <p> Width of the rectangle.</p> +HTML-RECTANGLE: </div> +HTML-RECTANGLE: <div> +HTML-RECTANGLE: <p></p> +HTML-RECTANGLE: </div> +HTML-RECTANGLE: </div> +HTML-RECTANGLE: <div> +HTML-RECTANGLE: <b>height</b> <div> +HTML-RECTANGLE: <p> Height of the rectangle.</p> +HTML-RECTANGLE: </div> HTML-RECTANGLE: </div> HTML-RECTANGLE: </div> HTML-RECTANGLE: </div> @@ -659,12 +659,12 @@ HTML-CIRCLE: <p></p> HTML-CIRCLE: </div> HTML-CIRCLE: <div> HTML-CIRCLE: <p></p> -HTML-CIRCLE-NOT: </div> -HTML-CIRCLE-NOT: <h3>Parameters</h3> -HTML-CIRCLE-NOT: <div> -HTML-CIRCLE-NOT: <b>radius</b> <div> -HTML-CIRCLE-NOT: <p> Radius of the circle.</p> -HTML-CIRCLE-NOT: </div> +HTML-CIRCLE: </div> +HTML-CIRCLE: <h3>Parameters</h3> +HTML-CIRCLE: <div> +HTML-CIRCLE: <b>radius</b> <div> +HTML-CIRCLE: <p> Radius of the circle.</p> +HTML-CIRCLE: </div> HTML-CIRCLE: </div> HTML-CIRCLE: </div> HTML-CIRCLE: </div> _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits