mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
AST: Add support for @_backDeploy on computed properties, subscripts, and accessors.
This commit is contained in:
@@ -15,24 +15,61 @@
|
||||
|
||||
public struct TopLevelStruct {
|
||||
// CHECK: @_backDeploy(macOS 12.0)
|
||||
// FROMSOURCE: public func backDeployedFunc1_SinglePlatform() -> Swift.Int { return 42 }
|
||||
// FROMMODULE: public func backDeployedFunc1_SinglePlatform() -> Swift.Int
|
||||
// FROMSOURCE: public func backDeployedFunc_SinglePlatform() -> Swift.Int { return 42 }
|
||||
// FROMMODULE: public func backDeployedFunc_SinglePlatform() -> Swift.Int
|
||||
@available(macOS 11.0, *)
|
||||
@_backDeploy(macOS 12.0)
|
||||
public func backDeployedFunc1_SinglePlatform() -> Int { return 42 }
|
||||
public func backDeployedFunc_SinglePlatform() -> Int { return 42 }
|
||||
|
||||
// CHECK: @_backDeploy(macOS 12.0)
|
||||
// CHECK: @_backDeploy(iOS 15.0)
|
||||
// FROMSOURCE: public func backDeployedFunc2_MultiPlatform() -> Swift.Int { return 43 }
|
||||
// FROMMODULE: public func backDeployedFunc2_MultiPlatform() -> Swift.Int
|
||||
// FROMSOURCE: public func backDeployedFunc_MultiPlatform() -> Swift.Int { return 43 }
|
||||
// FROMMODULE: public func backDeployedFunc_MultiPlatform() -> Swift.Int
|
||||
@available(macOS 11.0, iOS 14.0, *)
|
||||
@_backDeploy(macOS 12.0, iOS 15.0)
|
||||
public func backDeployedFunc2_MultiPlatform() -> Int { return 43 }
|
||||
public func backDeployedFunc_MultiPlatform() -> Int { return 43 }
|
||||
|
||||
// CHECK: @_backDeploy(macOS 12.0)
|
||||
// FROMSOURCE: public var backDeployedComputedProperty: Swift.Int {
|
||||
// FROMSOURCE: get { 44 }
|
||||
// FROMSOURCE: }
|
||||
// FROMMODULE: public var backDeployedComputedProperty: Swift.Int
|
||||
@available(macOS 11.0, *)
|
||||
@_backDeploy(macOS 12.0)
|
||||
public var backDeployedComputedProperty: Int { 44 }
|
||||
|
||||
// CHECK: @_backDeploy(macOS 12.0)
|
||||
// FROMSOURCE: public var backDeployedPropertyWithAccessors: Swift.Int {
|
||||
// FROMSOURCE: get { 45 }
|
||||
// FROMSOURCE: set(newValue) { print("set property") }
|
||||
// FROMSOURCE: }
|
||||
// FROMMODULE: public var backDeployedPropertyWithAccessors: Swift.Int
|
||||
@available(macOS 11.0, *)
|
||||
@_backDeploy(macOS 12.0)
|
||||
public var backDeployedPropertyWithAccessors: Int {
|
||||
get { 45 }
|
||||
set(newValue) { print("set property") }
|
||||
}
|
||||
|
||||
// CHECK: @_backDeploy(macOS 12.0)
|
||||
// FROMSOURCE: public subscript(index: Swift.Int) -> Swift.Int {
|
||||
// FROMSOURCE: get { 46 }
|
||||
// FROMSOURCE: set(newValue) { print("set subscript") }
|
||||
// FROMSOURCE: }
|
||||
// FROMMODULE: public subscript(index: Swift.Int) -> Swift.Int
|
||||
@available(macOS 11.0, *)
|
||||
@_backDeploy(macOS 12.0)
|
||||
public subscript(index: Int) -> Int {
|
||||
get { 46 }
|
||||
set(newValue) { print("set subscript") }
|
||||
}
|
||||
}
|
||||
|
||||
// CHECK: @_backDeploy(macOS 12.0)
|
||||
// FROMSOURCE: public func backDeployTopLevelFunc() -> Swift.Int { return 44 }
|
||||
// FROMSOURCE: public func backDeployTopLevelFunc() -> Swift.Int { return 47 }
|
||||
// FROMMODULE: public func backDeployTopLevelFunc() -> Swift.Int
|
||||
@available(macOS 11.0, *)
|
||||
@_backDeploy(macOS 12.0)
|
||||
public func backDeployTopLevelFunc() -> Int { return 44 }
|
||||
public func backDeployTopLevelFunc() -> Int { return 47 }
|
||||
|
||||
// FIXME(backDeploy): Availability macros should be supported
|
||||
|
||||
Reference in New Issue
Block a user