Skip to content

Commit e5bfab9

Browse files
committed
[clang-doc] Prefer static functions for internal APIs
1 parent db97d56 commit e5bfab9

File tree

3 files changed

+79
-71
lines changed

3 files changed

+79
-71
lines changed

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

Lines changed: 67 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,15 @@ namespace doc {
1818
using Record = llvm::SmallVector<uint64_t, 1024>;
1919

2020
// This implements decode for SmallString.
21-
llvm::Error decodeRecord(const Record &R, llvm::SmallVectorImpl<char> &Field,
22-
llvm::StringRef Blob) {
21+
static llvm::Error decodeRecord(const Record &R,
22+
llvm::SmallVectorImpl<char> &Field,
23+
llvm::StringRef Blob) {
2324
Field.assign(Blob.begin(), Blob.end());
2425
return llvm::Error::success();
2526
}
2627

27-
llvm::Error decodeRecord(const Record &R, SymbolID &Field,
28-
llvm::StringRef Blob) {
28+
static llvm::Error decodeRecord(const Record &R, SymbolID &Field,
29+
llvm::StringRef Blob) {
2930
if (R[0] != BitCodeConstants::USRHashSize)
3031
return llvm::createStringError(llvm::inconvertibleErrorCode(),
3132
"incorrect USR size");
@@ -37,21 +38,23 @@ llvm::Error decodeRecord(const Record &R, SymbolID &Field,
3738
return llvm::Error::success();
3839
}
3940

40-
llvm::Error decodeRecord(const Record &R, bool &Field, llvm::StringRef Blob) {
41+
static llvm::Error decodeRecord(const Record &R, bool &Field,
42+
llvm::StringRef Blob) {
4143
Field = R[0] != 0;
4244
return llvm::Error::success();
4345
}
4446

45-
llvm::Error decodeRecord(const Record &R, int &Field, llvm::StringRef Blob) {
47+
static llvm::Error decodeRecord(const Record &R, int &Field,
48+
llvm::StringRef Blob) {
4649
if (R[0] > INT_MAX)
4750
return llvm::createStringError(llvm::inconvertibleErrorCode(),
4851
"integer too large to parse");
4952
Field = (int)R[0];
5053
return llvm::Error::success();
5154
}
5255

53-
llvm::Error decodeRecord(const Record &R, AccessSpecifier &Field,
54-
llvm::StringRef Blob) {
56+
static llvm::Error decodeRecord(const Record &R, AccessSpecifier &Field,
57+
llvm::StringRef Blob) {
5558
switch (R[0]) {
5659
case AS_public:
5760
case AS_private:
@@ -65,8 +68,8 @@ llvm::Error decodeRecord(const Record &R, AccessSpecifier &Field,
6568
}
6669
}
6770

68-
llvm::Error decodeRecord(const Record &R, TagTypeKind &Field,
69-
llvm::StringRef Blob) {
71+
static llvm::Error decodeRecord(const Record &R, TagTypeKind &Field,
72+
llvm::StringRef Blob) {
7073
switch (static_cast<TagTypeKind>(R[0])) {
7174
case TagTypeKind::Struct:
7275
case TagTypeKind::Interface:
@@ -80,17 +83,17 @@ llvm::Error decodeRecord(const Record &R, TagTypeKind &Field,
8083
"invalid value for TagTypeKind");
8184
}
8285

83-
llvm::Error decodeRecord(const Record &R, std::optional<Location> &Field,
84-
llvm::StringRef Blob) {
86+
static llvm::Error decodeRecord(const Record &R, std::optional<Location> &Field,
87+
llvm::StringRef Blob) {
8588
if (R[0] > INT_MAX)
8689
return llvm::createStringError(llvm::inconvertibleErrorCode(),
8790
"integer too large to parse");
8891
Field.emplace((int)R[0], Blob, (bool)R[1]);
8992
return llvm::Error::success();
9093
}
9194

92-
llvm::Error decodeRecord(const Record &R, InfoType &Field,
93-
llvm::StringRef Blob) {
95+
static llvm::Error decodeRecord(const Record &R, InfoType &Field,
96+
llvm::StringRef Blob) {
9497
switch (auto IT = static_cast<InfoType>(R[0])) {
9598
case InfoType::IT_namespace:
9699
case InfoType::IT_record:
@@ -105,8 +108,8 @@ llvm::Error decodeRecord(const Record &R, InfoType &Field,
105108
"invalid value for InfoType");
106109
}
107110

108-
llvm::Error decodeRecord(const Record &R, FieldId &Field,
109-
llvm::StringRef Blob) {
111+
static llvm::Error decodeRecord(const Record &R, FieldId &Field,
112+
llvm::StringRef Blob) {
110113
switch (auto F = static_cast<FieldId>(R[0])) {
111114
case FieldId::F_namespace:
112115
case FieldId::F_parent:
@@ -122,33 +125,34 @@ llvm::Error decodeRecord(const Record &R, FieldId &Field,
122125
"invalid value for FieldId");
123126
}
124127

125-
llvm::Error decodeRecord(const Record &R,
126-
llvm::SmallVectorImpl<llvm::SmallString<16>> &Field,
127-
llvm::StringRef Blob) {
128+
static llvm::Error
129+
decodeRecord(const Record &R,
130+
llvm::SmallVectorImpl<llvm::SmallString<16>> &Field,
131+
llvm::StringRef Blob) {
128132
Field.push_back(Blob);
129133
return llvm::Error::success();
130134
}
131135

132-
llvm::Error decodeRecord(const Record &R,
133-
llvm::SmallVectorImpl<Location> &Field,
134-
llvm::StringRef Blob) {
136+
static llvm::Error decodeRecord(const Record &R,
137+
llvm::SmallVectorImpl<Location> &Field,
138+
llvm::StringRef Blob) {
135139
if (R[0] > INT_MAX)
136140
return llvm::createStringError(llvm::inconvertibleErrorCode(),
137141
"integer too large to parse");
138142
Field.emplace_back((int)R[0], Blob, (bool)R[1]);
139143
return llvm::Error::success();
140144
}
141145

142-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
143-
const unsigned VersionNo) {
146+
static llvm::Error parseRecord(const Record &R, unsigned ID,
147+
llvm::StringRef Blob, const unsigned VersionNo) {
144148
if (ID == VERSION && R[0] == VersionNo)
145149
return llvm::Error::success();
146150
return llvm::createStringError(llvm::inconvertibleErrorCode(),
147151
"mismatched bitcode version number");
148152
}
149153

150-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
151-
NamespaceInfo *I) {
154+
static llvm::Error parseRecord(const Record &R, unsigned ID,
155+
llvm::StringRef Blob, NamespaceInfo *I) {
152156
switch (ID) {
153157
case NAMESPACE_USR:
154158
return decodeRecord(R, I->USR, Blob);
@@ -162,8 +166,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
162166
}
163167
}
164168

165-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
166-
RecordInfo *I) {
169+
static llvm::Error parseRecord(const Record &R, unsigned ID,
170+
llvm::StringRef Blob, RecordInfo *I) {
167171
switch (ID) {
168172
case RECORD_USR:
169173
return decodeRecord(R, I->USR, Blob);
@@ -185,8 +189,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
185189
}
186190
}
187191

188-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
189-
BaseRecordInfo *I) {
192+
static llvm::Error parseRecord(const Record &R, unsigned ID,
193+
llvm::StringRef Blob, BaseRecordInfo *I) {
190194
switch (ID) {
191195
case BASE_RECORD_USR:
192196
return decodeRecord(R, I->USR, Blob);
@@ -208,8 +212,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
208212
}
209213
}
210214

211-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
212-
EnumInfo *I) {
215+
static llvm::Error parseRecord(const Record &R, unsigned ID,
216+
llvm::StringRef Blob, EnumInfo *I) {
213217
switch (ID) {
214218
case ENUM_USR:
215219
return decodeRecord(R, I->USR, Blob);
@@ -227,8 +231,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
227231
}
228232
}
229233

230-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
231-
TypedefInfo *I) {
234+
static llvm::Error parseRecord(const Record &R, unsigned ID,
235+
llvm::StringRef Blob, TypedefInfo *I) {
232236
switch (ID) {
233237
case TYPEDEF_USR:
234238
return decodeRecord(R, I->USR, Blob);
@@ -244,8 +248,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
244248
}
245249
}
246250

247-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
248-
EnumValueInfo *I) {
251+
static llvm::Error parseRecord(const Record &R, unsigned ID,
252+
llvm::StringRef Blob, EnumValueInfo *I) {
249253
switch (ID) {
250254
case ENUM_VALUE_NAME:
251255
return decodeRecord(R, I->Name, Blob);
@@ -259,8 +263,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
259263
}
260264
}
261265

262-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
263-
FunctionInfo *I) {
266+
static llvm::Error parseRecord(const Record &R, unsigned ID,
267+
llvm::StringRef Blob, FunctionInfo *I) {
264268
switch (ID) {
265269
case FUNCTION_USR:
266270
return decodeRecord(R, I->USR, Blob);
@@ -280,13 +284,13 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
280284
}
281285
}
282286

283-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
284-
TypeInfo *I) {
287+
static llvm::Error parseRecord(const Record &R, unsigned ID,
288+
llvm::StringRef Blob, TypeInfo *I) {
285289
return llvm::Error::success();
286290
}
287291

288-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
289-
FieldTypeInfo *I) {
292+
static llvm::Error parseRecord(const Record &R, unsigned ID,
293+
llvm::StringRef Blob, FieldTypeInfo *I) {
290294
switch (ID) {
291295
case FIELD_TYPE_NAME:
292296
return decodeRecord(R, I->Name, Blob);
@@ -298,8 +302,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
298302
}
299303
}
300304

301-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
302-
MemberTypeInfo *I) {
305+
static llvm::Error parseRecord(const Record &R, unsigned ID,
306+
llvm::StringRef Blob, MemberTypeInfo *I) {
303307
switch (ID) {
304308
case MEMBER_TYPE_NAME:
305309
return decodeRecord(R, I->Name, Blob);
@@ -311,8 +315,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
311315
}
312316
}
313317

314-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
315-
CommentInfo *I) {
318+
static llvm::Error parseRecord(const Record &R, unsigned ID,
319+
llvm::StringRef Blob, CommentInfo *I) {
316320
switch (ID) {
317321
case COMMENT_KIND:
318322
return decodeRecord(R, I->Kind, Blob);
@@ -342,8 +346,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
342346
}
343347
}
344348

345-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
346-
Reference *I, FieldId &F) {
349+
static llvm::Error parseRecord(const Record &R, unsigned ID,
350+
llvm::StringRef Blob, Reference *I, FieldId &F) {
347351
switch (ID) {
348352
case REFERENCE_USR:
349353
return decodeRecord(R, I->USR, Blob);
@@ -363,30 +367,31 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
363367
}
364368
}
365369

366-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
367-
TemplateInfo *I) {
370+
static llvm::Error parseRecord(const Record &R, unsigned ID,
371+
llvm::StringRef Blob, TemplateInfo *I) {
368372
// Currently there are no child records of TemplateInfo (only child blocks).
369373
return llvm::createStringError(llvm::inconvertibleErrorCode(),
370374
"invalid field for TemplateParamInfo");
371375
}
372376

373-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
374-
TemplateSpecializationInfo *I) {
377+
static llvm::Error parseRecord(const Record &R, unsigned ID,
378+
llvm::StringRef Blob,
379+
TemplateSpecializationInfo *I) {
375380
if (ID == TEMPLATE_SPECIALIZATION_OF)
376381
return decodeRecord(R, I->SpecializationOf, Blob);
377382
return llvm::createStringError(llvm::inconvertibleErrorCode(),
378383
"invalid field for TemplateParamInfo");
379384
}
380385

381-
llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
382-
TemplateParamInfo *I) {
386+
static llvm::Error parseRecord(const Record &R, unsigned ID,
387+
llvm::StringRef Blob, TemplateParamInfo *I) {
383388
if (ID == TEMPLATE_PARAM_CONTENTS)
384389
return decodeRecord(R, I->Contents, Blob);
385390
return llvm::createStringError(llvm::inconvertibleErrorCode(),
386391
"invalid field for TemplateParamInfo");
387392
}
388393

389-
template <typename T> llvm::Expected<CommentInfo *> getCommentInfo(T I) {
394+
template <typename T> static llvm::Expected<CommentInfo *> getCommentInfo(T I) {
390395
return llvm::createStringError(llvm::inconvertibleErrorCode(),
391396
"invalid type cannot contain CommentInfo");
392397
}
@@ -433,7 +438,7 @@ llvm::Expected<CommentInfo *> getCommentInfo(std::unique_ptr<CommentInfo> &I) {
433438
// the parent block to set it. The template specializations define what to do
434439
// for each supported parent block.
435440
template <typename T, typename TTypeInfo>
436-
llvm::Error addTypeInfo(T I, TTypeInfo &&TI) {
441+
static llvm::Error addTypeInfo(T I, TTypeInfo &&TI) {
437442
return llvm::createStringError(llvm::inconvertibleErrorCode(),
438443
"invalid type cannot contain TypeInfo");
439444
}
@@ -468,7 +473,8 @@ template <> llvm::Error addTypeInfo(TypedefInfo *I, TypeInfo &&T) {
468473
return llvm::Error::success();
469474
}
470475

471-
template <typename T> llvm::Error addReference(T I, Reference &&R, FieldId F) {
476+
template <typename T>
477+
static llvm::Error addReference(T I, Reference &&R, FieldId F) {
472478
return llvm::createStringError(llvm::inconvertibleErrorCode(),
473479
"invalid type cannot contain Reference");
474480
}
@@ -584,7 +590,7 @@ template <> llvm::Error addReference(RecordInfo *I, Reference &&R, FieldId F) {
584590
}
585591

586592
template <typename T, typename ChildInfoType>
587-
void addChild(T I, ChildInfoType &&R) {
593+
static void addChild(T I, ChildInfoType &&R) {
588594
llvm::errs() << "invalid child type for info";
589595
exit(1);
590596
}
@@ -625,7 +631,7 @@ template <> void addChild(BaseRecordInfo *I, FunctionInfo &&R) {
625631
// TemplateParam children. These go into either a TemplateInfo (for template
626632
// parameters) or TemplateSpecializationInfo (for the specialization's
627633
// parameters).
628-
template <typename T> void addTemplateParam(T I, TemplateParamInfo &&P) {
634+
template <typename T> static void addTemplateParam(T I, TemplateParamInfo &&P) {
629635
llvm::errs() << "invalid container for template parameter";
630636
exit(1);
631637
}
@@ -638,7 +644,7 @@ void addTemplateParam(TemplateSpecializationInfo *I, TemplateParamInfo &&P) {
638644
}
639645

640646
// Template info. These apply to either records or functions.
641-
template <typename T> void addTemplate(T I, TemplateInfo &&P) {
647+
template <typename T> static void addTemplate(T I, TemplateInfo &&P) {
642648
llvm::errs() << "invalid container for template info";
643649
exit(1);
644650
}
@@ -651,7 +657,7 @@ template <> void addTemplate(FunctionInfo *I, TemplateInfo &&P) {
651657

652658
// Template specializations go only into template records.
653659
template <typename T>
654-
void addTemplateSpecialization(T I, TemplateSpecializationInfo &&TSI) {
660+
static void addTemplateSpecialization(T I, TemplateSpecializationInfo &&TSI) {
655661
llvm::errs() << "invalid container for template specialization info";
656662
exit(1);
657663
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace doc {
2121
static llvm::StringSet<> USRVisited;
2222
static llvm::sys::SmartMutex<true> USRVisitedGuard;
2323

24-
template <typename T> bool isTypedefAnonRecord(const T *D) {
24+
template <typename T> static bool isTypedefAnonRecord(const T *D) {
2525
if (const auto *C = dyn_cast<CXXRecordDecl>(D)) {
2626
return C->getTypedefNameForAnonDecl();
2727
}

0 commit comments

Comments
 (0)