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

Side by Side Diff: pkg/front_end/test/scanner_replacement_test.dart

Issue 2794653002: fasta tokens implement analyzer token API (Closed)
Patch Set: 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 import 'dart:convert' show UTF8; 5 import 'dart:convert' show UTF8;
6 6
7 import 'package:front_end/src/fasta/scanner/abstract_scanner.dart'
8 show fastaSupportsGenericMethodComments;
7 import 'package:front_end/src/fasta/scanner/precedence.dart' 9 import 'package:front_end/src/fasta/scanner/precedence.dart'
8 show BAD_INPUT_INFO, EOF_INFO; 10 show BAD_INPUT_INFO, EOF_INFO;
9 import 'package:front_end/src/fasta/scanner/recover.dart' 11 import 'package:front_end/src/fasta/scanner/recover.dart'
10 show defaultRecoveryStrategy; 12 show defaultRecoveryStrategy;
11 import 'package:front_end/src/fasta/scanner.dart' as fasta; 13 import 'package:front_end/src/fasta/scanner.dart' as fasta;
12 import 'package:front_end/src/fasta/scanner/token.dart' as fasta; 14 import 'package:front_end/src/fasta/scanner/token.dart' as fasta;
13 import 'package:front_end/src/fasta/scanner/error_token.dart' as fasta; 15 import 'package:front_end/src/fasta/scanner/error_token.dart' as fasta;
14 import 'package:front_end/src/scanner/token.dart' as analyzer; 16 import 'package:front_end/src/scanner/token.dart' as analyzer;
15 import 'package:front_end/src/scanner/errors.dart' 17 import 'package:front_end/src/scanner/errors.dart'
16 show ScannerErrorCode, translateErrorToken; 18 show ScannerErrorCode, translateErrorToken;
(...skipping 13 matching lines...) Expand all
30 /// token stream before verifying assertions. 32 /// token stream before verifying assertions.
31 /// 33 ///
32 /// These tests help to validate the correctness of the analyzer->Fasta token 34 /// These tests help to validate the correctness of the analyzer->Fasta token
33 /// stream conversion. 35 /// stream conversion.
34 @reflectiveTest 36 @reflectiveTest
35 class ScannerTest_Replacement extends ScannerTest { 37 class ScannerTest_Replacement extends ScannerTest {
36 @override 38 @override
37 analyzer.Token scanWithListener(String source, ErrorListener listener, 39 analyzer.Token scanWithListener(String source, ErrorListener listener,
38 {bool genericMethodComments: false, 40 {bool genericMethodComments: false,
39 bool lazyAssignmentOperators: false}) { 41 bool lazyAssignmentOperators: false}) {
40 if (genericMethodComments) { 42 if (genericMethodComments && !fastaSupportsGenericMethodComments) {
41 // Fasta doesn't support generic method comments. 43 // Fasta doesn't support generic method comments.
42 // TODO(danrubel): once the analyzer toolchain no longer needs generic 44 // TODO(danrubel): once the analyzer toolchain no longer needs generic
43 // method comments, remove tests that exercise them. 45 // method comments, remove tests that exercise them.
44 fail('No generic method comment support in Fasta'); 46 fail('No generic method comment support in Fasta');
45 } 47 }
46 // Note: Fasta always supports lazy assignment operators (`&&=` and `||=`), 48 // Note: Fasta always supports lazy assignment operators (`&&=` and `||=`),
47 // so we can ignore the `lazyAssignmentOperators` flag. 49 // so we can ignore the `lazyAssignmentOperators` flag.
48 // TODO(danrubel): once lazyAssignmentOperators are fully supported by 50 // TODO(danrubel): once lazyAssignmentOperators are fully supported by
49 // Dart, remove this flag. 51 // Dart, remove this flag.
50 fasta.ScannerResult result = fasta.scanString(source, 52 fasta.ScannerResult result = fasta.scanString(source,
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 } else if (token is fasta.UnmatchedToken) { 395 } else if (token is fasta.UnmatchedToken) {
394 expect(lastClosedGroup?.endGroup?.next, same(token), 396 expect(lastClosedGroup?.endGroup?.next, same(token),
395 reason: 'Unexpected error token for group: $lastClosedGroup'); 397 reason: 'Unexpected error token for group: $lastClosedGroup');
396 expect(token.begin, lastClosedGroup); 398 expect(token.begin, lastClosedGroup);
397 } 399 }
398 token = token.next; 400 token = token.next;
399 } 401 }
400 expect(openerStack, isEmpty, reason: 'Missing closers'); 402 expect(openerStack, isEmpty, reason: 'Missing closers');
401 } 403 }
402 } 404 }
OLDNEW
« pkg/analyzer/lib/src/dart/scanner/scanner.dart ('K') | « pkg/front_end/test/scanner_fasta_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698