Skip to content

Commit 7957b5e

Browse files
committed
Allow unexpected nodes at the end of a node
1 parent 2ec9844 commit 7957b5e

File tree

11 files changed

+8382
-900
lines changed

11 files changed

+8382
-900
lines changed

Sources/SwiftSyntax/Raw/gyb_generated/RawSyntaxNodes.swift

Lines changed: 1320 additions & 220 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntax/Raw/gyb_generated/RawSyntaxValidation.swift

Lines changed: 440 additions & 220 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntax/gyb_generated/SyntaxFactory.swift

Lines changed: 660 additions & 220 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntax/gyb_generated/syntax_nodes/SyntaxDeclNodes.swift

Lines changed: 621 additions & 23 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntax/gyb_generated/syntax_nodes/SyntaxExprNodes.swift

Lines changed: 1459 additions & 55 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntax/gyb_generated/syntax_nodes/SyntaxNodes.swift

Lines changed: 2743 additions & 117 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntax/gyb_generated/syntax_nodes/SyntaxPatternNodes.swift

Lines changed: 243 additions & 9 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntax/gyb_generated/syntax_nodes/SyntaxStmtNodes.swift

Lines changed: 486 additions & 18 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntax/gyb_generated/syntax_nodes/SyntaxTypeNodes.swift

Lines changed: 405 additions & 15 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntaxParser/gyb_generated/NodeDeclarationHash.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
extension SyntaxParser {
1818
static func verifyNodeDeclarationHash() -> Bool {
1919
return String(cString: swiftparse_syntax_structure_versioning_identifier()!) ==
20-
"1af49f8e78efc75c6798cf6750b842dac14b8f5a"
20+
"c0b7ce08b8daaed9bd51788168a18e1cec63a5a9"
2121
}
2222
}

gyb_syntax_support/Node.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,13 @@ def __init__(self, name, name_for_diagnostics, description=None, kind=None,
2828
self.children = []
2929
# Add implicitly generated UnexpectedNodes children in between any two
3030
# defined children
31-
if kind != 'SyntaxCollection':
32-
for i in range(2 * len(children)):
31+
if kind != 'SyntaxCollection' and len(children) > 0:
32+
for i in range(2 * len(children) + 1):
3333
if i % 2 == 0:
3434
if i == 0:
3535
name = 'UnexpectedBefore' + children[0].name
36+
elif i == 2 * len(children):
37+
name = 'UnexpectedAfter' + children[-1].name
3638
else:
3739
name = 'UnexpectedBetween%sAnd%s' % \
3840
(children[int(i / 2) - 1].name, children[int(i / 2)].name)

0 commit comments

Comments
 (0)