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 `||=`), | |
32 // so we can ignore the `lazyAssignmentOperators` flag. | |
33 // TODO(paulberry): once lazyAssignmentOperators are fully supported by | |
Paul Berry
2017/05/20 13:57:10
Don't remove this TODO--it still applies (we shoul
danrubel
2017/05/20 21:17:04
Good point. I moved the comment from here to the f
| |
34 // Dart, remove this flag. | |
35 var scanner = new fasta.StringScanner(source, includeComments: true); | 31 var scanner = new fasta.StringScanner(source, includeComments: true); |
36 scanner.scanGenericMethodComments = genericMethodComments; | 32 scanner.scanGenericMethodComments = genericMethodComments; |
33 scanner.scanLazyAssignmentOperators = lazyAssignmentOperators; | |
37 var token = scanner.tokenize(); | 34 var token = scanner.tokenize(); |
38 return new ToAnalyzerTokenStreamConverter_WithListener(listener) | 35 return new ToAnalyzerTokenStreamConverter_WithListener(listener) |
39 .convertTokens(token); | 36 .convertTokens(token); |
40 } | 37 } |
41 | 38 |
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() { | 39 void test_comments() { |
57 const source = ''' | 40 const source = ''' |
58 /// Doc comment before class | 41 /// Doc comment before class |
59 /// second line | 42 /// second line |
60 /// third | 43 /// third |
61 class Foo { | 44 class Foo { |
62 // Random comment | 45 // Random comment |
63 Object someField; // trailing comment | 46 Object someField; // trailing comment |
64 dynamic secondField; | 47 dynamic secondField; |
65 /// Method doc | 48 /// Method doc |
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
556 final ErrorListener _listener; | 539 final ErrorListener _listener; |
557 | 540 |
558 ToAnalyzerTokenStreamConverter_WithListener(this._listener); | 541 ToAnalyzerTokenStreamConverter_WithListener(this._listener); |
559 | 542 |
560 @override | 543 @override |
561 void reportError( | 544 void reportError( |
562 ScannerErrorCode errorCode, int offset, List<Object> arguments) { | 545 ScannerErrorCode errorCode, int offset, List<Object> arguments) { |
563 _listener.errors.add(new TestError(offset, errorCode, arguments)); | 546 _listener.errors.add(new TestError(offset, errorCode, arguments)); |
564 } | 547 } |
565 } | 548 } |
OLD | NEW |