Files
swift-mirror/test/attr/Inputs/PackageDescription.swift
Nathan Hawes 9bcb54910e [AST] Prefer the 'macOS' spelling over 'OSX' when printing the platform kind.
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
2020-07-08 13:51:25 -07:00

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)
}
}