Skip to content

Commit e97ad5e

Browse files
committed
Update identifierPattern to allow deinit/subscript
1 parent b0b46fe commit e97ad5e

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

CodeGeneration/Sources/SyntaxSupport/PatternNodes.swift

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,15 @@ public let PATTERN_NODES: [Node] = [
5757
children: [
5858
Child(
5959
name: "identifier",
60-
kind: .token(choices: [.token(.identifier), .keyword(.self), .keyword(.`init`)])
60+
kind: .token(
61+
choices: [
62+
.token(.identifier),
63+
.keyword(.self),
64+
.keyword(.`init`),
65+
.keyword(.`deinit`),
66+
.keyword(.`subscript`),
67+
]
68+
)
6169
)
6270
]
6371
),

Sources/SwiftParser/Names.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ extension Parser {
6666
mutating func parseDeclReferenceExpr(_ flags: DeclNameOptions = []) -> RawDeclReferenceExprSyntax {
6767
// Consume the base name.
6868
let base: RawTokenSyntax
69-
if let identOrSelf = self.consume(if: .identifier, .keyword(.self), .keyword(.Self)) ?? self.consume(if: .keyword(.`init`)) ?? self.consume(if: .keyword(.`deinit`)) ?? self.consume(if: .keyword(.`subscript`)) {
69+
if let identOrSelf = self.consume(if: .identifier, .keyword(.self), .keyword(.Self)) ?? self.consume(if: .keyword(.`init`)) ?? self.consume(
70+
if: .keyword(.`deinit`)
71+
) ?? self.consume(if: .keyword(.`subscript`)) {
7072
base = identOrSelf
7173
} else if flags.contains(.operators), let (_, _) = self.at(anyIn: Operator.self) {
7274
base = self.consumeAnyToken(remapping: .binaryOperator)

0 commit comments

Comments
 (0)