@@ -86,13 +86,36 @@ static BridgedPlatformKind bridge(PlatformKind platform) {
8686// MARK: AvailabilitySpec
8787// ===----------------------------------------------------------------------===//
8888
89+ static AvailabilitySpecKind unbridge (BridgedAvailabilitySpecKind kind) {
90+ switch (kind) {
91+ case BridgedAvailabilitySpecKindPlatformVersionConstraint:
92+ return AvailabilitySpecKind::PlatformVersionConstraint;
93+ case BridgedAvailabilitySpecKindWildcard:
94+ return AvailabilitySpecKind::Wildcard;
95+ case BridgedAvailabilitySpecKindLanguageVersionConstraint:
96+ return AvailabilitySpecKind::LanguageVersionConstraint;
97+ case BridgedAvailabilitySpecKindPackageDescriptionVersionConstraint:
98+ return AvailabilitySpecKind::PackageDescriptionVersionConstraint;
99+ }
100+ llvm_unreachable (" unhandled enum value" );
101+ }
102+
89103BridgedAvailabilitySpec
90104BridgedAvailabilitySpec_createWildcard (BridgedASTContext cContext,
91105 BridgedSourceLoc cLoc) {
92106 return AvailabilitySpec::createWildcard (cContext.unbridged (),
93107 cLoc.unbridged ());
94108}
95109
110+ BridgedAvailabilitySpec BridgedAvailabilitySpec_createPlatformAgnostic (
111+ BridgedASTContext cContext, BridgedAvailabilitySpecKind cKind,
112+ BridgedSourceLoc cLoc, BridgedVersionTuple cVersion,
113+ BridgedSourceRange cVersionRange) {
114+ return AvailabilitySpec::createPlatformAgnostic (
115+ cContext.unbridged (), unbridge (cKind), cLoc.unbridged (),
116+ cVersion.unbridged (), cVersionRange.unbridged ());
117+ }
118+
96119BridgedSourceRange
97120BridgedAvailabilitySpec_getSourceRange (BridgedAvailabilitySpec spec) {
98121 return spec.unbridged ()->getSourceRange ();
@@ -121,20 +144,6 @@ BridgedAvailabilitySpec_getVersionRange(BridgedAvailabilitySpec spec) {
121144 return spec.unbridged ()->getVersionSrcRange ();
122145}
123146
124- static AvailabilitySpecKind unbridge (BridgedAvailabilitySpecKind kind) {
125- switch (kind) {
126- case BridgedAvailabilitySpecKindPlatformVersionConstraint:
127- return AvailabilitySpecKind::PlatformVersionConstraint;
128- case BridgedAvailabilitySpecKindWildcard:
129- return AvailabilitySpecKind::Wildcard;
130- case BridgedAvailabilitySpecKindLanguageVersionConstraint:
131- return AvailabilitySpecKind::LanguageVersionConstraint;
132- case BridgedAvailabilitySpecKindPackageDescriptionVersionConstraint:
133- return AvailabilitySpecKind::PackageDescriptionVersionConstraint;
134- }
135- llvm_unreachable (" unhandled enum value" );
136- }
137-
138147BridgedPlatformVersionConstraintAvailabilitySpec
139148BridgedPlatformVersionConstraintAvailabilitySpec_createParsed (
140149 BridgedASTContext cContext, BridgedPlatformKind cPlatform,
@@ -145,29 +154,12 @@ BridgedPlatformVersionConstraintAvailabilitySpec_createParsed(
145154 cVersionSrcRange.unbridged ());
146155}
147156
148- BridgedPlatformAgnosticVersionConstraintAvailabilitySpec
149- BridgedPlatformAgnosticVersionConstraintAvailabilitySpec_createParsed (
150- BridgedASTContext cContext, BridgedAvailabilitySpecKind cKind,
151- BridgedSourceLoc cNameLoc, BridgedVersionTuple cVersion,
152- BridgedSourceRange cVersionSrcRange) {
153- return new (cContext.unbridged ())
154- PlatformAgnosticVersionConstraintAvailabilitySpec (
155- unbridge (cKind), cNameLoc.unbridged (), cVersion.unbridged (),
156- cVersionSrcRange.unbridged ());
157- }
158-
159157BridgedAvailabilitySpec
160158BridgedPlatformVersionConstraintAvailabilitySpec_asAvailabilitySpec (
161159 BridgedPlatformVersionConstraintAvailabilitySpec spec) {
162160 return static_cast <AvailabilitySpec *>(spec.unbridged ());
163161}
164162
165- BridgedAvailabilitySpec
166- BridgedPlatformAgnosticVersionConstraintAvailabilitySpec_asAvailabilitySpec (
167- BridgedPlatformAgnosticVersionConstraintAvailabilitySpec spec) {
168- return static_cast <AvailabilitySpec *>(spec.unbridged ());
169- }
170-
171163// ===----------------------------------------------------------------------===//
172164// MARK: AvailabilityDomain
173165// ===----------------------------------------------------------------------===//
0 commit comments