Skip to content

Commit f552759

Browse files
committed
Add a buildSyntax function on SyntaxProtocol that uses the default Format
1 parent 8c8b69c commit f552759

34 files changed

+76
-58
lines changed

CodeGeneration/Sources/generate-swiftsyntaxbuilder/BuildableBaseProtocolsFile.swift

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,17 @@ let buildableBaseProtocolsFile = SourceFile {
131131
}
132132
}
133133
}
134+
createBuildSyntaxExtensionWithDefaultFormat()
135+
}
136+
137+
func createBuildSyntaxExtensionWithDefaultFormat() -> ExtensionDecl {
138+
return ExtensionDecl(modifiers: [Token.public], extendedType: "SyntaxBuildable") {
139+
FunctionDecl(
140+
identifier: .identifier("buildSyntax"),
141+
signature: FunctionSignature(input: ParameterClause(parameterList: []), output: "Syntax")) {
142+
ReturnStmt(expression: FunctionCallExpr("buildSyntax") {
143+
TupleExprElement(label: "format", expression: FunctionCallExpr("Format"))
144+
})
145+
}
146+
}
134147
}

Sources/SwiftSyntaxBuilder/generated/BuildableBaseProtocols.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,3 +192,8 @@ public extension TypeBuildable {
192192
return Syntax(buildType(format: format))
193193
}
194194
}
195+
public extension SyntaxBuildable {
196+
func buildSyntax() -> Syntax {
197+
return buildSyntax(format: Format())
198+
}
199+
}

Tests/SwiftSyntaxBuilderTest/ArrayExprTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ final class ArrayExprTests: XCTestCase {
1313
for (line, testCase) in testCases {
1414
let (builder, expected) = testCase
1515
let arrowExpr = builder.createArrayExpr()
16-
let syntax = arrowExpr.buildSyntax(format: Format())
16+
let syntax = arrowExpr.buildSyntax()
1717

1818
var text = ""
1919
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/ArrayExpressibleAsTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ final class ArrayExpressibleAsTests: XCTestCase {
77
let modifiers: ExpressibleAsModifierList = [Token.public, Token.static]
88

99
var result = ""
10-
modifiers.createModifierList().buildSyntax(format: Format()).write(to: &result)
10+
modifiers.createModifierList().buildSyntax().write(to: &result)
1111
XCTAssertEqual(result, "public static ")
1212
}
1313

1414
func testHeterogeneousList() {
1515
let modifiers: ExpressibleAsModifierList = [Token.open, DeclModifier(name: Token.internal)]
1616

1717
var result = ""
18-
modifiers.createModifierList().buildSyntax(format: Format()).write(to: &result)
18+
modifiers.createModifierList().buildSyntax().write(to: &result)
1919
XCTAssertEqual(result, "open internal ")
2020
}
2121

@@ -24,7 +24,7 @@ final class ArrayExpressibleAsTests: XCTestCase {
2424
let expressible: ExpressibleAsModifierList = modifiers as [ExpressibleAsDeclModifier]
2525

2626
var result = ""
27-
expressible.createModifierList().buildSyntax(format: Format()).write(to: &result)
27+
expressible.createModifierList().buildSyntax().write(to: &result)
2828
XCTAssertEqual(result, "private ")
2929
}
3030

@@ -43,7 +43,7 @@ final class ArrayExpressibleAsTests: XCTestCase {
4343
)
4444

4545
var result = ""
46-
signature.buildSyntax(format: Format()).write(to: &result)
46+
signature.buildSyntax().write(to: &result)
4747
XCTAssertEqual(result, "(_ args: [String]) -> Int")
4848
}
4949
}

Tests/SwiftSyntaxBuilderTest/ArrowExprTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ final class ArrowExprTests: XCTestCase {
1212
for (line, testCase) in testCases {
1313
let (builder, expected) = testCase
1414
let arrowExpr = builder.createArrowExpr()
15-
let syntax = arrowExpr.buildSyntax(format: Format())
15+
let syntax = arrowExpr.buildSyntax()
1616

1717
var text = ""
1818
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/BinaryOperatorExprTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ final class BinaryOperatorExprTests: XCTestCase {
1313
for (line, testCase) in testCases {
1414
let (builder, expected) = testCase
1515
let binaryOperatorExpr = builder.createBinaryOperatorExpr()
16-
let syntax = binaryOperatorExpr.buildSyntax(format: Format())
16+
let syntax = binaryOperatorExpr.buildSyntax()
1717

1818
var text = ""
1919
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/BooleanLiteralTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ final class BooleanLiteralTests: XCTestCase {
1515

1616
for (line, testCase) in testCases {
1717
let (builder, expected) = testCase
18-
let syntax = builder.buildSyntax(format: Format())
18+
let syntax = builder.buildSyntax()
1919

2020
var text = ""
2121
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/CollectionNodeFlatteningTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ final class CollectionNodeFlatteningTests: XCTestCase {
2424
buildOuterCodeBlockItemList()
2525
}
2626

27-
let test = codeBlock.buildSyntax(format: Format())
27+
let test = codeBlock.buildSyntax()
2828

2929
var result = ""
3030
test.write(to: &result)
@@ -63,7 +63,7 @@ final class CollectionNodeFlatteningTests: XCTestCase {
6363
)
6464
)
6565

66-
let test = codeBlock.buildSyntax(format: Format())
66+
let test = codeBlock.buildSyntax()
6767

6868
var result = ""
6969
test.write(to: &result)

Tests/SwiftSyntaxBuilderTest/CustomAttributeTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ final class CustomAttributeTests: XCTestCase {
1515

1616
for (line, testCase) in testCases {
1717
let (builder, expected) = testCase
18-
let syntax = builder.buildSyntax(format: Format())
18+
let syntax = builder.buildSyntax()
1919

2020
var text = ""
2121
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/DoStmtTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ final class DoStmtTests: XCTestCase {
2929
}
3030
])
3131

32-
let syntax = buildable.buildSyntax(format: Format())
32+
let syntax = buildable.buildSyntax()
3333
XCTAssertEqual(
3434
syntax.description,
3535
"""

Tests/SwiftSyntaxBuilderTest/EnumCaseElementTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ final class EnumCaseElementTests: XCTestCase {
2424
EnumCaseElement(identifier: "hi")
2525
}
2626
}
27-
let syntax = buildable.buildSyntax(format: Format())
27+
let syntax = buildable.buildSyntax()
2828

2929
XCTAssertEqual(syntax.description,
3030
"""

Tests/SwiftSyntaxBuilderTest/ExprListTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ final class ExprListTests: XCTestCase {
1111

1212
for (line, testCase) in testCases {
1313
let (builder, expected) = testCase
14-
let syntax = builder.buildSyntax(format: Format())
14+
let syntax = builder.buildSyntax()
1515

1616
var text = ""
1717
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/ExpressibleBuildablesTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ final class ExpressibleBuildablesTests: XCTestCase {
1515
StructDecl(identifier: "InnerStruct") {}
1616
}
1717

18-
let syntax = myStruct.buildSyntax(format: Format())
18+
let syntax = myStruct.buildSyntax()
1919
XCTAssertEqual(syntax.description, """
2020
struct MyStruct {
2121
var myFirstVar: Int
@@ -33,7 +33,7 @@ final class ExpressibleBuildablesTests: XCTestCase {
3333
StructDecl(identifier: "MyStruct2") {}
3434
}
3535

36-
let syntax = myCodeBlock.buildSyntax(format: Format())
36+
let syntax = myCodeBlock.buildSyntax()
3737
XCTAssertEqual(syntax.description, """
3838
3939
struct MyStruct1 {
@@ -50,7 +50,7 @@ final class ExpressibleBuildablesTests: XCTestCase {
5050
"someIdentifier"
5151
}
5252

53-
let syntax = myCodeBlock.buildSyntax(format: Format())
53+
let syntax = myCodeBlock.buildSyntax()
5454
XCTAssertEqual(syntax.description, """
5555
{
5656
print("Hello world")
@@ -76,7 +76,7 @@ final class ExpressibleBuildablesTests: XCTestCase {
7676
}
7777
}
7878

79-
let syntax = switchStmt.buildSyntax(format: Format())
79+
let syntax = switchStmt.buildSyntax()
8080
XCTAssertEqual(
8181
syntax.description,
8282
"""

Tests/SwiftSyntaxBuilderTest/ExtensionDeclTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ final class ExtensionDeclTests: XCTestCase {
2626
extendedType: "TokenSyntax",
2727
members: members)
2828

29-
let syntax = buildable.buildSyntax(format: Format())
29+
let syntax = buildable.buildSyntax()
3030

3131
var text = ""
3232
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/FloatLiteralTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ final class FloatLiteralTests: XCTestCase {
1717

1818
for (line, testCase) in testCases {
1919
let (builder, expected) = testCase
20-
let syntax = builder.buildSyntax(format: Format())
20+
let syntax = builder.buildSyntax()
2121

2222
var text = ""
2323
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/FunctionTests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ final class FunctionTests: XCTestCase {
4343
}
4444
})
4545
}
46-
let syntax = buildable.buildSyntax(format: Format())
46+
let syntax = buildable.buildSyntax()
4747

4848
XCTAssertEqual(syntax.description, """
4949
␣func fibonacci(_ n: Int) -> Int {
@@ -61,21 +61,21 @@ final class FunctionTests: XCTestCase {
6161
TupleExprElement(label: param.isMultiple(of: 2) ? "p\(param)" : nil, expression: "value\(param)")
6262
}
6363
}
64-
let syntax = buildable.buildSyntax(format: Format())
64+
let syntax = buildable.buildSyntax()
6565
XCTAssertEqual(syntax.description, "test(value1, p2: value2, value3, p4: value4, value5)")
6666
}
6767

6868
func testParensEmittedForNoArgumentsAndNoTrailingClosure() {
6969
let buildable = FunctionCallExpr("test")
70-
let syntax = buildable.buildSyntax(format: Format())
70+
let syntax = buildable.buildSyntax()
7171
XCTAssertEqual(syntax.description, "test()")
7272
}
7373

7474
func testParensEmittedForArgumentAndTrailingClosure() {
7575
let buildable = FunctionCallExpr("test", trailingClosure: ClosureExpr()) {
7676
TupleExprElement(expression: "42")
7777
}
78-
let syntax = buildable.buildSyntax(format: Format())
78+
let syntax = buildable.buildSyntax()
7979
XCTAssertEqual(syntax.description, "test(42) {\n}")
8080
}
8181

@@ -86,7 +86,7 @@ final class FunctionTests: XCTestCase {
8686
}
8787
})
8888
let buildable = FunctionCallExpr("test", trailingClosure: closure)
89-
let syntax = buildable.buildSyntax(format: Format())
89+
let syntax = buildable.buildSyntax()
9090
XCTAssertEqual(
9191
syntax.description,
9292
"""

Tests/SwiftSyntaxBuilderTest/IdentifierExprTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ final class IdentifierExprTests: XCTestCase {
1313
for (line, testCase) in testCases {
1414
let (builder, expected) = testCase
1515
let identifierExpr = builder.createIdentifierExpr()
16-
let syntax = identifierExpr.buildSyntax(format: Format())
16+
let syntax = identifierExpr.buildSyntax()
1717

1818
var text = ""
1919
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/IdentifierPatternTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ final class IdentifierPatternTests: XCTestCase {
1313
for (line, testCase) in testCases {
1414
let (builder, expected) = testCase
1515
let identifierPattern = builder.createIdentifierPattern()
16-
let syntax = identifierPattern.buildSyntax(format: Format())
16+
let syntax = identifierPattern.buildSyntax()
1717

1818
var text = ""
1919
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/IfStmtTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ final class IfStmtTests: XCTestCase {
88
// disambiguated by the absence of a labelName parameter and the use of a
99
// trailing closure.
1010
let buildable = IfStmt(conditions: ExprList([BooleanLiteralExpr(false)])) {}
11-
let syntax = buildable.buildSyntax(format: Format())
11+
let syntax = buildable.buildSyntax()
1212
XCTAssertEqual(syntax.description, """
1313
if false {
1414
}
@@ -27,7 +27,7 @@ final class IfStmtTests: XCTestCase {
2727
TupleExprElement(expression: StringLiteralExpr("Hello from the else-branch!"))
2828
}
2929
}
30-
let syntax = buildable.buildSyntax(format: Format())
30+
let syntax = buildable.buildSyntax()
3131
XCTAssertEqual(syntax.description, """
3232
if true {
3333
print("Hello from the if-branch!")
@@ -45,7 +45,7 @@ final class IfStmtTests: XCTestCase {
4545
initializer: InitializerClause(value: "y")
4646
)
4747
) {}
48-
let syntax = buildable.buildSyntax(format: Format())
48+
let syntax = buildable.buildSyntax()
4949
XCTAssertEqual(syntax.description, """
5050
if let x = y {
5151
}
@@ -59,7 +59,7 @@ final class IfStmtTests: XCTestCase {
5959
initializer: InitializerClause(value: "y")
6060
)
6161
) {}
62-
let syntax = buildable.buildSyntax(format: Format())
62+
let syntax = buildable.buildSyntax()
6363
XCTAssertEqual(syntax.description, """
6464
if case .x = y {
6565
}

Tests/SwiftSyntaxBuilderTest/ImportTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ final class ImportTests: XCTestCase {
1212
path: AccessPath([AccessPathComponent(name: identifier)])
1313
)
1414

15-
let syntax = importDecl.buildDecl(format: Format())
15+
let syntax = importDecl.buildSyntax()
1616

1717
var text = ""
1818
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/IntegerLiteralTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ final class IntegerLiteralTests: XCTestCase {
1717

1818
for (line, testCase) in testCases {
1919
let (builder, expected) = testCase
20-
let syntax = builder.buildSyntax(format: Format())
20+
let syntax = builder.buildSyntax()
2121

2222
var text = ""
2323
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/MemberAccessTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import SwiftSyntaxBuilder
55
final class MemberAccessTests: XCTestCase {
66
func testMemberAccessExprConvenienceInitializers() {
77
let builder = MemberAccessExpr( base: "Foo", name: "bar")
8-
let syntax = builder.buildSyntax(format: Format())
8+
let syntax = builder.buildSyntax()
99

1010
var text = ""
1111
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/PrefixOperatorExprTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ final class PrefixOperatorExprTests: XCTestCase {
1313
for (line, testCase) in testCases {
1414
let (builder, expected) = testCase
1515
let expr = builder.createPrefixOperatorExpr()
16-
let syntax = expr.buildSyntax(format: Format())
16+
let syntax = expr.buildSyntax()
1717

1818
var text = ""
1919
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/ProtocolDeclTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ final class ProtocolDeclTests: XCTestCase {
1515
FunctionDecl(identifier: .identifier("buildDeclList"), signature: functionSignature, body: nil)
1616
}
1717

18-
let syntax = buildable.buildSyntax(format: Format())
18+
let syntax = buildable.buildSyntax()
1919

2020
var text = ""
2121
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/ReturnClauseTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ final class ReturnClauseTests: XCTestCase {
1313
for (line, testCase) in testCases {
1414
let (builder, expected) = testCase
1515
let returnClause = builder.createReturnClause()
16-
let syntax = returnClause.buildSyntax(format: Format())
16+
let syntax = returnClause.buildSyntax()
1717

1818
var text = ""
1919
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/SimpleTypeIdentifierTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ final class SimpleTypeIdentifierTests: XCTestCase {
1313
for (line, testCase) in testCases {
1414
let (builder, expected) = testCase
1515
let identifier = builder.createSimpleTypeIdentifier()
16-
let syntax = identifier.buildSyntax(format: Format())
16+
let syntax = identifier.buildSyntax()
1717

1818
var text = ""
1919
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/SourceFileTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ final class SourceFileTests: XCTestCase {
1212
})
1313
}
1414

15-
let syntax = source.buildSyntax(format: Format())
15+
let syntax = source.buildSyntax()
1616

1717
var text = ""
1818
syntax.write(to: &text)

Tests/SwiftSyntaxBuilderTest/StringLiteralTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ final class StringLiteralTests: XCTestCase {
1818
openQuote: .stringQuote,
1919
segments: StringLiteralSegments([segment]),
2020
closeQuote: .stringQuote)
21-
let syntax = builder.buildSyntax(format: Format())
21+
let syntax = builder.buildSyntax()
2222

2323
var text = ""
2424
syntax.write(to: &text)
@@ -44,7 +44,7 @@ final class StringLiteralTests: XCTestCase {
4444
for (line, testCase) in testCases {
4545
let (builder, expected) = testCase
4646
let stringLiteralExpr = builder.createStringLiteralExpr()
47-
let syntax = stringLiteralExpr.buildSyntax(format: Format())
47+
let syntax = stringLiteralExpr.buildSyntax()
4848

4949
var text = ""
5050
syntax.write(to: &text)

0 commit comments

Comments
 (0)