llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-tools-extra Author: Erick Velez (evelez7) <details> <summary>Changes</summary> --- Full diff: https://github.com/llvm/llvm-project/pull/175226.diff 3 Files Affected: - (modified) clang-tools-extra/clang-doc/JSONGenerator.cpp (+3-1) - (modified) clang-tools-extra/clang-doc/assets/namespace-template.mustache (+31) - (modified) clang-tools-extra/test/clang-doc/json/namespace.cpp (+16-4) ``````````diff diff --git a/clang-tools-extra/clang-doc/JSONGenerator.cpp b/clang-tools-extra/clang-doc/JSONGenerator.cpp index 12d439c6acbe4..9863749c233b4 100644 --- a/clang-tools-extra/clang-doc/JSONGenerator.cpp +++ b/clang-tools-extra/clang-doc/JSONGenerator.cpp @@ -752,8 +752,10 @@ static void serializeInfo(const NamespaceInfo &I, json::Object &Obj, Obj["HasConcepts"] = true; } - if (!I.Children.Variables.empty()) + if (!I.Children.Variables.empty()) { serializeArray(I.Children.Variables, Obj, "Variables", SerializeInfo); + Obj["HasVariables"] = true; + } serializeCommonChildren(I.Children, Obj, RepositoryUrl, RepositoryLinePrefix); } diff --git a/clang-tools-extra/clang-doc/assets/namespace-template.mustache b/clang-tools-extra/clang-doc/assets/namespace-template.mustache index fc0b9e2c388d9..e4d61f1823f86 100644 --- a/clang-tools-extra/clang-doc/assets/namespace-template.mustache +++ b/clang-tools-extra/clang-doc/assets/namespace-template.mustache @@ -111,6 +111,22 @@ </details> </li> {{/HasTypedefs}} + {{#HasVariables}} + <li> + <details open> + <summary class="sidebar-section"> + <a class="sidebar-item" href="#Variables">Variables</a> + </summary> + <ul> + {{#Variables}} + <li class="sidebar-item-container"> + <a class="sidebar-item" href="#{{USR}}">{{Name}}</a> + </li> + {{/Variables}} + </ul> + </details> + </li> + {{/HasVariables}} </ul> </div> <div class="resizer" id="resizer"></div> @@ -191,6 +207,21 @@ {{/Typedefs}} </section> {{/HasTypedefs}} + {{#HasVariables}} + <section id="Variables" class="section-container"> + <h2>Variables</h2> + <div> + {{#Variables}} + <div id="{{USR}}" class="delimiter-container"> + <pre><code class="language-cpp code-clang-doc" >{{#IsStatic}}static {{/IsStatic}}{{Type.QualName}} {{Name}}</code></pre> + {{#Location}} + <p>Defined at line {{LineNumber}} of file {{^FileURL}}{{Filename}}{{/FileURL}}{{#FileURL}}<a href="{{FileURL}}">{{Filename}}</a>{{/FileURL}}</p> + {{/Location}} + </div> + {{/Variables}} + </div> + </section> + {{/HasVariables}} </div> </div> </main> diff --git a/clang-tools-extra/test/clang-doc/json/namespace.cpp b/clang-tools-extra/test/clang-doc/json/namespace.cpp index 34f4eb3cb8f81..8681c15bf1048 100644 --- a/clang-tools-extra/test/clang-doc/json/namespace.cpp +++ b/clang-tools-extra/test/clang-doc/json/namespace.cpp @@ -1,6 +1,7 @@ // RUN: rm -rf %t && mkdir -p %t -// RUN: clang-doc --output=%t --format=json --executor=standalone %s +// RUN: clang-doc --output=%t --format=html --executor=standalone %s // RUN: FileCheck %s < %t/json/GlobalNamespace/index.json +// RUN: FileCheck %s < %t/html/GlobalNamespace/index.html -check-prefix=HTML-CHECK class MyClass {}; @@ -27,7 +28,7 @@ typedef int MyTypedef; // CHECK-NEXT: "InfoType": "enum", // CHECK-NEXT: "Location": { // CHECK-NEXT: "Filename": "{{.*}}namespace.cpp", -// CHECK-NEXT: "LineNumber": 14 +// CHECK-NEXT: "LineNumber": 15 // CHECK-NEXT: }, // CHECK-NEXT: "Members": [ // CHECK-NEXT: { @@ -81,6 +82,7 @@ typedef int MyTypedef; // CHECK-NEXT: "HasNamespaces": true, // CHECK-NEXT: "HasRecords": true, // CHECK-NEXT: "HasTypedefs": true, +// CHECK-NEXT: "HasVariables": true, // CHECK-NEXT: "InfoType": "namespace", // CHECK-NEXT: "Name": "Global Namespace", // CHECK-NEXT: "Namespaces": [ @@ -108,7 +110,7 @@ typedef int MyTypedef; // CHECK-NEXT: "IsUsing": false, // CHECK-NEXT: "Location": { // CHECK-NEXT: "Filename": "{{.*}}namespace.cpp", -// CHECK-NEXT: "LineNumber": 20 +// CHECK-NEXT: "LineNumber": 21 // CHECK-NEXT: }, // CHECK-NEXT: "Name": "MyTypedef", // CHECK-NEXT: "TypeDeclaration": "", @@ -130,7 +132,7 @@ typedef int MyTypedef; // CHECK-NEXT: "IsStatic": true, // CHECK-NEXT: "Location": { // CHECK-NEXT: "Filename": "{{.*}}namespace.cpp", -// CHECK-NEXT: "LineNumber": 12 +// CHECK-NEXT: "LineNumber": 13 // CHECK-NEXT: }, // CHECK-NEXT: "Name": "Global", // CHECK-NEXT: "Type": { @@ -144,3 +146,13 @@ typedef int MyTypedef; // CHECK-NEXT: } // CHECK-NEXT: ] // CHECK-NEXT: } + +// HTML-CHECK: <section id="Variables" class="section-container"> +// HTML-CHECK-NEXT: <h2>Variables</h2> +// HTML-CHECK-NEXT: <div> +// HTML-CHECK-NEXT: <div id="{{([0-9A-F]{40})}}" class="delimiter-container"> +// HTML-CHECK-NEXT: <pre><code class="language-cpp code-clang-doc" >static int Global</code></pre> +// HTML-CHECK-NEXT: <p>Defined at line 13 of file {{.*}}namespace.cpp</p> +// HTML-CHECK-NEXT: </div> +// HTML-CHECK-NEXT: </div> +// HTML-CHECK-NEXT: </section> `````````` </details> https://github.com/llvm/llvm-project/pull/175226 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
