Skip to content

Commit cf38182

Browse files
committed
Remove some deep nesting that we don't exceed parsing limit in debug builds
1 parent f1eaeec commit cf38182

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

Tests/SwiftSyntaxTest/SyntaxVisitorTests.swift

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,29 @@ public class SyntaxVisitorTests: XCTestCase {
5050
rightBrace: .rightBraceToken(leadingTrivia: [.newlines(1), .spaces(4)])
5151
)
5252

53+
let innerCodeBlock = CodeBlockSyntax(
54+
leftBrace: .leftBraceToken(),
55+
statements: CodeBlockItemListSyntax([
56+
CodeBlockItemSyntax(
57+
item: CodeBlockItemSyntax.Item(
58+
FunctionDeclSyntax(
59+
funcKeyword: .keyword(.func, leadingTrivia: [.newlines(1), .spaces(4)], trailingTrivia: .space),
60+
name: .identifier("foo"),
61+
signature: FunctionSignatureSyntax(
62+
parameterClause: FunctionParameterClauseSyntax(
63+
leftParen: .leftParenToken(),
64+
parameters: FunctionParameterListSyntax([]),
65+
rightParen: .rightParenToken(trailingTrivia: .space)
66+
)
67+
),
68+
body: innerBody
69+
)
70+
)
71+
)
72+
]),
73+
rightBrace: .rightBraceToken(leadingTrivia: [.newlines(1), .spaces(2)])
74+
)
75+
5376
let source = SourceFileSyntax(
5477
statements: CodeBlockItemListSyntax([
5578
CodeBlockItemSyntax(
@@ -82,28 +105,7 @@ public class SyntaxVisitorTests: XCTestCase {
82105
rightParen: .rightParenToken(trailingTrivia: .space)
83106
)
84107
),
85-
body: CodeBlockSyntax(
86-
leftBrace: .leftBraceToken(),
87-
statements: CodeBlockItemListSyntax([
88-
CodeBlockItemSyntax(
89-
item: CodeBlockItemSyntax.Item(
90-
FunctionDeclSyntax(
91-
funcKeyword: .keyword(.func, leadingTrivia: [.newlines(1), .spaces(4)], trailingTrivia: .space),
92-
name: .identifier("foo"),
93-
signature: FunctionSignatureSyntax(
94-
parameterClause: FunctionParameterClauseSyntax(
95-
leftParen: .leftParenToken(),
96-
parameters: FunctionParameterListSyntax([]),
97-
rightParen: .rightParenToken(trailingTrivia: .space)
98-
)
99-
),
100-
body: innerBody
101-
)
102-
)
103-
)
104-
]),
105-
rightBrace: .rightBraceToken(leadingTrivia: [.newlines(1), .spaces(2)])
106-
)
108+
body: innerCodeBlock
107109
)
108110
)
109111
)

0 commit comments

Comments
 (0)