Skip to content

Commit 8e7dc58

Browse files
committed
Use the builder-based ParameterClause initializer
1 parent cbdc9a4 commit 8e7dc58

File tree

5 files changed

+36
-41
lines changed

5 files changed

+36
-41
lines changed

Sources/SwiftSyntaxBuilderGeneration/SyntaxUtilities.swift

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -65,20 +65,17 @@ func createTypeInheritanceClause(conformances: [String]) -> TypeInheritanceClaus
6565
/// Create a parameter clause of the form `format: .comma, leadingTrivia: Trivia = nil`
6666
/// where the presence of ` = nil` is controlled by `withDefaultTrivia`.
6767
func createFormatLeadingTriviaParameters(withDefaultTrivia: Bool = false) -> ParameterClause {
68-
ParameterClause(
69-
parameterList: [
70-
FunctionParameter(
71-
firstName: .identifier("format"),
72-
colon: .colon,
73-
type: "Format",
74-
trailingComma: .comma
75-
),
76-
FunctionParameter(
77-
firstName: .identifier("leadingTrivia"),
78-
colon: .colon,
79-
type: OptionalType(wrappedType: "Trivia"),
80-
defaultArgument: withDefaultTrivia ? InitializerClause(value: NilLiteralExpr()) : nil
81-
),
82-
]
83-
)
68+
ParameterClause {
69+
FunctionParameter(
70+
firstName: .identifier("format"),
71+
colon: .colon,
72+
type: "Format"
73+
)
74+
FunctionParameter(
75+
firstName: .identifier("leadingTrivia"),
76+
colon: .colon,
77+
type: OptionalType(wrappedType: "Trivia"),
78+
defaultArgument: withDefaultTrivia ? InitializerClause(value: NilLiteralExpr()) : nil
79+
)
80+
}
8481
}

Sources/SwiftSyntaxBuilderGeneration/Templates/BuildableCollectionNodesFile.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -92,14 +92,14 @@ private func createArrayInitializer(node: Node) -> InitializerDecl {
9292
].map { .docLineComment($0) + .newline }.reduce([], +),
9393
modifiers: [TokenSyntax.public],
9494
signature: FunctionSignature(
95-
input: ParameterClause(
96-
parameterList: FunctionParameter(
95+
input: ParameterClause {
96+
FunctionParameter(
9797
firstName: .wildcard,
9898
secondName: .identifier("elements"),
9999
colon: .colon,
100100
type: ArrayType(elementType: elementType.expressibleAs)
101101
)
102-
)
102+
}
103103
)
104104
) {
105105
SequenceExpr {
@@ -123,14 +123,14 @@ private func createCombiningInitializer(node: Node) -> InitializerDecl {
123123
leadingTrivia: .docLineComment("/// Creates a new `\(type.buildableBaseName)` by flattening the elements in `lists`") + .newline,
124124
modifiers: [TokenSyntax.public],
125125
signature: FunctionSignature(
126-
input: ParameterClause(
127-
parameterList: FunctionParameter(
126+
input: ParameterClause {
127+
FunctionParameter(
128128
firstName: .identifier("combining").withTrailingTrivia(.space),
129129
secondName: .identifier("lists"),
130130
colon: .colon,
131131
type: ArrayType(elementType: type.expressibleAs)
132132
)
133-
)
133+
}
134134
)
135135
) {
136136
SequenceExpr {
@@ -152,15 +152,15 @@ private func createArrayLiteralInitializer(node: Node) -> InitializerDecl {
152152
return InitializerDecl(
153153
modifiers: [TokenSyntax.public],
154154
signature: FunctionSignature(
155-
input: ParameterClause(
156-
parameterList: FunctionParameter(
155+
input: ParameterClause {
156+
FunctionParameter(
157157
firstName: .identifier("arrayLiteral").withTrailingTrivia(.space),
158158
secondName: .identifier("elements"),
159159
colon: .colon,
160160
type: elementType.expressibleAs,
161161
ellipsis: .ellipsis
162162
)
163-
)
163+
}
164164
)
165165
) {
166166
FunctionCallExpr(MemberAccessExpr(base: "self", name: "init")) {

Sources/SwiftSyntaxBuilderGeneration/Templates/TokensFile.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,15 @@ let tokensFile = SourceFile {
5555
}
5656
} else {
5757
let signature = FunctionSignature(
58-
input: ParameterClause(
59-
parameterList: FunctionParameter(
58+
input: ParameterClause {
59+
FunctionParameter(
6060
attributes: nil,
6161
firstName: .wildcard,
6262
secondName: .identifier("text"),
6363
colon: .colon,
6464
type: "String"
6565
)
66-
),
66+
},
6767
output: "TokenSyntax"
6868
)
6969

Tests/SwiftSyntaxBuilderTest/ArrayExpressibleAsTests.swift

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,15 @@ final class ArrayExpressibleAsTests: XCTestCase {
3030

3131
func testFunctionParameters() {
3232
let signature = FunctionSignature(
33-
input: ParameterClause(
34-
parameterList: [
35-
FunctionParameter(
36-
attributes: nil,
37-
firstName: .wildcard,
38-
secondName: .identifier("args"),
39-
colon: .colon,
40-
type: ArrayType(elementType: "String")
41-
)
42-
]
43-
),
33+
input: ParameterClause {
34+
FunctionParameter(
35+
attributes: nil,
36+
firstName: .wildcard,
37+
secondName: .identifier("args"),
38+
colon: .colon,
39+
type: ArrayType(elementType: "String")
40+
)
41+
},
4442
output: "Int"
4543
)
4644

Tests/SwiftSyntaxBuilderTest/FunctionTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ final class FunctionTests: XCTestCase {
66
func testFibonacci() {
77
let leadingTrivia = Trivia.garbageText("")
88

9-
let input = ParameterClause(parameterList: [
9+
let input = ParameterClause {
1010
FunctionParameter(firstName: .wildcard, secondName: .identifier("n"), colon: .colon, type: "Int")
11-
])
11+
}
1212

1313
let ifCodeBlock = ReturnStmt(expression: IntegerLiteralExpr(digits: "n"))
1414

0 commit comments

Comments
 (0)