Lines Matching refs:Record

221 Object serializeIdentifier(const APIRecord &Record, Language Lang) {  in serializeIdentifier()  argument
223 Identifier["precise"] = Record.USR; in serializeIdentifier()
324 Object serializeNames(const APIRecord &Record) { in serializeNames() argument
327 dyn_cast_or_null<const ObjCCategoryRecord>(&Record)) in serializeNames()
329 (CategoryRecord->Interface.Name + " (" + Record.Name + ")").str(); in serializeNames()
331 Names["title"] = Record.Name; in serializeNames()
334 serializeDeclarationFragments(Record.SubHeading)); in serializeNames()
336 NavigatorFragments.append(Record.Name, in serializeNames()
512 Object serializeSymbolKind(const APIRecord &Record, Language Lang) { in serializeSymbolKind() argument
513 return serializeSymbolKind(Record.getKind(), Lang); in serializeSymbolKind()
518 serializeFunctionSignatureMixinImpl(const RecordTy &Record, std::true_type) { in serializeFunctionSignatureMixinImpl() argument
519 const auto &FS = Record.Signature; in serializeFunctionSignatureMixinImpl()
544 serializeFunctionSignatureMixinImpl(const RecordTy &Record, std::false_type) { in serializeFunctionSignatureMixinImpl() argument
559 void serializeFunctionSignatureMixin(Object &Paren, const RecordTy &Record) { in serializeFunctionSignatureMixin() argument
562 Record, has_function_signature<RecordTy>())); in serializeFunctionSignatureMixin()
566 std::optional<std::string> serializeAccessMixinImpl(const RecordTy &Record, in serializeAccessMixinImpl() argument
568 const auto &AccessControl = Record.Access; in serializeAccessMixinImpl()
577 std::optional<std::string> serializeAccessMixinImpl(const RecordTy &Record, in serializeAccessMixinImpl() argument
583 void serializeAccessMixin(Object &Paren, const RecordTy &Record) { in serializeAccessMixin() argument
584 auto accessLevel = serializeAccessMixinImpl(Record, has_access<RecordTy>()); in serializeAccessMixin()
591 std::optional<Object> serializeTemplateMixinImpl(const RecordTy &Record, in serializeTemplateMixinImpl() argument
593 const auto &Template = Record.Templ; in serializeTemplateMixinImpl()
625 std::optional<Object> serializeTemplateMixinImpl(const RecordTy &Record, in serializeTemplateMixinImpl() argument
631 void serializeTemplateMixin(Object &Paren, const RecordTy &Record) { in serializeTemplateMixin() argument
633 serializeTemplateMixinImpl(Record, has_template<RecordTy>())); in serializeTemplateMixin()
647 const RecordTy &Record, const APISet &API, in generatePathComponents() argument
650 ReverseComponenents.emplace_back(Record.USR, Record.Name, Record.getKind()); in generatePathComponents()
651 const auto *CurrentParent = &Record.ParentInformation; in generatePathComponents()
701 Array generateParentContexts(const RecordTy &Record, const APISet &API, in generateParentContexts() argument
705 Record, API, [Lang, &ParentContexts](const PathComponent &PC) { in generateParentContexts()
733 bool SymbolGraphSerializer::shouldSkip(const APIRecord &Record) const { in shouldSkip()
735 if (IgnoresList.shouldIgnore(Record.Name)) in shouldSkip()
739 if (Record.Availability.isUnconditionallyUnavailable()) in shouldSkip()
744 if (Record.Name.starts_with("_")) in shouldSkip()
752 SymbolGraphSerializer::serializeAPIRecord(const RecordTy &Record) const { in serializeAPIRecord()
753 if (shouldSkip(Record)) in serializeAPIRecord()
758 serializeIdentifier(Record, API.getLanguage())); in serializeAPIRecord()
759 serializeObject(Obj, "kind", serializeSymbolKind(Record, API.getLanguage())); in serializeAPIRecord()
760 serializeObject(Obj, "names", serializeNames(Record)); in serializeAPIRecord()
763 serializeSourceLocation(Record.Location, /*IncludeFileURI=*/true)); in serializeAPIRecord()
765 serializeAvailability(Record.Availability)); in serializeAPIRecord()
766 serializeObject(Obj, "docComment", serializeDocComment(Record.Comment)); in serializeAPIRecord()
768 serializeDeclarationFragments(Record.Declaration)); in serializeAPIRecord()
772 if (generatePathComponents(Record, API, in serializeAPIRecord()
780 serializeFunctionSignatureMixin(Obj, Record); in serializeAPIRecord()
781 serializeAccessMixin(Obj, Record); in serializeAPIRecord()
782 serializeTemplateMixin(Obj, Record); in serializeAPIRecord()
789 const APIRecord &Record, in serializeMembers() argument
800 serializeRelationship(RelationshipKind::MemberOf, *Member, Record); in serializeMembers()
841 const NamespaceRecord &Record) { in visitNamespaceRecord() argument
842 auto Namespace = serializeAPIRecord(Record); in visitNamespaceRecord()
846 if (!Record.ParentInformation.empty()) in visitNamespaceRecord()
847 serializeRelationship(RelationshipKind::MemberOf, Record, in visitNamespaceRecord()
848 Record.ParentInformation.ParentRecord); in visitNamespaceRecord()
852 const GlobalFunctionRecord &Record) { in visitGlobalFunctionRecord() argument
853 auto Obj = serializeAPIRecord(Record); in visitGlobalFunctionRecord()
861 const GlobalVariableRecord &Record) { in visitGlobalVariableRecord() argument
862 auto Obj = serializeAPIRecord(Record); in visitGlobalVariableRecord()
869 void SymbolGraphSerializer::visitEnumRecord(const EnumRecord &Record) { in visitEnumRecord() argument
870 auto Enum = serializeAPIRecord(Record); in visitEnumRecord()
875 serializeMembers(Record, Record.Constants); in visitEnumRecord()
878 void SymbolGraphSerializer::visitRecordRecord(const RecordRecord &Record) { in visitRecordRecord() argument
879 auto SerializedRecord = serializeAPIRecord(Record); in visitRecordRecord()
884 serializeMembers(Record, Record.Fields); in visitRecordRecord()
888 const StaticFieldRecord &Record) { in visitStaticFieldRecord() argument
889 auto StaticField = serializeAPIRecord(Record); in visitStaticFieldRecord()
893 serializeRelationship(RelationshipKind::MemberOf, Record, Record.Context); in visitStaticFieldRecord()
896 void SymbolGraphSerializer::visitCXXClassRecord(const CXXClassRecord &Record) { in visitCXXClassRecord() argument
897 auto Class = serializeAPIRecord(Record); in visitCXXClassRecord()
902 for (const auto &Base : Record.Bases) in visitCXXClassRecord()
903 serializeRelationship(RelationshipKind::InheritsFrom, Record, Base); in visitCXXClassRecord()
904 if (!Record.ParentInformation.empty()) in visitCXXClassRecord()
905 serializeRelationship(RelationshipKind::MemberOf, Record, in visitCXXClassRecord()
906 Record.ParentInformation.ParentRecord); in visitCXXClassRecord()
910 const ClassTemplateRecord &Record) { in visitClassTemplateRecord() argument
911 auto Class = serializeAPIRecord(Record); in visitClassTemplateRecord()
916 for (const auto &Base : Record.Bases) in visitClassTemplateRecord()
917 serializeRelationship(RelationshipKind::InheritsFrom, Record, Base); in visitClassTemplateRecord()
918 if (!Record.ParentInformation.empty()) in visitClassTemplateRecord()
919 serializeRelationship(RelationshipKind::MemberOf, Record, in visitClassTemplateRecord()
920 Record.ParentInformation.ParentRecord); in visitClassTemplateRecord()
924 const ClassTemplateSpecializationRecord &Record) { in visitClassTemplateSpecializationRecord() argument
925 auto Class = serializeAPIRecord(Record); in visitClassTemplateSpecializationRecord()
931 for (const auto &Base : Record.Bases) in visitClassTemplateSpecializationRecord()
932 serializeRelationship(RelationshipKind::InheritsFrom, Record, Base); in visitClassTemplateSpecializationRecord()
933 if (!Record.ParentInformation.empty()) in visitClassTemplateSpecializationRecord()
934 serializeRelationship(RelationshipKind::MemberOf, Record, in visitClassTemplateSpecializationRecord()
935 Record.ParentInformation.ParentRecord); in visitClassTemplateSpecializationRecord()
939 const ClassTemplatePartialSpecializationRecord &Record) { in visitClassTemplatePartialSpecializationRecord() argument
940 auto Class = serializeAPIRecord(Record); in visitClassTemplatePartialSpecializationRecord()
946 for (const auto &Base : Record.Bases) in visitClassTemplatePartialSpecializationRecord()
947 serializeRelationship(RelationshipKind::InheritsFrom, Record, Base); in visitClassTemplatePartialSpecializationRecord()
948 if (!Record.ParentInformation.empty()) in visitClassTemplatePartialSpecializationRecord()
949 serializeRelationship(RelationshipKind::MemberOf, Record, in visitClassTemplatePartialSpecializationRecord()
950 Record.ParentInformation.ParentRecord); in visitClassTemplatePartialSpecializationRecord()
954 const CXXInstanceMethodRecord &Record) { in visitCXXInstanceMethodRecord() argument
955 auto InstanceMethod = serializeAPIRecord(Record); in visitCXXInstanceMethodRecord()
960 serializeRelationship(RelationshipKind::MemberOf, Record, in visitCXXInstanceMethodRecord()
961 Record.ParentInformation.ParentRecord); in visitCXXInstanceMethodRecord()
965 const CXXStaticMethodRecord &Record) { in visitCXXStaticMethodRecord() argument
966 auto StaticMethod = serializeAPIRecord(Record); in visitCXXStaticMethodRecord()
971 serializeRelationship(RelationshipKind::MemberOf, Record, in visitCXXStaticMethodRecord()
972 Record.ParentInformation.ParentRecord); in visitCXXStaticMethodRecord()
976 const CXXMethodTemplateRecord &Record) { in visitMethodTemplateRecord() argument
980 auto MethodTemplate = serializeAPIRecord(Record); in visitMethodTemplateRecord()
984 serializeRelationship(RelationshipKind::MemberOf, Record, in visitMethodTemplateRecord()
985 Record.ParentInformation.ParentRecord); in visitMethodTemplateRecord()
989 const CXXMethodTemplateSpecializationRecord &Record) { in visitMethodTemplateSpecializationRecord() argument
993 auto MethodTemplateSpecialization = serializeAPIRecord(Record); in visitMethodTemplateSpecializationRecord()
997 serializeRelationship(RelationshipKind::MemberOf, Record, in visitMethodTemplateSpecializationRecord()
998 Record.ParentInformation.ParentRecord); in visitMethodTemplateSpecializationRecord()
1001 void SymbolGraphSerializer::visitCXXFieldRecord(const CXXFieldRecord &Record) { in visitCXXFieldRecord() argument
1004 auto CXXField = serializeAPIRecord(Record); in visitCXXFieldRecord()
1008 serializeRelationship(RelationshipKind::MemberOf, Record, in visitCXXFieldRecord()
1009 Record.ParentInformation.ParentRecord); in visitCXXFieldRecord()
1013 const CXXFieldTemplateRecord &Record) { in visitCXXFieldTemplateRecord() argument
1017 auto CXXFieldTemplate = serializeAPIRecord(Record); in visitCXXFieldTemplateRecord()
1021 serializeRelationship(RelationshipKind::MemberOf, Record, in visitCXXFieldTemplateRecord()
1022 Record.ParentInformation.ParentRecord); in visitCXXFieldTemplateRecord()
1025 void SymbolGraphSerializer::visitConceptRecord(const ConceptRecord &Record) { in visitConceptRecord() argument
1026 auto Concept = serializeAPIRecord(Record); in visitConceptRecord()
1034 const GlobalVariableTemplateRecord &Record) { in visitGlobalVariableTemplateRecord() argument
1035 auto GlobalVariableTemplate = serializeAPIRecord(Record); in visitGlobalVariableTemplateRecord()
1042 const GlobalVariableTemplateSpecializationRecord &Record) { in visitGlobalVariableTemplateSpecializationRecord() argument
1043 auto GlobalVariableTemplateSpecialization = serializeAPIRecord(Record); in visitGlobalVariableTemplateSpecializationRecord()
1051 const GlobalVariableTemplatePartialSpecializationRecord &Record) { in visitGlobalVariableTemplatePartialSpecializationRecord() argument
1052 auto GlobalVariableTemplatePartialSpecialization = serializeAPIRecord(Record); in visitGlobalVariableTemplatePartialSpecializationRecord()
1059 const GlobalFunctionTemplateRecord &Record) { in visitGlobalFunctionTemplateRecord() argument
1060 auto GlobalFunctionTemplate = serializeAPIRecord(Record); in visitGlobalFunctionTemplateRecord()
1067 const GlobalFunctionTemplateSpecializationRecord &Record) { in visitGlobalFunctionTemplateSpecializationRecord() argument
1068 auto GlobalFunctionTemplateSpecialization = serializeAPIRecord(Record); in visitGlobalFunctionTemplateSpecializationRecord()
1075 const ObjCContainerRecord &Record) { in visitObjCContainerRecord() argument
1076 auto ObjCContainer = serializeAPIRecord(Record); in visitObjCContainerRecord()
1082 serializeMembers(Record, Record.Ivars); in visitObjCContainerRecord()
1083 serializeMembers(Record, Record.Methods); in visitObjCContainerRecord()
1084 serializeMembers(Record, Record.Properties); in visitObjCContainerRecord()
1086 for (const auto &Protocol : Record.Protocols) in visitObjCContainerRecord()
1088 serializeRelationship(RelationshipKind::ConformsTo, Record, Protocol); in visitObjCContainerRecord()
1090 if (auto *ObjCInterface = dyn_cast<ObjCInterfaceRecord>(&Record)) { in visitObjCContainerRecord()
1094 serializeRelationship(RelationshipKind::InheritsFrom, Record, in visitObjCContainerRecord()
1100 serializeMembers(Record, Category->Ivars); in visitObjCContainerRecord()
1101 serializeMembers(Record, Category->Methods); in visitObjCContainerRecord()
1102 serializeMembers(Record, Category->Properties); in visitObjCContainerRecord()
1106 serializeRelationship(RelationshipKind::ConformsTo, Record, Protocol); in visitObjCContainerRecord()
1112 const ObjCCategoryRecord &Record) { in visitObjCCategoryRecord() argument
1113 if (!Record.IsFromExternalModule) in visitObjCCategoryRecord()
1117 if (!visitedCategories.contains(Record.Interface.Name)) { in visitObjCCategoryRecord()
1118 visitedCategories.insert(Record.Interface.Name); in visitObjCCategoryRecord()
1121 serializeIdentifier(Record, API.getLanguage())); in visitObjCCategoryRecord()
1130 Relationship["source"] = Record.USR; in visitObjCCategoryRecord()
1131 Relationship["target"] = Record.Interface.USR; in visitObjCCategoryRecord()
1132 Relationship["targetFallback"] = Record.Interface.Name; in visitObjCCategoryRecord()
1136 auto ObjCCategory = serializeAPIRecord(Record); in visitObjCCategoryRecord()
1142 serializeMembers(Record, Record.Methods); in visitObjCCategoryRecord()
1143 serializeMembers(Record, Record.Properties); in visitObjCCategoryRecord()
1146 for (const auto &Protocol : Record.Protocols) in visitObjCCategoryRecord()
1147 serializeRelationship(RelationshipKind::ConformsTo, Record, Protocol); in visitObjCCategoryRecord()
1151 const MacroDefinitionRecord &Record) { in visitMacroDefinitionRecord() argument
1152 auto Macro = serializeAPIRecord(Record); in visitMacroDefinitionRecord()
1160 void SymbolGraphSerializer::serializeSingleRecord(const APIRecord *Record) { in serializeSingleRecord() argument
1161 switch (Record->getKind()) { in serializeSingleRecord()
1165 visitGlobalFunctionRecord(*cast<GlobalFunctionRecord>(Record)); in serializeSingleRecord()
1168 visitGlobalVariableRecord(*cast<GlobalVariableRecord>(Record)); in serializeSingleRecord()
1171 visitEnumRecord(*cast<EnumRecord>(Record)); in serializeSingleRecord()
1176 visitRecordRecord(*cast<RecordRecord>(Record)); in serializeSingleRecord()
1179 visitStaticFieldRecord(*cast<StaticFieldRecord>(Record)); in serializeSingleRecord()
1182 visitCXXClassRecord(*cast<CXXClassRecord>(Record)); in serializeSingleRecord()
1185 visitObjCContainerRecord(*cast<ObjCInterfaceRecord>(Record)); in serializeSingleRecord()
1188 visitObjCContainerRecord(*cast<ObjCProtocolRecord>(Record)); in serializeSingleRecord()
1191 visitObjCCategoryRecord(*cast<ObjCCategoryRecord>(Record)); in serializeSingleRecord()
1194 visitMacroDefinitionRecord(*cast<MacroDefinitionRecord>(Record)); in serializeSingleRecord()
1197 visitTypedefRecord(*cast<TypedefRecord>(Record)); in serializeSingleRecord()
1200 if (auto Obj = serializeAPIRecord(*Record)) { in serializeSingleRecord()
1202 auto &ParentInformation = Record->ParentInformation; in serializeSingleRecord()
1204 serializeRelationship(RelationshipKind::MemberOf, *Record, in serializeSingleRecord()
1211 void SymbolGraphSerializer::visitTypedefRecord(const TypedefRecord &Record) { in visitTypedefRecord() argument
1214 bool ShouldDrop = Record.UnderlyingType.Name.empty(); in visitTypedefRecord()
1217 ShouldDrop |= (Record.UnderlyingType.Name == Record.Name); in visitTypedefRecord()
1221 auto Typedef = serializeAPIRecord(Record); in visitTypedefRecord()
1225 (*Typedef)["type"] = Record.UnderlyingType.USR; in visitTypedefRecord()
1257 APIRecord *Record = API.findRecordForUSR(USR); in serializeSingleSymbolSGF() local
1258 if (!Record) in serializeSingleSymbolSGF()
1266 Serializer.serializeSingleRecord(Record); in serializeSingleSymbolSGF()
1271 generateParentContexts(*Record, API, Lang)); in serializeSingleSymbolSGF()
1275 for (const auto &Fragment : Record->Declaration.getFragments()) { in serializeSingleSymbolSGF()