================
@@ -776,9 +791,59 @@ JSONFormat::entityDataMapEntryFromJSON(const Object 
&EntityDataMapEntryObject,
         .build();
   }
 
+  if (*ExpectedEntitySummary == nullptr) {
+    return ErrorBuilder::create(
+               std::errc::invalid_argument,
+               ErrorMessages::FailedToDeserializeEntitySummaryMissingData,
+               SN.str())
+        .build();
+  }
+
+  auto ActualSN = (*ExpectedEntitySummary)->getSummaryName();
+  if (SN != ActualSN) {
+    return ErrorBuilder::create(
+               std::errc::invalid_argument,
+               ErrorMessages::
+                   FailedToDeserializeEntitySummaryMismatchedSummaryName,
+               SN.str(), ActualSN.str())
+        .build();
+  }
+
   return std::make_pair(std::move(EI), std::move(*ExpectedEntitySummary));
 }
 
+llvm::Expected<Object> JSONFormat::entityDataMapEntryToJSON(
+    const EntityId EI, const std::unique_ptr<EntitySummary> &EntitySummary,
+    const SummaryName &SN) const {
+  Object Entry;
+
+  Entry["entity_id"] = entityIdToJSON(EI);
+
+  if (!EntitySummary) {
+    ErrorBuilder::fatal(
----------------
aviralg wrote:

Fatal error during writing since our TUSummary builder APIs should guarantee 
that this never happens.

https://github.com/llvm/llvm-project/pull/183155
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to