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

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

Issue 2662433002: Fix some bugs related to the covariant keyword (Closed)
Patch Set: Created 3 years, 10 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 | « pkg/analyzer/lib/src/generated/parser.dart ('k') | no next file » | 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 library analyzer.test.generated.parser_test; 5 library analyzer.test.generated.parser_test;
6 6
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; 8 import 'package:analyzer/dart/ast/standard_ast_factory.dart';
9 import 'package:analyzer/dart/ast/token.dart'; 9 import 'package:analyzer/dart/ast/token.dart';
10 import 'package:analyzer/dart/ast/visitor.dart'; 10 import 'package:analyzer/dart/ast/visitor.dart';
(...skipping 969 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 expect(unit, isNotNull); 980 expect(unit, isNotNull);
981 } 981 }
982 982
983 void test_duplicatedModifier_const() { 983 void test_duplicatedModifier_const() {
984 createParser('const const m;'); 984 createParser('const const m;');
985 ClassMember member = parser.parseClassMember('C'); 985 ClassMember member = parser.parseClassMember('C');
986 expectNotNullIfNoErrors(member); 986 expectNotNullIfNoErrors(member);
987 listener.assertErrorsWithCodes([ParserErrorCode.DUPLICATED_MODIFIER]); 987 listener.assertErrorsWithCodes([ParserErrorCode.DUPLICATED_MODIFIER]);
988 } 988 }
989 989
990 void test_duplicatedModifier_covariant() {
991 createParser('covariant covariant m;');
992 FormalParameter parameter =
993 parser.parseFormalParameter(ParameterKind.REQUIRED);
994 expectNotNullIfNoErrors(parameter);
995 listener.assertErrorsWithCodes([ParserErrorCode.DUPLICATED_MODIFIER]);
996 }
997
990 void test_duplicatedModifier_external() { 998 void test_duplicatedModifier_external() {
991 createParser('external external f();'); 999 createParser('external external f();');
992 ClassMember member = parser.parseClassMember('C'); 1000 ClassMember member = parser.parseClassMember('C');
993 expectNotNullIfNoErrors(member); 1001 expectNotNullIfNoErrors(member);
994 listener.assertErrorsWithCodes([ParserErrorCode.DUPLICATED_MODIFIER]); 1002 listener.assertErrorsWithCodes([ParserErrorCode.DUPLICATED_MODIFIER]);
995 } 1003 }
996 1004
997 void test_duplicatedModifier_factory() { 1005 void test_duplicatedModifier_factory() {
998 createParser('factory factory C() {}'); 1006 createParser('factory factory C() {}');
999 ClassMember member = parser.parseClassMember('C'); 1007 ClassMember member = parser.parseClassMember('C');
(...skipping 7984 matching lines...) Expand 10 before | Expand all | Expand 10 after
8984 expect(simpleParameter.keyword, isNull); 8992 expect(simpleParameter.keyword, isNull);
8985 expect(simpleParameter.type, isNotNull); 8993 expect(simpleParameter.type, isNotNull);
8986 expect(simpleParameter.kind, kind); 8994 expect(simpleParameter.kind, kind);
8987 expect(defaultParameter.separator, isNotNull); 8995 expect(defaultParameter.separator, isNotNull);
8988 expect(defaultParameter.defaultValue, isNotNull); 8996 expect(defaultParameter.defaultValue, isNotNull);
8989 expect(defaultParameter.kind, kind); 8997 expect(defaultParameter.kind, kind);
8990 } 8998 }
8991 8999
8992 void test_parseFormalParameter_covariant_type_normal() { 9000 void test_parseFormalParameter_covariant_type_normal() {
8993 ParameterKind kind = ParameterKind.REQUIRED; 9001 ParameterKind kind = ParameterKind.REQUIRED;
8994 createParser('covariant A a'); 9002 createParser('covariant A<B<C>> a');
8995 FormalParameter parameter = parser.parseFormalParameter(kind); 9003 FormalParameter parameter = parser.parseFormalParameter(kind);
8996 expectNotNullIfNoErrors(parameter); 9004 expectNotNullIfNoErrors(parameter);
8997 listener.assertNoErrors(); 9005 listener.assertNoErrors();
8998 expect(parameter, new isInstanceOf<SimpleFormalParameter>()); 9006 expect(parameter, new isInstanceOf<SimpleFormalParameter>());
8999 SimpleFormalParameter simpleParameter = parameter; 9007 SimpleFormalParameter simpleParameter = parameter;
9000 expect(simpleParameter.covariantKeyword, isNotNull); 9008 expect(simpleParameter.covariantKeyword, isNotNull);
9001 expect(simpleParameter.identifier, isNotNull); 9009 expect(simpleParameter.identifier, isNotNull);
9002 expect(simpleParameter.keyword, isNull); 9010 expect(simpleParameter.keyword, isNull);
9003 expect(simpleParameter.type, isNotNull); 9011 expect(simpleParameter.type, isNotNull);
9004 expect(simpleParameter.kind, kind); 9012 expect(simpleParameter.kind, kind);
(...skipping 5599 matching lines...) Expand 10 before | Expand all | Expand 10 after
14604 CompilationUnit _parseDirectives(String source, 14612 CompilationUnit _parseDirectives(String source,
14605 [List<ErrorCode> errorCodes = const <ErrorCode>[]]) { 14613 [List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
14606 createParser(source); 14614 createParser(source);
14607 CompilationUnit unit = parser.parseDirectives2(); 14615 CompilationUnit unit = parser.parseDirectives2();
14608 expect(unit, isNotNull); 14616 expect(unit, isNotNull);
14609 expect(unit.declarations, hasLength(0)); 14617 expect(unit.declarations, hasLength(0));
14610 listener.assertErrorsWithCodes(errorCodes); 14618 listener.assertErrorsWithCodes(errorCodes);
14611 return unit; 14619 return unit;
14612 } 14620 }
14613 } 14621 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/generated/parser.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698