| 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/dart/ast/ast.dart'; | 5 import 'package:analyzer/dart/ast/ast.dart'; |
| 6 import 'package:analyzer/dart/ast/token.dart' as analyzer; | 6 import 'package:analyzer/dart/ast/token.dart' as analyzer; |
| 7 import 'package:analyzer/dart/ast/token.dart' show TokenType; | 7 import 'package:analyzer/dart/ast/token.dart' show TokenType; |
| 8 import 'package:analyzer/error/error.dart'; | 8 import 'package:analyzer/error/error.dart'; |
| 9 import 'package:analyzer/error/listener.dart' show ErrorReporter; | 9 import 'package:analyzer/error/listener.dart' show ErrorReporter; |
| 10 import 'package:analyzer/src/dart/scanner/scanner.dart'; | 10 import 'package:analyzer/src/dart/scanner/scanner.dart'; |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 } | 130 } |
| 131 | 131 |
| 132 /** | 132 /** |
| 133 * Tests of the fasta parser based on [ErrorParserTest]. | 133 * Tests of the fasta parser based on [ErrorParserTest]. |
| 134 */ | 134 */ |
| 135 @reflectiveTest | 135 @reflectiveTest |
| 136 class ErrorParserTest_Fasta extends FastaParserTestCase | 136 class ErrorParserTest_Fasta extends FastaParserTestCase |
| 137 with ErrorParserTestMixin { | 137 with ErrorParserTestMixin { |
| 138 @override | 138 @override |
| 139 @failingTest | 139 @failingTest |
| 140 void test_abstractClassMember_field() { | |
| 141 super.test_abstractClassMember_field(); | |
| 142 } | |
| 143 | |
| 144 @override | |
| 145 @failingTest | |
| 146 void test_abstractEnum() { | 140 void test_abstractEnum() { |
| 147 super.test_abstractEnum(); | 141 super.test_abstractEnum(); |
| 148 } | 142 } |
| 149 | 143 |
| 150 @override | 144 @override |
| 151 @failingTest | 145 @failingTest |
| 152 void test_abstractTopLevelFunction_function() { | |
| 153 super.test_abstractTopLevelFunction_function(); | |
| 154 } | |
| 155 | |
| 156 @override | |
| 157 @failingTest | |
| 158 void test_abstractTopLevelFunction_getter() { | |
| 159 super.test_abstractTopLevelFunction_getter(); | |
| 160 } | |
| 161 | |
| 162 @override | |
| 163 @failingTest | |
| 164 void test_abstractTopLevelFunction_setter() { | |
| 165 super.test_abstractTopLevelFunction_setter(); | |
| 166 } | |
| 167 | |
| 168 @override | |
| 169 @failingTest | |
| 170 void test_abstractTopLevelVariable() { | |
| 171 super.test_abstractTopLevelVariable(); | |
| 172 } | |
| 173 | |
| 174 @override | |
| 175 @failingTest | |
| 176 void test_abstractTypeDef() { | 146 void test_abstractTypeDef() { |
| 177 super.test_abstractTypeDef(); | 147 super.test_abstractTypeDef(); |
| 178 } | 148 } |
| 179 | 149 |
| 180 @override | 150 @override |
| 181 @failingTest | 151 @failingTest |
| 182 void test_annotationOnEnumConstant_first() { | 152 void test_annotationOnEnumConstant_first() { |
| 183 super.test_annotationOnEnumConstant_first(); | 153 super.test_annotationOnEnumConstant_first(); |
| 184 } | 154 } |
| 185 | 155 |
| (...skipping 2044 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2230 } | 2200 } |
| 2231 | 2201 |
| 2232 @override | 2202 @override |
| 2233 analyzer.Parser get parser => _parserProxy; | 2203 analyzer.Parser get parser => _parserProxy; |
| 2234 | 2204 |
| 2235 @override | 2205 @override |
| 2236 bool get usingFastaParser => true; | 2206 bool get usingFastaParser => true; |
| 2237 | 2207 |
| 2238 @override | 2208 @override |
| 2239 void assertErrorsWithCodes(List<ErrorCode> expectedErrorCodes) { | 2209 void assertErrorsWithCodes(List<ErrorCode> expectedErrorCodes) { |
| 2240 expectedErrorCodes = expectedErrorCodes.map((code) { | 2210 _parserProxy._errorListener.assertErrorsWithCodes( |
| 2241 if (code == ParserErrorCode.ABSTRACT_CLASS_MEMBER) | 2211 _toFastaGeneratedAnalyzerErrorCodes(expectedErrorCodes)); |
| 2242 return ParserErrorCode.EXTRANEOUS_MODIFIER; | |
| 2243 return code; | |
| 2244 }).toList(); | |
| 2245 _parserProxy._errorListener.assertErrorsWithCodes(expectedErrorCodes); | |
| 2246 } | 2212 } |
| 2247 | 2213 |
| 2248 @override | 2214 @override |
| 2249 void assertNoErrors() { | 2215 void assertNoErrors() { |
| 2250 _parserProxy._errorListener.assertNoErrors(); | 2216 _parserProxy._errorListener.assertNoErrors(); |
| 2251 } | 2217 } |
| 2252 | 2218 |
| 2253 @override | 2219 @override |
| 2254 void createParser(String content) { | 2220 void createParser(String content) { |
| 2255 var scanner = new StringScanner(content, includeComments: true); | 2221 var scanner = new StringScanner(content, includeComments: true); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2325 var scanner = new Scanner.fasta(source, listener); | 2291 var scanner = new Scanner.fasta(source, listener); |
| 2326 scanner.scanGenericMethodComments = enableGenericMethodComments; | 2292 scanner.scanGenericMethodComments = enableGenericMethodComments; |
| 2327 _fastaTokens = scanner.tokenize(); | 2293 _fastaTokens = scanner.tokenize(); |
| 2328 | 2294 |
| 2329 // Run parser | 2295 // Run parser |
| 2330 analyzer.Parser parser = | 2296 analyzer.Parser parser = |
| 2331 new analyzer.Parser(source, listener, useFasta: true); | 2297 new analyzer.Parser(source, listener, useFasta: true); |
| 2332 CompilationUnit unit = parser.parseCompilationUnit(_fastaTokens); | 2298 CompilationUnit unit = parser.parseCompilationUnit(_fastaTokens); |
| 2333 | 2299 |
| 2334 // Assert and return result | 2300 // Assert and return result |
| 2335 listener.assertErrorsWithCodes(expectedErrorCodes); | 2301 listener.assertErrorsWithCodes( |
| 2302 _toFastaGeneratedAnalyzerErrorCodes(expectedErrorCodes)); |
| 2336 expect(unit, isNotNull); | 2303 expect(unit, isNotNull); |
| 2337 return unit; | 2304 return unit; |
| 2338 } | 2305 } |
| 2339 | 2306 |
| 2340 @override | 2307 @override |
| 2341 ConditionalExpression parseConditionalExpression(String code) { | 2308 ConditionalExpression parseConditionalExpression(String code) { |
| 2342 return _parseExpression(code); | 2309 return _parseExpression(code); |
| 2343 } | 2310 } |
| 2344 | 2311 |
| 2345 @override | 2312 @override |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2592 Object _runParser( | 2559 Object _runParser( |
| 2593 String source, ParseFunction getParseFunction(fasta.Parser parser), | 2560 String source, ParseFunction getParseFunction(fasta.Parser parser), |
| 2594 [List<ErrorCode> errorCodes = const <ErrorCode>[]]) { | 2561 [List<ErrorCode> errorCodes = const <ErrorCode>[]]) { |
| 2595 if (errorCodes.isNotEmpty) { | 2562 if (errorCodes.isNotEmpty) { |
| 2596 // TODO(paulberry): Check that the parser generates the proper errors. | 2563 // TODO(paulberry): Check that the parser generates the proper errors. |
| 2597 throw new UnimplementedError(); | 2564 throw new UnimplementedError(); |
| 2598 } | 2565 } |
| 2599 createParser(source); | 2566 createParser(source); |
| 2600 return _parserProxy._run(getParseFunction); | 2567 return _parserProxy._run(getParseFunction); |
| 2601 } | 2568 } |
| 2569 |
| 2570 List<ErrorCode> _toFastaGeneratedAnalyzerErrorCodes( |
| 2571 List<ErrorCode> expectedErrorCodes) => |
| 2572 expectedErrorCodes.map((code) { |
| 2573 if (code == ParserErrorCode.ABSTRACT_CLASS_MEMBER || |
| 2574 code == ParserErrorCode.ABSTRACT_TOP_LEVEL_FUNCTION || |
| 2575 code == ParserErrorCode.ABSTRACT_TOP_LEVEL_VARIABLE) |
| 2576 return ParserErrorCode.EXTRANEOUS_MODIFIER; |
| 2577 return code; |
| 2578 }).toList(); |
| 2602 } | 2579 } |
| 2603 | 2580 |
| 2604 /** | 2581 /** |
| 2605 * Tests of the fasta parser based on [FormalParameterParserTestMixin]. | 2582 * Tests of the fasta parser based on [FormalParameterParserTestMixin]. |
| 2606 */ | 2583 */ |
| 2607 @reflectiveTest | 2584 @reflectiveTest |
| 2608 class FormalParameterParserTest_Fasta extends FastaParserTestCase | 2585 class FormalParameterParserTest_Fasta extends FastaParserTestCase |
| 2609 with FormalParameterParserTestMixin { | 2586 with FormalParameterParserTestMixin { |
| 2610 @override | 2587 @override |
| 2611 @failingTest | 2588 @failingTest |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3007 assertNoErrors(); | 2984 assertNoErrors(); |
| 3008 } | 2985 } |
| 3009 | 2986 |
| 3010 @failingTest | 2987 @failingTest |
| 3011 void test_parseCompilationUnitMember_abstractAsPrefix2() { | 2988 void test_parseCompilationUnitMember_abstractAsPrefix2() { |
| 3012 // TODO(danrubel): should not be generating an error | 2989 // TODO(danrubel): should not be generating an error |
| 3013 super.test_parseCompilationUnitMember_abstractAsPrefix(); | 2990 super.test_parseCompilationUnitMember_abstractAsPrefix(); |
| 3014 assertNoErrors(); | 2991 assertNoErrors(); |
| 3015 } | 2992 } |
| 3016 } | 2993 } |
| OLD | NEW |