https://github.com/ilovepi updated https://github.com/llvm/llvm-project/pull/136391
>From d160e0734d426ba59f6f7b965580a8670c4601a3 Mon Sep 17 00:00:00 2001 From: Paul Kirth <paulki...@google.com> Date: Fri, 18 Apr 2025 17:13:37 -0700 Subject: [PATCH] [clang-doc] Prefer static functions for internal APIs --- clang-tools-extra/clang-doc/BitcodeReader.cpp | 128 +++++++++--------- 1 file changed, 67 insertions(+), 61 deletions(-) diff --git a/clang-tools-extra/clang-doc/BitcodeReader.cpp b/clang-tools-extra/clang-doc/BitcodeReader.cpp index 1f2fb0a8b2b85..a4d713cb8c064 100644 --- a/clang-tools-extra/clang-doc/BitcodeReader.cpp +++ b/clang-tools-extra/clang-doc/BitcodeReader.cpp @@ -18,14 +18,15 @@ namespace doc { using Record = llvm::SmallVector<uint64_t, 1024>; // This implements decode for SmallString. -llvm::Error decodeRecord(const Record &R, llvm::SmallVectorImpl<char> &Field, - llvm::StringRef Blob) { +static llvm::Error decodeRecord(const Record &R, + llvm::SmallVectorImpl<char> &Field, + llvm::StringRef Blob) { Field.assign(Blob.begin(), Blob.end()); return llvm::Error::success(); } -llvm::Error decodeRecord(const Record &R, SymbolID &Field, - llvm::StringRef Blob) { +static llvm::Error decodeRecord(const Record &R, SymbolID &Field, + llvm::StringRef Blob) { if (R[0] != BitCodeConstants::USRHashSize) return llvm::createStringError(llvm::inconvertibleErrorCode(), "incorrect USR size"); @@ -37,12 +38,14 @@ llvm::Error decodeRecord(const Record &R, SymbolID &Field, return llvm::Error::success(); } -llvm::Error decodeRecord(const Record &R, bool &Field, llvm::StringRef Blob) { +static llvm::Error decodeRecord(const Record &R, bool &Field, + llvm::StringRef Blob) { Field = R[0] != 0; return llvm::Error::success(); } -llvm::Error decodeRecord(const Record &R, int &Field, llvm::StringRef Blob) { +static llvm::Error decodeRecord(const Record &R, int &Field, + llvm::StringRef Blob) { if (R[0] > INT_MAX) return llvm::createStringError(llvm::inconvertibleErrorCode(), "integer too large to parse"); @@ -50,8 +53,8 @@ llvm::Error decodeRecord(const Record &R, int &Field, llvm::StringRef Blob) { return llvm::Error::success(); } -llvm::Error decodeRecord(const Record &R, AccessSpecifier &Field, - llvm::StringRef Blob) { +static llvm::Error decodeRecord(const Record &R, AccessSpecifier &Field, + llvm::StringRef Blob) { switch (R[0]) { case AS_public: case AS_private: @@ -65,8 +68,8 @@ llvm::Error decodeRecord(const Record &R, AccessSpecifier &Field, } } -llvm::Error decodeRecord(const Record &R, TagTypeKind &Field, - llvm::StringRef Blob) { +static llvm::Error decodeRecord(const Record &R, TagTypeKind &Field, + llvm::StringRef Blob) { switch (static_cast<TagTypeKind>(R[0])) { case TagTypeKind::Struct: case TagTypeKind::Interface: @@ -80,8 +83,8 @@ llvm::Error decodeRecord(const Record &R, TagTypeKind &Field, "invalid value for TagTypeKind"); } -llvm::Error decodeRecord(const Record &R, std::optional<Location> &Field, - llvm::StringRef Blob) { +static llvm::Error decodeRecord(const Record &R, std::optional<Location> &Field, + llvm::StringRef Blob) { if (R[0] > INT_MAX) return llvm::createStringError(llvm::inconvertibleErrorCode(), "integer too large to parse"); @@ -89,8 +92,8 @@ llvm::Error decodeRecord(const Record &R, std::optional<Location> &Field, return llvm::Error::success(); } -llvm::Error decodeRecord(const Record &R, InfoType &Field, - llvm::StringRef Blob) { +static llvm::Error decodeRecord(const Record &R, InfoType &Field, + llvm::StringRef Blob) { switch (auto IT = static_cast<InfoType>(R[0])) { case InfoType::IT_namespace: case InfoType::IT_record: @@ -105,8 +108,8 @@ llvm::Error decodeRecord(const Record &R, InfoType &Field, "invalid value for InfoType"); } -llvm::Error decodeRecord(const Record &R, FieldId &Field, - llvm::StringRef Blob) { +static llvm::Error decodeRecord(const Record &R, FieldId &Field, + llvm::StringRef Blob) { switch (auto F = static_cast<FieldId>(R[0])) { case FieldId::F_namespace: case FieldId::F_parent: @@ -122,16 +125,17 @@ llvm::Error decodeRecord(const Record &R, FieldId &Field, "invalid value for FieldId"); } -llvm::Error decodeRecord(const Record &R, - llvm::SmallVectorImpl<llvm::SmallString<16>> &Field, - llvm::StringRef Blob) { +static llvm::Error +decodeRecord(const Record &R, + llvm::SmallVectorImpl<llvm::SmallString<16>> &Field, + llvm::StringRef Blob) { Field.push_back(Blob); return llvm::Error::success(); } -llvm::Error decodeRecord(const Record &R, - llvm::SmallVectorImpl<Location> &Field, - llvm::StringRef Blob) { +static llvm::Error decodeRecord(const Record &R, + llvm::SmallVectorImpl<Location> &Field, + llvm::StringRef Blob) { if (R[0] > INT_MAX) return llvm::createStringError(llvm::inconvertibleErrorCode(), "integer too large to parse"); @@ -139,16 +143,16 @@ llvm::Error decodeRecord(const Record &R, return llvm::Error::success(); } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - const unsigned VersionNo) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, const unsigned VersionNo) { if (ID == VERSION && R[0] == VersionNo) return llvm::Error::success(); return llvm::createStringError(llvm::inconvertibleErrorCode(), "mismatched bitcode version number"); } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - NamespaceInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, NamespaceInfo *I) { switch (ID) { case NAMESPACE_USR: return decodeRecord(R, I->USR, Blob); @@ -162,8 +166,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - RecordInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, RecordInfo *I) { switch (ID) { case RECORD_USR: return decodeRecord(R, I->USR, Blob); @@ -185,8 +189,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - BaseRecordInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, BaseRecordInfo *I) { switch (ID) { case BASE_RECORD_USR: return decodeRecord(R, I->USR, Blob); @@ -208,8 +212,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - EnumInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, EnumInfo *I) { switch (ID) { case ENUM_USR: return decodeRecord(R, I->USR, Blob); @@ -227,8 +231,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - TypedefInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, TypedefInfo *I) { switch (ID) { case TYPEDEF_USR: return decodeRecord(R, I->USR, Blob); @@ -244,8 +248,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - EnumValueInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, EnumValueInfo *I) { switch (ID) { case ENUM_VALUE_NAME: return decodeRecord(R, I->Name, Blob); @@ -259,8 +263,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - FunctionInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, FunctionInfo *I) { switch (ID) { case FUNCTION_USR: return decodeRecord(R, I->USR, Blob); @@ -280,13 +284,13 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - TypeInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, TypeInfo *I) { return llvm::Error::success(); } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - FieldTypeInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, FieldTypeInfo *I) { switch (ID) { case FIELD_TYPE_NAME: return decodeRecord(R, I->Name, Blob); @@ -298,8 +302,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - MemberTypeInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, MemberTypeInfo *I) { switch (ID) { case MEMBER_TYPE_NAME: return decodeRecord(R, I->Name, Blob); @@ -311,8 +315,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - CommentInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, CommentInfo *I) { switch (ID) { case COMMENT_KIND: return decodeRecord(R, I->Kind, Blob); @@ -342,8 +346,8 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - Reference *I, FieldId &F) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, Reference *I, FieldId &F) { switch (ID) { case REFERENCE_USR: return decodeRecord(R, I->USR, Blob); @@ -363,30 +367,31 @@ llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, } } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - TemplateInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, TemplateInfo *I) { // Currently there are no child records of TemplateInfo (only child blocks). return llvm::createStringError(llvm::inconvertibleErrorCode(), "invalid field for TemplateParamInfo"); } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - TemplateSpecializationInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, + TemplateSpecializationInfo *I) { if (ID == TEMPLATE_SPECIALIZATION_OF) return decodeRecord(R, I->SpecializationOf, Blob); return llvm::createStringError(llvm::inconvertibleErrorCode(), "invalid field for TemplateParamInfo"); } -llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, - TemplateParamInfo *I) { +static llvm::Error parseRecord(const Record &R, unsigned ID, + llvm::StringRef Blob, TemplateParamInfo *I) { if (ID == TEMPLATE_PARAM_CONTENTS) return decodeRecord(R, I->Contents, Blob); return llvm::createStringError(llvm::inconvertibleErrorCode(), "invalid field for TemplateParamInfo"); } -template <typename T> llvm::Expected<CommentInfo *> getCommentInfo(T I) { +template <typename T> static llvm::Expected<CommentInfo *> getCommentInfo(T I) { return llvm::createStringError(llvm::inconvertibleErrorCode(), "invalid type cannot contain CommentInfo"); } @@ -433,7 +438,7 @@ llvm::Expected<CommentInfo *> getCommentInfo(std::unique_ptr<CommentInfo> &I) { // the parent block to set it. The template specializations define what to do // for each supported parent block. template <typename T, typename TTypeInfo> -llvm::Error addTypeInfo(T I, TTypeInfo &&TI) { +static llvm::Error addTypeInfo(T I, TTypeInfo &&TI) { return llvm::createStringError(llvm::inconvertibleErrorCode(), "invalid type cannot contain TypeInfo"); } @@ -468,7 +473,8 @@ template <> llvm::Error addTypeInfo(TypedefInfo *I, TypeInfo &&T) { return llvm::Error::success(); } -template <typename T> llvm::Error addReference(T I, Reference &&R, FieldId F) { +template <typename T> +static llvm::Error addReference(T I, Reference &&R, FieldId F) { return llvm::createStringError(llvm::inconvertibleErrorCode(), "invalid type cannot contain Reference"); } @@ -584,7 +590,7 @@ template <> llvm::Error addReference(RecordInfo *I, Reference &&R, FieldId F) { } template <typename T, typename ChildInfoType> -void addChild(T I, ChildInfoType &&R) { +static void addChild(T I, ChildInfoType &&R) { llvm::errs() << "invalid child type for info"; exit(1); } @@ -625,7 +631,7 @@ template <> void addChild(BaseRecordInfo *I, FunctionInfo &&R) { // TemplateParam children. These go into either a TemplateInfo (for template // parameters) or TemplateSpecializationInfo (for the specialization's // parameters). -template <typename T> void addTemplateParam(T I, TemplateParamInfo &&P) { +template <typename T> static void addTemplateParam(T I, TemplateParamInfo &&P) { llvm::errs() << "invalid container for template parameter"; exit(1); } @@ -638,7 +644,7 @@ void addTemplateParam(TemplateSpecializationInfo *I, TemplateParamInfo &&P) { } // Template info. These apply to either records or functions. -template <typename T> void addTemplate(T I, TemplateInfo &&P) { +template <typename T> static void addTemplate(T I, TemplateInfo &&P) { llvm::errs() << "invalid container for template info"; exit(1); } @@ -651,7 +657,7 @@ template <> void addTemplate(FunctionInfo *I, TemplateInfo &&P) { // Template specializations go only into template records. template <typename T> -void addTemplateSpecialization(T I, TemplateSpecializationInfo &&TSI) { +static void addTemplateSpecialization(T I, TemplateSpecializationInfo &&TSI) { llvm::errs() << "invalid container for template specialization info"; exit(1); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits