OLD | NEW |
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 'package:analyzer/src/fasta/token_utils.dart'; | 5 import 'package:analyzer/src/fasta/token_utils.dart'; |
6 import 'package:front_end/src/fasta/scanner/error_token.dart' as fasta; | 6 import 'package:front_end/src/fasta/scanner/error_token.dart' as fasta; |
7 import 'package:front_end/src/fasta/scanner/string_scanner.dart' as fasta; | 7 import 'package:front_end/src/fasta/scanner/string_scanner.dart' as fasta; |
8 import 'package:front_end/src/fasta/scanner/token.dart' as fasta; | 8 import 'package:front_end/src/fasta/scanner/token.dart' as fasta; |
9 import 'package:front_end/src/fasta/scanner/token_constants.dart' as fasta; | 9 import 'package:front_end/src/fasta/scanner/token_constants.dart' as fasta; |
10 import 'package:front_end/src/scanner/errors.dart'; | 10 import 'package:front_end/src/scanner/errors.dart'; |
(...skipping 10 matching lines...) Expand all Loading... |
21 defineReflectiveTests(ScannerTest_Fasta_Roundtrip); | 21 defineReflectiveTests(ScannerTest_Fasta_Roundtrip); |
22 }); | 22 }); |
23 } | 23 } |
24 | 24 |
25 @reflectiveTest | 25 @reflectiveTest |
26 class ScannerTest_Fasta extends ScannerTestBase { | 26 class ScannerTest_Fasta extends ScannerTestBase { |
27 @override | 27 @override |
28 Token scanWithListener(String source, ErrorListener listener, | 28 Token scanWithListener(String source, ErrorListener listener, |
29 {bool genericMethodComments: false, | 29 {bool genericMethodComments: false, |
30 bool lazyAssignmentOperators: false}) { | 30 bool lazyAssignmentOperators: false}) { |
31 // Note: Fasta always supports lazy assignment operators (`&&=` and `||=`), | 31 var scanner = new fasta.StringScanner(source, |
32 // so we can ignore the `lazyAssignmentOperators` flag. | 32 includeComments: true, |
33 // TODO(paulberry): once lazyAssignmentOperators are fully supported by | 33 scanGenericMethodComments: genericMethodComments, |
34 // Dart, remove this flag. | 34 scanLazyAssignmentOperators: lazyAssignmentOperators); |
35 var scanner = new fasta.StringScanner(source, includeComments: true); | |
36 scanner.scanGenericMethodComments = genericMethodComments; | |
37 var token = scanner.tokenize(); | 35 var token = scanner.tokenize(); |
38 return new ToAnalyzerTokenStreamConverter_WithListener(listener) | 36 return new ToAnalyzerTokenStreamConverter_WithListener(listener) |
39 .convertTokens(token); | 37 .convertTokens(token); |
40 } | 38 } |
41 | 39 |
42 @override | |
43 @failingTest | |
44 void test_ampersand_ampersand_eq() { | |
45 // TODO(paulberry,ahe): Fasta doesn't support `&&=` yet | |
46 super.test_ampersand_ampersand_eq(); | |
47 } | |
48 | |
49 @override | |
50 @failingTest | |
51 void test_bar_bar_eq() { | |
52 // TODO(paulberry,ahe): Fasta doesn't support `||=` yet | |
53 super.test_bar_bar_eq(); | |
54 } | |
55 | |
56 void test_comments() { | 40 void test_comments() { |
57 const source = ''' | 41 const source = ''' |
58 /// Doc comment before class | 42 /// Doc comment before class |
59 /// second line | 43 /// second line |
60 /// third | 44 /// third |
61 class Foo { | 45 class Foo { |
62 // Random comment | 46 // Random comment |
63 Object someField; // trailing comment | 47 Object someField; // trailing comment |
64 dynamic secondField; | 48 dynamic secondField; |
65 /// Method doc | 49 /// Method doc |
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
556 final ErrorListener _listener; | 540 final ErrorListener _listener; |
557 | 541 |
558 ToAnalyzerTokenStreamConverter_WithListener(this._listener); | 542 ToAnalyzerTokenStreamConverter_WithListener(this._listener); |
559 | 543 |
560 @override | 544 @override |
561 void reportError( | 545 void reportError( |
562 ScannerErrorCode errorCode, int offset, List<Object> arguments) { | 546 ScannerErrorCode errorCode, int offset, List<Object> arguments) { |
563 _listener.errors.add(new TestError(offset, errorCode, arguments)); | 547 _listener.errors.add(new TestError(offset, errorCode, arguments)); |
564 } | 548 } |
565 } | 549 } |
OLD | NEW |