Skip to content

Commit 954df19

Browse files
hamishknightmeg-gupta
authored andcommitted
[ASTGen] Be defensive over nil firstName
If we only have one name, it should be in `firstName`, but if it's in `secondName`, handle it the same, since that's syntactically the same thing.
1 parent d917d85 commit 954df19

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lib/ASTGen/Sources/ASTGen/ParameterClause.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,11 @@ extension ASTGenVisitor {
8888
case let (argNameNode?, paramNameNode?):
8989
(argName, argNameLoc) = self.generateIdentifierAndSourceLoc(argNameNode)
9090
(paramName, paramNameLoc) = self.generateIdentifierAndSourceLoc(paramNameNode)
91-
case let (nameNode?, nil):
91+
case (let nameNode?, nil), (nil, let nameNode?):
92+
// The (nil, nameNode?) case should never happen (since a single label
93+
// should be the firstName), but treat it the same it to be defensive.
9294
(paramName, paramNameLoc) = self.generateIdentifierAndSourceLoc(nameNode)
9395
(argName, argNameLoc) = argNameByDefault ? (paramName, paramNameLoc) : (nil, nil)
94-
case (nil, _?):
95-
preconditionFailure("If only one name is present, it should be the first")
9696
default:
9797
(argName, argNameLoc, paramName, paramNameLoc) = (nil, nil, nil, nil)
9898
}

0 commit comments

Comments
 (0)