Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: pkg/front_end/lib/src/scanner/token.dart

Issue 2797133008: merge fasta.Keyword into analyzer.Keyword (Closed)
Patch Set: rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /** 5 /**
6 * Defines the tokens that are produced by the scanner, used by the parser, and 6 * Defines the tokens that are produced by the scanner, used by the parser, and
7 * referenced from the [AST structure](ast.dart). 7 * referenced from the [AST structure](ast.dart).
8 */ 8 */
9 import 'dart:collection'; 9 import 'dart:collection';
10 10
11 import 'package:front_end/src/base/syntactic_entity.dart'; 11 import 'package:front_end/src/base/syntactic_entity.dart';
12 import 'package:front_end/src/scanner/string_utilities.dart'; 12 import 'package:front_end/src/scanner/string_utilities.dart';
13 import 'package:front_end/src/fasta/scanner/keyword.dart' as fasta;
14 import 'package:front_end/src/fasta/scanner/precedence.dart' as fasta; 13 import 'package:front_end/src/fasta/scanner/precedence.dart' as fasta;
15 14
16 /** 15 /**
17 * The opening half of a grouping pair of tokens. This is used for curly 16 * The opening half of a grouping pair of tokens. This is used for curly
18 * brackets ('{'), parentheses ('('), and square brackets ('['). 17 * brackets ('{'), parentheses ('('), and square brackets ('[').
19 */ 18 */
20 class BeginToken extends SimpleToken { 19 class BeginToken extends SimpleToken {
21 /** 20 /**
22 * The token that corresponds to this token. 21 * The token that corresponds to this token.
23 */ 22 */
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 references.forEach((ref) => copy.references.add(ref.copy())); 141 references.forEach((ref) => copy.references.add(ref.copy()));
143 return copy; 142 return copy;
144 } 143 }
145 } 144 }
146 145
147 /** 146 /**
148 * The keywords in the Dart programming language. 147 * The keywords in the Dart programming language.
149 * 148 *
150 * Clients may not extend, implement or mix-in this class. 149 * Clients may not extend, implement or mix-in this class.
151 */ 150 */
152 abstract class Keyword { 151 class Keyword {
153 static const Keyword ABSTRACT = fasta.Keyword.ABSTRACT; 152 static const Keyword ABSTRACT = const Keyword("abstract", isBuiltIn: true);
154 153
155 static const Keyword AS = fasta.Keyword.AS; 154 static const Keyword AS =
155 const Keyword("as", info: fasta.AS_INFO, isBuiltIn: true);
156 156
157 static const Keyword ASSERT = fasta.Keyword.ASSERT; 157 static const Keyword ASSERT = const Keyword("assert");
158 158
159 static const Keyword ASYNC = fasta.Keyword.ASYNC; 159 static const Keyword ASYNC = const Keyword("async", isPseudo: true);
160 160
161 static const Keyword AWAIT = fasta.Keyword.AWAIT; 161 static const Keyword AWAIT = const Keyword("await", isPseudo: true);
162 162
163 static const Keyword BREAK = fasta.Keyword.BREAK; 163 static const Keyword BREAK = const Keyword("break");
164 164
165 static const Keyword CASE = fasta.Keyword.CASE; 165 static const Keyword CASE = const Keyword("case");
166 166
167 static const Keyword CATCH = fasta.Keyword.CATCH; 167 static const Keyword CATCH = const Keyword("catch");
168 168
169 static const Keyword CLASS = fasta.Keyword.CLASS; 169 static const Keyword CLASS = const Keyword("class");
170 170
171 static const Keyword CONST = fasta.Keyword.CONST; 171 static const Keyword CONST = const Keyword("const");
172 172
173 static const Keyword CONTINUE = fasta.Keyword.CONTINUE; 173 static const Keyword CONTINUE = const Keyword("continue");
174 174
175 static const Keyword COVARIANT = fasta.Keyword.COVARIANT; 175 static const Keyword COVARIANT = const Keyword("covariant", isBuiltIn: true);
176 176
177 static const Keyword DEFAULT = fasta.Keyword.DEFAULT; 177 static const Keyword DEFAULT = const Keyword("default");
178 178
179 static const Keyword DEFERRED = fasta.Keyword.DEFERRED; 179 static const Keyword DEFERRED = const Keyword("deferred", isBuiltIn: true);
180 180
181 static const Keyword DO = fasta.Keyword.DO; 181 static const Keyword DO = const Keyword("do");
182 182
183 static const Keyword DYNAMIC = fasta.Keyword.DYNAMIC; 183 static const Keyword DYNAMIC = const Keyword("dynamic", isBuiltIn: true);
184 184
185 static const Keyword ELSE = fasta.Keyword.ELSE; 185 static const Keyword ELSE = const Keyword("else");
186 186
187 static const Keyword ENUM = fasta.Keyword.ENUM; 187 static const Keyword ENUM = const Keyword("enum");
188 188
189 static const Keyword EXPORT = fasta.Keyword.EXPORT; 189 static const Keyword EXPORT = const Keyword("export", isBuiltIn: true);
190 190
191 static const Keyword EXTENDS = fasta.Keyword.EXTENDS; 191 static const Keyword EXTENDS = const Keyword("extends");
192 192
193 static const Keyword EXTERNAL = fasta.Keyword.EXTERNAL; 193 static const Keyword EXTERNAL = const Keyword("external", isBuiltIn: true);
194 194
195 static const Keyword FACTORY = fasta.Keyword.FACTORY; 195 static const Keyword FACTORY = const Keyword("factory", isBuiltIn: true);
196 196
197 static const Keyword FALSE = fasta.Keyword.FALSE; 197 static const Keyword FALSE = const Keyword("false");
198 198
199 static const Keyword FINAL = fasta.Keyword.FINAL; 199 static const Keyword FINAL = const Keyword("final");
200 200
201 static const Keyword FINALLY = fasta.Keyword.FINALLY; 201 static const Keyword FINALLY = const Keyword("finally");
202 202
203 static const Keyword FOR = fasta.Keyword.FOR; 203 static const Keyword FOR = const Keyword("for");
204 204
205 static const Keyword FUNCTION = fasta.Keyword.FUNCTION; 205 static const Keyword FUNCTION = const Keyword("Function", isPseudo: true);
206 206
207 static const Keyword GET = fasta.Keyword.GET; 207 static const Keyword GET = const Keyword("get", isBuiltIn: true);
208 208
209 static const Keyword HIDE = fasta.Keyword.HIDE; 209 static const Keyword HIDE = const Keyword("hide", isPseudo: true);
210 210
211 static const Keyword IF = fasta.Keyword.IF; 211 static const Keyword IF = const Keyword("if");
212 212
213 static const Keyword IMPLEMENTS = fasta.Keyword.IMPLEMENTS; 213 static const Keyword IMPLEMENTS =
214 const Keyword("implements", isBuiltIn: true);
214 215
215 static const Keyword IMPORT = fasta.Keyword.IMPORT; 216 static const Keyword IMPORT = const Keyword("import", isBuiltIn: true);
216 217
217 static const Keyword IN = fasta.Keyword.IN; 218 static const Keyword IN = const Keyword("in");
218 219
219 static const Keyword IS = fasta.Keyword.IS; 220 static const Keyword IS = const Keyword("is", info: fasta.IS_INFO);
220 221
221 static const Keyword LIBRARY = fasta.Keyword.LIBRARY; 222 static const Keyword LIBRARY = const Keyword("library", isBuiltIn: true);
222 223
223 static const Keyword NATIVE = fasta.Keyword.NATIVE; 224 static const Keyword NATIVE = const Keyword("native", isPseudo: true);
224 225
225 static const Keyword NEW = fasta.Keyword.NEW; 226 static const Keyword NEW = const Keyword("new");
226 227
227 static const Keyword NULL = fasta.Keyword.NULL; 228 static const Keyword NULL = const Keyword("null");
228 229
229 static const Keyword OF = fasta.Keyword.OF; 230 static const Keyword OF = const Keyword("of", isPseudo: true);
230 231
231 static const Keyword ON = fasta.Keyword.ON; 232 static const Keyword ON = const Keyword("on", isPseudo: true);
232 233
233 static const Keyword OPERATOR = fasta.Keyword.OPERATOR; 234 static const Keyword OPERATOR = const Keyword("operator", isBuiltIn: true);
234 235
235 static const Keyword PART = fasta.Keyword.PART; 236 static const Keyword PART = const Keyword("part", isBuiltIn: true);
236 237
237 static const Keyword PATCH = fasta.Keyword.PATCH; 238 static const Keyword PATCH = const Keyword("patch", isPseudo: true);
238 239
239 static const Keyword RETHROW = fasta.Keyword.RETHROW; 240 static const Keyword RETHROW = const Keyword("rethrow");
240 241
241 static const Keyword RETURN = fasta.Keyword.RETURN; 242 static const Keyword RETURN = const Keyword("return");
242 243
243 static const Keyword SET = fasta.Keyword.SET; 244 static const Keyword SET = const Keyword("set", isBuiltIn: true);
244 245
245 static const Keyword SHOW = fasta.Keyword.SHOW; 246 static const Keyword SHOW = const Keyword("show", isPseudo: true);
246 247
247 static const Keyword SOURCE = fasta.Keyword.SOURCE; 248 static const Keyword SOURCE = const Keyword("source", isPseudo: true);
248 249
249 static const Keyword STATIC = fasta.Keyword.STATIC; 250 static const Keyword STATIC = const Keyword("static", isBuiltIn: true);
250 251
251 static const Keyword SUPER = fasta.Keyword.SUPER; 252 static const Keyword SUPER = const Keyword("super");
252 253
253 static const Keyword SWITCH = fasta.Keyword.SWITCH; 254 static const Keyword SWITCH = const Keyword("switch");
254 255
255 static const Keyword SYNC = fasta.Keyword.SYNC; 256 static const Keyword SYNC = const Keyword("sync", isPseudo: true);
256 257
257 static const Keyword THIS = fasta.Keyword.THIS; 258 static const Keyword THIS = const Keyword("this");
258 259
259 static const Keyword THROW = fasta.Keyword.THROW; 260 static const Keyword THROW = const Keyword("throw");
260 261
261 static const Keyword TRUE = fasta.Keyword.TRUE; 262 static const Keyword TRUE = const Keyword("true");
262 263
263 static const Keyword TRY = fasta.Keyword.TRY; 264 static const Keyword TRY = const Keyword("try");
264 265
265 static const Keyword TYPEDEF = fasta.Keyword.TYPEDEF; 266 static const Keyword TYPEDEF = const Keyword("typedef", isBuiltIn: true);
266 267
267 static const Keyword VAR = fasta.Keyword.VAR; 268 static const Keyword VAR = const Keyword("var");
268 269
269 static const Keyword VOID = fasta.Keyword.VOID; 270 static const Keyword VOID = const Keyword("void");
270 271
271 static const Keyword WHILE = fasta.Keyword.WHILE; 272 static const Keyword WHILE = const Keyword("while");
272 273
273 static const Keyword WITH = fasta.Keyword.WITH; 274 static const Keyword WITH = const Keyword("with");
274 275
275 static const Keyword YIELD = fasta.Keyword.YIELD; 276 static const Keyword YIELD = const Keyword("yield", isPseudo: true);
276 277
277 static const List<Keyword> values = const <Keyword>[ 278 static const List<Keyword> values = const <Keyword>[
278 ABSTRACT, 279 ABSTRACT,
279 AS, 280 AS,
280 ASSERT, 281 ASSERT,
281 ASYNC, 282 ASYNC,
282 AWAIT, 283 AWAIT,
283 BREAK, 284 BREAK,
284 CASE, 285 CASE,
285 CATCH, 286 CATCH,
(...skipping 968 matching lines...) Expand 10 before | Expand all | Expand 10 after
1254 1255
1255 void set precedingComments(CommentToken comment) { 1256 void set precedingComments(CommentToken comment) {
1256 _precedingComment = comment; 1257 _precedingComment = comment;
1257 _setCommentParent(_precedingComment); 1258 _setCommentParent(_precedingComment);
1258 } 1259 }
1259 1260
1260 @override 1261 @override
1261 Token copy() => 1262 Token copy() =>
1262 new TokenWithComment(type, offset, copyComments(precedingComments)); 1263 new TokenWithComment(type, offset, copyComments(precedingComments));
1263 } 1264 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/scanner/token.dart ('k') | pkg/front_end/test/scanner_fasta_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698