@@ -164,27 +164,29 @@ std::optional<Array> serializeAvailability(const AvailabilityInfo &Avail) {
164164 if (Avail.isDefault ())
165165 return std::nullopt ;
166166
167- Object Availability;
168167 Array AvailabilityArray;
169- Availability[" domain" ] = Avail.Domain ;
170- serializeObject (Availability, " introduced" ,
171- serializeSemanticVersion (Avail.Introduced ));
172- serializeObject (Availability, " deprecated" ,
173- serializeSemanticVersion (Avail.Deprecated ));
174- serializeObject (Availability, " obsoleted" ,
175- serializeSemanticVersion (Avail.Obsoleted ));
168+
176169 if (Avail.isUnconditionallyDeprecated ()) {
177170 Object UnconditionallyDeprecated;
178171 UnconditionallyDeprecated[" domain" ] = " *" ;
179172 UnconditionallyDeprecated[" isUnconditionallyDeprecated" ] = true ;
180173 AvailabilityArray.emplace_back (std::move (UnconditionallyDeprecated));
181174 }
182- if (Avail.isUnconditionallyUnavailable ()) {
183- Object UnconditionallyUnavailable;
184- UnconditionallyUnavailable[" domain" ] = " *" ;
185- UnconditionallyUnavailable[" isUnconditionallyUnavailable" ] = true ;
186- AvailabilityArray.emplace_back (std::move (UnconditionallyUnavailable));
175+ Object Availability;
176+
177+ Availability[" domain" ] = Avail.Domain ;
178+
179+ if (Avail.isUnavailable ()) {
180+ Availability[" isUnconditionallyUnavailable" ] = true ;
181+ } else {
182+ serializeObject (Availability, " introduced" ,
183+ serializeSemanticVersion (Avail.Introduced ));
184+ serializeObject (Availability, " deprecated" ,
185+ serializeSemanticVersion (Avail.Deprecated ));
186+ serializeObject (Availability, " obsoleted" ,
187+ serializeSemanticVersion (Avail.Obsoleted ));
187188 }
189+
188190 AvailabilityArray.emplace_back (std::move (Availability));
189191 return AvailabilityArray;
190192}
0 commit comments