diff options
| author | Erick Velez <erickvelez7@gmail.com> | 2023-08-21 09:06:53 -0700 |
|---|---|---|
| committer | Erick Velez <erickvelez7@gmail.com> | 2023-08-21 10:17:58 -0700 |
| commit | 634b2fd2cac251e2d645dadc6b00a2b2b80a08d0 (patch) | |
| tree | 3d618b3dadb0456417efd8871b53028e4471adb2 /clang/lib/ExtractAPI/API.cpp | |
| parent | 0303137bfcf2e28fb2d9387b67f91b00ca6b42f5 (diff) | |
[clang][ExtractAPI] Add support for C++ member templates
Visit and serialize C++ fields by checking if a var template's context is a CXXRecordDecl in VisitVarTemplateDecl.
Depends on D158027
Reviewed By: dang
Differential Revision: https://reviews.llvm.org/D158029
Diffstat (limited to 'clang/lib/ExtractAPI/API.cpp')
| -rw-r--r-- | clang/lib/ExtractAPI/API.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/lib/ExtractAPI/API.cpp b/clang/lib/ExtractAPI/API.cpp index 103297ab1431..6cc00bc939c7 100644 --- a/clang/lib/ExtractAPI/API.cpp +++ b/clang/lib/ExtractAPI/API.cpp @@ -185,6 +185,21 @@ APISet::addCXXField(CXXClassRecord *CXXClass, StringRef Name, StringRef USR, return CXXClass->Fields.emplace_back(std::move(Record)).get(); } +CXXFieldTemplateRecord *APISet::addCXXFieldTemplate( + APIRecord *Parent, StringRef Name, StringRef USR, PresumedLoc Loc, + AvailabilitySet Availability, const DocComment &Comment, + DeclarationFragments Declaration, DeclarationFragments SubHeading, + AccessControl Access, Template Template, bool IsFromSystemHeader) { + auto *Record = + addTopLevelRecord(USRBasedLookupTable, CXXFieldTemplates, USR, Name, Loc, + std::move(Availability), Comment, Declaration, + SubHeading, Access, Template, IsFromSystemHeader); + Record->ParentInformation = APIRecord::HierarchyInformation( + Parent->USR, Parent->Name, Parent->getKind(), Parent); + + return Record; +} + CXXClassRecord * APISet::addCXXClass(StringRef Name, StringRef USR, PresumedLoc Loc, AvailabilitySet Availabilities, const DocComment &Comment, |
