================
@@ -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(
+ ErrorMessages::FailedToSerializeEntitySummaryMissingData, SN.str());
+ }
+
+ const auto ActualSN = EntitySummary->getSummaryName();
+ if (SN != ActualSN) {
+ 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