mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This affects module interfaces, interface generation in sourcekitd, and diagnostics. Also fixes a fixit that was assuming the 'OSX' spelling when computing the source range to replace. Resolves rdar://problem/64667960
55 lines
1.4 KiB
Swift
55 lines
1.4 KiB
Swift
public enum SwiftVersion {
|
|
// CHECK: @available(_PackageDescription, introduced: 3.0, deprecated: 4.2, obsoleted: 5.0)
|
|
@available(_PackageDescription, introduced: 3.0, deprecated: 4.2, obsoleted: 5.0)
|
|
case v3
|
|
|
|
case v4
|
|
|
|
// CHECK: @available(_PackageDescription 5.0)
|
|
// CHECK-NEXT: @available(macOS 10.1, *)
|
|
// CHECK-NEXT: v5
|
|
@available(_PackageDescription, introduced: 5.0)
|
|
@available(macOS, introduced: 10.1)
|
|
case v5
|
|
}
|
|
|
|
public class Package {
|
|
|
|
public var swiftVersion: [SwiftVersion]
|
|
|
|
@available(_PackageDescription 4.3)
|
|
public var buildSettings: [String: String] {
|
|
get {
|
|
return _buildSettings
|
|
}
|
|
set {
|
|
_buildSettings = newValue
|
|
}
|
|
}
|
|
private var _buildSettings: [String: String]
|
|
|
|
@available(_PackageDescription 5)
|
|
public init(
|
|
swiftVersion: [SwiftVersion] = [],
|
|
buildSettings: [String: String] = [:]
|
|
) {
|
|
self._buildSettings = buildSettings
|
|
self.swiftVersion = swiftVersion
|
|
}
|
|
|
|
@available(_PackageDescription, introduced: 3.0, obsoleted: 5.0)
|
|
public init(
|
|
swiftVersion: [SwiftVersion] = []
|
|
) {
|
|
self._buildSettings = [:]
|
|
self.swiftVersion = swiftVersion
|
|
}
|
|
|
|
public func serialize() {
|
|
for version in swiftVersion {
|
|
print(version)
|
|
}
|
|
print(_buildSettings)
|
|
}
|
|
}
|