29 using Array = llvm::json::Array;
30 using Object = llvm::json::Object;
35 class EntityIdConverter {
38 return Format.entityIdFromJSON(EntityIdIndex);
45 EntityIdConverter(
const JSONFormat &Format) : Format(Format) {}
52 llvm::StringRef Path)
override;
57 llvm::function_ref<llvm::Expected<std::unique_ptr<EntitySummary>>(
63 static std::map<SummaryName, FormatInfo> initFormatInfos();
64 const std::map<SummaryName, FormatInfo> FormatInfos = initFormatInfos();
66 EntityId entityIdFromJSON(
const uint64_t EntityIdIndex)
const;
67 uint64_t entityIdToJSON(
EntityId EI)
const;
70 buildNamespaceKindFromJSON(llvm::StringRef BuildNamespaceKindStr)
const;
73 buildNamespaceFromJSON(
const Object &BuildNamespaceObject)
const;
77 nestedBuildNamespaceFromJSON(
const Array &NestedBuildNamespaceArray)
const;
81 entityNameFromJSON(
const Object &EntityNameObject)
const;
82 Object entityNameToJSON(
const EntityName &EN)
const;
85 entityIdTableEntryFromJSON(
const Object &EntityIdTableEntryObject)
const;
87 entityIdTableFromJSON(
const Array &EntityIdTableArray)
const;
89 Array entityIdTableToJSON(
const EntityIdTable &IdTable)
const;
93 const Object &EntitySummaryObject,
99 entityDataMapEntryFromJSON(
const Object &EntityDataMapEntryObject,
103 entityDataMapFromJSON(
const SummaryName &SN,
const Array &EntityDataArray,
107 const std::map<
EntityId, std::unique_ptr<EntitySummary>>
108 &EntityDataMap)
const;
111 std::map<EntityId, std::unique_ptr<EntitySummary>>>>
112 summaryDataMapEntryFromJSON(
const Object &SummaryDataObject,
116 const std::map<
EntityId, std::unique_ptr<EntitySummary>> &SD)
const;
119 std::map<SummaryName, std::map<EntityId, std::unique_ptr<EntitySummary>>>>
120 summaryDataMapFromJSON(
const Array &SummaryDataArray,
124 std::map<
EntityId, std::unique_ptr<EntitySummary>>>
125 &SummaryDataMap)
const;