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 4cf8bad32fd9d..b55e0abe2cdef 100644 --- a/clang-tools-extra/test/clang-doc/basic-project.mustache.test +++ b/clang-tools-extra/test/clang-doc/basic-project.mustache.test @@ -260,6 +260,23 @@ HTML-CALC:
HTML-CALC:
HTML-CALC:

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: @@ -300,6 +317,23 @@ HTML-CALC: HTML-CALC:
HTML-CALC:

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: @@ -320,6 +354,23 @@ HTML-CALC: HTML-CALC:
HTML-CALC:

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: @@ -340,6 +391,23 @@ HTML-CALC: HTML-CALC:
HTML-CALC:

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: @@ -439,6 +507,20 @@ HTML-RECTANGLE: HTML-RECTANGLE:
HTML-RECTANGLE:

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: HTML-RECTANGLE: @@ -578,6 +660,12 @@ HTML-CIRCLE: HTML-CIRCLE:
HTML-CIRCLE:

HTML-CIRCLE:
+HTML-CIRCLE:

Parameters

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

Radius of the circle.

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