Skip to content

Conversation

@evelez7
Copy link
Member

@evelez7 evelez7 commented Dec 10, 2025

No description provided.

Copy link
Member Author

evelez7 commented Dec 10, 2025

Copy link
Member Author

evelez7 commented Dec 10, 2025

@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-serialize-static-for-members branch from 602d10e to dc830ae Compare December 10, 2025 21:35
@github-actions
Copy link

github-actions bot commented Dec 10, 2025

🐧 Linux x64 Test Results

  • 3047 tests passed
  • 7 tests skipped

✅ The build succeeded and all tests passed.

@github-actions
Copy link

github-actions bot commented Dec 10, 2025

🪟 Windows x64 Test Results

  • 2985 tests passed
  • 30 tests skipped

✅ The build succeeded and all tests passed.

@llvmbot
Copy link
Member

llvmbot commented Dec 10, 2025

@llvm/pr-subscribers-clang-tools-extra

Author: Erick Velez (evelez7)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/171698.diff

5 Files Affected:

  • (modified) clang-tools-extra/clang-doc/JSONGenerator.cpp (+1)
  • (modified) clang-tools-extra/clang-doc/assets/class-template.mustache (+2-2)
  • (modified) clang-tools-extra/test/clang-doc/basic-project.mustache.test (+1-1)
  • (modified) clang-tools-extra/test/clang-doc/json/class.cpp (+2)
  • (modified) clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp (+2)
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:      }
diff --git a/clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp b/clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
index bd437553961f6..d5ce34d2b984c 100644
--- a/clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
+++ b/clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
@@ -90,6 +90,7 @@ TEST_F(JSONGeneratorTest, emitRecordJSON) {
       ],
       "PublicMembers": [
         {
+          "IsStatic": false,
           "Name": "N",
           "Type": "int"
         }
@@ -140,6 +141,7 @@ TEST_F(JSONGeneratorTest, emitRecordJSON) {
   "Path": "GlobalNamespace",
   "ProtectedMembers": [
     {
+      "IsStatic": false,
       "Name": "X",
       "Type": "int"
     }

Base automatically changed from users/evelez7/clang-doc-indent-templates to main December 11, 2025 16:49
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-serialize-static-for-members branch from dc830ae to 85b0b75 Compare December 11, 2025 16:53
@evelez7 evelez7 merged commit 0afd6ee into main Dec 11, 2025
10 checks passed
@evelez7 evelez7 deleted the users/evelez7/clang-doc-serialize-static-for-members branch December 11, 2025 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants