8
8
// RUN: %sourcekitd-test -req=interface-gen -module MyModule -- -target %target-triple -I %t | %FileCheck %s --check-prefix=SWIFTMODULE
9
9
// RUN: %sourcekitd-test -req=doc-info -module MyModule -- -target %target-triple -I %t | %FileCheck %s --check-prefix=DOCINFO
10
10
11
+ @available ( SwiftStdlib 5 . 1 , * )
12
+ @globalActor
13
+ public struct PublicActor {
14
+ public actor MyActor { }
15
+ public static let shared = MyActor ( )
16
+ }
17
+
18
+ @available ( SwiftStdlib 5 . 1 , * )
19
+ @globalActor
20
+ struct InternalActor {
21
+ actor MyActor { }
22
+ static let shared = MyActor ( )
23
+ }
24
+
11
25
@propertyWrapper
12
- public struct OrLess {
26
+ public struct PublicOrLess {
13
27
private var threshold : Int
14
28
private var number : Int = 0
15
- init ( wrappedValue: Int , threshold: Int ) {
29
+
30
+ public init ( wrappedValue: Int , threshold: Int ) {
16
31
self . threshold = threshold
17
32
self . wrappedValue = wrappedValue
18
33
}
@@ -22,38 +37,78 @@ public struct OrLess {
22
37
}
23
38
}
24
39
40
+ @propertyWrapper
41
+ struct InternalOrLess {
42
+ private var threshold : Int
43
+ private var number : Int = 0
44
+
45
+ init ( wrappedValue: Int , threshold: Int ) {
46
+ self . threshold = threshold
47
+ self . wrappedValue = wrappedValue
48
+ }
49
+ var wrappedValue : Int {
50
+ get { return number }
51
+ set { number = min ( newValue, 12 ) }
52
+ }
53
+ }
54
+
25
55
@resultBuilder
26
- public struct IntBuilder {
56
+ public struct PublicBuilder {
27
57
public static func buildBlock( _ val: Int ) -> Int { val }
28
58
}
29
59
60
+ @resultBuilder
61
+ struct InternalBuilder {
62
+ static func buildBlock( _ val: Int ) -> Int { val }
63
+ }
64
+
65
+
30
66
public struct TestStruct {
31
67
32
68
@MainActor public func mainActorMethod( ) { }
33
69
@MainActor ( unsafe) public func mainActorUnsafeMethod( ) { }
34
70
35
- @OrLess ( threshold: 12 ) public var twelveOrLess = 13
71
+ @available ( SwiftStdlib 5 . 1 , * )
72
+ @PublicActor public func publicActorMethod( ) { }
73
+ @available ( SwiftStdlib 5 . 1 , * )
74
+ @InternalActor public func internalActorMethod( ) { }
75
+
76
+ @PublicOrLess ( threshold: 12 ) public var publicOrLess = 13
77
+ @InternalOrLess ( threshold: 42 ) public var internalOrLess = 56
36
78
37
- @IntBuilder public var intValue : Int { 1 }
79
+ @PublicBuilder public var publicBuilderVal : Int { 1 }
80
+ @InternalBuilder public var internalBuilderVal : Int { 1 }
38
81
}
39
82
40
83
// SWIFTSOURCE: public struct TestStruct {
41
84
// SWIFTSOURCE: @MainActor public func mainActorMethod()
42
85
// SWIFTSOURCE: @MainActor public func mainActorUnsafeMethod()
43
- // SWIFTSOURCE: @MyModule.OrLess public var twelveOrLess: Int { get set }
44
- // SWIFTSOURCE: @MyModule.IntBuilder public var intValue: Int { get }
86
+ // SWIFTSOURCE: @MyModule.PublicActor public func publicActorMethod()
87
+ // SWIFTSOURCE: @MyModule.InternalActor public func internalActorMethod()
88
+ // SWIFTSOURCE: @MyModule.PublicOrLess public var publicOrLess: Int { get set }
89
+ // SWIFTSOURCE: @MyModule.InternalOrLess public var internalOrLess: Int { get set }
90
+ // SWIFTSOURCE: @MyModule.PublicBuilder public var publicBuilderVal: Int { get }
91
+ // SWIFTSOURCE: @MyModule.InternalBuilder public var internalBuilderVal: Int { get }
45
92
// SWIFTSOURCE: }
46
93
47
94
// SWIFTMODULE: public struct TestStruct {
48
95
// SWIFTMODULE: @MainActor public func mainActorMethod()
49
96
// SWIFTMODULE: @MainActor public func mainActorUnsafeMethod()
50
- // SWIFTMODULE: @MyModule.OrLess public var twelveOrLess: Int
51
- // SWIFTMODULE: @MyModule.IntBuilder public var intValue: Int { get }
97
+ // SWIFTMODULE: @MyModule.PublicActor public func publicActorMethod()
98
+ // SWIFTMODULE: public func internalActorMethod()
99
+ // SWIFTMODULE: @MyModule.PublicOrLess public var publicOrLess: Int
100
+ // SWIFTMODULE: public var internalOrLess: Int
101
+ // SWIFTMODULE: @MyModule.PublicBuilder public var publicBuilderVal: Int { get }
102
+ // SWIFTMODULE: public var internalBuilderVal: Int { get }
52
103
// SWIFTMODULE: }
53
104
54
105
// DOCINFO: struct TestStruct {
55
106
// DOCINFO: @MainActor func mainActorMethod()
56
107
// DOCINFO: @MainActor func mainActorUnsafeMethod()
57
- // DOCINFO: @MyModule.OrLess var twelveOrLess: Int
58
- // DOCINFO: @MyModule.IntBuilder var intValue: Int { get }
108
+ // DOCINFO: @MyModule.PublicActor func publicActorMethod()
109
+ // DOCINFO: func internalActorMethod()
110
+ // DOCINFO: @MyModule.PublicOrLess var publicOrLess: Int
111
+ // DOCINFO: var internalOrLess: Int
112
+ // DOCINFO: @MyModule.PublicBuilder var publicBuilderVal: Int { get }
113
+ // DOCINFO: var internalBuilderVal: Int { get }
59
114
// DOCINFO: }
0 commit comments