Skip to content

Commit 0c130ee

Browse files
committed
NFC: Add an @_spi_available method test case to APIJSON/spi.swift.
1 parent 5d7ac9a commit 0c130ee

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

test/APIJSON/spi.swift

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ import Foundation
1616

1717
public class MyClass2 : NSObject {
1818
@_spi(Experimental) @objc public func spiMethod() {}
19+
20+
@_spi_available(macOS 10.10, tvOS 14.0, *)
21+
@available(iOS 8.0, *)
22+
@objc public func spiAvailableMethod() {}
1923
}
2024

2125
@_spi_available(macOS 10.10, tvOS 14.0, *)
@@ -26,6 +30,18 @@ public func spiAvailableFunc() {}
2630
// CHECK-NEXT: "target":
2731
// CHECK-NEXT: "globals": [
2832
// CHECK-NEXT: {
33+
// CHECK-NEXT: "name": "_$s8MyModule0A6Class2C18spiAvailableMethodyyFTj",
34+
// CHECK-NEXT: "access": "public",
35+
// CHECK-NEXT: "file": "/@input/MyModule.swiftinterface",
36+
// CHECK-NEXT: "linkage": "exported"
37+
// CHECK-NEXT: },
38+
// CHECK-NEXT: {
39+
// CHECK-NEXT: "name": "_$s8MyModule0A6Class2C18spiAvailableMethodyyFTq",
40+
// CHECK-NEXT: "access": "public",
41+
// CHECK-NEXT: "file": "/@input/MyModule.swiftinterface",
42+
// CHECK-NEXT: "linkage": "exported"
43+
// CHECK-NEXT: },
44+
// CHECK-NEXT: {
2945
// CHECK-NEXT: "name": "_$s8MyModule0A6Class2CACycfC",
3046
// CHECK-NEXT: "access": "public",
3147
// CHECK-NEXT: "file": "/@input/MyModule.swiftinterface",
@@ -56,6 +72,12 @@ public func spiAvailableFunc() {}
5672
// CHECK-NEXT: "linkage": "exported"
5773
// CHECK-NEXT: },
5874
// CHECK-NEXT: {
75+
// CHECK-NEXT: "name": "_$s8MyModule0A6Class2CMu",
76+
// CHECK-NEXT: "access": "public",
77+
// CHECK-NEXT: "file": "/@input/MyModule.swiftinterface",
78+
// CHECK-NEXT: "linkage": "exported"
79+
// CHECK-NEXT: },
80+
// CHECK-NEXT: {
5981
// CHECK-NEXT: "name": "_$s8MyModule0A6Class2CN",
6082
// CHECK-NEXT: "access": "public",
6183
// CHECK-NEXT: "file": "/@input/MyModule.swiftinterface",
@@ -84,6 +106,12 @@ public func spiAvailableFunc() {}
84106
// CHECK-NEXT: "super": "NSObject",
85107
// CHECK-NEXT: "instanceMethods": [
86108
// CHECK-NEXT: {
109+
// CHECK-NEXT: "name": "spiAvailableMethod",
110+
// CHECK-NEXT: "access": "public",
111+
// CHECK-NEXT: "file": "/@input/MyModule.swiftinterface",
112+
// CHECK-NEXT: "unavailable": true
113+
// CHECK-NEXT: },
114+
// CHECK-NEXT: {
87115
// CHECK-NEXT: "name": "init",
88116
// CHECK-NEXT: "access": "public",
89117
// CHECK-NEXT: "file": "/@input/MyModule.swiftinterface"
@@ -160,6 +188,18 @@ public func spiAvailableFunc() {}
160188
// CHECK-SPI-NEXT: "linkage": "exported"
161189
// CHECK-SPI-NEXT: },
162190
// CHECK-SPI-NEXT: {
191+
// CHECK-SPI-NEXT: "name": "_$s8MyModule0A6Class2C18spiAvailableMethodyyFTj",
192+
// CHECK-SPI-NEXT: "access": "private",
193+
// CHECK-SPI-NEXT: "file": "/@input/MyModule.swiftmodule",
194+
// CHECK-SPI-NEXT: "linkage": "exported"
195+
// CHECK-SPI-NEXT: },
196+
// CHECK-SPI-NEXT: {
197+
// CHECK-SPI-NEXT: "name": "_$s8MyModule0A6Class2C18spiAvailableMethodyyFTq",
198+
// CHECK-SPI-NEXT: "access": "private",
199+
// CHECK-SPI-NEXT: "file": "/@input/MyModule.swiftmodule",
200+
// CHECK-SPI-NEXT: "linkage": "exported"
201+
// CHECK-SPI-NEXT: },
202+
// CHECK-SPI-NEXT: {
163203
// CHECK-SPI-NEXT: "name": "_$s8MyModule0A6Class2C9spiMethodyyFTj",
164204
// CHECK-SPI-NEXT: "access": "private",
165205
// CHECK-SPI-NEXT: "file": "/@input/MyModule.swiftmodule",
@@ -273,6 +313,12 @@ public func spiAvailableFunc() {}
273313
// CHECK-SPI-NEXT: "file": "/@input/MyModule.swiftmodule"
274314
// CHECK-SPI-NEXT: },
275315
// CHECK-SPI-NEXT: {
316+
// CHECK-SPI-NEXT: "name": "spiAvailableMethod",
317+
// CHECK-SPI-NEXT: "access": "public",
318+
// CHECK-SPI-NEXT: "file": "/@input/MyModule.swiftmodule",
319+
// CHECK-SPI-NEXT: "introduced": "10.10"
320+
// CHECK-SPI-NEXT: },
321+
// CHECK-SPI-NEXT: {
276322
// CHECK-SPI-NEXT: "name": "init",
277323
// CHECK-SPI-NEXT: "access": "public",
278324
// CHECK-SPI-NEXT: "file": "/@input/MyModule.swiftmodule"

0 commit comments

Comments
 (0)