diff --git a/Sources/SwiftSyntaxBuilder/ConvenienceInitializers/VariableDeclConvenienceInitializers.swift b/Sources/SwiftSyntaxBuilder/ConvenienceInitializers/VariableDeclConvenienceInitializers.swift index 0fdb5a71244..d8ad77c1673 100644 --- a/Sources/SwiftSyntaxBuilder/ConvenienceInitializers/VariableDeclConvenienceInitializers.swift +++ b/Sources/SwiftSyntaxBuilder/ConvenienceInitializers/VariableDeclConvenienceInitializers.swift @@ -25,9 +25,9 @@ extension VariableDecl { ) { self.init( leadingTrivia: leadingTrivia, - attributes: attributes, + attributes: attributes?.createAttributeList().withTrailingTrivia(.space), modifiers: modifiers, - letOrVarKeyword: attributes != nil ? letOrVarKeyword.withLeadingTrivia(.space) : letOrVarKeyword + letOrVarKeyword: letOrVarKeyword ) { PatternBinding( pattern: name, @@ -48,9 +48,9 @@ extension VariableDecl { ) { self.init( leadingTrivia: leadingTrivia, - attributes: attributes, + attributes: attributes?.createAttributeList().withTrailingTrivia(.space), modifiers: modifiers, - letOrVarKeyword: .var.withLeadingTrivia(attributes != nil ? .space : .zero) + letOrVarKeyword: .var ) { PatternBinding( pattern: name, diff --git a/Tests/SwiftSyntaxBuilderTest/VariableTests.swift b/Tests/SwiftSyntaxBuilderTest/VariableTests.swift index 9c0c92527f9..a54b020a01a 100644 --- a/Tests/SwiftSyntaxBuilderTest/VariableTests.swift +++ b/Tests/SwiftSyntaxBuilderTest/VariableTests.swift @@ -150,6 +150,20 @@ final class VariableTests: XCTestCase { } """ ), + #line: ( + VariableDecl( + attributes: CustomAttribute("WithArgs") { + TupleExprElement(expression: "value") + }, + modifiers: [Token.public], + .let, + name: "z", + type: "Float" + ), + """ + @WithArgs(value) public let z: Float + """ + ), ] for (line, testCase) in testCases {