Skip to content

Commit 2f58e40

Browse files
committed
[TaskLocal] Copy access control to synthesized $property
1 parent aa9fdbb commit 2f58e40

File tree

3 files changed

+5
-18
lines changed

3 files changed

+5
-18
lines changed

lib/Macros/Sources/SwiftMacros/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ add_swift_macro_library(SwiftMacros
1414
OptionSetMacro.swift
1515
DebugDescriptionMacro.swift
1616
DistributedResolvableMacro.swift
17+
SyntaxExtensions.swift
1718
TaskLocalMacro.swift
1819
SWIFT_DEPENDENCIES
1920
SwiftDiagnostics

lib/Macros/Sources/SwiftMacros/DistributedResolvableMacro.swift

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -206,23 +206,6 @@ extension DistributedResolvableMacro {
206206
// ===== -----------------------------------------------------------------------
207207
// MARK: Convenience Extensions
208208

209-
extension ProtocolDeclSyntax {
210-
var accessModifiersString: String {
211-
let modifiers = modifiers.filter { modifier in
212-
modifier.isAccessControl
213-
}
214-
215-
guard !modifiers.isEmpty else {
216-
return ""
217-
}
218-
219-
let string = modifiers
220-
.map { "\($0.trimmed)" }
221-
.joined(separator: " ")
222-
return "\(string) "
223-
}
224-
}
225-
226209
extension TypeSyntax {
227210
fileprivate var isActorSystem: Bool {
228211
self.trimmedDescription == "ActorSystem"

lib/Macros/Sources/SwiftMacros/TaskLocalMacro.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ extension TaskLocalMacro: PeerMacro {
6969
message: "'@TaskLocal' property must have default value, or be optional", id: .mustBeVar)
7070
}
7171

72+
// Copy access modifiers
73+
let access = varDecl.accessControlModifiers
74+
7275
// If the property is global, do not prefix the synthesised decl with 'static'
7376
let isGlobal = context.lexicalContext.isEmpty
7477
let staticKeyword: TokenSyntax?
@@ -80,7 +83,7 @@ extension TaskLocalMacro: PeerMacro {
8083

8184
return [
8285
"""
83-
\(staticKeyword)let $\(name)\(explicitTypeAnnotation) = TaskLocal(wrappedValue: \(initialValue))
86+
\(access)\(staticKeyword)let $\(name)\(explicitTypeAnnotation) = TaskLocal(wrappedValue: \(initialValue))
8487
"""
8588
]
8689
}

0 commit comments

Comments
 (0)