Skip to content

Commit 5cc3792

Browse files
committed
Update generated code
1 parent 637f6ca commit 5cc3792

File tree

7 files changed

+328
-46
lines changed

7 files changed

+328
-46
lines changed

Sources/IDEUtils/generated/SyntaxClassification.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ public enum SyntaxClassification {
4747
case operatorIdentifier
4848
/// A `#` keyword like `#warning`.
4949
case poundDirectiveKeyword
50+
/// A regex literal, including multiline regex literals.
51+
case regexLiteral
5052
/// The opening and closing parenthesis of string interpolation.
5153
case stringInterpolationAnchor
5254
/// A string literal including multiline string literals.
@@ -138,6 +140,8 @@ extension RawTokenKind {
138140
return .none
139141
case .exclamationMark:
140142
return .none
143+
case .extendedRegexDelimiter:
144+
return .regexLiteral
141145
case .floatingLiteral:
142146
return .floatingLiteral
143147
case .identifier:
@@ -186,8 +190,10 @@ extension RawTokenKind {
186190
return .operatorIdentifier
187191
case .rawStringDelimiter:
188192
return .none
189-
case .regexLiteral:
190-
return .none
193+
case .regexLiteralPattern:
194+
return .regexLiteral
195+
case .regexSlash:
196+
return .regexLiteral
191197
case .rightAngle:
192198
return .none
193199
case .rightBrace:

Sources/SwiftParser/generated/TokenSpecStaticMembers.swift

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

66+
static var extendedRegexDelimiter: TokenSpec {
67+
return TokenSpec(.extendedRegexDelimiter)
68+
}
69+
6670
static var floatingLiteral: TokenSpec {
6771
return TokenSpec(.floatingLiteral)
6872
}
@@ -155,8 +159,12 @@ extension TokenSpec {
155159
return TokenSpec(.rawStringDelimiter)
156160
}
157161

158-
static var regexLiteral: TokenSpec {
159-
return TokenSpec(.regexLiteral)
162+
static var regexLiteralPattern: TokenSpec {
163+
return TokenSpec(.regexLiteralPattern)
164+
}
165+
166+
static var regexSlash: TokenSpec {
167+
return TokenSpec(.regexSlash)
160168
}
161169

162170
static var rightAngle: TokenSpec {

Sources/SwiftSyntax/generated/TokenKind.swift

Lines changed: 54 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public enum TokenKind: Hashable {
2727
case ellipsis
2828
case equal
2929
case exclamationMark
30+
case extendedRegexDelimiter(String)
3031
case floatingLiteral(String)
3132
case identifier(String)
3233
case infixQuestionMark
@@ -51,7 +52,8 @@ public enum TokenKind: Hashable {
5152
case prefixAmpersand
5253
case prefixOperator(String)
5354
case rawStringDelimiter(String)
54-
case regexLiteral(String)
55+
case regexLiteralPattern(String)
56+
case regexSlash
5557
case rightAngle
5658
case rightBrace
5759
case rightParen
@@ -89,6 +91,8 @@ public enum TokenKind: Hashable {
8991
return #"="#
9092
case .exclamationMark:
9193
return #"!"#
94+
case .extendedRegexDelimiter(let text):
95+
return text
9296
case .floatingLiteral(let text):
9397
return text
9498
case .identifier(let text):
@@ -137,8 +141,10 @@ public enum TokenKind: Hashable {
137141
return text
138142
case .rawStringDelimiter(let text):
139143
return text
140-
case .regexLiteral(let text):
144+
case .regexLiteralPattern(let text):
141145
return text
146+
case .regexSlash:
147+
return #"/"#
142148
case .rightAngle:
143149
return #">"#
144150
case .rightBrace:
@@ -222,6 +228,8 @@ public enum TokenKind: Hashable {
222228
return #"#unavailable"#
223229
case .prefixAmpersand:
224230
return #"&"#
231+
case .regexSlash:
232+
return #"/"#
225233
case .rightAngle:
226234
return #">"#
227235
case .rightBrace:
@@ -271,6 +279,8 @@ public enum TokenKind: Hashable {
271279
return #"="#
272280
case .exclamationMark:
273281
return #"!"#
282+
case .extendedRegexDelimiter:
283+
return #"extended delimiter"#
274284
case .floatingLiteral:
275285
return #"floating literal"#
276286
case .identifier:
@@ -317,8 +327,10 @@ public enum TokenKind: Hashable {
317327
return #"prefix operator"#
318328
case .rawStringDelimiter:
319329
return #"raw string delimiter"#
320-
case .regexLiteral:
321-
return #"regex literal"#
330+
case .regexLiteralPattern:
331+
return #"regex pattern"#
332+
case .regexSlash:
333+
return #"/"#
322334
case .rightAngle:
323335
return #">"#
324336
case .rightBrace:
@@ -375,6 +387,8 @@ public enum TokenKind: Hashable {
375387
return false
376388
case .exclamationMark:
377389
return false
390+
case .extendedRegexDelimiter:
391+
return false
378392
case .floatingLiteral:
379393
return false
380394
case .identifier:
@@ -421,7 +435,9 @@ public enum TokenKind: Hashable {
421435
return false
422436
case .rawStringDelimiter:
423437
return false
424-
case .regexLiteral:
438+
case .regexLiteralPattern:
439+
return false
440+
case .regexSlash:
425441
return false
426442
case .rightAngle:
427443
return false
@@ -479,6 +495,8 @@ public enum TokenKind: Hashable {
479495
return true
480496
case .exclamationMark:
481497
return true
498+
case .extendedRegexDelimiter:
499+
return false
482500
case .floatingLiteral:
483501
return false
484502
case .identifier:
@@ -527,8 +545,10 @@ public enum TokenKind: Hashable {
527545
return false
528546
case .rawStringDelimiter:
529547
return false
530-
case .regexLiteral:
548+
case .regexLiteralPattern:
531549
return false
550+
case .regexSlash:
551+
return true
532552
case .rightAngle:
533553
return true
534554
case .rightBrace:
@@ -580,6 +600,8 @@ extension TokenKind: Equatable {
580600
return true
581601
case (.exclamationMark, .exclamationMark):
582602
return true
603+
case (.extendedRegexDelimiter(let lhsText), .extendedRegexDelimiter(let rhsText)):
604+
return lhsText == rhsText
583605
case (.floatingLiteral(let lhsText), .floatingLiteral(let rhsText)):
584606
return lhsText == rhsText
585607
case (.identifier(let lhsText), .identifier(let rhsText)):
@@ -628,8 +650,10 @@ extension TokenKind: Equatable {
628650
return lhsText == rhsText
629651
case (.rawStringDelimiter(let lhsText), .rawStringDelimiter(let rhsText)):
630652
return lhsText == rhsText
631-
case (.regexLiteral(let lhsText), .regexLiteral(let rhsText)):
653+
case (.regexLiteralPattern(let lhsText), .regexLiteralPattern(let rhsText)):
632654
return lhsText == rhsText
655+
case (.regexSlash, .regexSlash):
656+
return true
633657
case (.rightAngle, .rightAngle):
634658
return true
635659
case (.rightBrace, .rightBrace):
@@ -674,6 +698,7 @@ public enum RawTokenKind: UInt8, Equatable, Hashable {
674698
case ellipsis
675699
case equal
676700
case exclamationMark
701+
case extendedRegexDelimiter
677702
case floatingLiteral
678703
case identifier
679704
case infixQuestionMark
@@ -698,7 +723,8 @@ public enum RawTokenKind: UInt8, Equatable, Hashable {
698723
case prefixAmpersand
699724
case prefixOperator
700725
case rawStringDelimiter
701-
case regexLiteral
726+
case regexLiteralPattern
727+
case regexSlash
702728
case rightAngle
703729
case rightBrace
704730
case rightParen
@@ -767,6 +793,8 @@ public enum RawTokenKind: UInt8, Equatable, Hashable {
767793
return #"#unavailable"#
768794
case .prefixAmpersand:
769795
return #"&"#
796+
case .regexSlash:
797+
return #"/"#
770798
case .rightAngle:
771799
return #">"#
772800
case .rightBrace:
@@ -819,6 +847,8 @@ public enum RawTokenKind: UInt8, Equatable, Hashable {
819847
return true
820848
case .exclamationMark:
821849
return true
850+
case .extendedRegexDelimiter:
851+
return false
822852
case .floatingLiteral:
823853
return false
824854
case .identifier:
@@ -867,8 +897,10 @@ public enum RawTokenKind: UInt8, Equatable, Hashable {
867897
return false
868898
case .rawStringDelimiter:
869899
return false
870-
case .regexLiteral:
900+
case .regexLiteralPattern:
871901
return false
902+
case .regexSlash:
903+
return true
872904
case .rightAngle:
873905
return true
874906
case .rightBrace:
@@ -931,6 +963,8 @@ extension TokenKind {
931963
case .exclamationMark:
932964
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
933965
return .exclamationMark
966+
case .extendedRegexDelimiter:
967+
return .extendedRegexDelimiter(text)
934968
case .floatingLiteral:
935969
return .floatingLiteral(text)
936970
case .identifier:
@@ -999,8 +1033,11 @@ extension TokenKind {
9991033
return .prefixOperator(text)
10001034
case .rawStringDelimiter:
10011035
return .rawStringDelimiter(text)
1002-
case .regexLiteral:
1003-
return .regexLiteral(text)
1036+
case .regexLiteralPattern:
1037+
return .regexLiteralPattern(text)
1038+
case .regexSlash:
1039+
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
1040+
return .regexSlash
10041041
case .rightAngle:
10051042
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
10061043
return .rightAngle
@@ -1061,6 +1098,8 @@ extension TokenKind {
10611098
return (.equal, nil)
10621099
case .exclamationMark:
10631100
return (.exclamationMark, nil)
1101+
case .extendedRegexDelimiter(let str):
1102+
return (.extendedRegexDelimiter, str)
10641103
case .floatingLiteral(let str):
10651104
return (.floatingLiteral, str)
10661105
case .identifier(let str):
@@ -1109,8 +1148,10 @@ extension TokenKind {
11091148
return (.prefixOperator, str)
11101149
case .rawStringDelimiter(let str):
11111150
return (.rawStringDelimiter, str)
1112-
case .regexLiteral(let str):
1113-
return (.regexLiteral, str)
1151+
case .regexLiteralPattern(let str):
1152+
return (.regexLiteralPattern, str)
1153+
case .regexSlash:
1154+
return (.regexSlash, nil)
11141155
case .rightAngle:
11151156
return (.rightAngle, nil)
11161157
case .rightBrace:

Sources/SwiftSyntax/generated/Tokens.swift

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,22 @@ extension TokenSyntax {
171171
)
172172
}
173173

174+
public static func extendedRegexDelimiter(
175+
_ text: String,
176+
leadingTrivia: Trivia = [],
177+
trailingTrivia: Trivia = [],
178+
presence: SourcePresence = .present
179+
180+
) -> TokenSyntax {
181+
return TokenSyntax(
182+
.extendedRegexDelimiter(text),
183+
leadingTrivia: leadingTrivia,
184+
trailingTrivia: trailingTrivia,
185+
presence: presence
186+
187+
)
188+
}
189+
174190
public static func floatingLiteral(
175191
_ text: String,
176192
leadingTrivia: Trivia = [],
@@ -521,15 +537,29 @@ extension TokenSyntax {
521537
)
522538
}
523539

524-
public static func regexLiteral(
540+
public static func regexLiteralPattern(
525541
_ text: String,
526542
leadingTrivia: Trivia = [],
527543
trailingTrivia: Trivia = [],
528544
presence: SourcePresence = .present
529545

530546
) -> TokenSyntax {
531547
return TokenSyntax(
532-
.regexLiteral(text),
548+
.regexLiteralPattern(text),
549+
leadingTrivia: leadingTrivia,
550+
trailingTrivia: trailingTrivia,
551+
presence: presence
552+
553+
)
554+
}
555+
556+
public static func regexSlashToken(
557+
leadingTrivia: Trivia = [],
558+
trailingTrivia: Trivia = [],
559+
presence: SourcePresence = .present
560+
) -> TokenSyntax {
561+
return TokenSyntax(
562+
.regexSlash,
533563
leadingTrivia: leadingTrivia,
534564
trailingTrivia: trailingTrivia,
535565
presence: presence

0 commit comments

Comments
 (0)