Skip to content

Commit 7445e93

Browse files
committed
Rename regex and string delimiter TokenKinds
1 parent 67f468b commit 7445e93

26 files changed

+187
-147
lines changed

CodeGeneration/Sources/SyntaxSupport/ExprNodes.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,7 @@ public let EXPR_NODES: [Node] = [
740740
Child(
741741
name: "Pounds",
742742
deprecatedName: "Delimiter",
743-
kind: .token(choices: [.token(tokenKind: "RawStringDelimiterToken")]),
743+
kind: .token(choices: [.token(tokenKind: "RawStringPoundDelimiterToken")]),
744744
isOptional: true
745745
),
746746
Child(
@@ -1419,7 +1419,7 @@ public let EXPR_NODES: [Node] = [
14191419
children: [
14201420
Child(
14211421
name: "OpeningPounds",
1422-
kind: .token(choices: [.token(tokenKind: "ExtendedRegexDelimiterToken")]),
1422+
kind: .token(choices: [.token(tokenKind: "RegexPoundDelimiterToken")]),
14231423
isOptional: true
14241424
),
14251425
Child(
@@ -1439,7 +1439,7 @@ public let EXPR_NODES: [Node] = [
14391439
),
14401440
Child(
14411441
name: "ClosingPounds",
1442-
kind: .token(choices: [.token(tokenKind: "ExtendedRegexDelimiterToken")]),
1442+
kind: .token(choices: [.token(tokenKind: "RegexPoundDelimiterToken")]),
14431443
isOptional: true
14441444
),
14451445
]
@@ -1484,7 +1484,7 @@ public let EXPR_NODES: [Node] = [
14841484
Child(
14851485
name: "OpeningPounds",
14861486
deprecatedName: "OpenDelimiter",
1487-
kind: .token(choices: [.token(tokenKind: "RawStringDelimiterToken")]),
1487+
kind: .token(choices: [.token(tokenKind: "RawStringPoundDelimiterToken")]),
14881488
isOptional: true
14891489
),
14901490
Child(
@@ -1504,7 +1504,7 @@ public let EXPR_NODES: [Node] = [
15041504
Child(
15051505
name: "ClosingPounds",
15061506
deprecatedName: "CloseDelimiter",
1507-
kind: .token(choices: [.token(tokenKind: "RawStringDelimiterToken")]),
1507+
kind: .token(choices: [.token(tokenKind: "RawStringPoundDelimiterToken")]),
15081508
isOptional: true
15091509
),
15101510
]

CodeGeneration/Sources/SyntaxSupport/TokenSpec.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ public let SYNTAX_TOKENS: [TokenSpec] = [
7979
.other(name: "endOfFile", nameForDiagnostics: "end of file", text: ""),
8080
.punctuator(name: "equal", text: "="),
8181
.punctuator(name: "exclamationMark", text: "!"),
82-
.other(name: "extendedRegexDelimiter", nameForDiagnostics: "extended delimiter"),
8382
.other(name: "floatingLiteral", nameForDiagnostics: "floating literal"),
8483
.other(name: "identifier", nameForDiagnostics: "identifier"),
8584
.punctuator(name: "infixQuestionMark", text: "?"),
@@ -103,8 +102,9 @@ public let SYNTAX_TOKENS: [TokenSpec] = [
103102
.poundKeyword(name: "poundUnavailable", text: "#unavailable"),
104103
.punctuator(name: "prefixAmpersand", text: "&"),
105104
.other(name: "prefixOperator", nameForDiagnostics: "prefix operator"),
106-
.other(name: "rawStringDelimiter", nameForDiagnostics: "raw string delimiter"),
105+
.other(name: "rawStringPoundDelimiter", nameForDiagnostics: "raw string delimiter"),
107106
.other(name: "regexLiteralPattern", nameForDiagnostics: "regex pattern"),
107+
.other(name: "regexPoundDelimiter", nameForDiagnostics: "extended delimiter"),
108108
.punctuator(name: "regexSlash", text: "/"),
109109
.punctuator(name: "rightAngle", text: ">"),
110110
.punctuator(name: "rightBrace", text: "}"),

CodeGeneration/Tests/ValidateSyntaxNodes/ValidateSyntaxNodes.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ class ValidateSyntaxNodes: XCTestCase {
265265
),
266266
ValidationFailure(
267267
node: .regexLiteralExpr,
268-
message: "child 'OpeningPounds' has a token as its only token choice and should thus be named 'ExtendedRegexDelimiter'"
268+
message: "child 'OpeningPounds' has a token as its only token choice and should thus be named 'RegexPoundDelimiter'"
269269
),
270270
ValidationFailure(
271271
node: .regexLiteralExpr,
@@ -278,22 +278,22 @@ class ValidateSyntaxNodes: XCTestCase {
278278
),
279279
ValidationFailure(
280280
node: .regexLiteralExpr,
281-
message: "child 'ClosingPounds' has a token as its only token choice and should thus be named 'ExtendedRegexDelimiter'"
281+
message: "child 'ClosingPounds' has a token as its only token choice and should thus be named 'RegexPoundDelimiter'"
282282
// There are the opening and closing ExtendedRegexDelimiter in the node
283283
),
284284
// We should explicitly mention token here because it’s not obvious that the end of a file is represented by a token
285285
ValidationFailure(node: .sourceFile, message: "child 'EndOfFileToken' has a token as its only token choice and should thus be named 'EndOfFile'"),
286286
ValidationFailure(
287287
node: .stringLiteralExpr,
288-
message: "child 'OpeningPounds' has a token as its only token choice and should thus be named 'RawStringDelimiter'"
288+
message: "child 'OpeningPounds' has a token as its only token choice and should thus be named 'RawStringPoundDelimiter'"
289289
),
290290
ValidationFailure(
291291
node: .stringLiteralExpr,
292-
message: "child 'ClosingPounds' has a token as its only token choice and should thus be named 'RawStringDelimiter'"
292+
message: "child 'ClosingPounds' has a token as its only token choice and should thus be named 'RawStringPoundDelimiter'"
293293
),
294294
ValidationFailure(
295295
node: .exprSegment,
296-
message: "child 'Pounds' has a token as its only token choice and should thus be named 'RawStringDelimiter'"
296+
message: "child 'Pounds' has a token as its only token choice and should thus be named 'RawStringPoundDelimiter'"
297297
),
298298

299299
// MARK: Tokens that contain underscores

Sources/SwiftBasicFormat/BasicFormat.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -259,8 +259,8 @@ open class BasicFormat: SyntaxRewriter {
259259
(.endOfFile, _),
260260
(.exclamationMark, .leftParen), // myOptionalClosure!()
261261
(.exclamationMark, .period), // myOptionalBar!.foo()
262-
(.extendedRegexDelimiter, .leftParen), // opening extended regex delimiter should never be separate by a space
263-
(.extendedRegexDelimiter, .regexSlash), // opening extended regex delimiter should never be separate by a space
262+
(.regexPoundDelimiter, .leftParen), // opening extended regex delimiter should never be separate by a space
263+
(.regexPoundDelimiter, .regexSlash), // opening extended regex delimiter should never be separate by a space
264264
(.identifier, .leftAngle), // MyType<Int>
265265
(.identifier, .leftParen), // foo()
266266
(.identifier, .leftSquare), // myArray[1]
@@ -277,7 +277,7 @@ open class BasicFormat: SyntaxRewriter {
277277
(.leftBrace, .rightBrace), // {}
278278
(.leftParen, _),
279279
(.leftSquare, _),
280-
(.multilineStringQuote, .rawStringDelimiter), // closing raw string delimiter should never be separate by a space
280+
(.multilineStringQuote, .rawStringPoundDelimiter), // closing raw string delimiter should never be separate by a space
281281
(.period, _),
282282
(.postfixQuestionMark, .leftAngle), // init?<T>()
283283
(.postfixQuestionMark, .leftParen), // init?() or myOptionalClosure?()
@@ -286,19 +286,19 @@ open class BasicFormat: SyntaxRewriter {
286286
(.poundUnavailable, .leftParen), // #unavailable(...)
287287
(.prefixAmpersand, _),
288288
(.prefixOperator, _),
289-
(.rawStringDelimiter, .leftParen), // opening raw string delimiter should never be separate by a space
290-
(.rawStringDelimiter, .multilineStringQuote), // opening raw string delimiter should never be separate by a space
291-
(.rawStringDelimiter, .singleQuote), // opening raw string delimiter should never be separate by a space
292-
(.rawStringDelimiter, .stringQuote), // opening raw string delimiter should never be separate by a space
289+
(.rawStringPoundDelimiter, .leftParen), // opening raw string delimiter should never be separate by a space
290+
(.rawStringPoundDelimiter, .multilineStringQuote), // opening raw string delimiter should never be separate by a space
291+
(.rawStringPoundDelimiter, .singleQuote), // opening raw string delimiter should never be separate by a space
292+
(.rawStringPoundDelimiter, .stringQuote), // opening raw string delimiter should never be separate by a space
293293
(.regexLiteralPattern, _),
294-
(.regexSlash, .extendedRegexDelimiter), // closing extended regex delimiter should never be separate by a space
294+
(.regexSlash, .regexPoundDelimiter), // closing extended regex delimiter should never be separate by a space
295295
(.rightAngle, .leftParen), // func foo<T>(x: T)
296296
(.rightBrace, .leftParen), // { return 1 }()
297297
(.rightParen, .leftParen), // returnsClosure()()
298298
(.rightParen, .period), // foo().bar
299299
(.rightSquare, .period), // myArray[1].someProperty
300-
(.singleQuote, .rawStringDelimiter), // closing raw string delimiter should never be separate by a space
301-
(.stringQuote, .rawStringDelimiter), // closing raw string delimiter should never be separate by a space
300+
(.singleQuote, .rawStringPoundDelimiter), // closing raw string delimiter should never be separate by a space
301+
(.stringQuote, .rawStringPoundDelimiter), // closing raw string delimiter should never be separate by a space
302302
(.stringSegment, _),
303303
(_, .comma),
304304
(_, .ellipsis),

Sources/SwiftIDEUtils/SyntaxClassification.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,6 @@ extension RawTokenKind {
126126
return .none
127127
case .exclamationMark:
128128
return .none
129-
case .extendedRegexDelimiter:
130-
return .regexLiteral
131129
case .floatingLiteral:
132130
return .floatingLiteral
133131
case .identifier:
@@ -174,10 +172,12 @@ extension RawTokenKind {
174172
return .none
175173
case .prefixOperator:
176174
return .operatorIdentifier
177-
case .rawStringDelimiter:
175+
case .rawStringPoundDelimiter:
178176
return .none
179177
case .regexLiteralPattern:
180178
return .regexLiteral
179+
case .regexPoundDelimiter:
180+
return .regexLiteral
181181
case .regexSlash:
182182
return .regexLiteral
183183
case .rightAngle:

Sources/SwiftParser/Expressions.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1384,7 +1384,7 @@ extension Parser {
13841384
/// The broad structure of the regular expression is validated by the lexer.
13851385
mutating func parseRegexLiteral() -> RawRegexLiteralExprSyntax {
13861386
// See if we have an opening set of pounds.
1387-
let openPounds = self.consume(if: .extendedRegexDelimiter)
1387+
let openPounds = self.consume(if: .regexPoundDelimiter)
13881388

13891389
// Parse the opening slash.
13901390
let (unexpectedBeforeSlash, openSlash) = self.expect(.regexSlash)
@@ -1401,7 +1401,7 @@ extension Parser {
14011401
let closeSlash = self.expectWithoutRecoveryOrLeadingTrivia(.regexSlash)
14021402

14031403
// Finally, parse a closing set of pounds.
1404-
let (unexpectedBeforeClosePounds, closePounds) = parsePoundDelimiter(.extendedRegexDelimiter, matching: openPounds)
1404+
let (unexpectedBeforeClosePounds, closePounds) = parsePoundDelimiter(.regexPoundDelimiter, matching: openPounds)
14051405

14061406
return RawRegexLiteralExprSyntax(
14071407
openingPounds: openPounds,

Sources/SwiftParser/Lexer/Cursor.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -907,7 +907,7 @@ extension Lexer.Cursor {
907907
case UInt8(ascii: "#"):
908908
// Try lex a raw string literal.
909909
if let delimiterLength = self.advanceIfOpeningRawStringDelimiter() {
910-
return Lexer.Result(.rawStringDelimiter, stateTransition: .push(newState: .afterRawStringDelimiter(delimiterLength: delimiterLength)))
910+
return Lexer.Result(.rawStringPoundDelimiter, stateTransition: .push(newState: .afterRawStringDelimiter(delimiterLength: delimiterLength)))
911911
}
912912

913913
// Try lex a regex literal.
@@ -1021,7 +1021,7 @@ extension Lexer.Cursor {
10211021
switch self.peek() {
10221022
case UInt8(ascii: "#"):
10231023
self.advance(while: { $0 == Unicode.Scalar("#") })
1024-
return Lexer.Result(.rawStringDelimiter, stateTransition: .pop)
1024+
return Lexer.Result(.rawStringPoundDelimiter, stateTransition: .pop)
10251025
case nil:
10261026
return Lexer.Result(.endOfFile)
10271027
default:
@@ -1040,7 +1040,7 @@ extension Lexer.Cursor {
10401040
/// would have returned false in `lexInStringLiteral` and w we wouldn't have
10411041
/// transitioned to the `afterBackslashOfStringInterpolation` state.
10421042
self.advance(while: { $0 == Unicode.Scalar("#") })
1043-
return Lexer.Result(.rawStringDelimiter)
1043+
return Lexer.Result(.rawStringPoundDelimiter)
10441044
case UInt8(ascii: "("):
10451045
_ = self.advance()
10461046
return Lexer.Result(.leftParen, stateTransition: .replace(newState: .inStringInterpolation(stringLiteralKind: stringLiteralKind, parenCount: 0)))

Sources/SwiftParser/Lexer/RegexLiteralLexer.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ extension RegexLiteralLexemes.Element {
359359
var tokenKind: RawTokenKind {
360360
switch kind {
361361
case .openingPounds, .closingPounds:
362-
return .extendedRegexDelimiter
362+
return .regexPoundDelimiter
363363
case .openingSlash, .closingSlash:
364364
return .regexSlash
365365
case .pattern:
@@ -652,7 +652,7 @@ extension Lexer.Cursor {
652652
return true
653653

654654
// Bits of string/regex grammar, we can't start lexing a regex literal here.
655-
case .extendedRegexDelimiter, .regexSlash, .regexLiteralPattern, .rawStringDelimiter, .stringQuote, .stringSegment, .multilineStringQuote, .singleQuote:
655+
case .regexPoundDelimiter, .regexSlash, .regexLiteralPattern, .rawStringPoundDelimiter, .stringQuote, .stringSegment, .multilineStringQuote, .singleQuote:
656656
return false
657657

658658
// Allow unknown for better recovery.

Sources/SwiftParser/StringLiterals.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ extension Parser {
470470
/// Parse a string literal expression.
471471
mutating func parseStringLiteral() -> RawStringLiteralExprSyntax {
472472
/// Parse opening raw string delimiter if exist.
473-
let openDelimiter = self.consume(if: .rawStringDelimiter)
473+
let openDelimiter = self.consume(if: .rawStringPoundDelimiter)
474474

475475
/// Try to parse @ in order to recover from Objective-C style literals
476476
let unexpectedAtSign = self.consume(if: .atSign)
@@ -495,7 +495,7 @@ extension Parser {
495495
if let stringSegment = self.consume(if: .stringSegment, TokenSpec(.identifier, remapping: .stringSegment)) {
496496
segments.append(.stringSegment(RawStringSegmentSyntax(content: stringSegment, arena: self.arena)))
497497
} else if let backslash = self.consume(if: .backslash) {
498-
let (unexpectedBeforeDelimiter, delimiter) = self.parsePoundDelimiter(.rawStringDelimiter, matching: openDelimiter)
498+
let (unexpectedBeforeDelimiter, delimiter) = self.parsePoundDelimiter(.rawStringPoundDelimiter, matching: openDelimiter)
499499
let leftParen = self.expectWithoutRecoveryOrLeadingTrivia(.leftParen)
500500
let expressions = RawTupleExprElementListSyntax(elements: self.parseArgumentListElements(pattern: .none), arena: self.arena)
501501

@@ -561,7 +561,7 @@ extension Parser {
561561
closeQuote = self.expectWithoutRecoveryOrLeadingTrivia(TokenSpec(openQuote.tokenKind))
562562
}
563563

564-
let (unexpectedBeforeCloseDelimiter, closeDelimiter) = self.parsePoundDelimiter(.rawStringDelimiter, matching: openDelimiter)
564+
let (unexpectedBeforeCloseDelimiter, closeDelimiter) = self.parsePoundDelimiter(.rawStringPoundDelimiter, matching: openDelimiter)
565565

566566
if openQuote.tokenKind == .multilineStringQuote, !openQuote.isMissing, !closeQuote.isMissing {
567567
let postProcessed = postProcessMultilineStringLiteral(

Sources/SwiftParser/TokenPrecedence.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ enum TokenPrecedence: Comparable {
141141
self = .weakBracketed(closingDelimiter: .rightSquare)
142142
case .leftAngle:
143143
self = .weakBracketed(closingDelimiter: .rightAngle)
144-
case .multilineStringQuote, .rawStringDelimiter, .singleQuote, .stringQuote,
145-
.regexSlash, .extendedRegexDelimiter:
144+
case .multilineStringQuote, .rawStringPoundDelimiter, .singleQuote, .stringQuote,
145+
.regexSlash, .regexPoundDelimiter:
146146
self = .weakBracketed(closingDelimiter: tokenKind)
147147
case // Chaining punctuators
148148
.infixQuestionMark, .period, .postfixQuestionMark, .exclamationMark,

Sources/SwiftParser/TokenSpec.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,15 +172,15 @@ public struct TokenSpec {
172172
switch rawTokenKind {
173173
case .binaryOperator: return .binaryOperator("+")
174174
case .dollarIdentifier: return .dollarIdentifier("$0")
175-
case .extendedRegexDelimiter: return .extendedRegexDelimiter("#")
176175
case .floatingLiteral: return .floatingLiteral("1.0")
177176
case .identifier: return .identifier("myIdent")
178177
case .integerLiteral: return .integerLiteral("1")
179178
case .keyword: return .keyword(keyword!)
180179
case .postfixOperator: return .postfixOperator("++")
181180
case .prefixOperator: return .prefixOperator("!")
182-
case .rawStringDelimiter: return .rawStringDelimiter("#")
181+
case .rawStringPoundDelimiter: return .rawStringPoundDelimiter("#")
183182
case .regexLiteralPattern: return .regexLiteralPattern(".*")
183+
case .regexPoundDelimiter: return .regexPoundDelimiter("#")
184184
case .stringSegment: return .stringSegment("abc")
185185
default: return TokenKind.fromRaw(kind: rawTokenKind, text: "")
186186
}

Sources/SwiftParser/TokenSpecSet.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -817,12 +817,12 @@ enum PrimaryExpressionStart: TokenSpecSet {
817817
case TokenSpec(.poundAvailable): self = .poundAvailable
818818
case TokenSpec(.poundUnavailable): self = .poundUnavailable
819819
case TokenSpec(.regexSlash): self = .regexSlash
820-
case TokenSpec(.extendedRegexDelimiter): self = .extendedRegexDelimiter
820+
case TokenSpec(.regexPoundDelimiter): self = .extendedRegexDelimiter
821821
case TokenSpec(.self): self = .self
822822
case TokenSpec(.super): self = .super
823823
case TokenSpec(.true): self = .true
824824
case TokenSpec(.wildcard): self = .wildcard
825-
case TokenSpec(.rawStringDelimiter): self = .rawStringDelimiter
825+
case TokenSpec(.rawStringPoundDelimiter): self = .rawStringDelimiter
826826
case TokenSpec(.stringQuote): self = .stringQuote
827827
case TokenSpec(.multilineStringQuote): self = .multilineStringQuote
828828
case TokenSpec(.singleQuote): self = .singleQuote
@@ -850,12 +850,12 @@ enum PrimaryExpressionStart: TokenSpecSet {
850850
case .poundAvailable: return .poundAvailable
851851
case .poundUnavailable: return .poundUnavailable
852852
case .regexSlash: return .regexSlash
853-
case .extendedRegexDelimiter: return .extendedRegexDelimiter
853+
case .extendedRegexDelimiter: return .regexPoundDelimiter
854854
case .self: return .keyword(.self)
855855
case .super: return .keyword(.super)
856856
case .true: return .keyword(.true)
857857
case .wildcard: return .wildcard
858-
case .rawStringDelimiter: return .rawStringDelimiter
858+
case .rawStringDelimiter: return .rawStringPoundDelimiter
859859
case .stringQuote: return .stringQuote
860860
case .multilineStringQuote: return .multilineStringQuote
861861
case .singleQuote: return .singleQuote

Sources/SwiftParser/generated/TokenSpecStaticMembers.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,6 @@ extension TokenSpec {
6363
return TokenSpec(.exclamationMark)
6464
}
6565

66-
static var extendedRegexDelimiter: TokenSpec {
67-
return TokenSpec(.extendedRegexDelimiter)
68-
}
69-
7066
static var floatingLiteral: TokenSpec {
7167
return TokenSpec(.floatingLiteral)
7268
}
@@ -155,14 +151,18 @@ extension TokenSpec {
155151
return TokenSpec(.prefixOperator)
156152
}
157153

158-
static var rawStringDelimiter: TokenSpec {
159-
return TokenSpec(.rawStringDelimiter)
154+
static var rawStringPoundDelimiter: TokenSpec {
155+
return TokenSpec(.rawStringPoundDelimiter)
160156
}
161157

162158
static var regexLiteralPattern: TokenSpec {
163159
return TokenSpec(.regexLiteralPattern)
164160
}
165161

162+
static var regexPoundDelimiter: TokenSpec {
163+
return TokenSpec(.regexPoundDelimiter)
164+
}
165+
166166
static var regexSlash: TokenSpec {
167167
return TokenSpec(.regexSlash)
168168
}

Sources/SwiftParserDiagnostics/MissingNodesError.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,9 +197,9 @@ fileprivate extension TokenKind {
197197
return .leftParen
198198
case .rightSquare:
199199
return .leftSquare
200-
case .stringQuote, .multilineStringQuote, .rawStringDelimiter:
200+
case .stringQuote, .multilineStringQuote, .rawStringPoundDelimiter:
201201
return self
202-
case .regexSlash, .extendedRegexDelimiter:
202+
case .regexSlash, .regexPoundDelimiter:
203203
return self
204204
default:
205205
return nil

Sources/SwiftParserDiagnostics/MissingTokenError.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ extension ParseDiagnosticsGenerator {
3636
handled = handleInvalidMultilineStringQuote(invalidToken: invalidToken, missingToken: missingToken, invalidTokenContainer: invalidTokenContainer)
3737
case (.period, .period):
3838
handled = handleInvalidPeriod(invalidToken: invalidToken, missingToken: missingToken, invalidTokenContainer: invalidTokenContainer)
39-
case (.rawStringDelimiter, .rawStringDelimiter), (.extendedRegexDelimiter, .extendedRegexDelimiter):
39+
case (.rawStringPoundDelimiter, .rawStringPoundDelimiter), (.regexPoundDelimiter, .regexPoundDelimiter):
4040
handled = handleInvalidPoundDelimiter(invalidToken: invalidToken, missingToken: missingToken, invalidTokenContainer: invalidTokenContainer)
4141
default:
4242
handled = false

0 commit comments

Comments
 (0)