@@ -15,7 +15,6 @@ public class TokenSpec {
15
15
public let name : String
16
16
public let nameForDiagnostics : String
17
17
public let text : String ?
18
- public let classification : SyntaxClassification ?
19
18
public let isKeyword : Bool
20
19
public let associatedValueClass : String ?
21
20
@@ -33,14 +32,12 @@ public class TokenSpec {
33
32
name: String ,
34
33
nameForDiagnostics: String ,
35
34
text: String ? = nil ,
36
- classification: String = " None " ,
37
35
isKeyword: Bool = false ,
38
36
associatedValueClass: String ? = nil
39
37
) {
40
38
self . name = name
41
39
self . nameForDiagnostics = nameForDiagnostics
42
40
self . text = text
43
- self . classification = classificationByName ( classification)
44
41
self . isKeyword = isKeyword
45
42
self . associatedValueClass = associatedValueClass
46
43
}
@@ -50,14 +47,12 @@ public class PoundKeywordSpec: TokenSpec {
50
47
init (
51
48
name: String ,
52
49
nameForDiagnostics: String ? = nil ,
53
- text: String ,
54
- classification: String = " Keyword "
50
+ text: String
55
51
) {
56
52
super. init (
57
53
name: name,
58
54
nameForDiagnostics: nameForDiagnostics ?? text,
59
55
text: text,
60
- classification: classification,
61
56
isKeyword: true
62
57
)
63
58
}
@@ -69,16 +64,14 @@ public class PoundObjectLiteralSpec: PoundKeywordSpec {
69
64
init (
70
65
name: String ,
71
66
text: String ,
72
- classification: String = " ObjectLiteral " ,
73
67
nameForDiagnostics: String ,
74
68
`protocol`: String
75
69
) {
76
70
self . `protocol` = `protocol`
77
71
super. init (
78
72
name: name,
79
73
nameForDiagnostics: nameForDiagnostics,
80
- text: text,
81
- classification: classification
74
+ text: text
82
75
)
83
76
}
84
77
}
@@ -88,42 +81,36 @@ public class PoundConfigSpec: PoundKeywordSpec {}
88
81
public class PoundDirectiveKeywordSpec : PoundKeywordSpec {
89
82
init (
90
83
name: String ,
91
- text: String ,
92
- classification: String = " PoundDirectiveKeyword "
84
+ text: String
93
85
) {
94
86
super. init (
95
87
name: name,
96
- text: text,
97
- classification: classification
88
+ text: text
98
89
)
99
90
}
100
91
}
101
92
102
93
public class PoundConditionalDirectiveKeywordSpec : PoundDirectiveKeywordSpec {
103
94
override init (
104
95
name: String ,
105
- text: String ,
106
- classification: String = " PoundDirectiveKeyword "
96
+ text: String
107
97
) {
108
98
super. init (
109
99
name: name,
110
- text: text,
111
- classification: classification
100
+ text: text
112
101
)
113
102
}
114
103
}
115
104
116
105
public class PunctuatorSpec : TokenSpec {
117
106
init (
118
107
name: String ,
119
- text: String ,
120
- classification: String = " None "
108
+ text: String
121
109
) {
122
110
super. init (
123
111
name: name,
124
112
nameForDiagnostics: text,
125
113
text: text,
126
- classification: classification,
127
114
isKeyword: false
128
115
)
129
116
}
@@ -135,30 +122,30 @@ public class MiscSpec: TokenSpec {}
135
122
136
123
public let SYNTAX_TOKENS : [ TokenSpec ] = [
137
124
PunctuatorSpec ( name: " Arrow " , text: " -> " ) ,
138
- PunctuatorSpec ( name: " AtSign " , text: " @ " , classification : " Attribute " ) ,
125
+ PunctuatorSpec ( name: " AtSign " , text: " @ " ) ,
139
126
PunctuatorSpec ( name: " Backslash " , text: " \\ " ) ,
140
127
PunctuatorSpec ( name: " Backtick " , text: " ` " ) ,
141
- MiscSpec ( name: " BinaryOperator " , nameForDiagnostics: " binary operator " , classification : " OperatorIdentifier " ) ,
128
+ MiscSpec ( name: " BinaryOperator " , nameForDiagnostics: " binary operator " ) ,
142
129
PunctuatorSpec ( name: " Colon " , text: " : " ) ,
143
130
PunctuatorSpec ( name: " Comma " , text: " , " ) ,
144
- MiscSpec ( name: " DollarIdentifier " , nameForDiagnostics: " dollar identifier " , classification : " DollarIdentifier " ) ,
131
+ MiscSpec ( name: " DollarIdentifier " , nameForDiagnostics: " dollar identifier " ) ,
145
132
PunctuatorSpec ( name: " Ellipsis " , text: " ... " ) ,
146
133
MiscSpec ( name: " EndOfFile " , nameForDiagnostics: " end of file " , text: " " ) ,
147
134
PunctuatorSpec ( name: " Equal " , text: " = " ) ,
148
135
PunctuatorSpec ( name: " ExclamationMark " , text: " ! " ) ,
149
- MiscSpec ( name: " ExtendedRegexDelimiter " , nameForDiagnostics: " extended delimiter " , classification : " RegexLiteral " ) ,
150
- LiteralSpec ( name: " FloatingLiteral " , nameForDiagnostics: " floating literal " , classification : " FloatingLiteral " ) ,
151
- MiscSpec ( name: " Identifier " , nameForDiagnostics: " identifier " , classification : " Identifier " ) ,
136
+ MiscSpec ( name: " ExtendedRegexDelimiter " , nameForDiagnostics: " extended delimiter " ) ,
137
+ LiteralSpec ( name: " FloatingLiteral " , nameForDiagnostics: " floating literal " ) ,
138
+ MiscSpec ( name: " Identifier " , nameForDiagnostics: " identifier " ) ,
152
139
PunctuatorSpec ( name: " InfixQuestionMark " , text: " ? " ) ,
153
- LiteralSpec ( name: " IntegerLiteral " , nameForDiagnostics: " integer literal " , classification : " IntegerLiteral " ) ,
154
- MiscSpec ( name: " Keyword " , nameForDiagnostics: " keyword " , classification : " Keyword " , associatedValueClass: " Keyword " ) ,
140
+ LiteralSpec ( name: " IntegerLiteral " , nameForDiagnostics: " integer literal " ) ,
141
+ MiscSpec ( name: " Keyword " , nameForDiagnostics: " keyword " , associatedValueClass: " Keyword " ) ,
155
142
PunctuatorSpec ( name: " LeftAngle " , text: " < " ) ,
156
143
PunctuatorSpec ( name: " LeftBrace " , text: " { " ) ,
157
144
PunctuatorSpec ( name: " LeftParen " , text: " ( " ) ,
158
145
PunctuatorSpec ( name: " LeftSquare " , text: " [ " ) ,
159
- PunctuatorSpec ( name: " MultilineStringQuote " , text: " \" \" \" " , classification : " StringLiteral " ) ,
146
+ PunctuatorSpec ( name: " MultilineStringQuote " , text: " \" \" \" " ) ,
160
147
PunctuatorSpec ( name: " Period " , text: " . " ) ,
161
- MiscSpec ( name: " PostfixOperator " , nameForDiagnostics: " postfix operator " , classification : " OperatorIdentifier " ) ,
148
+ MiscSpec ( name: " PostfixOperator " , nameForDiagnostics: " postfix operator " ) ,
162
149
PunctuatorSpec ( name: " PostfixQuestionMark " , text: " ? " ) ,
163
150
PunctuatorSpec ( name: " Pound " , text: " # " ) ,
164
151
PoundConfigSpec ( name: " PoundAvailable " , text: " #available " ) ,
@@ -169,18 +156,18 @@ public let SYNTAX_TOKENS: [TokenSpec] = [
169
156
PoundDirectiveKeywordSpec ( name: " PoundSourceLocation " , text: " #sourceLocation " ) ,
170
157
PoundConfigSpec ( name: " PoundUnavailable " , text: " #unavailable " ) ,
171
158
PunctuatorSpec ( name: " PrefixAmpersand " , text: " & " ) ,
172
- MiscSpec ( name: " PrefixOperator " , nameForDiagnostics: " prefix operator " , classification : " OperatorIdentifier " ) ,
159
+ MiscSpec ( name: " PrefixOperator " , nameForDiagnostics: " prefix operator " ) ,
173
160
MiscSpec ( name: " RawStringDelimiter " , nameForDiagnostics: " raw string delimiter " ) ,
174
- MiscSpec ( name: " RegexLiteralPattern " , nameForDiagnostics: " regex pattern " , classification : " RegexLiteral " ) ,
175
- PunctuatorSpec ( name: " RegexSlash " , text: " / " , classification : " RegexLiteral " ) ,
161
+ MiscSpec ( name: " RegexLiteralPattern " , nameForDiagnostics: " regex pattern " ) ,
162
+ PunctuatorSpec ( name: " RegexSlash " , text: " / " ) ,
176
163
PunctuatorSpec ( name: " RightAngle " , text: " > " ) ,
177
164
PunctuatorSpec ( name: " RightBrace " , text: " } " ) ,
178
165
PunctuatorSpec ( name: " RightParen " , text: " ) " ) ,
179
166
PunctuatorSpec ( name: " RightSquare " , text: " ] " ) ,
180
167
PunctuatorSpec ( name: " Semicolon " , text: " ; " ) ,
181
- PunctuatorSpec ( name: " SingleQuote " , text: " \' " , classification : " StringLiteral " ) ,
182
- PunctuatorSpec ( name: " StringQuote " , text: " \" " , classification : " StringLiteral " ) ,
183
- MiscSpec ( name: " StringSegment " , nameForDiagnostics: " string segment " , classification : " StringLiteral " ) ,
168
+ PunctuatorSpec ( name: " SingleQuote " , text: " \' " ) ,
169
+ PunctuatorSpec ( name: " StringQuote " , text: " \" " ) ,
170
+ MiscSpec ( name: " StringSegment " , nameForDiagnostics: " string segment " ) ,
184
171
MiscSpec ( name: " Unknown " , nameForDiagnostics: " token " ) ,
185
172
MiscSpec ( name: " Wildcard " , nameForDiagnostics: " wildcard " , text: " _ " ) ,
186
173
]
0 commit comments