@@ -17,6 +17,10 @@ public class MyClass2 : NSObject {
17
17
@_spi ( Experimental) @objc public func spiMethod( ) { }
18
18
}
19
19
20
+ @_spi_available ( macOS 10 . 10 , tvOS 14 . 0 , * )
21
+ @available ( iOS 8 . 0 , * )
22
+ public func spiAvailableFunc( ) { }
23
+
20
24
// CHECK: {
21
25
// CHECK-NEXT: "target":
22
26
// CHECK-NEXT: "globals": [
@@ -63,6 +67,13 @@ public class MyClass2 : NSObject {
63
67
// CHECK-NEXT: "linkage": "exported"
64
68
// CHECK-NEXT: },
65
69
// CHECK-NEXT: {
70
+ // CHECK-NEXT: "name": "_$s8MyModule16spiAvailableFuncyyF",
71
+ // CHECK-NEXT: "access": "public",
72
+ // CHECK-NEXT: "file": "/@input/MyModule.swiftinterface",
73
+ // CHECK-NEXT: "linkage": "exported",
74
+ // CHECK-NEXT: "unavailable": true
75
+ // CHECK-NEXT: },
76
+ // CHECK-NEXT: {
66
77
// CHECK-NEXT: "name": "_OBJC_CLASS_$__TtC8MyModule8MyClass2",
67
78
// CHECK-NEXT: "access": "public",
68
79
// CHECK-NEXT: "file": "/@input/MyModule.swiftinterface",
@@ -225,6 +236,13 @@ public class MyClass2 : NSObject {
225
236
// CHECK-SPI-NEXT: "file": "/@input/MyModule.swiftmodule",
226
237
// CHECK-SPI-NEXT: "linkage": "exported"
227
238
// CHECK-SPI-NEXT: },
239
+ // CHECK-SPI-NEXT: {
240
+ // CHECK-SPI-NEXT: "name": "_$s8MyModule16spiAvailableFuncyyF",
241
+ // CHECK-SPI-NEXT: "access": "private",
242
+ // CHECK-SPI-NEXT: "file": "/@input/MyModule.swiftmodule",
243
+ // CHECK-SPI-NEXT: "linkage": "exported",
244
+ // CHECK-SPI-NEXT: "introduced": "10.10"
245
+ // CHECK-SPI-NEXT: },
228
246
// CHECK-SPI-NEXT: {
229
247
// CHECK-SPI-NEXT: "name": "_OBJC_CLASS_$__TtC8MyModule7MyClass",
230
248
// CHECK-SPI-NEXT: "access": "private",
0 commit comments