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

Side by Side Diff: pkg/compiler/lib/src/parser/listener.dart

Issue 1859343004: dartfmt pkg/compiler (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 library dart2js.parser.listener; 5 library dart2js.parser.listener;
6 6
7 import '../common.dart'; 7 import '../common.dart';
8 import '../diagnostics/messages.dart' show 8 import '../diagnostics/messages.dart' show MessageTemplate;
9 MessageTemplate; 9 import '../tokens/precedence_constants.dart' as Precedence
10 import '../tokens/precedence_constants.dart' as Precedence show 10 show EOF_INFO, IDENTIFIER_INFO;
11 EOF_INFO, 11 import '../tokens/token.dart'
12 IDENTIFIER_INFO; 12 show
13 import '../tokens/token.dart' show 13 BadInputToken,
14 BadInputToken, 14 BeginGroupToken,
15 BeginGroupToken, 15 ErrorToken,
16 ErrorToken, 16 StringToken,
17 StringToken, 17 Token,
18 Token, 18 UnmatchedToken,
19 UnmatchedToken, 19 UnterminatedToken;
20 UnterminatedToken;
21 import '../tree/tree.dart'; 20 import '../tree/tree.dart';
22 21
23 const bool VERBOSE = false; 22 const bool VERBOSE = false;
24 23
25 /** 24 /**
26 * A parser event listener that does nothing except throw exceptions 25 * A parser event listener that does nothing except throw exceptions
27 * on parser errors. 26 * on parser errors.
28 */ 27 */
29 class Listener { 28 class Listener {
30 set suppressParseErrors(bool value) { 29 set suppressParseErrors(bool value) {}
31 } 30
32 31 void beginArguments(Token token) {}
33 void beginArguments(Token token) { 32
34 } 33 void endArguments(int count, Token beginToken, Token endToken) {}
35
36 void endArguments(int count, Token beginToken, Token endToken) {
37 }
38 34
39 /// Handle async modifiers `async`, `async*`, `sync`. 35 /// Handle async modifiers `async`, `async*`, `sync`.
40 void handleAsyncModifier(Token asyncToken, Token startToken) { 36 void handleAsyncModifier(Token asyncToken, Token startToken) {}
41 } 37
42 38 void beginAwaitExpression(Token token) {}
43 void beginAwaitExpression(Token token) { 39
44 } 40 void endAwaitExpression(Token beginToken, Token endToken) {}
45 41
46 void endAwaitExpression(Token beginToken, Token endToken) { 42 void beginBlock(Token token) {}
47 } 43
48 44 void endBlock(int count, Token beginToken, Token endToken) {}
49 void beginBlock(Token token) { 45
50 } 46 void beginCascade(Token token) {}
51 47
52 void endBlock(int count, Token beginToken, Token endToken) { 48 void endCascade() {}
53 } 49
54 50 void beginClassBody(Token token) {}
55 void beginCascade(Token token) { 51
56 } 52 void endClassBody(int memberCount, Token beginToken, Token endToken) {}
57 53
58 void endCascade() { 54 void beginClassDeclaration(Token token) {}
59 }
60
61 void beginClassBody(Token token) {
62 }
63
64 void endClassBody(int memberCount, Token beginToken, Token endToken) {
65 }
66
67 void beginClassDeclaration(Token token) {
68 }
69 55
70 void endClassDeclaration(int interfacesCount, Token beginToken, 56 void endClassDeclaration(int interfacesCount, Token beginToken,
71 Token extendsKeyword, Token implementsKeyword, 57 Token extendsKeyword, Token implementsKeyword, Token endToken) {}
72 Token endToken) { 58
73 } 59 void beginCombinators(Token token) {}
74 60
75 void beginCombinators(Token token) { 61 void endCombinators(int count) {}
76 } 62
77 63 void beginCompilationUnit(Token token) {}
78 void endCombinators(int count) { 64
79 } 65 void endCompilationUnit(int count, Token token) {}
80 66
81 void beginCompilationUnit(Token token) { 67 void beginConstructorReference(Token start) {}
82 } 68
83 69 void endConstructorReference(
84 void endCompilationUnit(int count, Token token) { 70 Token start, Token periodBeforeName, Token endToken) {}
85 } 71
86 72 void beginDoWhileStatement(Token token) {}
87 void beginConstructorReference(Token start) { 73
88 } 74 void endDoWhileStatement(
89 75 Token doKeyword, Token whileKeyword, Token endToken) {}
90 void endConstructorReference(Token start, Token periodBeforeName, 76
91 Token endToken) { 77 void beginEnum(Token enumKeyword) {}
92 } 78
93 79 void endEnum(Token enumKeyword, Token endBrace, int count) {}
94 void beginDoWhileStatement(Token token) { 80
95 } 81 void beginExport(Token token) {}
96 82
97 void endDoWhileStatement(Token doKeyword, Token whileKeyword, 83 void endExport(Token exportKeyword, Token semicolon) {}
98 Token endToken) { 84
99 } 85 void beginExpressionStatement(Token token) {}
100 86
101 void beginEnum(Token enumKeyword) { 87 void endExpressionStatement(Token token) {}
102 } 88
103 89 void beginFactoryMethod(Token token) {}
104 void endEnum(Token enumKeyword, Token endBrace, int count) { 90
105 } 91 void endFactoryMethod(Token beginToken, Token endToken) {}
106 92
107 void beginExport(Token token) { 93 void beginFormalParameter(Token token) {}
108 } 94
109 95 void endFormalParameter(Token thisKeyword) {}
110 void endExport(Token exportKeyword, Token semicolon) { 96
111 } 97 void handleNoFormalParameters(Token token) {}
112 98
113 void beginExpressionStatement(Token token) { 99 void beginFormalParameters(Token token) {}
114 } 100
115 101 void endFormalParameters(int count, Token beginToken, Token endToken) {}
116 void endExpressionStatement(Token token) { 102
117 } 103 void endFields(int count, Token beginToken, Token endToken) {}
118 104
119 void beginFactoryMethod(Token token) { 105 void beginForStatement(Token token) {}
120 } 106
121 107 void endForStatement(
122 void endFactoryMethod(Token beginToken, Token endToken) { 108 int updateExpressionCount, Token beginToken, Token endToken) {}
123 } 109
124 110 void endForIn(
125 void beginFormalParameter(Token token) { 111 Token awaitToken, Token forToken, Token inKeyword, Token endToken) {}
126 } 112
127 113 void beginFunction(Token token) {}
128 void endFormalParameter(Token thisKeyword) { 114
129 } 115 void endFunction(Token getOrSet, Token endToken) {}
130 116
131 void handleNoFormalParameters(Token token) { 117 void beginFunctionDeclaration(Token token) {}
132 } 118
133 119 void endFunctionDeclaration(Token token) {}
134 void beginFormalParameters(Token token) { 120
135 } 121 void beginFunctionBody(Token token) {}
136 122
137 void endFormalParameters(int count, Token beginToken, Token endToken) { 123 void endFunctionBody(int count, Token beginToken, Token endToken) {}
138 } 124
139 125 void handleNoFunctionBody(Token token) {}
140 void endFields(int count, Token beginToken, Token endToken) { 126
141 } 127 void skippedFunctionBody(Token token) {}
142 128
143 void beginForStatement(Token token) { 129 void beginFunctionName(Token token) {}
144 } 130
145 131 void endFunctionName(Token token) {}
146 void endForStatement(int updateExpressionCount, 132
147 Token beginToken, Token endToken) { 133 void beginFunctionTypeAlias(Token token) {}
148 } 134
149 135 void endFunctionTypeAlias(Token typedefKeyword, Token endToken) {}
150 void endForIn(Token awaitToken, Token forToken, 136
151 Token inKeyword, Token endToken) { 137 void beginMixinApplication(Token token) {}
152 } 138
153 139 void endMixinApplication() {}
154 void beginFunction(Token token) { 140
155 } 141 void beginNamedMixinApplication(Token token) {}
156 142
157 void endFunction(Token getOrSet, Token endToken) { 143 void endNamedMixinApplication(
158 } 144 Token classKeyword, Token implementsKeyword, Token endToken) {}
159 145
160 void beginFunctionDeclaration(Token token) { 146 void beginHide(Token hideKeyword) {}
161 } 147
162 148 void endHide(Token hideKeyword) {}
163 void endFunctionDeclaration(Token token) { 149
164 } 150 void beginIdentifierList(Token token) {}
165 151
166 void beginFunctionBody(Token token) { 152 void endIdentifierList(int count) {}
167 } 153
168 154 void beginTypeList(Token token) {}
169 void endFunctionBody(int count, Token beginToken, Token endToken) { 155
170 } 156 void endTypeList(int count) {}
171 157
172 void handleNoFunctionBody(Token token) { 158 void beginIfStatement(Token token) {}
173 } 159
174 160 void endIfStatement(Token ifToken, Token elseToken) {}
175 void skippedFunctionBody(Token token) { 161
176 } 162 void beginImport(Token importKeyword) {}
177 163
178 void beginFunctionName(Token token) { 164 void endImport(Token importKeyword, Token DeferredKeyword, Token asKeyword,
179 } 165 Token semicolon) {}
180 166
181 void endFunctionName(Token token) { 167 void beginConditionalUris(Token token) {}
182 } 168
183 169 void endConditionalUris(int count) {}
184 void beginFunctionTypeAlias(Token token) { 170
185 } 171 void beginConditionalUri(Token ifKeyword) {}
186 172
187 void endFunctionTypeAlias(Token typedefKeyword, Token endToken) { 173 void endConditionalUri(Token ifKeyword, Token equalitySign) {}
188 } 174
189 175 void beginDottedName(Token token) {}
190 void beginMixinApplication(Token token) { 176
191 } 177 void endDottedName(int count, Token firstIdentifier) {}
192 178
193 void endMixinApplication() { 179 void beginInitializedIdentifier(Token token) {}
194 } 180
195 181 void endInitializedIdentifier() {}
196 void beginNamedMixinApplication(Token token) { 182
197 } 183 void beginInitializer(Token token) {}
198 184
199 void endNamedMixinApplication(Token classKeyword, 185 void endInitializer(Token assignmentOperator) {}
200 Token implementsKeyword, 186
201 Token endToken) { 187 void beginInitializers(Token token) {}
202 } 188
203 189 void endInitializers(int count, Token beginToken, Token endToken) {}
204 void beginHide(Token hideKeyword) { 190
205 } 191 void handleNoInitializers() {}
206 192
207 void endHide(Token hideKeyword) { 193 void handleLabel(Token token) {}
208 } 194
209 195 void beginLabeledStatement(Token token, int labelCount) {}
210 void beginIdentifierList(Token token) { 196
211 } 197 void endLabeledStatement(int labelCount) {}
212 198
213 void endIdentifierList(int count) { 199 void beginLibraryName(Token token) {}
214 } 200
215 201 void endLibraryName(Token libraryKeyword, Token semicolon) {}
216 void beginTypeList(Token token) { 202
217 } 203 void beginLiteralMapEntry(Token token) {}
218 204
219 void endTypeList(int count) { 205 void endLiteralMapEntry(Token colon, Token endToken) {}
220 } 206
221 207 void beginLiteralString(Token token) {}
222 void beginIfStatement(Token token) { 208
223 } 209 void endLiteralString(int interpolationCount) {}
224 210
225 void endIfStatement(Token ifToken, Token elseToken) { 211 void handleStringJuxtaposition(int literalCount) {}
226 } 212
227 213 void beginMember(Token token) {}
228 void beginImport(Token importKeyword) { 214
229 } 215 void endMethod(Token getOrSet, Token beginToken, Token endToken) {}
230 216
231 void endImport(Token importKeyword, Token DeferredKeyword, 217 void beginMetadataStar(Token token) {}
232 Token asKeyword, Token semicolon) { 218
233 } 219 void endMetadataStar(int count, bool forParameter) {}
234 220
235 void beginConditionalUris(Token token) { 221 void beginMetadata(Token token) {}
236 } 222
237 223 void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) {}
238 void endConditionalUris(int count) { 224
239 } 225 void beginOptionalFormalParameters(Token token) {}
240 226
241 void beginConditionalUri(Token ifKeyword) { 227 void endOptionalFormalParameters(
242 } 228 int count, Token beginToken, Token endToken) {}
243 229
244 void endConditionalUri(Token ifKeyword, Token equalitySign) { 230 void beginPart(Token token) {}
245 } 231
246 232 void endPart(Token partKeyword, Token semicolon) {}
247 void beginDottedName(Token token) { 233
248 } 234 void beginPartOf(Token token) {}
249 235
250 void endDottedName(int count, Token firstIdentifier) { 236 void endPartOf(Token partKeyword, Token semicolon) {}
251 } 237
252 238 void beginRedirectingFactoryBody(Token token) {}
253 void beginInitializedIdentifier(Token token) { 239
254 } 240 void endRedirectingFactoryBody(Token beginToken, Token endToken) {}
255 241
256 void endInitializedIdentifier() { 242 void beginReturnStatement(Token token) {}
257 } 243
258 244 void endReturnStatement(
259 void beginInitializer(Token token) { 245 bool hasExpression, Token beginToken, Token endToken) {}
260 } 246
261 247 void beginSend(Token token) {}
262 void endInitializer(Token assignmentOperator) { 248
263 } 249 void endSend(Token token) {}
264 250
265 void beginInitializers(Token token) { 251 void beginShow(Token showKeyword) {}
266 } 252
267 253 void endShow(Token showKeyword) {}
268 void endInitializers(int count, Token beginToken, Token endToken) { 254
269 } 255 void beginSwitchStatement(Token token) {}
270 256
271 void handleNoInitializers() { 257 void endSwitchStatement(Token switchKeyword, Token endToken) {}
272 } 258
273 259 void beginSwitchBlock(Token token) {}
274 void handleLabel(Token token) { 260
275 } 261 void endSwitchBlock(int caseCount, Token beginToken, Token endToken) {}
276 262
277 void beginLabeledStatement(Token token, int labelCount) { 263 void beginLiteralSymbol(Token token) {}
278 } 264
279 265 void endLiteralSymbol(Token hashToken, int identifierCount) {}
280 void endLabeledStatement(int labelCount) { 266
281 } 267 void beginThrowExpression(Token token) {}
282 268
283 void beginLibraryName(Token token) { 269 void endThrowExpression(Token throwToken, Token endToken) {}
284 } 270
285 271 void beginRethrowStatement(Token token) {}
286 void endLibraryName(Token libraryKeyword, Token semicolon) { 272
287 } 273 void endRethrowStatement(Token throwToken, Token endToken) {}
288 274
289 void beginLiteralMapEntry(Token token) { 275 void endTopLevelDeclaration(Token token) {}
290 } 276
291 277 void beginTopLevelMember(Token token) {}
292 void endLiteralMapEntry(Token colon, Token endToken) { 278
293 } 279 void endTopLevelFields(int count, Token beginToken, Token endToken) {}
294 280
295 void beginLiteralString(Token token) { 281 void endTopLevelMethod(Token beginToken, Token getOrSet, Token endToken) {}
296 } 282
297 283 void beginTryStatement(Token token) {}
298 void endLiteralString(int interpolationCount) { 284
299 } 285 void handleCaseMatch(Token caseKeyword, Token colon) {}
300 286
301 void handleStringJuxtaposition(int literalCount) { 287 void handleCatchBlock(Token onKeyword, Token catchKeyword) {}
302 } 288
303 289 void handleFinallyBlock(Token finallyKeyword) {}
304 void beginMember(Token token) { 290
305 } 291 void endTryStatement(
306 292 int catchCount, Token tryKeyword, Token finallyKeyword) {}
307 void endMethod(Token getOrSet, Token beginToken, Token endToken) { 293
308 } 294 void endType(Token beginToken, Token endToken) {}
309 295
310 void beginMetadataStar(Token token) { 296 void beginTypeArguments(Token token) {}
311 } 297
312 298 void endTypeArguments(int count, Token beginToken, Token endToken) {}
313 void endMetadataStar(int count, bool forParameter) { 299
314 } 300 void handleNoTypeArguments(Token token) {}
315 301
316 void beginMetadata(Token token) { 302 void beginTypeVariable(Token token) {}
317 } 303
318 304 void endTypeVariable(Token token) {}
319 void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) { 305
320 } 306 void beginTypeVariables(Token token) {}
321 307
322 void beginOptionalFormalParameters(Token token) { 308 void endTypeVariables(int count, Token beginToken, Token endToken) {}
323 } 309
324 310 void beginUnnamedFunction(Token token) {}
325 void endOptionalFormalParameters(int count, 311
326 Token beginToken, Token endToken) { 312 void endUnnamedFunction(Token token) {}
327 } 313
328 314 void beginVariablesDeclaration(Token token) {}
329 void beginPart(Token token) { 315
330 } 316 void endVariablesDeclaration(int count, Token endToken) {}
331 317
332 void endPart(Token partKeyword, Token semicolon) { 318 void beginWhileStatement(Token token) {}
333 } 319
334 320 void endWhileStatement(Token whileKeyword, Token endToken) {}
335 void beginPartOf(Token token) {
336 }
337
338 void endPartOf(Token partKeyword, Token semicolon) {
339 }
340
341 void beginRedirectingFactoryBody(Token token) {
342 }
343
344 void endRedirectingFactoryBody(Token beginToken, Token endToken) {
345 }
346
347 void beginReturnStatement(Token token) {
348 }
349
350 void endReturnStatement(bool hasExpression,
351 Token beginToken, Token endToken) {
352 }
353
354 void beginSend(Token token) {
355 }
356
357 void endSend(Token token) {
358 }
359
360 void beginShow(Token showKeyword) {
361 }
362
363 void endShow(Token showKeyword) {
364 }
365
366 void beginSwitchStatement(Token token) {
367 }
368
369 void endSwitchStatement(Token switchKeyword, Token endToken) {
370 }
371
372 void beginSwitchBlock(Token token) {
373 }
374
375 void endSwitchBlock(int caseCount, Token beginToken, Token endToken) {
376 }
377
378 void beginLiteralSymbol(Token token) {
379 }
380
381 void endLiteralSymbol(Token hashToken, int identifierCount) {
382 }
383
384 void beginThrowExpression(Token token) {
385 }
386
387 void endThrowExpression(Token throwToken, Token endToken) {
388 }
389
390 void beginRethrowStatement(Token token) {
391 }
392
393 void endRethrowStatement(Token throwToken, Token endToken) {
394 }
395
396 void endTopLevelDeclaration(Token token) {
397 }
398
399 void beginTopLevelMember(Token token) {
400 }
401
402 void endTopLevelFields(int count, Token beginToken, Token endToken) {
403 }
404
405 void endTopLevelMethod(Token beginToken, Token getOrSet, Token endToken) {
406 }
407
408 void beginTryStatement(Token token) {
409 }
410
411 void handleCaseMatch(Token caseKeyword, Token colon) {
412 }
413
414 void handleCatchBlock(Token onKeyword, Token catchKeyword) {
415 }
416
417 void handleFinallyBlock(Token finallyKeyword) {
418 }
419
420 void endTryStatement(int catchCount, Token tryKeyword, Token finallyKeyword) {
421 }
422
423 void endType(Token beginToken, Token endToken) {
424 }
425
426 void beginTypeArguments(Token token) {
427 }
428
429 void endTypeArguments(int count, Token beginToken, Token endToken) {
430 }
431
432 void handleNoTypeArguments(Token token) {
433 }
434
435 void beginTypeVariable(Token token) {
436 }
437
438 void endTypeVariable(Token token) {
439 }
440
441 void beginTypeVariables(Token token) {
442 }
443
444 void endTypeVariables(int count, Token beginToken, Token endToken) {
445 }
446
447 void beginUnnamedFunction(Token token) {
448 }
449
450 void endUnnamedFunction(Token token) {
451 }
452
453 void beginVariablesDeclaration(Token token) {
454 }
455
456 void endVariablesDeclaration(int count, Token endToken) {
457 }
458
459 void beginWhileStatement(Token token) {
460 }
461
462 void endWhileStatement(Token whileKeyword, Token endToken) {
463 }
464 321
465 void handleAsOperator(Token operathor, Token endToken) { 322 void handleAsOperator(Token operathor, Token endToken) {
466 // TODO(ahe): Rename [operathor] to "operator" when VM bug is fixed. 323 // TODO(ahe): Rename [operathor] to "operator" when VM bug is fixed.
467 } 324 }
468 325
469 void handleAssignmentExpression(Token token) { 326 void handleAssignmentExpression(Token token) {}
470 } 327
471 328 void handleBinaryExpression(Token token) {}
472 void handleBinaryExpression(Token token) { 329
473 } 330 void handleConditionalExpression(Token question, Token colon) {}
474 331
475 void handleConditionalExpression(Token question, Token colon) { 332 void handleConstExpression(Token token) {}
476 } 333
477 334 void handleFunctionTypedFormalParameter(Token token) {}
478 void handleConstExpression(Token token) { 335
479 } 336 void handleIdentifier(Token token) {}
480 337
481 void handleFunctionTypedFormalParameter(Token token) { 338 void handleIndexedExpression(
482 } 339 Token openCurlyBracket, Token closeCurlyBracket) {}
483
484 void handleIdentifier(Token token) {
485 }
486
487 void handleIndexedExpression(Token openCurlyBracket,
488 Token closeCurlyBracket) {
489 }
490 340
491 void handleIsOperator(Token operathor, Token not, Token endToken) { 341 void handleIsOperator(Token operathor, Token not, Token endToken) {
492 // TODO(ahe): Rename [operathor] to "operator" when VM bug is fixed. 342 // TODO(ahe): Rename [operathor] to "operator" when VM bug is fixed.
493 } 343 }
494 344
495 void handleLiteralBool(Token token) { 345 void handleLiteralBool(Token token) {}
496 } 346
497 347 void handleBreakStatement(
498 void handleBreakStatement(bool hasTarget, 348 bool hasTarget, Token breakKeyword, Token endToken) {}
499 Token breakKeyword, Token endToken) { 349
500 } 350 void handleContinueStatement(
501 351 bool hasTarget, Token continueKeyword, Token endToken) {}
502 void handleContinueStatement(bool hasTarget, 352
503 Token continueKeyword, Token endToken) { 353 void handleEmptyStatement(Token token) {}
504 } 354
505 355 void handleAssertStatement(
506 void handleEmptyStatement(Token token) { 356 Token assertKeyword, Token commaToken, Token semicolonToken) {}
507 }
508
509 void handleAssertStatement(Token assertKeyword,
510 Token commaToken, Token semicolonToken) {
511 }
512 357
513 /** Called with either the token containing a double literal, or 358 /** Called with either the token containing a double literal, or
514 * an immediately preceding "unary plus" token. 359 * an immediately preceding "unary plus" token.
515 */ 360 */
516 void handleLiteralDouble(Token token) { 361 void handleLiteralDouble(Token token) {}
517 }
518 362
519 /** Called with either the token containing an integer literal, 363 /** Called with either the token containing an integer literal,
520 * or an immediately preceding "unary plus" token. 364 * or an immediately preceding "unary plus" token.
521 */ 365 */
522 void handleLiteralInt(Token token) { 366 void handleLiteralInt(Token token) {}
523 } 367
524 368 void handleLiteralList(
525 void handleLiteralList(int count, Token beginToken, Token constKeyword, 369 int count, Token beginToken, Token constKeyword, Token endToken) {}
526 Token endToken) { 370
527 } 371 void handleLiteralMap(
528 372 int count, Token beginToken, Token constKeyword, Token endToken) {}
529 void handleLiteralMap(int count, Token beginToken, Token constKeyword, 373
530 Token endToken) { 374 void handleLiteralNull(Token token) {}
531 } 375
532 376 void handleModifier(Token token) {}
533 void handleLiteralNull(Token token) { 377
534 } 378 void handleModifiers(int count) {}
535 379
536 void handleModifier(Token token) { 380 void handleNamedArgument(Token colon) {}
537 } 381
538 382 void handleNewExpression(Token token) {}
539 void handleModifiers(int count) { 383
540 } 384 void handleNoArguments(Token token) {}
541 385
542 void handleNamedArgument(Token colon) { 386 void handleNoExpression(Token token) {}
543 } 387
544 388 void handleNoType(Token token) {}
545 void handleNewExpression(Token token) { 389
546 } 390 void handleNoTypeVariables(Token token) {}
547 391
548 void handleNoArguments(Token token) { 392 void handleOperator(Token token) {}
549 } 393
550 394 void handleOperatorName(Token operatorKeyword, Token token) {}
551 void handleNoExpression(Token token) { 395
552 } 396 void handleParenthesizedExpression(BeginGroupToken token) {}
553 397
554 void handleNoType(Token token) { 398 void handleQualified(Token period) {}
555 } 399
556 400 void handleStringPart(Token token) {}
557 void handleNoTypeVariables(Token token) { 401
558 } 402 void handleSuperExpression(Token token) {}
559 403
560 void handleOperator(Token token) { 404 void handleSwitchCase(
561 } 405 int labelCount,
562 406 int expressionCount,
563 void handleOperatorName(Token operatorKeyword, Token token) { 407 Token defaultKeyword,
564 } 408 int statementCount,
565 409 Token firstToken,
566 void handleParenthesizedExpression(BeginGroupToken token) { 410 Token endToken) {}
567 } 411
568 412 void handleThisExpression(Token token) {}
569 void handleQualified(Token period) { 413
570 } 414 void handleUnaryPostfixAssignmentExpression(Token token) {}
571 415
572 void handleStringPart(Token token) { 416 void handleUnaryPrefixExpression(Token token) {}
573 } 417
574 418 void handleUnaryPrefixAssignmentExpression(Token token) {}
575 void handleSuperExpression(Token token) { 419
576 } 420 void handleValuedFormalParameter(Token equals, Token token) {}
577 421
578 void handleSwitchCase(int labelCount, int expressionCount, 422 void handleVoidKeyword(Token token) {}
579 Token defaultKeyword, int statementCount, 423
580 Token firstToken, Token endToken) { 424 void beginYieldStatement(Token token) {}
581 } 425
582 426 void endYieldStatement(Token yieldToken, Token starToken, Token endToken) {}
583 void handleThisExpression(Token token) {
584 }
585
586 void handleUnaryPostfixAssignmentExpression(Token token) {
587 }
588
589 void handleUnaryPrefixExpression(Token token) {
590 }
591
592 void handleUnaryPrefixAssignmentExpression(Token token) {
593 }
594
595 void handleValuedFormalParameter(Token equals, Token token) {
596 }
597
598 void handleVoidKeyword(Token token) {
599 }
600
601 void beginYieldStatement(Token token) {
602 }
603
604 void endYieldStatement(Token yieldToken, Token starToken, Token endToken) {
605 }
606 427
607 Token expected(String string, Token token) { 428 Token expected(String string, Token token) {
608 if (token is ErrorToken) { 429 if (token is ErrorToken) {
609 reportErrorToken(token); 430 reportErrorToken(token);
610 } else { 431 } else {
611 error("expected '$string', but got '${token.value}'", token); 432 error("expected '$string', but got '${token.value}'", token);
612 } 433 }
613 return skipToEof(token); 434 return skipToEof(token);
614 } 435 }
615 436
616 Token synthesizeIdentifier(Token token) { 437 Token synthesizeIdentifier(Token token) {
617 Token synthesizedToken = 438 Token synthesizedToken = new StringToken.fromString(
618 new StringToken.fromString( 439 Precedence.IDENTIFIER_INFO, '?', token.charOffset);
619 Precedence.IDENTIFIER_INFO, '?', token.charOffset);
620 synthesizedToken.next = token.next; 440 synthesizedToken.next = token.next;
621 return synthesizedToken; 441 return synthesizedToken;
622 } 442 }
623 443
624 Token expectedIdentifier(Token token) { 444 Token expectedIdentifier(Token token) {
625 if (token is ErrorToken) { 445 if (token is ErrorToken) {
626 reportErrorToken(token); 446 reportErrorToken(token);
627 } else { 447 } else {
628 error("expected identifier, but got '${token.value}'", token); 448 error("expected identifier, but got '${token.value}'", token);
629 } 449 }
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 } 539 }
720 540
721 void recoverableError(Token token, String message) { 541 void recoverableError(Token token, String message) {
722 error(message, token); 542 error(message, token);
723 } 543 }
724 544
725 void error(String message, Token token) { 545 void error(String message, Token token) {
726 throw new ParserError("$message @ ${token.charOffset}"); 546 throw new ParserError("$message @ ${token.charOffset}");
727 } 547 }
728 548
729 void reportError(Spannable spannable, 549 void reportError(Spannable spannable, MessageKind messageKind,
730 MessageKind messageKind, 550 [Map arguments = const {}]) {
731 [Map arguments = const {}]) {
732 MessageTemplate template = MessageTemplate.TEMPLATES[messageKind]; 551 MessageTemplate template = MessageTemplate.TEMPLATES[messageKind];
733 String message = template.message(arguments, true).toString(); 552 String message = template.message(arguments, true).toString();
734 Token token; 553 Token token;
735 if (spannable is Token) { 554 if (spannable is Token) {
736 token = spannable; 555 token = spannable;
737 } else if (spannable is Node) { 556 } else if (spannable is Node) {
738 token = spannable.getBeginToken(); 557 token = spannable.getBeginToken();
739 } else { 558 } else {
740 throw new ParserError(message); 559 throw new ParserError(message);
741 } 560 }
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 String end = closeBraceFor(begin); 607 String end = closeBraceFor(begin);
789 reportError( 608 reportError(
790 token, MessageKind.UNMATCHED_TOKEN, {'begin': begin, 'end': end}); 609 token, MessageKind.UNMATCHED_TOKEN, {'begin': begin, 'end': end});
791 } else { 610 } else {
792 throw new SpannableAssertionFailure(token, token.assertionMessage); 611 throw new SpannableAssertionFailure(token, token.assertionMessage);
793 } 612 }
794 } 613 }
795 } 614 }
796 615
797 String closeBraceFor(String openBrace) { 616 String closeBraceFor(String openBrace) {
798 return const { 617 return const {'(': ')', '[': ']', '{': '}', '<': '>', r'${': '}',}[openBrace];
799 '(': ')',
800 '[': ']',
801 '{': '}',
802 '<': '>',
803 r'${': '}',
804 }[openBrace];
805 } 618 }
806 619
807 class ParserError { 620 class ParserError {
808 final String reason; 621 final String reason;
809 ParserError(this.reason); 622 ParserError(this.reason);
810 toString() => reason; 623 toString() => reason;
811 } 624 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/parser/element_listener.dart ('k') | pkg/compiler/lib/src/parser/member_listener.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698