Skip to content

Commit 833e365

Browse files
committed
Allow unexpected nodes at the end of a node
1 parent f7c30f1 commit 833e365

File tree

11 files changed

+8466
-916
lines changed

11 files changed

+8466
-916
lines changed

Sources/SwiftSyntax/Raw/gyb_generated/RawSyntaxNodes.swift

Lines changed: 1332 additions & 222 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntax/Raw/gyb_generated/RawSyntaxValidation.swift

Lines changed: 444 additions & 222 deletions
Large diffs are not rendered by default.

Sources/SwiftSyntax/gyb_generated/SyntaxFactory.swift

Lines changed: 666 additions & 222 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: 2805 additions & 127 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-
"7833dde6a3aefe03e10857eefc2c0f9b4b1a21a6"
20+
"3d951982c9bab064e46e7f1578b92a06bc1170f1"
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)