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}} +

Parameters

+ {{#ParamComments}} +
+ {{ParamName}} {{#Explicit}}{{Direction}}{{/Explicit}} {{#Children}}{{>Comments}}{{/Children}} +
+ {{/ParamComments}} +{{/HasParamComments}} {{#BlockCommandComment}}
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:

HTML-CALC:
HTML-CALC:
HTML-CALC:

-HTML-CALC-NOT:
-HTML-CALC-NOT:

Parameters

-HTML-CALC-NOT:
-HTML-CALC-NOT: a
-HTML-CALC-NOT:

First integer.

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT: b
-HTML-CALC-NOT:

Second integer.

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:

-HTML-CALC-NOT:
-HTML-CALC-NOT:
+HTML-CALC:
+HTML-CALC:

Parameters

+HTML-CALC:
+HTML-CALC: a
+HTML-CALC:

First integer.

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:
+HTML-CALC: b
+HTML-CALC:

Second integer.

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:

+HTML-CALC:
+HTML-CALC:
HTML-CALC: HTML-CALC: HTML-CALC: @@ -316,24 +316,24 @@ HTML-CALC:

HTML-CALC: HTML-CALC:
HTML-CALC:

-HTML-CALC-NOT:
-HTML-CALC-NOT:

Parameters

-HTML-CALC-NOT:
-HTML-CALC-NOT: a
-HTML-CALC-NOT:

First integer.

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT: b
-HTML-CALC-NOT:

Second integer.

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:

-HTML-CALC-NOT:
-HTML-CALC-NOT:
+HTML-CALC: +HTML-CALC:

Parameters

+HTML-CALC:
+HTML-CALC: a
+HTML-CALC:

First integer.

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:
+HTML-CALC: b
+HTML-CALC:

Second integer.

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:

+HTML-CALC:
+HTML-CALC:
HTML-CALC: HTML-CALC: HTML-CALC: @@ -353,23 +353,23 @@ HTML-CALC:

HTML-CALC: HTML-CALC:
HTML-CALC:

-HTML-CALC-NOT:
-HTML-CALC-NOT:

Parameters

-HTML-CALC-NOT:
-HTML-CALC-NOT: a
-HTML-CALC-NOT:

First integer.

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT: b
-HTML-CALC-NOT:

Second integer.

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:

-HTML-CALC-NOT:
+HTML-CALC:
+HTML-CALC:

Parameters

+HTML-CALC:
+HTML-CALC: a
+HTML-CALC:

First integer.

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:
+HTML-CALC: b
+HTML-CALC:

Second integer.

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:

+HTML-CALC:
HTML-CALC:
HTML-CALC: HTML-CALC: @@ -390,23 +390,23 @@ HTML-CALC:

HTML-CALC: HTML-CALC:
HTML-CALC:

-HTML-CALC-NOT:
-HTML-CALC-NOT:

Parameters

-HTML-CALC-NOT:
-HTML-CALC-NOT: a
-HTML-CALC-NOT:

First integer.

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT: b
-HTML-CALC-NOT:

Second integer.

-HTML-CALC-NOT:
-HTML-CALC-NOT:
-HTML-CALC-NOT:

-HTML-CALC-NOT:
+HTML-CALC:
+HTML-CALC:

Parameters

+HTML-CALC:
+HTML-CALC: a
+HTML-CALC:

First integer.

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:
+HTML-CALC: b
+HTML-CALC:

Second integer.

+HTML-CALC:
+HTML-CALC:
+HTML-CALC:

+HTML-CALC:
HTML-CALC:
HTML-CALC: HTML-CALC: @@ -506,20 +506,20 @@ HTML-RECTANGLE:

HTML-RECTANGLE: HTML-RECTANGLE:
HTML-RECTANGLE:

-HTML-RECTANGLE-NOT:
-HTML-RECTANGLE-NOT:

Parameters

-HTML-RECTANGLE-NOT:
-HTML-RECTANGLE-NOT: width
-HTML-RECTANGLE-NOT:

Width of the rectangle.

-HTML-RECTANGLE-NOT:
-HTML-RECTANGLE-NOT:
-HTML-RECTANGLE-NOT:

-HTML-RECTANGLE-NOT:
-HTML-RECTANGLE-NOT:
-HTML-RECTANGLE-NOT:
-HTML-RECTANGLE-NOT: height
-HTML-RECTANGLE-NOT:

Height of the rectangle.

-HTML-RECTANGLE-NOT:
+HTML-RECTANGLE:
+HTML-RECTANGLE:

Parameters

+HTML-RECTANGLE:
+HTML-RECTANGLE: width
+HTML-RECTANGLE:

Width of the rectangle.

+HTML-RECTANGLE:
+HTML-RECTANGLE:
+HTML-RECTANGLE:

+HTML-RECTANGLE:
+HTML-RECTANGLE:
+HTML-RECTANGLE:
+HTML-RECTANGLE: height
+HTML-RECTANGLE:

Height of the rectangle.

+HTML-RECTANGLE:
HTML-RECTANGLE:
HTML-RECTANGLE: HTML-RECTANGLE: @@ -659,12 +659,12 @@ HTML-CIRCLE:

HTML-CIRCLE: HTML-CIRCLE:
HTML-CIRCLE:

-HTML-CIRCLE-NOT:
-HTML-CIRCLE-NOT:

Parameters

-HTML-CIRCLE-NOT:
-HTML-CIRCLE-NOT: radius
-HTML-CIRCLE-NOT:

Radius of the circle.

-HTML-CIRCLE-NOT:
+HTML-CIRCLE:
+HTML-CIRCLE:

Parameters

+HTML-CIRCLE:
+HTML-CIRCLE: radius
+HTML-CIRCLE:

Radius of the circle.

+HTML-CIRCLE:
HTML-CIRCLE:
HTML-CIRCLE: HTML-CIRCLE: