From 6b43764a9553b1aa09013298d5ec8905dd635308 Mon Sep 17 00:00:00 2001 From: Daniel Grumberg Date: Tue, 7 Nov 2023 10:44:45 +0000 Subject: [PATCH] [clang][ExtractAPI] Update availability serialization in SGF (#71418) The prevailiing symbol graph parsing library expects availability attributes to just be "introduced" instead of "introducedVersion" rdar://117823923 --- .../Serialization/SymbolGraphSerializer.cpp | 6 +++--- clang/test/ExtractAPI/availability.c | 20 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp b/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp index 3c8668d26c60b..f757522ef8e49 100644 --- a/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp +++ b/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp @@ -177,11 +177,11 @@ serializeAvailability(const AvailabilitySet &Availabilities) { if (AvailInfo.Unavailable) Availability["isUnconditionallyUnavailable"] = true; else { - serializeObject(Availability, "introducedVersion", + serializeObject(Availability, "introduced", serializeSemanticVersion(AvailInfo.Introduced)); - serializeObject(Availability, "deprecatedVersion", + serializeObject(Availability, "deprecated", serializeSemanticVersion(AvailInfo.Deprecated)); - serializeObject(Availability, "obsoletedVersion", + serializeObject(Availability, "obsoleted", serializeSemanticVersion(AvailInfo.Obsoleted)); } AvailabilityArray.emplace_back(std::move(Availability)); diff --git a/clang/test/ExtractAPI/availability.c b/clang/test/ExtractAPI/availability.c index 0c8cd3629f3fd..5e3890df83563 100644 --- a/clang/test/ExtractAPI/availability.c +++ b/clang/test/ExtractAPI/availability.c @@ -127,7 +127,7 @@ void e(void) __attribute__((availability(tvos, unavailable))); "availability": [ { "domain": "macos", - "introducedVersion": { + "introduced": { "major": 12, "minor": 0, "patch": 0 @@ -200,18 +200,18 @@ void e(void) __attribute__((availability(tvos, unavailable))); "accessLevel": "public", "availability": [ { - "deprecatedVersion": { + "deprecated": { "major": 12, "minor": 0, "patch": 0 }, "domain": "macos", - "introducedVersion": { + "introduced": { "major": 11, "minor": 0, "patch": 0 }, - "obsoletedVersion": { + "obsoleted": { "major": 20, "minor": 0, "patch": 0 @@ -284,18 +284,18 @@ void e(void) __attribute__((availability(tvos, unavailable))); "accessLevel": "public", "availability": [ { - "deprecatedVersion": { + "deprecated": { "major": 12, "minor": 0, "patch": 0 }, "domain": "macos", - "introducedVersion": { + "introduced": { "major": 11, "minor": 0, "patch": 0 }, - "obsoletedVersion": { + "obsoleted": { "major": 20, "minor": 0, "patch": 0 @@ -303,7 +303,7 @@ void e(void) __attribute__((availability(tvos, unavailable))); }, { "domain": "ios", - "introducedVersion": { + "introduced": { "major": 13, "minor": 0, "patch": 0 @@ -311,7 +311,7 @@ void e(void) __attribute__((availability(tvos, unavailable))); }, { "domain": "tvos", - "introducedVersion": { + "introduced": { "major": 15, "minor": 0, "patch": 0 @@ -389,7 +389,7 @@ void e(void) __attribute__((availability(tvos, unavailable))); }, { "domain": "macos", - "introducedVersion": { + "introduced": { "major": 11, "minor": 0, "patch": 0