@@ -18,14 +18,15 @@ namespace doc {
1818using 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.
435440template <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
586592template <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.
653659template <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}
0 commit comments