[llvm-branch-commits] [clang-tools-extra] [clang-doc] Serialize "IsStatic" for fields (PR #171698)
Erick Velez via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Dec 10 12:57:49 PST 2025
https://github.com/evelez7 created https://github.com/llvm/llvm-project/pull/171698
None
>From 602d10e27803fdd140bd52632be2847e3b5fdb79 Mon Sep 17 00:00:00 2001
From: Erick Velez <erickvelez7 at gmail.com>
Date: Thu, 13 Nov 2025 20:23:17 -0800
Subject: [PATCH] [clang-doc] Serialize "IsStatic" for fields
---
clang-tools-extra/clang-doc/JSONGenerator.cpp | 1 +
clang-tools-extra/clang-doc/assets/class-template.mustache | 4 ++--
clang-tools-extra/test/clang-doc/basic-project.mustache.test | 2 +-
clang-tools-extra/test/clang-doc/json/class.cpp | 2 ++
4 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/clang-tools-extra/clang-doc/JSONGenerator.cpp b/clang-tools-extra/clang-doc/JSONGenerator.cpp
index 77aa8794561e4..0253ebf5335da 100644
--- a/clang-tools-extra/clang-doc/JSONGenerator.cpp
+++ b/clang-tools-extra/clang-doc/JSONGenerator.cpp
@@ -551,6 +551,7 @@ static void serializeInfo(const RecordInfo &I, json::Object &Obj,
auto &MemberObj = *MemberVal.getAsObject();
MemberObj["Name"] = Member.Name;
MemberObj["Type"] = Member.Type.Name;
+ MemberObj["IsStatic"] = Member.IsStatic;
if (Member.Access == AccessSpecifier::AS_public)
PubMembersArrayRef.push_back(MemberVal);
diff --git a/clang-tools-extra/clang-doc/assets/class-template.mustache b/clang-tools-extra/clang-doc/assets/class-template.mustache
index 1197e76ab553c..22cd5f06894a4 100644
--- a/clang-tools-extra/clang-doc/assets/class-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/class-template.mustache
@@ -154,7 +154,7 @@
<div>
{{#PublicMembers}}
<div id="{{Name}}" class="delimiter-container">
- <pre><code class="language-cpp code-clang-doc" >{{Type}} {{Name}}</code></pre>
+ <pre><code class="language-cpp code-clang-doc" >{{#IsStatic}}static {{/IsStatic}}{{Type}} {{Name}}</code></pre>
{{#MemberComments}}
<div>
{{>Comments}}
@@ -171,7 +171,7 @@
<div>
{{#Obj}}
<div id="{{Name}}" class="delimiter-container">
- <pre><code class="language-cpp code-clang-doc" >{{Type}} {{Name}}</code></pre>
+ <pre><code class="language-cpp code-clang-doc" >{{#IsStatic}}static {{/IsStatic}}{{Type}} {{Name}}</code></pre>
{{#MemberComments}}
<div>
{{>Comments}}
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 b985a39265de7..d406c9f297960 100644
--- a/clang-tools-extra/test/clang-doc/basic-project.mustache.test
+++ b/clang-tools-extra/test/clang-doc/basic-project.mustache.test
@@ -204,7 +204,7 @@ HTML-CALC: <div id="public_val" class="delimiter-container">
HTML-CALC: <pre><code class="language-cpp code-clang-doc" >int public_val</code></pre>
HTML-CALC: </div>
HTML-CALC: <div id="static_val" class="delimiter-container">
-HTML-CALC: <pre><code class="language-cpp code-clang-doc" >const int static_val</code></pre>
+HTML-CALC: <pre><code class="language-cpp code-clang-doc" >static const int static_val</code></pre>
HTML-CALC: </div>
HTML-CALC: </div>
HTML-CALC: </section>
diff --git a/clang-tools-extra/test/clang-doc/json/class.cpp b/clang-tools-extra/test/clang-doc/json/class.cpp
index 8bf9402adf054..9d3102a11db9d 100644
--- a/clang-tools-extra/test/clang-doc/json/class.cpp
+++ b/clang-tools-extra/test/clang-doc/json/class.cpp
@@ -158,6 +158,7 @@ struct MyClass {
// CHECK-NEXT: ],
// CHECK-NEXT: "ProtectedMembers": [
// CHECK-NEXT: {
+// CHECK-NEXT: "IsStatic": false,
// CHECK-NEXT: "Name": "ProtectedField",
// CHECK-NEXT: "Type": "int"
// CHECK-NEXT: }
@@ -198,6 +199,7 @@ struct MyClass {
// CHECK-NEXT: },
// CHECK: "PublicMembers": [
// CHECK-NEXT: {
+// CHECK-NEXT: "IsStatic": false,
// CHECK-NEXT: "Name": "PublicField",
// CHECK-NEXT: "Type": "int"
// CHECK-NEXT: }
More information about the llvm-branch-commits
mailing list