OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |