Skip to content

Commit 0afd6ee

Browse files
authored
[clang-doc] Serialize "IsStatic" for fields (llvm#171698)
1 parent 5eb2ec2 commit 0afd6ee

File tree

5 files changed

+8
-3
lines changed

5 files changed

+8
-3
lines changed

clang-tools-extra/clang-doc/JSONGenerator.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,7 @@ static void serializeInfo(const RecordInfo &I, json::Object &Obj,
551551
auto &MemberObj = *MemberVal.getAsObject();
552552
MemberObj["Name"] = Member.Name;
553553
MemberObj["Type"] = Member.Type.Name;
554+
MemberObj["IsStatic"] = Member.IsStatic;
554555

555556
if (Member.Access == AccessSpecifier::AS_public)
556557
PubMembersArrayRef.push_back(MemberVal);

clang-tools-extra/clang-doc/assets/class-template.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123
<div>
124124
{{#PublicMembers}}
125125
<div id="{{Name}}" class="delimiter-container">
126-
<pre><code class="language-cpp code-clang-doc" >{{Type}} {{Name}}</code></pre>
126+
<pre><code class="language-cpp code-clang-doc" >{{#IsStatic}}static {{/IsStatic}}{{Type}} {{Name}}</code></pre>
127127
{{#MemberComments}}
128128
<div>
129129
{{>Comments}}
@@ -140,7 +140,7 @@
140140
<div>
141141
{{#Obj}}
142142
<div id="{{Name}}" class="delimiter-container">
143-
<pre><code class="language-cpp code-clang-doc" >{{Type}} {{Name}}</code></pre>
143+
<pre><code class="language-cpp code-clang-doc" >{{#IsStatic}}static {{/IsStatic}}{{Type}} {{Name}}</code></pre>
144144
{{#MemberComments}}
145145
<div>
146146
{{>Comments}}

clang-tools-extra/test/clang-doc/basic-project.mustache.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ HTML-CALC: <div id="public_val" class="delimiter-container">
204204
HTML-CALC: <pre><code class="language-cpp code-clang-doc" >int public_val</code></pre>
205205
HTML-CALC: </div>
206206
HTML-CALC: <div id="static_val" class="delimiter-container">
207-
HTML-CALC: <pre><code class="language-cpp code-clang-doc" >const int static_val</code></pre>
207+
HTML-CALC: <pre><code class="language-cpp code-clang-doc" >static const int static_val</code></pre>
208208
HTML-CALC: </div>
209209
HTML-CALC: </div>
210210
HTML-CALC: </section>

clang-tools-extra/test/clang-doc/json/class.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ struct MyClass {
158158
// CHECK-NEXT: ],
159159
// CHECK-NEXT: "ProtectedMembers": [
160160
// CHECK-NEXT: {
161+
// CHECK-NEXT: "IsStatic": false,
161162
// CHECK-NEXT: "Name": "ProtectedField",
162163
// CHECK-NEXT: "Type": "int"
163164
// CHECK-NEXT: }
@@ -198,6 +199,7 @@ struct MyClass {
198199
// CHECK-NEXT: },
199200
// CHECK: "PublicMembers": [
200201
// CHECK-NEXT: {
202+
// CHECK-NEXT: "IsStatic": false,
201203
// CHECK-NEXT: "Name": "PublicField",
202204
// CHECK-NEXT: "Type": "int"
203205
// CHECK-NEXT: }

clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ TEST_F(JSONGeneratorTest, emitRecordJSON) {
9090
],
9191
"PublicMembers": [
9292
{
93+
"IsStatic": false,
9394
"Name": "N",
9495
"Type": "int"
9596
}
@@ -140,6 +141,7 @@ TEST_F(JSONGeneratorTest, emitRecordJSON) {
140141
"Path": "GlobalNamespace",
141142
"ProtectedMembers": [
142143
{
144+
"IsStatic": false,
143145
"Name": "X",
144146
"Type": "int"
145147
}

0 commit comments

Comments
 (0)