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

@evelez7 evelez7 marked this pull request as ready for review December 10, 2025 20:58
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-has-parents-vparents branch from 40a7689 to a0298a6 Compare December 10, 2025 21:35
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-private-members branch from 6195426 to 5a303b8 Compare December 10, 2025 21:35
@github-actions
Copy link

github-actions bot commented Dec 10, 2025

🐧 Linux x64 Test Results

  • 3048 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

  • 2986 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/171700.diff

2 Files Affected:

  • (modified) clang-tools-extra/clang-doc/JSONGenerator.cpp (+6)
  • (modified) clang-tools-extra/test/clang-doc/json/class.cpp (+10)
diff --git a/clang-tools-extra/clang-doc/JSONGenerator.cpp b/clang-tools-extra/clang-doc/JSONGenerator.cpp
index c65c3dc759c3e..c47c65ddc2d73 100644
--- a/clang-tools-extra/clang-doc/JSONGenerator.cpp
+++ b/clang-tools-extra/clang-doc/JSONGenerator.cpp
@@ -545,6 +545,8 @@ static void serializeInfo(const RecordInfo &I, json::Object &Obj,
     json::Array &PubMembersArrayRef = *PublicMembersArray.getAsArray();
     json::Value ProtectedMembersArray = Array();
     json::Array &ProtMembersArrayRef = *ProtectedMembersArray.getAsArray();
+    json::Value PrivateMembersArray = Array();
+    json::Array &PrivateMembersArrayRef = *PrivateMembersArray.getAsArray();
 
     for (const MemberTypeInfo &Member : I.Members) {
       json::Value MemberVal = Object();
@@ -557,12 +559,16 @@ static void serializeInfo(const RecordInfo &I, json::Object &Obj,
         PubMembersArrayRef.push_back(MemberVal);
       else if (Member.Access == AccessSpecifier::AS_protected)
         ProtMembersArrayRef.push_back(MemberVal);
+      else if (Member.Access == AccessSpecifier::AS_private)
+        PrivateMembersArrayRef.push_back(MemberVal);
     }
 
     if (!PubMembersArrayRef.empty())
       insertArray(Obj, PublicMembersArray, "PublicMembers");
     if (!ProtMembersArrayRef.empty())
       Obj["ProtectedMembers"] = ProtectedMembersArray;
+    if (!PrivateMembersArrayRef.empty())
+      insertArray(Obj, PrivateMembersArray, "PrivateMembers");
   }
 
   if (!I.Bases.empty())
diff --git a/clang-tools-extra/test/clang-doc/json/class.cpp b/clang-tools-extra/test/clang-doc/json/class.cpp
index 9d3102a11db9d..d57e8a990c3fe 100644
--- a/clang-tools-extra/test/clang-doc/json/class.cpp
+++ b/clang-tools-extra/test/clang-doc/json/class.cpp
@@ -30,6 +30,8 @@ struct MyClass {
   int protectedMethod();
 
   int ProtectedField;
+private:
+  int PrivateField;
 };
 
 // CHECK:       {
@@ -122,6 +124,7 @@ struct MyClass {
 // CHECK-NEXT:      }
 // CHECK-NEXT:    ],
 // CHECK-NEXT:    "HasEnums": true,
+// CHECK-NEXT:    "HasPrivateMembers": true,
 // CHECK-NEXT:    "HasPublicFunctions": true,
 // CHECK-NEXT:    "HasPublicMembers": true,
 // CHECK-NEXT:    "HasRecords": true,
@@ -137,6 +140,13 @@ struct MyClass {
 // CHECK-NEXT:      "GlobalNamespace"
 // CHECK-NEXT:    ],
 // CHECK-NEXT:   "Path": "GlobalNamespace",
+// CHECK-NEXT:   "PrivateMembers": [
+// CHECK-NEXT:     {
+// CHECK-NEXT:       "IsStatic": false,
+// CHECK-NEXT:       "Name": "PrivateField",
+// CHECK-NEXT:       "Type": "int"
+// CHECK-NEXT:     }
+// CHECK-NEXT:   ],
 // CHECK-NEXT:   "ProtectedFunctions": [
 // CHECK-NEXT:     {
 // CHECK-NEXT:       "InfoType": "function",

@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-has-parents-vparents branch from a0298a6 to 45d8e8a Compare December 11, 2025 16:53
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-private-members branch from 5a303b8 to 0be4b36 Compare December 11, 2025 16:54
Base automatically changed from users/evelez7/clang-doc-has-parents-vparents to main December 11, 2025 18:42
@evelez7 evelez7 merged commit 5e3549a into main Dec 11, 2025
10 checks passed
@evelez7 evelez7 deleted the users/evelez7/clang-doc-private-members branch December 11, 2025 19:00
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