Skip to content

Commit e8d9674

Browse files
committed
Fix remapping default to identifier and add test
1 parent d4ad48d commit e8d9674

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

Sources/SwiftParser/Names.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ extension Parser {
3131
self.missingToken(.identifier, text: nil)
3232
)
3333
} else {
34-
return (nil, self.consumeAnyToken())
34+
return (nil, self.consumeAnyToken(remapping: .identifier))
3535
}
3636
}
3737
}

Tests/SwiftParserTest/StatementTests.swift

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,4 +494,30 @@ final class StatementTests: XCTestCase {
494494
func testDefaultIdentIdentifierInReturnStmt() {
495495
AssertParse("return FileManager.default")
496496
}
497+
498+
func testDefaultAsIdentifierInSubscript() {
499+
AssertParse(
500+
"""
501+
data[position, default: 0]
502+
""",
503+
substructure: Syntax(ExprSyntax(SubscriptExprSyntax(
504+
calledExpression: ExprSyntax(IdentifierExprSyntax(identifier: .identifier("data"), declNameArguments: nil)),
505+
leftBracket: .leftSquareBracketToken(),
506+
argumentList: TupleExprElementListSyntax([
507+
TupleExprElementSyntax(
508+
label: nil,
509+
colon: nil,
510+
expression: ExprSyntax(IdentifierExprSyntax(identifier: .identifier("position"), declNameArguments: nil)),
511+
trailingComma: .commaToken()),
512+
TupleExprElementSyntax(
513+
label: .identifier("default"),
514+
colon: .colonToken(),
515+
expression: ExprSyntax(IntegerLiteralExprSyntax(0)),
516+
trailingComma: nil),
517+
]),
518+
rightBracket: .rightSquareBracketToken(),
519+
trailingClosure: nil,
520+
additionalTrailingClosures: nil)))
521+
)
522+
}
497523
}

0 commit comments

Comments
 (0)