@@ -194,6 +194,15 @@ class ExtractAPIVisitorBase : public RecursiveASTVisitor<Derived> {
194
194
return Bases;
195
195
}
196
196
197
+ APIRecord::RecordKind getKindForDisplay (const CXXRecordDecl *Decl) {
198
+ if (Decl->isUnion ())
199
+ return APIRecord::RK_Union;
200
+ if (Decl->isStruct ())
201
+ return APIRecord::RK_Struct;
202
+
203
+ return APIRecord::RK_CXXClass;
204
+ }
205
+
197
206
StringRef getOwningModuleName (const Decl &D) {
198
207
if (auto *OwningModule = D.getImportedOwningModule ())
199
208
return OwningModule->Name ;
@@ -599,13 +608,6 @@ bool ExtractAPIVisitorBase<Derived>::VisitCXXRecordDecl(
599
608
DeclarationFragments SubHeading =
600
609
DeclarationFragmentsBuilder::getSubHeading (Decl);
601
610
602
- APIRecord::RecordKind Kind;
603
- if (Decl->isUnion ())
604
- Kind = APIRecord::RecordKind::RK_Union;
605
- else if (Decl->isStruct ())
606
- Kind = APIRecord::RecordKind::RK_Struct;
607
- else
608
- Kind = APIRecord::RecordKind::RK_CXXClass;
609
611
auto Access = DeclarationFragmentsBuilder::getAccessControl (Decl);
610
612
611
613
CXXClassRecord *Record;
@@ -619,13 +621,15 @@ bool ExtractAPIVisitorBase<Derived>::VisitCXXRecordDecl(
619
621
AvailabilityInfo::createFromDecl (Decl), Comment, Declaration,
620
622
SubHeading, Template (Decl->getDescribedClassTemplate ()), Access,
621
623
isInSystemHeader (Decl));
622
- } else
624
+ } else {
623
625
Record = API.createRecord <CXXClassRecord>(
624
626
USR, Name, createHierarchyInformationForDecl (*Decl), Loc,
625
627
AvailabilityInfo::createFromDecl (Decl), Comment, Declaration,
626
- SubHeading, Kind, Access, isInSystemHeader (Decl),
627
- isEmbeddedInVarDeclarator (*Decl));
628
+ SubHeading, APIRecord::RecordKind::RK_CXXClass, Access,
629
+ isInSystemHeader (Decl), isEmbeddedInVarDeclarator (*Decl));
630
+ }
628
631
632
+ Record->KindForDisplay = getKindForDisplay (Decl);
629
633
Record->Bases = getBases (Decl);
630
634
631
635
return true ;
@@ -849,6 +853,7 @@ bool ExtractAPIVisitorBase<Derived>::
849
853
Template (Decl), DeclarationFragmentsBuilder::getAccessControl (Decl),
850
854
isInSystemHeader (Decl));
851
855
856
+ CTPSR->KindForDisplay = getKindForDisplay (Decl);
852
857
CTPSR->Bases = getBases (Decl);
853
858
854
859
return true ;
0 commit comments