@@ -164,27 +164,29 @@ std::optional<Array> serializeAvailability(const AvailabilityInfo &Avail) {
164
164
if (Avail.isDefault ())
165
165
return std::nullopt;
166
166
167
- Object Availability;
168
167
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
+
176
169
if (Avail.isUnconditionallyDeprecated ()) {
177
170
Object UnconditionallyDeprecated;
178
171
UnconditionallyDeprecated[" domain" ] = " *" ;
179
172
UnconditionallyDeprecated[" isUnconditionallyDeprecated" ] = true ;
180
173
AvailabilityArray.emplace_back (std::move (UnconditionallyDeprecated));
181
174
}
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 ));
187
188
}
189
+
188
190
AvailabilityArray.emplace_back (std::move (Availability));
189
191
return AvailabilityArray;
190
192
}
0 commit comments