diff options
author | Daniel Grumberg <dgrumberg@apple.com> | 2022-04-07 13:50:28 +0100 |
---|---|---|
committer | Daniel Grumberg <dgrumberg@apple.com> | 2022-04-11 19:05:24 +0100 |
commit | 236b6a0eb41a163510e65664e2160f599287326b (patch) | |
tree | 287e71d587ccc098c9d5cf5a2485920136ae7b08 /clang/lib/ExtractAPI/API.cpp | |
parent | 2d0475e37169bee3d969c4e4b445e86c08539769 (diff) | |
download | llvm-236b6a0eb41a163510e65664e2160f599287326b.zip llvm-236b6a0eb41a163510e65664e2160f599287326b.tar.gz llvm-236b6a0eb41a163510e65664e2160f599287326b.tar.bz2 |
[clang][extract-api] Emit "functionSignature" in SGF for ObjC methods.
- Split GlobalRecord into two distinct types to be able to introduce
has_function_signature type trait.
- Add has_function_signature type trait.
- Serialize function signatures as part of serializeAPIRecord for
records that are known to have a function signature.
Differential Revision: https://reviews.llvm.org/D123304
Diffstat (limited to 'clang/lib/ExtractAPI/API.cpp')
-rw-r--r-- | clang/lib/ExtractAPI/API.cpp | 35 |
1 files changed, 12 insertions, 23 deletions
diff --git a/clang/lib/ExtractAPI/API.cpp b/clang/lib/ExtractAPI/API.cpp index 1c33bbf..10d723d 100644 --- a/clang/lib/ExtractAPI/API.cpp +++ b/clang/lib/ExtractAPI/API.cpp @@ -41,34 +41,22 @@ RecordTy *addTopLevelRecord(APISet::RecordMap<RecordTy> &RecordMap, } // namespace -GlobalRecord *APISet::addGlobal(GVKind Kind, StringRef Name, StringRef USR, - PresumedLoc Loc, - const AvailabilityInfo &Availability, - LinkageInfo Linkage, const DocComment &Comment, - DeclarationFragments Fragments, - DeclarationFragments SubHeading, - FunctionSignature Signature) { - return addTopLevelRecord(Globals, Name, USR, Loc, Availability, Linkage, - Comment, Fragments, SubHeading, Kind, Signature); -} - -GlobalRecord * +GlobalVariableRecord * APISet::addGlobalVar(StringRef Name, StringRef USR, PresumedLoc Loc, const AvailabilityInfo &Availability, LinkageInfo Linkage, const DocComment &Comment, DeclarationFragments Fragments, DeclarationFragments SubHeading) { - return addGlobal(GVKind::Variable, Name, USR, Loc, Availability, Linkage, - Comment, Fragments, SubHeading, {}); + return addTopLevelRecord(GlobalVariables, Name, USR, Loc, Availability, + Linkage, Comment, Fragments, SubHeading); } -GlobalRecord * -APISet::addFunction(StringRef Name, StringRef USR, PresumedLoc Loc, - const AvailabilityInfo &Availability, LinkageInfo Linkage, - const DocComment &Comment, DeclarationFragments Fragments, - DeclarationFragments SubHeading, - FunctionSignature Signature) { - return addGlobal(GVKind::Function, Name, USR, Loc, Availability, Linkage, - Comment, Fragments, SubHeading, Signature); +GlobalFunctionRecord *APISet::addGlobalFunction( + StringRef Name, StringRef USR, PresumedLoc Loc, + const AvailabilityInfo &Availability, LinkageInfo Linkage, + const DocComment &Comment, DeclarationFragments Fragments, + DeclarationFragments SubHeading, FunctionSignature Signature) { + return addTopLevelRecord(GlobalFunctions, Name, USR, Loc, Availability, + Linkage, Comment, Fragments, SubHeading, Signature); } EnumConstantRecord *APISet::addEnumConstant( @@ -229,7 +217,8 @@ APIRecord::~APIRecord() {} ObjCContainerRecord::~ObjCContainerRecord() {} -void GlobalRecord::anchor() {} +void GlobalFunctionRecord::anchor() {} +void GlobalVariableRecord::anchor() {} void EnumConstantRecord::anchor() {} void EnumRecord::anchor() {} void StructFieldRecord::anchor() {} |