Skip to content

Commit 6208ab4

Browse files
committed
Remove text_choices and model the text choices in token_choices
1 parent b3500cb commit 6208ab4

File tree

17 files changed

+203
-182
lines changed

17 files changed

+203
-182
lines changed

CodeGeneration/Sources/SyntaxSupport/KeywordSpec.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,15 @@ public let KEYWORDS: [KeywordSpec] = [
9898
KeywordSpec("available"),
9999
KeywordSpec("await"),
100100
KeywordSpec("before"),
101+
KeywordSpec("block"),
101102
KeywordSpec("break", isLexerClassified: true, requiresTrailingSpace: true),
102103
KeywordSpec("case", isLexerClassified: true, requiresTrailingSpace: true),
103104
KeywordSpec("catch", isLexerClassified: true, requiresLeadingSpace: true),
104105
KeywordSpec("class", isLexerClassified: true, requiresTrailingSpace: true),
105106
KeywordSpec("continue", isLexerClassified: true, requiresTrailingSpace: true),
106107
KeywordSpec("convenience"),
107108
KeywordSpec("convention"),
109+
KeywordSpec("cType"),
108110
KeywordSpec("default", isLexerClassified: true),
109111
KeywordSpec("defer", isLexerClassified: true, requiresTrailingSpace: true),
110112
KeywordSpec("deinit", isLexerClassified: true, requiresTrailingSpace: true),
@@ -124,6 +126,7 @@ public let KEYWORDS: [KeywordSpec] = [
124126
KeywordSpec("extension", isLexerClassified: true, requiresTrailingSpace: true),
125127
KeywordSpec("fallthrough", isLexerClassified: true, requiresTrailingSpace: true),
126128
KeywordSpec("false", isLexerClassified: true),
129+
KeywordSpec("file"),
127130
KeywordSpec("fileprivate", isLexerClassified: true, requiresTrailingSpace: true),
128131
KeywordSpec("final"),
129132
KeywordSpec("for", isLexerClassified: true, requiresTrailingSpace: true),
@@ -145,7 +148,9 @@ public let KEYWORDS: [KeywordSpec] = [
145148
KeywordSpec("isolated"),
146149
KeywordSpec("kind"),
147150
KeywordSpec("lazy"),
151+
KeywordSpec("left"),
148152
KeywordSpec("let", isLexerClassified: true, requiresTrailingSpace: true),
153+
KeywordSpec("line"),
149154
KeywordSpec("lowerThan"),
150155
KeywordSpec("macro"),
151156
KeywordSpec("message"),

CodeGeneration/Sources/SyntaxSupport/gyb_generated/TypeNodes.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,7 @@ public let TYPE_NODES: [Node] = [
104104
kind: "Type",
105105
children: [
106106
Child(name: "SomeOrAnySpecifier",
107-
kind: .token(choices: [.keyword(text: "some"), .keyword(text: "any")]),
108-
classification: "Keyword"),
107+
kind: .token(choices: [.keyword(text: "some"), .keyword(text: "any")])),
109108
Child(name: "BaseType",
110109
kind: .node(kind: "Type"))
111110
]),
@@ -127,7 +126,7 @@ public let TYPE_NODES: [Node] = [
127126
Child(name: "Type",
128127
kind: .node(kind: "Type")),
129128
Child(name: "Ampersand",
130-
kind: .token(choices: [.keyword(text: "&")]),
129+
kind: .node(kind: "Token"),
131130
isOptional: true)
132131
]),
133132

CodeGeneration/Sources/SyntaxSupport/gyb_helpers/utils.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,7 @@ def make_swift_child(child, spaces):
5555
parameter_spaces = 8
5656
parameters = ['name: "%s"' % child.name]
5757

58-
if child.text_choices:
59-
mapped_choices = [f'.keyword(text: "{text}")' for text in child.text_choices]
60-
joined_choices = ', '.join(mapped_choices)
61-
kind = f'.token(choices: [{joined_choices}])'
62-
elif child.token_choices:
58+
if child.token_choices:
6359
mapped_choices = [f'.token(tokenKind: "{choice.name}Token")' for (choice, text) in child.token_choices if text is None]
6460
mapped_choices += [f'.keyword(text: "{text}")' for (choice, text) in child.token_choices if text is not None]
6561
joined_choices = ', '.join(mapped_choices)

Sources/IDEUtils/generated/SyntaxClassification.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,6 @@ extension SyntaxClassification {
9191
switch (parentKind, indexInParent) {
9292
case (.availabilityVersionRestriction, 1):
9393
return (.keyword, false)
94-
case (.constrainedSugarType, 1):
95-
return (.keyword, false)
9694
case (.declModifier, 1):
9795
return (.attribute, false)
9896
case (.expressionSegment, 5):

Sources/SwiftSyntax/generated/Keyword.swift

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,8 @@ public enum Keyword: UInt8, Hashable {
147147

148148
case before
149149

150+
case block
151+
150152
case `break`
151153

152154
case `case`
@@ -161,6 +163,8 @@ public enum Keyword: UInt8, Hashable {
161163

162164
case convention
163165

166+
case cType
167+
164168
case `default`
165169

166170
case `defer`
@@ -199,6 +203,8 @@ public enum Keyword: UInt8, Hashable {
199203

200204
case `false`
201205

206+
case file
207+
202208
case `fileprivate`
203209

204210
case final
@@ -241,8 +247,12 @@ public enum Keyword: UInt8, Hashable {
241247

242248
case lazy
243249

250+
case left
251+
244252
case `let`
245253

254+
case line
255+
246256
case lowerThan
247257

248258
case macro
@@ -449,6 +459,8 @@ public enum Keyword: UInt8, Hashable {
449459
self = .`else`
450460
case "enum":
451461
self = .`enum`
462+
case "file":
463+
self = .file
452464
case "func":
453465
self = .`func`
454466
case "init":
@@ -457,6 +469,10 @@ public enum Keyword: UInt8, Hashable {
457469
self = .kind
458470
case "lazy":
459471
self = .lazy
472+
case "left":
473+
self = .left
474+
case "line":
475+
self = .line
460476
case "objc":
461477
self = .objc
462478
case "open":
@@ -490,12 +506,16 @@ public enum Keyword: UInt8, Hashable {
490506
self = .async
491507
case "await":
492508
self = .await
509+
case "block":
510+
self = .block
493511
case "break":
494512
self = .`break`
495513
case "catch":
496514
self = .`catch`
497515
case "class":
498516
self = .`class`
517+
case "cType":
518+
self = .cType
499519
case "defer":
500520
self = .`defer`
501521
case "false":
@@ -1061,13 +1081,15 @@ public enum Keyword: UInt8, Hashable {
10611081
"available",
10621082
"await",
10631083
"before",
1084+
"block",
10641085
"break",
10651086
"case",
10661087
"catch",
10671088
"class",
10681089
"continue",
10691090
"convenience",
10701091
"convention",
1092+
"cType",
10711093
"default",
10721094
"defer",
10731095
"deinit",
@@ -1087,6 +1109,7 @@ public enum Keyword: UInt8, Hashable {
10871109
"extension",
10881110
"fallthrough",
10891111
"false",
1112+
"file",
10901113
"fileprivate",
10911114
"final",
10921115
"for",
@@ -1108,7 +1131,9 @@ public enum Keyword: UInt8, Hashable {
11081131
"isolated",
11091132
"kind",
11101133
"lazy",
1134+
"left",
11111135
"let",
1136+
"line",
11121137
"lowerThan",
11131138
"macro",
11141139
"message",

Sources/SwiftSyntax/gyb_generated/SyntaxFactory.swift

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1585,7 +1585,7 @@ public enum SyntaxFactory {
15851585
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .closureCaptureItemSpecifier,
15861586
from: [
15871587
nil,
1588-
RawSyntax.makeMissingToken(kind: TokenKind.unknown(""), arena: arena),
1588+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.weak), arena: arena),
15891589
nil,
15901590
nil,
15911591
nil,
@@ -3031,15 +3031,15 @@ public enum SyntaxFactory {
30313031
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .poundSourceLocationArgs,
30323032
from: [
30333033
nil,
3034-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
3034+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.file), arena: arena),
30353035
nil,
30363036
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
30373037
nil,
30383038
RawSyntax.makeEmptyLayout(kind: SyntaxKind.stringLiteralExpr, arena: arena),
30393039
nil,
30403040
RawSyntax.makeMissingToken(kind: TokenKind.comma, arena: arena),
30413041
nil,
3042-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
3042+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.line), arena: arena),
30433043
nil,
30443044
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
30453045
nil,
@@ -3107,7 +3107,7 @@ public enum SyntaxFactory {
31073107
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .declModifier,
31083108
from: [
31093109
nil,
3110-
RawSyntax.makeMissingToken(kind: TokenKind.unknown(""), arena: arena),
3110+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.class), arena: arena),
31113111
nil,
31123112
nil,
31133113
nil,
@@ -4063,7 +4063,7 @@ public enum SyntaxFactory {
40634063
nil,
40644064
nil,
40654065
nil,
4066-
RawSyntax.makeMissingToken(kind: TokenKind.unknown(""), arena: arena),
4066+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.get), arena: arena),
40674067
nil,
40684068
nil,
40694069
nil,
@@ -4610,7 +4610,7 @@ public enum SyntaxFactory {
46104610
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .precedenceGroupRelation,
46114611
from: [
46124612
nil,
4613-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
4613+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.higherThan), arena: arena),
46144614
nil,
46154615
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
46164616
nil,
@@ -4696,7 +4696,7 @@ public enum SyntaxFactory {
46964696
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .precedenceGroupAssignment,
46974697
from: [
46984698
nil,
4699-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
4699+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.assignment), arena: arena),
47004700
nil,
47014701
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
47024702
nil,
@@ -4731,11 +4731,11 @@ public enum SyntaxFactory {
47314731
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .precedenceGroupAssociativity,
47324732
from: [
47334733
nil,
4734-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
4734+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.associativity), arena: arena),
47354735
nil,
47364736
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
47374737
nil,
4738-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
4738+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.left), arena: arena),
47394739
nil,
47404740
], arena: arena))
47414741
return PrecedenceGroupAssociativitySyntax(data)
@@ -5267,7 +5267,7 @@ public enum SyntaxFactory {
52675267
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .differentiabilityParamsClause,
52685268
from: [
52695269
nil,
5270-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
5270+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.wrt), arena: arena),
52715271
nil,
52725272
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
52735273
nil,
@@ -5396,7 +5396,7 @@ public enum SyntaxFactory {
53965396
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .derivativeRegistrationAttributeArguments,
53975397
from: [
53985398
nil,
5399-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
5399+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.of), arena: arena),
54005400
nil,
54015401
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
54025402
nil,
@@ -5478,7 +5478,7 @@ public enum SyntaxFactory {
54785478
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .backDeployAttributeSpecList,
54795479
from: [
54805480
nil,
5481-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
5481+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.before), arena: arena),
54825482
nil,
54835483
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
54845484
nil,
@@ -5603,7 +5603,7 @@ public enum SyntaxFactory {
56035603
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .conventionAttributeArguments,
56045604
from: [
56055605
nil,
5606-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
5606+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.block), arena: arena),
56075607
nil,
56085608
nil,
56095609
nil,
@@ -5716,7 +5716,7 @@ public enum SyntaxFactory {
57165716
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .originallyDefinedInArguments,
57175717
from: [
57185718
nil,
5719-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
5719+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.module), arena: arena),
57205720
nil,
57215721
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
57225722
nil,
@@ -5755,7 +5755,7 @@ public enum SyntaxFactory {
57555755
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .underscorePrivateAttributeArguments,
57565756
from: [
57575757
nil,
5758-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
5758+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.sourceFile), arena: arena),
57595759
nil,
57605760
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
57615761
nil,
@@ -5790,7 +5790,7 @@ public enum SyntaxFactory {
57905790
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .dynamicReplacementArguments,
57915791
from: [
57925792
nil,
5793-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
5793+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.for), arena: arena),
57945794
nil,
57955795
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
57965796
nil,
@@ -5825,7 +5825,7 @@ public enum SyntaxFactory {
58255825
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .unavailableFromAsyncArguments,
58265826
from: [
58275827
nil,
5828-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
5828+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.message), arena: arena),
58295829
nil,
58305830
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
58315831
nil,
@@ -5882,7 +5882,7 @@ public enum SyntaxFactory {
58825882
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .documentationAttributeArgument,
58835883
from: [
58845884
nil,
5885-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
5885+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.visibility), arena: arena),
58865886
nil,
58875887
RawSyntax.makeMissingToken(kind: TokenKind.colon, arena: arena),
58885888
nil,
@@ -7582,7 +7582,7 @@ public enum SyntaxFactory {
75827582
nil,
75837583
RawSyntax.makeMissingToken(kind: TokenKind.period, arena: arena),
75847584
nil,
7585-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
7585+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.Type), arena: arena),
75867586
nil,
75877587
], arena: arena))
75887588
return MetatypeTypeSyntax(data)
@@ -7642,7 +7642,7 @@ public enum SyntaxFactory {
76427642
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .constrainedSugarType,
76437643
from: [
76447644
nil,
7645-
RawSyntax.makeMissingToken(kind: TokenKind.identifier(""), arena: arena),
7645+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.some), arena: arena),
76467646
nil,
76477647
RawSyntax.makeEmptyLayout(kind: SyntaxKind.missingType, arena: arena),
76487648
nil,
@@ -7813,7 +7813,7 @@ public enum SyntaxFactory {
78137813
let data = SyntaxData.forRoot(RawSyntax.makeLayout(kind: .packReferenceType,
78147814
from: [
78157815
nil,
7816-
RawSyntax.makeMissingToken(kind: TokenKind.unknown(""), arena: arena),
7816+
RawSyntax.makeMissingToken(kind: TokenKind.keyword(.each), arena: arena),
78177817
nil,
78187818
RawSyntax.makeEmptyLayout(kind: SyntaxKind.missingType, arena: arena),
78197819
nil,

0 commit comments

Comments
 (0)