32 using Array = llvm::json::Array;
33 using Object = llvm::json::Object;
34 using Value = llvm::json::Value;
42 llvm::StringRef Path)
override;
48 llvm::StringRef Path)
override;
53 llvm::StringRef Path)
override;
59 llvm::StringRef Path)
override;
64 llvm::StringRef Path)
override;
67 llvm::function_ref<
void(llvm::StringRef Name, llvm::StringRef Desc)>
68 Callback)
const override;
72 llvm::function_ref<llvm::Expected<EntityId>(
const Object &)>;
77 llvm::function_ref<llvm::Expected<std::unique_ptr<EntitySummary>>(
85 llvm::function_ref<llvm::Expected<std::unique_ptr<AnalysisResult>>(
93 static std::map<SummaryName, FormatInfo> initFormatInfos();
94 const std::map<SummaryName, FormatInfo> FormatInfos = initFormatInfos();
96 EntityId entityIdFromJSON(
const uint64_t EntityIdIndex)
const;
97 uint64_t entityIdToJSON(
EntityId EI)
const;
100 entityIdFromJSONObject(
const Object &EntityIdObject);
101 static Object entityIdToJSONObject(
EntityId EI);
104 buildNamespaceFromJSON(
const Object &BuildNamespaceObject)
const;
108 nestedBuildNamespaceFromJSON(
const Array &NestedBuildNamespaceArray)
const;
112 tuEntityNameFromJSON(
const Object &EntityNameObject)
const;
113 Object tuEntityNameToJSON(
const EntityName &EN)
const;
116 luEntityNameFromJSON(
const Object &EntityNameObject)
const;
117 Object luEntityNameToJSON(
const EntityName &EN)
const;
120 entityLinkageFromJSON(
const Object &EntityLinkageObject)
const;
124 tuEntityIdTableEntryFromJSON(
const Object &EntityIdTableEntryObject)
const;
126 tuEntityIdTableFromJSON(
const Array &EntityIdTableArray)
const;
128 Array tuEntityIdTableToJSON(
const EntityIdTable &IdTable)
const;
131 luEntityIdTableEntryFromJSON(
const Object &EntityIdTableEntryObject)
const;
133 luEntityIdTableFromJSON(
const Array &EntityIdTableArray)
const;
135 Array luEntityIdTableToJSON(
const EntityIdTable &IdTable)
const;
138 linkageTableEntryFromJSON(
const Object &LinkageTableEntryObject)
const;
142 linkageTableFromJSON(
const Array &LinkageTableArray,
143 std::set<EntityId> ExpectedIds)
const;
144 Array linkageTableToJSON(
145 const std::map<EntityId, EntityLinkage> &LinkageTable)
const;
149 const Object &EntitySummaryObject,
155 entityDataMapEntryFromJSON(
const Object &EntityDataMapEntryObject,
159 entityDataMapEntryToJSON(
const EntityId EI,
163 entityDataMapFromJSON(
const SummaryName &SN,
const Array &EntityDataArray,
167 const std::map<
EntityId, std::unique_ptr<EntitySummary>>
168 &EntityDataMap)
const;
171 std::map<EntityId, std::unique_ptr<EntitySummary>>>>
172 summaryDataMapEntryFromJSON(
const Object &SummaryDataObject,
176 const std::map<
EntityId, std::unique_ptr<EntitySummary>> &SD)
const;
179 std::map<SummaryName, std::map<EntityId, std::unique_ptr<EntitySummary>>>>
180 summaryDataMapFromJSON(
const Array &SummaryDataArray,
184 std::map<
EntityId, std::unique_ptr<EntitySummary>>>
185 &SummaryDataMap)
const;
188 encodingDataMapEntryFromJSON(
const Object &EntityDataMapEntryObject)
const;
189 Object encodingDataMapEntryToJSON(
191 const std::unique_ptr<EntitySummaryEncoding> &Encoding)
const;
194 encodingDataMapFromJSON(
const Array &EntityDataArray)
const;
195 Array encodingDataMapToJSON(
196 const std::map<
EntityId, std::unique_ptr<EntitySummaryEncoding>>
197 &EncodingDataMap)
const;
200 SummaryName, std::map<EntityId, std::unique_ptr<EntitySummaryEncoding>>>>
201 encodingSummaryDataMapEntryFromJSON(
202 const Object &SummaryDataMapEntryObject)
const;
203 Object encodingSummaryDataMapEntryToJSON(
205 const std::map<
EntityId, std::unique_ptr<EntitySummaryEncoding>>
209 SummaryName, std::map<EntityId, std::unique_ptr<EntitySummaryEncoding>>>>
210 encodingSummaryDataMapFromJSON(
const Array &SummaryDataArray)
const;
211 Array encodingSummaryDataMapToJSON(
213 std::map<
EntityId, std::unique_ptr<EntitySummaryEncoding>>>
214 &EncodingSummaryDataMap)
const;
217 analysisResultMapEntryFromJSON(
const Object &Entry)
const;
220 const std::unique_ptr<AnalysisResult> &
Result)
const;
223 analysisResultMapFromJSON(
const Array &ResultsArray)
const;