Skip to content

[gardening] Prefer macOS over OSX for available #347

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 17, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions src/swift/Block.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,23 +19,23 @@ public struct DispatchWorkItemFlags : OptionSet, RawRepresentable {

public static let barrier = DispatchWorkItemFlags(rawValue: 0x1)

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public static let detached = DispatchWorkItemFlags(rawValue: 0x2)

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public static let assignCurrentContext = DispatchWorkItemFlags(rawValue: 0x4)

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public static let noQoS = DispatchWorkItemFlags(rawValue: 0x8)

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public static let inheritQoS = DispatchWorkItemFlags(rawValue: 0x10)

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public static let enforceQoS = DispatchWorkItemFlags(rawValue: 0x20)
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public class DispatchWorkItem {
internal var _block: _DispatchBlock

Expand Down
34 changes: 17 additions & 17 deletions src/swift/Dispatch.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ import CDispatch

/// dispatch_assert

@available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
@available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
public enum DispatchPredicate {
case onQueue(DispatchQueue)
case onQueueAsBarrier(DispatchQueue)
case notOnQueue(DispatchQueue)
}

@available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
@available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
public func _dispatchPreconditionTest(_ condition: DispatchPredicate) -> Bool {
switch condition {
case .onQueue(let q):
Expand All @@ -37,7 +37,7 @@ public func _dispatchPreconditionTest(_ condition: DispatchPredicate) -> Bool {
}

@_transparent
@available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
@available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
public func dispatchPrecondition(condition: @autoclosure () -> DispatchPredicate) {
// precondition is able to determine release-vs-debug asserts where the overlay
// cannot, so formulating this into a call that we can call with precondition()
Expand All @@ -50,44 +50,44 @@ public struct DispatchQoS : Equatable {
public let qosClass: QoSClass
public let relativePriority: Int

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public static let background = DispatchQoS(qosClass: .background, relativePriority: 0)

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public static let utility = DispatchQoS(qosClass: .utility, relativePriority: 0)

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public static let `default` = DispatchQoS(qosClass: .default, relativePriority: 0)

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public static let userInitiated = DispatchQoS(qosClass: .userInitiated, relativePriority: 0)

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public static let userInteractive = DispatchQoS(qosClass: .userInteractive, relativePriority: 0)

public static let unspecified = DispatchQoS(qosClass: .unspecified, relativePriority: 0)

public enum QoSClass {
@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
case background

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
case utility

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
case `default`

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
case userInitiated

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
case userInteractive

case unspecified

// _OSQoSClass is internal on Linux, so this initialiser has to
// remain as an internal init.
@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
internal init?(rawValue: _OSQoSClass) {
switch rawValue {
case .QOS_CLASS_BACKGROUND: self = .background
Expand All @@ -100,7 +100,7 @@ public struct DispatchQoS : Equatable {
}
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
internal var rawValue: _OSQoSClass {
switch self {
case .background: return .QOS_CLASS_BACKGROUND
Expand Down Expand Up @@ -135,15 +135,15 @@ public enum DispatchTimeoutResult {

public extension DispatchGroup {
public func notify(qos: DispatchQoS = .unspecified, flags: DispatchWorkItemFlags = [], queue: DispatchQueue, execute work: @escaping @convention(block) () -> ()) {
if #available(OSX 10.10, iOS 8.0, *), qos != .unspecified || !flags.isEmpty {
if #available(macOS 10.10, iOS 8.0, *), qos != .unspecified || !flags.isEmpty {
let item = DispatchWorkItem(qos: qos, flags: flags, block: work)
dispatch_group_notify(self.__wrapped, queue.__wrapped, item._block)
} else {
dispatch_group_notify(self.__wrapped, queue.__wrapped, work)
}
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public func notify(queue: DispatchQueue, work: DispatchWorkItem) {
dispatch_group_notify(self.__wrapped, queue.__wrapped, work._block)
}
Expand Down
48 changes: 24 additions & 24 deletions src/swift/Queue.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public extension DispatchQueue {

public static let concurrent = Attributes(rawValue: 1<<1)

@available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
@available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
public static let initiallyInactive = Attributes(rawValue: 1<<2)

fileprivate func _attr() -> dispatch_queue_attr_t? {
Expand All @@ -40,7 +40,7 @@ public extension DispatchQueue {
if self.contains(.concurrent) {
attr = _swift_dispatch_queue_concurrent()
}
if #available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *) {
if #available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *) {
if self.contains(.initiallyInactive) {
attr = CDispatch.dispatch_queue_attr_make_initially_inactive(attr)
}
Expand All @@ -50,19 +50,19 @@ public extension DispatchQueue {
}

public enum GlobalQueuePriority {
@available(OSX, deprecated: 10.10, message: "Use qos attributes instead")
@available(macOS, deprecated: 10.10, message: "Use qos attributes instead")
@available(*, deprecated: 8.0, message: "Use qos attributes instead")
case high

@available(OSX, deprecated: 10.10, message: "Use qos attributes instead")
@available(macOS, deprecated: 10.10, message: "Use qos attributes instead")
@available(*, deprecated: 8.0, message: "Use qos attributes instead")
case `default`

@available(OSX, deprecated: 10.10, message: "Use qos attributes instead")
@available(macOS, deprecated: 10.10, message: "Use qos attributes instead")
@available(*, deprecated: 8.0, message: "Use qos attributes instead")
case low

@available(OSX, deprecated: 10.10, message: "Use qos attributes instead")
@available(macOS, deprecated: 10.10, message: "Use qos attributes instead")
@available(*, deprecated: 8.0, message: "Use qos attributes instead")
case background

Expand All @@ -79,14 +79,14 @@ public extension DispatchQueue {
public enum AutoreleaseFrequency {
case inherit

@available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
@available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
case workItem

@available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
@available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
case never

internal func _attr(attr: dispatch_queue_attr_t?) -> dispatch_queue_attr_t? {
if #available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *) {
if #available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *) {
switch self {
case .inherit:
// DISPATCH_AUTORELEASE_FREQUENCY_INHERIT
Expand All @@ -112,13 +112,13 @@ public extension DispatchQueue {
return DispatchQueue(queue: _swift_dispatch_get_main_queue())
}

@available(OSX, deprecated: 10.10, message: "")
@available(macOS, deprecated: 10.10, message: "")
@available(*, deprecated: 8.0, message: "")
public class func global(priority: GlobalQueuePriority) -> DispatchQueue {
return DispatchQueue(queue: CDispatch.dispatch_get_global_queue(priority._translatedValue, 0))
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public class func global(qos: DispatchQoS.QoSClass = .default) -> DispatchQueue {
return DispatchQueue(queue: CDispatch.dispatch_get_global_queue(Int(qos.rawValue.rawValue), 0))
}
Expand All @@ -145,11 +145,11 @@ public extension DispatchQueue {
if autoreleaseFrequency != .inherit {
attr = autoreleaseFrequency._attr(attr: attr)
}
if #available(OSX 10.10, iOS 8.0, *), qos != .unspecified {
if #available(macOS 10.10, iOS 8.0, *), qos != .unspecified {
attr = CDispatch.dispatch_queue_attr_make_with_qos_class(attr, qos.qosClass.rawValue.rawValue, Int32(qos.relativePriority))
}

if #available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *) {
if #available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *) {
self.init(__label: label, attr: attr, queue: target)
} else {
self.init(__label: label, attr: attr)
Expand All @@ -161,17 +161,17 @@ public extension DispatchQueue {
return String(validatingUTF8: dispatch_queue_get_label(self.__wrapped))!
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public func sync(execute workItem: DispatchWorkItem) {
CDispatch.dispatch_sync(self.__wrapped, workItem._block)
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public func async(execute workItem: DispatchWorkItem) {
CDispatch.dispatch_async(self.__wrapped, workItem._block)
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public func async(group: DispatchGroup, execute workItem: DispatchWorkItem) {
CDispatch.dispatch_group_async(group.__wrapped, self.__wrapped, workItem._block)
}
Expand All @@ -194,7 +194,7 @@ public extension DispatchQueue {
}

var block: @convention(block) () -> Void = work
if #available(OSX 10.10, iOS 8.0, *), (qos != .unspecified || !flags.isEmpty) {
if #available(macOS 10.10, iOS 8.0, *), (qos != .unspecified || !flags.isEmpty) {
let workItem = DispatchWorkItem(qos: qos, flags: flags, block: work)
block = workItem._block
}
Expand Down Expand Up @@ -233,7 +233,7 @@ public extension DispatchQueue {
}
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
private func _syncHelper<T>(
fn: (DispatchWorkItem) -> (),
flags: DispatchWorkItemFlags,
Expand Down Expand Up @@ -264,7 +264,7 @@ public extension DispatchQueue {
public func sync<T>(flags: DispatchWorkItemFlags, execute work: () throws -> T) rethrows -> T {
if flags == .barrier {
return try self._syncHelper(fn: _syncBarrier, execute: work, rescue: { throw $0 })
} else if #available(OSX 10.10, iOS 8.0, *), !flags.isEmpty {
} else if #available(macOS 10.10, iOS 8.0, *), !flags.isEmpty {
return try self._syncHelper(fn: sync, flags: flags, execute: work, rescue: { throw $0 })
} else {
return try self._syncHelper(fn: sync, execute: work, rescue: { throw $0 })
Expand All @@ -277,7 +277,7 @@ public extension DispatchQueue {
flags: DispatchWorkItemFlags = [],
execute work: @escaping @convention(block) () -> Void)
{
if #available(OSX 10.10, iOS 8.0, *), qos != .unspecified || !flags.isEmpty {
if #available(macOS 10.10, iOS 8.0, *), qos != .unspecified || !flags.isEmpty {
let item = DispatchWorkItem(qos: qos, flags: flags, block: work)
CDispatch.dispatch_after(deadline.rawValue, self.__wrapped, item._block)
} else {
Expand All @@ -291,25 +291,25 @@ public extension DispatchQueue {
flags: DispatchWorkItemFlags = [],
execute work: @escaping @convention(block) () -> Void)
{
if #available(OSX 10.10, iOS 8.0, *), qos != .unspecified || !flags.isEmpty {
if #available(macOS 10.10, iOS 8.0, *), qos != .unspecified || !flags.isEmpty {
let item = DispatchWorkItem(qos: qos, flags: flags, block: work)
CDispatch.dispatch_after(wallDeadline.rawValue, self.__wrapped, item._block)
} else {
CDispatch.dispatch_after(wallDeadline.rawValue, self.__wrapped, work)
}
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public func asyncAfter(deadline: DispatchTime, execute: DispatchWorkItem) {
CDispatch.dispatch_after(deadline.rawValue, self.__wrapped, execute._block)
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public func asyncAfter(wallDeadline: DispatchWallTime, execute: DispatchWorkItem) {
CDispatch.dispatch_after(wallDeadline.rawValue, self.__wrapped, execute._block)
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public var qos: DispatchQoS {
var relPri: Int32 = 0
let cls = DispatchQoS.QoSClass(rawValue: _OSQoSClass(qosClass: dispatch_queue_get_qos_class(self.__wrapped, &relPri))!)!
Expand Down
14 changes: 7 additions & 7 deletions src/swift/Source.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,48 +16,48 @@ import _SwiftDispatchOverlayShims
public extension DispatchSourceProtocol {

public func setEventHandler(qos: DispatchQoS = .unspecified, flags: DispatchWorkItemFlags = [], handler: DispatchSourceHandler?) {
if #available(OSX 10.10, iOS 8.0, *), let h = handler, qos != .unspecified || !flags.isEmpty {
if #available(macOS 10.10, iOS 8.0, *), let h = handler, qos != .unspecified || !flags.isEmpty {
let item = DispatchWorkItem(qos: qos, flags: flags, block: h)
CDispatch.dispatch_source_set_event_handler((self as! DispatchSource).__wrapped, item._block)
} else {
CDispatch.dispatch_source_set_event_handler((self as! DispatchSource).__wrapped, handler)
}
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public func setEventHandler(handler: DispatchWorkItem) {
CDispatch.dispatch_source_set_event_handler((self as! DispatchSource).__wrapped, handler._block)
}

public func setCancelHandler(qos: DispatchQoS = .unspecified, flags: DispatchWorkItemFlags = [], handler: DispatchSourceHandler?) {
if #available(OSX 10.10, iOS 8.0, *), let h = handler, qos != .unspecified || !flags.isEmpty {
if #available(macOS 10.10, iOS 8.0, *), let h = handler, qos != .unspecified || !flags.isEmpty {
let item = DispatchWorkItem(qos: qos, flags: flags, block: h)
CDispatch.dispatch_source_set_cancel_handler((self as! DispatchSource).__wrapped, item._block)
} else {
CDispatch.dispatch_source_set_cancel_handler((self as! DispatchSource).__wrapped, handler)
}
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public func setCancelHandler(handler: DispatchWorkItem) {
CDispatch.dispatch_source_set_cancel_handler((self as! DispatchSource).__wrapped, handler._block)
}

public func setRegistrationHandler(qos: DispatchQoS = .unspecified, flags: DispatchWorkItemFlags = [], handler: DispatchSourceHandler?) {
if #available(OSX 10.10, iOS 8.0, *), let h = handler, qos != .unspecified || !flags.isEmpty {
if #available(macOS 10.10, iOS 8.0, *), let h = handler, qos != .unspecified || !flags.isEmpty {
let item = DispatchWorkItem(qos: qos, flags: flags, block: h)
CDispatch.dispatch_source_set_registration_handler((self as! DispatchSource).__wrapped, item._block)
} else {
CDispatch.dispatch_source_set_registration_handler((self as! DispatchSource).__wrapped, handler)
}
}

@available(OSX 10.10, iOS 8.0, *)
@available(macOS 10.10, iOS 8.0, *)
public func setRegistrationHandler(handler: DispatchWorkItem) {
CDispatch.dispatch_source_set_registration_handler((self as! DispatchSource).__wrapped, handler._block)
}

@available(OSX 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
@available(macOS 10.12, iOS 10.0, tvOS 10.0, watchOS 3.0, *)
public func activate() {
(self as! DispatchSource).activate()
}
Expand Down