[llvm-branch-commits] [clang-tools-extra] [clang-doc] Add class member enums to template (PR #173958)
Erick Velez via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jan 2 00:17:22 PST 2026
https://github.com/evelez7 updated https://github.com/llvm/llvm-project/pull/173958
>From 82364ef9fdcd180180df0885d20f7e51e674b72b Mon Sep 17 00:00:00 2001
From: Erick Velez <erickvelez7 at gmail.com>
Date: Wed, 24 Dec 2025 11:59:57 -0800
Subject: [PATCH] [clang-doc] Add class member enums to template
Some Mustache tags for member enums already existed in the class
template, but they weren't compatible with the current JSON scheme.
---
.../clang-doc/assets/class-template.mustache | 22 +++++-----
.../clang-doc/assets/enum-template.mustache | 2 +-
clang-tools-extra/test/clang-doc/enum.cpp | 43 +++++++++++++------
3 files changed, 42 insertions(+), 25 deletions(-)
diff --git a/clang-tools-extra/clang-doc/assets/class-template.mustache b/clang-tools-extra/clang-doc/assets/class-template.mustache
index 9c7b06d7e7117..8555d1bbffae5 100644
--- a/clang-tools-extra/clang-doc/assets/class-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/class-template.mustache
@@ -71,20 +71,20 @@
</ul>
</li>
{{/ProtectedFunction}}
- {{#Enums}}
+ {{#HasEnums}}
<li class="sidebar-section">
<a class="sidebar-item" href="#Enums">Enums</a>
</li>
<li>
<ul>
- {{#Obj}}
+ {{#Enums}}
<li class="sidebar-item-container">
- <a class="sidebar-item" href="#{{USR}}">{{EnumName}}</a>
+ <a class="sidebar-item" href="#{{USR}}">{{Name}}</a>
</li>
- {{/Obj}}
+ {{/Enums}}
</ul>
</li>
- {{/Enums}}
+ {{/HasEnums}}
{{#HasTypedefs}}
<li class="sidebar-section">
<a class="sidebar-item" href="#Typedefs">Typedefs</a>
@@ -187,16 +187,14 @@
{{/Obj}}
</ul>
{{/ProtectedFunction}}
- {{#Enums}}
+ {{#HasEnums}}
<section id="Enums" class="section-container">
<h2>Enumerations</h2>
- <div>
- {{#Obj}}
- {{>EnumPartial}}
- {{/Obj}}
- </div>
+ {{#Enums}}
+ {{>EnumPartial}}
+ {{/Enums}}
</section>
- {{/Enums}}
+ {{/HasEnums}}
{{#Record}}
<section id="Classes" class="section-container">
<h2>Inner Classes</h2>
diff --git a/clang-tools-extra/clang-doc/assets/enum-template.mustache b/clang-tools-extra/clang-doc/assets/enum-template.mustache
index ec42df99a7f4b..af1364c4d37f6 100644
--- a/clang-tools-extra/clang-doc/assets/enum-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/enum-template.mustache
@@ -5,7 +5,7 @@
This file defines the template for enums
}}
-<div id="{{ID}}" class="delimiter-container">
+<div id="{{USR}}" class="delimiter-container">
<div>
<pre><code class="language-cpp code-clang-doc">enum {{Name}}</code></pre>
</div>
diff --git a/clang-tools-extra/test/clang-doc/enum.cpp b/clang-tools-extra/test/clang-doc/enum.cpp
index bb0d51fc3b36c..ce844ec072564 100644
--- a/clang-tools-extra/test/clang-doc/enum.cpp
+++ b/clang-tools-extra/test/clang-doc/enum.cpp
@@ -122,18 +122,37 @@ class Animals {
};
};
-// HTML-ANIMAL-NOT: <h1>class Animals</h1>
-// HTML-ANIMAL-NOT: <h2 id="Enums">Enums</h2>
-// HTML-ANIMAL-NOT: <th colspan="3">enum AnimalType</th>
-// HTML-ANIMAL-NOT: <td>Dog</td>
-// HTML-ANIMAL-NOT: <td>0</td>
-// HTML-ANIMAL-NOT: <p> Man's best friend</p>
-// HTML-ANIMAL-NOT: <td>Cat</td>
-// HTML-ANIMAL-NOT: <td>1</td>
-// HTML-ANIMAL-NOT: <p> Man's other best friend</p>
-// HTML-ANIMAL-NOT: <td>Iguana</td>
-// HTML-ANIMAL-NOT: <td>2</td>
-// HTML-ANIMAL-NOT: <p> A lizard</p>
+// HTML-ANIMAL: <section id="Enums" class="section-container">
+// HTML-ANIMAL-NEXT: <h2>Enumerations</h2>
+// HTML-ANIMAL-NEXT: <div id="{{([0-9A-F]{40})}}" class="delimiter-container">
+// HTML-ANIMAL-NEXT: <div>
+// HTML-ANIMAL-NEXT: <pre><code class="language-cpp code-clang-doc">enum AnimalType</code></pre>
+// HTML-ANIMAL-NEXT: </div>
+// HTML-ANIMAL-NEXT: <table class="table-wrapper">
+// HTML-ANIMAL-NEXT: <tbody>
+// HTML-ANIMAL-NEXT: <tr>
+// HTML-ANIMAL-NEXT: <th>Name</th>
+// HTML-ANIMAL-NEXT: <th>Value</th>
+// HTML-ANIMAL-NEXT: </tr>
+// HTML-ANIMAL-NEXT: <tr>
+// HTML-ANIMAL-NEXT: <td>Dog</td>
+// HTML-ANIMAL-NEXT: <td>0</td>
+// HTML-ANIMAL-NEXT: </tr>
+// HTML-ANIMAL-NEXT: <tr>
+// HTML-ANIMAL-NEXT: <td>Cat</td>
+// HTML-ANIMAL-NEXT: <td>1</td>
+// HTML-ANIMAL-NEXT: </tr>
+// HTML-ANIMAL-NEXT: <tr>
+// HTML-ANIMAL-NEXT: <td>Iguana</td>
+// HTML-ANIMAL-NEXT: <td>2</td>
+// HTML-ANIMAL-NEXT: </tr>
+// HTML-ANIMAL-NEXT: </tbody>
+// HTML-ANIMAL-NEXT: </table>
+// HTML-ANIMAL-NEXT: <div>
+// HTML-ANIMAL-NEXT: Defined at line 116 of file {{.*}}enum.cpp
+// HTML-ANIMAL-NEXT: </div>
+// HTML-ANIMAL-NEXT: </div>
+// HTML-ANIMAL-NEXT: </section>
// MD-ANIMAL: # class Animals
// MD-ANIMAL: ## Enums
More information about the llvm-branch-commits
mailing list