@@ -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 = static_cast <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 (static_cast <int >(R[0 ]), Blob, static_cast <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 (static_cast <int >(R[0 ]), Blob, static_cast <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);
@@ -282,13 +286,13 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
282286 }
283287}
284288
285- llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob ,
286- TypeInfo *I) {
289+ static llvm::Error parseRecord (const Record &R, unsigned ID,
290+ llvm::StringRef Blob, TypeInfo *I) {
287291 return llvm::Error::success ();
288292}
289293
290- llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob ,
291- FieldTypeInfo *I) {
294+ static llvm::Error parseRecord (const Record &R, unsigned ID,
295+ llvm::StringRef Blob, FieldTypeInfo *I) {
292296 switch (ID) {
293297 case FIELD_TYPE_NAME:
294298 return decodeRecord (R, I->Name , Blob);
@@ -300,8 +304,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
300304 }
301305}
302306
303- llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob ,
304- MemberTypeInfo *I) {
307+ static llvm::Error parseRecord (const Record &R, unsigned ID,
308+ llvm::StringRef Blob, MemberTypeInfo *I) {
305309 switch (ID) {
306310 case MEMBER_TYPE_NAME:
307311 return decodeRecord (R, I->Name , Blob);
@@ -315,8 +319,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
315319 }
316320}
317321
318- llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob ,
319- CommentInfo *I) {
322+ static llvm::Error parseRecord (const Record &R, unsigned ID,
323+ llvm::StringRef Blob, CommentInfo *I) {
320324 switch (ID) {
321325 case COMMENT_KIND:
322326 return decodeRecord (R, I->Kind , Blob);
@@ -346,8 +350,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
346350 }
347351}
348352
349- llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob ,
350- Reference *I, FieldId &F) {
353+ static llvm::Error parseRecord (const Record &R, unsigned ID,
354+ llvm::StringRef Blob, Reference *I, FieldId &F) {
351355 switch (ID) {
352356 case REFERENCE_USR:
353357 return decodeRecord (R, I->USR , Blob);
@@ -367,30 +371,31 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob,
367371 }
368372}
369373
370- llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob ,
371- TemplateInfo *I) {
374+ static llvm::Error parseRecord (const Record &R, unsigned ID,
375+ llvm::StringRef Blob, TemplateInfo *I) {
372376 // Currently there are no child records of TemplateInfo (only child blocks).
373377 return llvm::createStringError (llvm::inconvertibleErrorCode (),
374378 " invalid field for TemplateParamInfo" );
375379}
376380
377- llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob,
378- TemplateSpecializationInfo *I) {
381+ static llvm::Error parseRecord (const Record &R, unsigned ID,
382+ llvm::StringRef Blob,
383+ TemplateSpecializationInfo *I) {
379384 if (ID == TEMPLATE_SPECIALIZATION_OF)
380385 return decodeRecord (R, I->SpecializationOf , Blob);
381386 return llvm::createStringError (llvm::inconvertibleErrorCode (),
382387 " invalid field for TemplateParamInfo" );
383388}
384389
385- llvm::Error parseRecord (const Record &R, unsigned ID, llvm::StringRef Blob ,
386- TemplateParamInfo *I) {
390+ static llvm::Error parseRecord (const Record &R, unsigned ID,
391+ llvm::StringRef Blob, TemplateParamInfo *I) {
387392 if (ID == TEMPLATE_PARAM_CONTENTS)
388393 return decodeRecord (R, I->Contents , Blob);
389394 return llvm::createStringError (llvm::inconvertibleErrorCode (),
390395 " invalid field for TemplateParamInfo" );
391396}
392397
393- template <typename T> llvm::Expected<CommentInfo *> getCommentInfo (T I) {
398+ template <typename T> static llvm::Expected<CommentInfo *> getCommentInfo (T I) {
394399 return llvm::createStringError (llvm::inconvertibleErrorCode (),
395400 " invalid type cannot contain CommentInfo" );
396401}
@@ -437,7 +442,7 @@ llvm::Expected<CommentInfo *> getCommentInfo(std::unique_ptr<CommentInfo> &I) {
437442// the parent block to set it. The template specializations define what to do
438443// for each supported parent block.
439444template <typename T, typename TTypeInfo>
440- llvm::Error addTypeInfo (T I, TTypeInfo &&TI) {
445+ static llvm::Error addTypeInfo (T I, TTypeInfo &&TI) {
441446 return llvm::createStringError (llvm::inconvertibleErrorCode (),
442447 " invalid type cannot contain TypeInfo" );
443448}
@@ -472,7 +477,8 @@ template <> llvm::Error addTypeInfo(TypedefInfo *I, TypeInfo &&T) {
472477 return llvm::Error::success ();
473478}
474479
475- template <typename T> llvm::Error addReference (T I, Reference &&R, FieldId F) {
480+ template <typename T>
481+ static llvm::Error addReference (T I, Reference &&R, FieldId F) {
476482 return llvm::createStringError (llvm::inconvertibleErrorCode (),
477483 " invalid type cannot contain Reference" );
478484}
@@ -588,7 +594,7 @@ template <> llvm::Error addReference(RecordInfo *I, Reference &&R, FieldId F) {
588594}
589595
590596template <typename T, typename ChildInfoType>
591- void addChild (T I, ChildInfoType &&R) {
597+ static void addChild (T I, ChildInfoType &&R) {
592598 llvm::errs () << " invalid child type for info" ;
593599 exit (1 );
594600}
@@ -629,7 +635,7 @@ template <> void addChild(BaseRecordInfo *I, FunctionInfo &&R) {
629635// TemplateParam children. These go into either a TemplateInfo (for template
630636// parameters) or TemplateSpecializationInfo (for the specialization's
631637// parameters).
632- template <typename T> void addTemplateParam (T I, TemplateParamInfo &&P) {
638+ template <typename T> static void addTemplateParam (T I, TemplateParamInfo &&P) {
633639 llvm::errs () << " invalid container for template parameter" ;
634640 exit (1 );
635641}
@@ -642,7 +648,7 @@ void addTemplateParam(TemplateSpecializationInfo *I, TemplateParamInfo &&P) {
642648}
643649
644650// Template info. These apply to either records or functions.
645- template <typename T> void addTemplate (T I, TemplateInfo &&P) {
651+ template <typename T> static void addTemplate (T I, TemplateInfo &&P) {
646652 llvm::errs () << " invalid container for template info" ;
647653 exit (1 );
648654}
@@ -655,7 +661,7 @@ template <> void addTemplate(FunctionInfo *I, TemplateInfo &&P) {
655661
656662// Template specializations go only into template records.
657663template <typename T>
658- void addTemplateSpecialization (T I, TemplateSpecializationInfo &&TSI) {
664+ static void addTemplateSpecialization (T I, TemplateSpecializationInfo &&TSI) {
659665 llvm::errs () << " invalid container for template specialization info" ;
660666 exit (1 );
661667}
0 commit comments