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;
63 llvm::StringRef Path)
override;
69 llvm::StringRef Path)
override;
74 llvm::StringRef Path)
override;
77 llvm::function_ref<
void(llvm::StringRef Name, llvm::StringRef Desc)>
78 Callback)
const override;
82 llvm::function_ref<llvm::Expected<EntityId>(
const Object &)>;
87 llvm::function_ref<llvm::Expected<std::unique_ptr<EntitySummary>>(
95 llvm::function_ref<llvm::Expected<std::unique_ptr<AnalysisResult>>(
103 static std::map<SummaryName, FormatInfo> initFormatInfos();
104 const std::map<SummaryName, FormatInfo> FormatInfos = initFormatInfos();
118 readTUSummaryEncodingFromObject(
const Object &Root);
123 readLUSummaryEncodingFromObject(
const Object &Root);
129 EntityId entityIdFromJSON(
const uint64_t EntityIdIndex)
const;
130 uint64_t entityIdToJSON(
EntityId EI)
const;
133 entityIdFromJSONObject(
const Object &EntityIdObject);
134 static Object entityIdToJSONObject(
EntityId EI);
137 buildNamespaceFromJSON(
const Object &BuildNamespaceObject)
const;
141 nestedBuildNamespaceFromJSON(
const Array &NestedBuildNamespaceArray)
const;
145 tuEntityNameFromJSON(
const Object &EntityNameObject)
const;
146 Object tuEntityNameToJSON(
const EntityName &EN)
const;
149 luEntityNameFromJSON(
const Object &EntityNameObject)
const;
150 Object luEntityNameToJSON(
const EntityName &EN)
const;
153 entityLinkageFromJSON(
const Object &EntityLinkageObject)
const;
157 tuEntityIdTableEntryFromJSON(
const Object &EntityIdTableEntryObject)
const;
159 tuEntityIdTableFromJSON(
const Array &EntityIdTableArray)
const;
161 Array tuEntityIdTableToJSON(
const EntityIdTable &IdTable)
const;
164 luEntityIdTableEntryFromJSON(
const Object &EntityIdTableEntryObject)
const;
166 luEntityIdTableFromJSON(
const Array &EntityIdTableArray)
const;
168 Array luEntityIdTableToJSON(
const EntityIdTable &IdTable)
const;
171 linkageTableEntryFromJSON(
const Object &LinkageTableEntryObject)
const;
175 linkageTableFromJSON(
const Array &LinkageTableArray,
176 std::set<EntityId> ExpectedIds)
const;
177 Array linkageTableToJSON(
178 const std::map<EntityId, EntityLinkage> &LinkageTable)
const;
182 const Object &EntitySummaryObject,
188 entityDataMapEntryFromJSON(
const Object &EntityDataMapEntryObject,
192 entityDataMapEntryToJSON(
const EntityId EI,
196 entityDataMapFromJSON(
const SummaryName &SN,
const Array &EntityDataArray,
200 const std::map<
EntityId, std::unique_ptr<EntitySummary>>
201 &EntityDataMap)
const;
204 std::map<EntityId, std::unique_ptr<EntitySummary>>>>
205 summaryDataMapEntryFromJSON(
const Object &SummaryDataObject,
209 const std::map<
EntityId, std::unique_ptr<EntitySummary>> &SD)
const;
212 std::map<SummaryName, std::map<EntityId, std::unique_ptr<EntitySummary>>>>
213 summaryDataMapFromJSON(
const Array &SummaryDataArray,
217 std::map<
EntityId, std::unique_ptr<EntitySummary>>>
218 &SummaryDataMap)
const;
221 encodingDataMapEntryFromJSON(
const Object &EntityDataMapEntryObject)
const;
222 Object encodingDataMapEntryToJSON(
224 const std::unique_ptr<EntitySummaryEncoding> &Encoding)
const;
227 encodingDataMapFromJSON(
const Array &EntityDataArray)
const;
228 Array encodingDataMapToJSON(
229 const std::map<
EntityId, std::unique_ptr<EntitySummaryEncoding>>
230 &EncodingDataMap)
const;
233 SummaryName, std::map<EntityId, std::unique_ptr<EntitySummaryEncoding>>>>
234 encodingSummaryDataMapEntryFromJSON(
235 const Object &SummaryDataMapEntryObject)
const;
236 Object encodingSummaryDataMapEntryToJSON(
238 const std::map<
EntityId, std::unique_ptr<EntitySummaryEncoding>>
242 SummaryName, std::map<EntityId, std::unique_ptr<EntitySummaryEncoding>>>>
243 encodingSummaryDataMapFromJSON(
const Array &SummaryDataArray)
const;
244 Array encodingSummaryDataMapToJSON(
246 std::map<
EntityId, std::unique_ptr<EntitySummaryEncoding>>>
247 &EncodingSummaryDataMap)
const;
250 analysisResultMapEntryFromJSON(
const Object &Entry)
const;
253 const std::unique_ptr<AnalysisResult> &
Result)
const;
256 analysisResultMapFromJSON(
const Array &ResultsArray)
const;