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

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

Issue 2944383002: translate fasta parser error to analyzer error (Closed)
Patch Set: Created 3 years, 6 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 '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/element/element.dart'; 7 import 'package:analyzer/dart/element/element.dart';
8 import 'package:analyzer/error/error.dart'; 8 import 'package:analyzer/error/error.dart';
9 import 'package:analyzer/src/dart/scanner/scanner.dart'; 9 import 'package:analyzer/src/dart/scanner/scanner.dart';
10 import 'package:analyzer/src/fasta/ast_builder.dart'; 10 import 'package:analyzer/src/fasta/ast_builder.dart';
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 implements AbstractParserTestCase { 276 implements AbstractParserTestCase {
277 ParserProxy _parserProxy; 277 ParserProxy _parserProxy;
278 analyzer.Token _fastaTokens; 278 analyzer.Token _fastaTokens;
279 279
280 /** 280 /**
281 * Whether generic method comments should be enabled for the test. 281 * Whether generic method comments should be enabled for the test.
282 */ 282 */
283 bool enableGenericMethodComments = false; 283 bool enableGenericMethodComments = false;
284 284
285 @override 285 @override
286 bool get usingFasta => true;
287
288 @override
286 set enableAssertInitializer(bool value) { 289 set enableAssertInitializer(bool value) {
287 if (value == true) { 290 if (value == true) {
288 // TODO(paulberry,ahe): it looks like asserts in initializer lists are not 291 // TODO(paulberry,ahe): it looks like asserts in initializer lists are not
289 // supported by Fasta. 292 // supported by Fasta.
290 throw new UnimplementedError(); 293 throw new UnimplementedError();
291 } 294 }
292 } 295 }
293 296
294 @override 297 @override
295 set enableLazyAssignmentOperators(bool value) { 298 set enableLazyAssignmentOperators(bool value) {
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 scanner.scanGenericMethodComments = enableGenericMethodComments; 402 scanner.scanGenericMethodComments = enableGenericMethodComments;
400 _fastaTokens = scanner.tokenize(); 403 _fastaTokens = scanner.tokenize();
401 404
402 // Run parser 405 // Run parser
403 analyzer.Parser parser = 406 analyzer.Parser parser =
404 new analyzer.Parser(source, listener, useFasta: true); 407 new analyzer.Parser(source, listener, useFasta: true);
405 CompilationUnit unit = parser.parseCompilationUnit(_fastaTokens); 408 CompilationUnit unit = parser.parseCompilationUnit(_fastaTokens);
406 409
407 // Assert and return result 410 // Assert and return result
408 listener.assertErrorsWithCodes(expectedErrorCodes); 411 listener.assertErrorsWithCodes(expectedErrorCodes);
412 expect(unit, isNotNull);
409 return unit; 413 return unit;
410 } 414 }
411 415
412 @override 416 @override
413 ConditionalExpression parseConditionalExpression(String code) { 417 ConditionalExpression parseConditionalExpression(String code) {
414 return _parseExpression(code); 418 return _parseExpression(code);
415 } 419 }
416 420
417 @override 421 @override
418 Expression parseConstExpression(String code) { 422 Expression parseConstExpression(String code) {
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after
951 with TopLevelParserTestMixin { 955 with TopLevelParserTestMixin {
952 @override 956 @override
953 @failingTest 957 @failingTest
954 void test_parseClassDeclaration_native() { 958 void test_parseClassDeclaration_native() {
955 // TODO(paulberry): TODO(paulberry,ahe): Fasta parser doesn't appear to supp ort "native" syntax yet. 959 // TODO(paulberry): TODO(paulberry,ahe): Fasta parser doesn't appear to supp ort "native" syntax yet.
956 super.test_parseClassDeclaration_native(); 960 super.test_parseClassDeclaration_native();
957 } 961 }
958 962
959 @override 963 @override
960 @failingTest 964 @failingTest
961 void test_parseCompilationUnit_abstractAsPrefix_parameterized() {
962 super.test_parseCompilationUnit_abstractAsPrefix_parameterized();
963 }
964
965 @override
966 @failingTest
967 void test_parseCompilationUnit_builtIn_asFunctionName() { 965 void test_parseCompilationUnit_builtIn_asFunctionName() {
968 // TODO(paulberry,ahe): Fasta's parser is confused when one of the built-in 966 // TODO(paulberry,ahe): Fasta's parser is confused when one of the built-in
969 // identifiers `export`, `import`, `library`, `part`, or `typedef` appears 967 // identifiers `export`, `import`, `library`, `part`, or `typedef` appears
970 // as the name of a top level function with an implicit return type. 968 // as the name of a top level function with an implicit return type.
971 super.test_parseCompilationUnit_builtIn_asFunctionName(); 969 super.test_parseCompilationUnit_builtIn_asFunctionName();
972 } 970 }
973 971
974 @override 972 @override
975 @failingTest 973 @failingTest
976 void test_parseCompilationUnit_exportAsPrefix() { 974 void test_parseCompilationUnit_exportAsPrefix() {
977 // TODO(paulberry): As of commit 5de9108 this syntax is invalid. 975 // TODO(paulberry): As of commit 5de9108 this syntax is invalid.
978 super.test_parseCompilationUnit_exportAsPrefix(); 976 super.test_parseCompilationUnit_exportAsPrefix();
979 } 977 }
980 978
981 @override 979 @override
982 @failingTest 980 @failingTest
983 void test_parseCompilationUnit_exportAsPrefix_parameterized() { 981 void test_parseCompilationUnit_exportAsPrefix_parameterized() {
984 // TODO(paulberry): As of commit 5de9108 this syntax is invalid. 982 // TODO(paulberry): As of commit 5de9108 this syntax is invalid.
985 super.test_parseCompilationUnit_exportAsPrefix_parameterized(); 983 super.test_parseCompilationUnit_exportAsPrefix_parameterized();
986 } 984 }
987 985
988 @override 986 @override
989 @failingTest 987 @failingTest
990 void test_parseCompilationUnit_operatorAsPrefix_parameterized() {
991 super.test_parseCompilationUnit_operatorAsPrefix_parameterized();
992 }
993
994 @override
995 @failingTest
996 void test_parseDirectives_mixed() { 988 void test_parseDirectives_mixed() {
997 // TODO(paulberry,ahe): This test verifies the analyzer parser's ability to 989 // TODO(paulberry,ahe): This test verifies the analyzer parser's ability to
998 // stop parsing as soon as the first non-directive is encountered; this is 990 // stop parsing as soon as the first non-directive is encountered; this is
999 // useful for quickly traversing an import graph. Consider adding a similar 991 // useful for quickly traversing an import graph. Consider adding a similar
1000 // ability to Fasta's parser. 992 // ability to Fasta's parser.
1001 super.test_parseDirectives_mixed(); 993 super.test_parseDirectives_mixed();
1002 } 994 }
1003 995
1004 @override 996 @override
1005 @failingTest 997 @failingTest
1006 void test_parsePartOfDirective_name() { 998 void test_parsePartOfDirective_name() {
1007 // TODO(paulberry,ahe): Thes test verifies that even if URIs in "part of" 999 // TODO(paulberry,ahe): Thes test verifies that even if URIs in "part of"
1008 // declarations are enabled, a construct of the form "part of identifier;" 1000 // declarations are enabled, a construct of the form "part of identifier;"
1009 // is still properly handled. URIs in "part of" declarations are not 1001 // is still properly handled. URIs in "part of" declarations are not
1010 // supported by Fasta yet. 1002 // supported by Fasta yet.
1011 super.test_parsePartOfDirective_name(); 1003 super.test_parsePartOfDirective_name();
1012 } 1004 }
1013 1005
1014 @override 1006 @override
1015 @failingTest 1007 @failingTest
1016 void test_parsePartOfDirective_uri() { 1008 void test_parsePartOfDirective_uri() {
1017 // TODO(paulberry,ahe): URIs in "part of" declarations are not supported by 1009 // TODO(paulberry,ahe): URIs in "part of" declarations are not supported by
1018 // Fasta. 1010 // Fasta.
1019 super.test_parsePartOfDirective_uri(); 1011 super.test_parsePartOfDirective_uri();
1020 } 1012 }
1021 } 1013 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/generated/parser_fasta.dart ('k') | pkg/analyzer/test/generated/parser_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698