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

Side by Side Diff: pkg/analyzer/test/generated/parser_fasta_test.dart

Issue 3004683002: report abstract as extraneous modifier (Closed)
Patch Set: address comments Created 3 years, 3 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
« no previous file with comments | « no previous file | pkg/front_end/lib/src/fasta/parser/parser.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 '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
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « no previous file | pkg/front_end/lib/src/fasta/parser/parser.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698