| 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 1116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1127 Token semicolon = directive.semicolon; | 1127 Token semicolon = directive.semicolon; |
| 1128 expect(semicolon, isNotNull); | 1128 expect(semicolon, isNotNull); |
| 1129 expect(semicolon.isSynthetic, isTrue); | 1129 expect(semicolon.isSynthetic, isTrue); |
| 1130 } | 1130 } |
| 1131 | 1131 |
| 1132 void test_expectedToken_whileMissingInDoStatement() { | 1132 void test_expectedToken_whileMissingInDoStatement() { |
| 1133 ParserTestCase | 1133 ParserTestCase |
| 1134 .parseStatement("do {} (x);", [ParserErrorCode.EXPECTED_TOKEN]); | 1134 .parseStatement("do {} (x);", [ParserErrorCode.EXPECTED_TOKEN]); |
| 1135 } | 1135 } |
| 1136 | 1136 |
| 1137 void test_expectedTypeName_as() { |
| 1138 parseExpression("x as", [ParserErrorCode.EXPECTED_TYPE_NAME]); |
| 1139 } |
| 1140 |
| 1141 void test_expectedTypeName_as_void() { |
| 1142 parseExpression("x as void)", [ParserErrorCode.EXPECTED_TYPE_NAME]); |
| 1143 } |
| 1144 |
| 1137 void test_expectedTypeName_is() { | 1145 void test_expectedTypeName_is() { |
| 1138 parseExpression("x is", [ParserErrorCode.EXPECTED_TYPE_NAME]); | 1146 parseExpression("x is", [ParserErrorCode.EXPECTED_TYPE_NAME]); |
| 1139 } | 1147 } |
| 1140 | 1148 |
| 1149 void test_expectedTypeName_is_void() { |
| 1150 parseExpression("x is void)", [ParserErrorCode.EXPECTED_TYPE_NAME]); |
| 1151 } |
| 1152 |
| 1141 void test_exportDirectiveAfterPartDirective() { | 1153 void test_exportDirectiveAfterPartDirective() { |
| 1142 ParserTestCase.parseCompilationUnit("part 'a.dart'; export 'b.dart';", | 1154 ParserTestCase.parseCompilationUnit("part 'a.dart'; export 'b.dart';", |
| 1143 [ParserErrorCode.EXPORT_DIRECTIVE_AFTER_PART_DIRECTIVE]); | 1155 [ParserErrorCode.EXPORT_DIRECTIVE_AFTER_PART_DIRECTIVE]); |
| 1144 } | 1156 } |
| 1145 | 1157 |
| 1146 void test_externalAfterConst() { | 1158 void test_externalAfterConst() { |
| 1147 createParser('const external C();'); | 1159 createParser('const external C();'); |
| 1148 ClassMember member = parser.parseClassMember('C'); | 1160 ClassMember member = parser.parseClassMember('C'); |
| 1149 expectNotNullIfNoErrors(member); | 1161 expectNotNullIfNoErrors(member); |
| 1150 listener.assertErrorsWithCodes([ParserErrorCode.EXTERNAL_AFTER_CONST]); | 1162 listener.assertErrorsWithCodes([ParserErrorCode.EXTERNAL_AFTER_CONST]); |
| (...skipping 4835 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5986 expect(field.metadata, hasLength(0)); | 5998 expect(field.metadata, hasLength(0)); |
| 5987 expect(field.staticKeyword, isNull); | 5999 expect(field.staticKeyword, isNull); |
| 5988 VariableDeclarationList list = field.fields; | 6000 VariableDeclarationList list = field.fields; |
| 5989 expect(list, isNotNull); | 6001 expect(list, isNotNull); |
| 5990 NodeList<VariableDeclaration> variables = list.variables; | 6002 NodeList<VariableDeclaration> variables = list.variables; |
| 5991 expect(variables, hasLength(1)); | 6003 expect(variables, hasLength(1)); |
| 5992 VariableDeclaration variable = variables[0]; | 6004 VariableDeclaration variable = variables[0]; |
| 5993 expect(variable.name, isNotNull); | 6005 expect(variable.name, isNotNull); |
| 5994 } | 6006 } |
| 5995 | 6007 |
| 6008 void test_parseClassMember_getter_functionType() { |
| 6009 createParser('int Function(int) get g {}'); |
| 6010 ClassMember member = parser.parseClassMember('C'); |
| 6011 expectNotNullIfNoErrors(member); |
| 6012 listener.assertNoErrors(); |
| 6013 expect(member, new isInstanceOf<MethodDeclaration>()); |
| 6014 MethodDeclaration method = member; |
| 6015 expect(method.documentationComment, isNull); |
| 6016 expect(method.externalKeyword, isNull); |
| 6017 expect(method.modifierKeyword, isNull); |
| 6018 expect(method.propertyKeyword, isNotNull); |
| 6019 expect(method.returnType, isNotNull); |
| 6020 expect(method.name, isNotNull); |
| 6021 expect(method.operatorKeyword, isNull); |
| 6022 expect(method.body, isNotNull); |
| 6023 expect(method.parameters, isNull); |
| 6024 } |
| 6025 |
| 5996 void test_parseClassMember_getter_void() { | 6026 void test_parseClassMember_getter_void() { |
| 5997 createParser('void get g {}'); | 6027 createParser('void get g {}'); |
| 5998 ClassMember member = parser.parseClassMember('C'); | 6028 ClassMember member = parser.parseClassMember('C'); |
| 5999 expectNotNullIfNoErrors(member); | 6029 expectNotNullIfNoErrors(member); |
| 6000 listener.assertNoErrors(); | 6030 listener.assertNoErrors(); |
| 6001 expect(member, new isInstanceOf<MethodDeclaration>()); | 6031 expect(member, new isInstanceOf<MethodDeclaration>()); |
| 6002 MethodDeclaration method = member; | 6032 MethodDeclaration method = member; |
| 6003 expect(method.documentationComment, isNull); | 6033 expect(method.documentationComment, isNull); |
| 6004 expect(method.externalKeyword, isNull); | 6034 expect(method.externalKeyword, isNull); |
| 6005 expect(method.modifierKeyword, isNull); | 6035 expect(method.modifierKeyword, isNull); |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6297 expect(method.modifierKeyword, isNull); | 6327 expect(method.modifierKeyword, isNull); |
| 6298 expect(method.propertyKeyword, isNull); | 6328 expect(method.propertyKeyword, isNull); |
| 6299 expect(method.returnType, isNotNull); | 6329 expect(method.returnType, isNotNull); |
| 6300 expect(method.name, isNotNull); | 6330 expect(method.name, isNotNull); |
| 6301 expect(method.operatorKeyword, isNull); | 6331 expect(method.operatorKeyword, isNull); |
| 6302 expect(method.typeParameters, isNull); | 6332 expect(method.typeParameters, isNull); |
| 6303 expect(method.parameters, isNotNull); | 6333 expect(method.parameters, isNotNull); |
| 6304 expect(method.body, isNotNull); | 6334 expect(method.body, isNotNull); |
| 6305 } | 6335 } |
| 6306 | 6336 |
| 6337 void test_parseClassMember_method_returnType_functionType() { |
| 6338 createParser('int Function(String) m() {}'); |
| 6339 ClassMember member = parser.parseClassMember('C'); |
| 6340 expectNotNullIfNoErrors(member); |
| 6341 listener.assertNoErrors(); |
| 6342 expect(member, new isInstanceOf<MethodDeclaration>()); |
| 6343 MethodDeclaration method = member; |
| 6344 expect(method.documentationComment, isNull); |
| 6345 expect(method.externalKeyword, isNull); |
| 6346 expect(method.modifierKeyword, isNull); |
| 6347 expect(method.propertyKeyword, isNull); |
| 6348 expect(method.returnType, isNotNull); |
| 6349 expect(method.name, isNotNull); |
| 6350 expect(method.name.name, 'm'); |
| 6351 expect(method.operatorKeyword, isNull); |
| 6352 expect(method.typeParameters, isNull); |
| 6353 expect(method.parameters, isNotNull); |
| 6354 expect(method.body, isNotNull); |
| 6355 } |
| 6356 |
| 6307 void test_parseClassMember_method_returnType_parameterized() { | 6357 void test_parseClassMember_method_returnType_parameterized() { |
| 6308 createParser('p.A m() {}'); | 6358 createParser('p.A m() {}'); |
| 6309 ClassMember member = parser.parseClassMember('C'); | 6359 ClassMember member = parser.parseClassMember('C'); |
| 6310 expectNotNullIfNoErrors(member); | 6360 expectNotNullIfNoErrors(member); |
| 6311 listener.assertNoErrors(); | 6361 listener.assertNoErrors(); |
| 6312 expect(member, new isInstanceOf<MethodDeclaration>()); | 6362 expect(member, new isInstanceOf<MethodDeclaration>()); |
| 6313 MethodDeclaration method = member; | 6363 MethodDeclaration method = member; |
| 6314 expect(method.documentationComment, isNull); | 6364 expect(method.documentationComment, isNull); |
| 6315 expect(method.externalKeyword, isNull); | 6365 expect(method.externalKeyword, isNull); |
| 6316 expect(method.modifierKeyword, isNull); | 6366 expect(method.modifierKeyword, isNull); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6392 expect(method.modifierKeyword, isNull); | 6442 expect(method.modifierKeyword, isNull); |
| 6393 expect(method.propertyKeyword, isNull); | 6443 expect(method.propertyKeyword, isNull); |
| 6394 expect(method.returnType, isNotNull); | 6444 expect(method.returnType, isNotNull); |
| 6395 expect(method.name, isNotNull); | 6445 expect(method.name, isNotNull); |
| 6396 expect(method.operatorKeyword, isNull); | 6446 expect(method.operatorKeyword, isNull); |
| 6397 expect(method.typeParameters, isNull); | 6447 expect(method.typeParameters, isNull); |
| 6398 expect(method.parameters, isNotNull); | 6448 expect(method.parameters, isNotNull); |
| 6399 expect(method.body, isNotNull); | 6449 expect(method.body, isNotNull); |
| 6400 } | 6450 } |
| 6401 | 6451 |
| 6452 void test_parseClassMember_operator_functionType() { |
| 6453 createParser('int Function() operator +(int Function() f) {}'); |
| 6454 ClassMember member = parser.parseClassMember('C'); |
| 6455 expectNotNullIfNoErrors(member); |
| 6456 listener.assertNoErrors(); |
| 6457 expect(member, new isInstanceOf<MethodDeclaration>()); |
| 6458 MethodDeclaration method = member; |
| 6459 expect(method.documentationComment, isNull); |
| 6460 expect(method.externalKeyword, isNull); |
| 6461 expect(method.modifierKeyword, isNull); |
| 6462 expect(method.propertyKeyword, isNull); |
| 6463 expect(method.returnType, new isInstanceOf<GenericFunctionType>()); |
| 6464 expect(method.name, isNotNull); |
| 6465 expect(method.operatorKeyword, isNotNull); |
| 6466 expect(method.typeParameters, isNull); |
| 6467 expect(method.parameters, isNotNull); |
| 6468 NodeList<FormalParameter> parameters = method.parameters.parameters; |
| 6469 expect(parameters, hasLength(1)); |
| 6470 expect((parameters[0] as SimpleFormalParameter).type, |
| 6471 new isInstanceOf<GenericFunctionType>()); |
| 6472 expect(method.body, isNotNull); |
| 6473 } |
| 6474 |
| 6402 void test_parseClassMember_operator_index() { | 6475 void test_parseClassMember_operator_index() { |
| 6403 createParser('int operator [](int i) {}'); | 6476 createParser('int operator [](int i) {}'); |
| 6404 ClassMember member = parser.parseClassMember('C'); | 6477 ClassMember member = parser.parseClassMember('C'); |
| 6405 expectNotNullIfNoErrors(member); | 6478 expectNotNullIfNoErrors(member); |
| 6406 listener.assertNoErrors(); | 6479 listener.assertNoErrors(); |
| 6407 expect(member, new isInstanceOf<MethodDeclaration>()); | 6480 expect(member, new isInstanceOf<MethodDeclaration>()); |
| 6408 MethodDeclaration method = member; | 6481 MethodDeclaration method = member; |
| 6409 expect(method.documentationComment, isNull); | 6482 expect(method.documentationComment, isNull); |
| 6410 expect(method.externalKeyword, isNull); | 6483 expect(method.externalKeyword, isNull); |
| 6411 expect(method.modifierKeyword, isNull); | 6484 expect(method.modifierKeyword, isNull); |
| (...skipping 2267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8679 defaultParameter.parameter as SimpleFormalParameter; | 8752 defaultParameter.parameter as SimpleFormalParameter; |
| 8680 expect(simpleParameter.identifier, isNotNull); | 8753 expect(simpleParameter.identifier, isNotNull); |
| 8681 expect(simpleParameter.keyword, isNotNull); | 8754 expect(simpleParameter.keyword, isNotNull); |
| 8682 expect(simpleParameter.type, isNotNull); | 8755 expect(simpleParameter.type, isNotNull); |
| 8683 expect(simpleParameter.kind, kind); | 8756 expect(simpleParameter.kind, kind); |
| 8684 expect(defaultParameter.separator, isNotNull); | 8757 expect(defaultParameter.separator, isNotNull); |
| 8685 expect(defaultParameter.defaultValue, isNotNull); | 8758 expect(defaultParameter.defaultValue, isNotNull); |
| 8686 expect(defaultParameter.kind, kind); | 8759 expect(defaultParameter.kind, kind); |
| 8687 } | 8760 } |
| 8688 | 8761 |
| 8762 void test_parseFormalParameter_nonFinal_withType_function() { |
| 8763 ParameterKind kind = ParameterKind.REQUIRED; |
| 8764 createParser('String Function(int) a'); |
| 8765 FormalParameter parameter = parser.parseFormalParameter(kind); |
| 8766 expectNotNullIfNoErrors(parameter); |
| 8767 listener.assertNoErrors(); |
| 8768 expect(parameter, new isInstanceOf<SimpleFormalParameter>()); |
| 8769 SimpleFormalParameter simpleParameter = parameter; |
| 8770 expect(simpleParameter.identifier, isNotNull); |
| 8771 expect(simpleParameter.keyword, isNull); |
| 8772 expect(simpleParameter.type, new isInstanceOf<GenericFunctionType>()); |
| 8773 expect(simpleParameter.kind, kind); |
| 8774 } |
| 8775 |
| 8689 void test_parseFormalParameter_nonFinal_withType_named() { | 8776 void test_parseFormalParameter_nonFinal_withType_named() { |
| 8690 ParameterKind kind = ParameterKind.NAMED; | 8777 ParameterKind kind = ParameterKind.NAMED; |
| 8691 createParser('A a : null'); | 8778 createParser('A a : null'); |
| 8692 FormalParameter parameter = parser.parseFormalParameter(kind); | 8779 FormalParameter parameter = parser.parseFormalParameter(kind); |
| 8693 expectNotNullIfNoErrors(parameter); | 8780 expectNotNullIfNoErrors(parameter); |
| 8694 listener.assertNoErrors(); | 8781 listener.assertNoErrors(); |
| 8695 expect(parameter, new isInstanceOf<DefaultFormalParameter>()); | 8782 expect(parameter, new isInstanceOf<DefaultFormalParameter>()); |
| 8696 DefaultFormalParameter defaultParameter = parameter; | 8783 DefaultFormalParameter defaultParameter = parameter; |
| 8697 SimpleFormalParameter simpleParameter = | 8784 SimpleFormalParameter simpleParameter = |
| 8698 defaultParameter.parameter as SimpleFormalParameter; | 8785 defaultParameter.parameter as SimpleFormalParameter; |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8907 FormalParameterList list = parser.parseFormalParameterList(); | 8994 FormalParameterList list = parser.parseFormalParameterList(); |
| 8908 expectNotNullIfNoErrors(list); | 8995 expectNotNullIfNoErrors(list); |
| 8909 listener.assertNoErrors(); | 8996 listener.assertNoErrors(); |
| 8910 expect(list.leftParenthesis, isNotNull); | 8997 expect(list.leftParenthesis, isNotNull); |
| 8911 expect(list.leftDelimiter, isNull); | 8998 expect(list.leftDelimiter, isNull); |
| 8912 expect(list.parameters, hasLength(1)); | 8999 expect(list.parameters, hasLength(1)); |
| 8913 expect(list.rightDelimiter, isNull); | 9000 expect(list.rightDelimiter, isNull); |
| 8914 expect(list.rightParenthesis, isNotNull); | 9001 expect(list.rightParenthesis, isNotNull); |
| 8915 } | 9002 } |
| 8916 | 9003 |
| 9004 void test_parseFormalParameterList_normal_single_Function() { |
| 9005 createParser('(Function f)'); |
| 9006 FormalParameterList list = parser.parseFormalParameterList(); |
| 9007 expectNotNullIfNoErrors(list); |
| 9008 listener.assertNoErrors(); |
| 9009 expect(list.leftParenthesis, isNotNull); |
| 9010 expect(list.leftDelimiter, isNull); |
| 9011 expect(list.parameters, hasLength(1)); |
| 9012 expect(list.rightDelimiter, isNull); |
| 9013 expect(list.rightParenthesis, isNotNull); |
| 9014 } |
| 9015 |
| 8917 void test_parseFormalParameterList_normal_single_trailing_comma() { | 9016 void test_parseFormalParameterList_normal_single_trailing_comma() { |
| 8918 createParser('(A a,)'); | 9017 createParser('(A a,)'); |
| 8919 FormalParameterList list = parser.parseFormalParameterList(); | 9018 FormalParameterList list = parser.parseFormalParameterList(); |
| 8920 expectNotNullIfNoErrors(list); | 9019 expectNotNullIfNoErrors(list); |
| 8921 listener.assertNoErrors(); | 9020 listener.assertNoErrors(); |
| 8922 expect(list.leftParenthesis, isNotNull); | 9021 expect(list.leftParenthesis, isNotNull); |
| 8923 expect(list.leftDelimiter, isNull); | 9022 expect(list.leftDelimiter, isNull); |
| 8924 expect(list.parameters, hasLength(1)); | 9023 expect(list.parameters, hasLength(1)); |
| 8925 expect(list.rightDelimiter, isNull); | 9024 expect(list.rightDelimiter, isNull); |
| 8926 expect(list.rightParenthesis, isNotNull); | 9025 expect(list.rightParenthesis, isNotNull); |
| (...skipping 2753 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11680 RedirectingConstructorInvocation invocation = | 11779 RedirectingConstructorInvocation invocation = |
| 11681 parser.parseRedirectingConstructorInvocation(false); | 11780 parser.parseRedirectingConstructorInvocation(false); |
| 11682 expectNotNullIfNoErrors(invocation); | 11781 expectNotNullIfNoErrors(invocation); |
| 11683 listener.assertNoErrors(); | 11782 listener.assertNoErrors(); |
| 11684 expect(invocation.argumentList, isNotNull); | 11783 expect(invocation.argumentList, isNotNull); |
| 11685 expect(invocation.constructorName, isNull); | 11784 expect(invocation.constructorName, isNull); |
| 11686 expect(invocation.thisKeyword, isNotNull); | 11785 expect(invocation.thisKeyword, isNotNull); |
| 11687 expect(invocation.period, isNull); | 11786 expect(invocation.period, isNull); |
| 11688 } | 11787 } |
| 11689 | 11788 |
| 11690 void test_parseRelationalExpression_as() { | 11789 void test_parseRelationalExpression_as_functionType_noReturnType() { |
| 11691 createParser('x as Y'); | 11790 createParser('x as Function(int)'); |
| 11692 Expression expression = parser.parseRelationalExpression(); | 11791 Expression expression = parser.parseRelationalExpression(); |
| 11693 expectNotNullIfNoErrors(expression); | 11792 expectNotNullIfNoErrors(expression); |
| 11694 listener.assertNoErrors(); | 11793 listener.assertNoErrors(); |
| 11794 expect(expression, new isInstanceOf<AsExpression>()); |
| 11795 AsExpression asExpression = expression; |
| 11796 expect(asExpression.expression, isNotNull); |
| 11797 expect(asExpression.asOperator, isNotNull); |
| 11798 expect(asExpression.type, new isInstanceOf<GenericFunctionType>()); |
| 11799 } |
| 11800 |
| 11801 void test_parseRelationalExpression_as_functionType_returnType() { |
| 11802 createParser('x as String Function(int)'); |
| 11803 Expression expression = parser.parseRelationalExpression(); |
| 11804 expectNotNullIfNoErrors(expression); |
| 11805 listener.assertNoErrors(); |
| 11806 expect(expression, new isInstanceOf<AsExpression>()); |
| 11807 AsExpression asExpression = expression; |
| 11808 expect(asExpression.expression, isNotNull); |
| 11809 expect(asExpression.asOperator, isNotNull); |
| 11810 expect(asExpression.type, new isInstanceOf<GenericFunctionType>()); |
| 11811 } |
| 11812 |
| 11813 void test_parseRelationalExpression_as_generic() { |
| 11814 createParser('x as C<D>'); |
| 11815 Expression expression = parser.parseRelationalExpression(); |
| 11816 expectNotNullIfNoErrors(expression); |
| 11817 listener.assertNoErrors(); |
| 11695 expect(expression, new isInstanceOf<AsExpression>()); | 11818 expect(expression, new isInstanceOf<AsExpression>()); |
| 11696 AsExpression asExpression = expression; | 11819 AsExpression asExpression = expression; |
| 11697 expect(asExpression.expression, isNotNull); | 11820 expect(asExpression.expression, isNotNull); |
| 11698 expect(asExpression.asOperator, isNotNull); | 11821 expect(asExpression.asOperator, isNotNull); |
| 11699 expect(asExpression.type, isNotNull); | 11822 expect(asExpression.type, new isInstanceOf<TypeName>()); |
| 11700 } | 11823 } |
| 11701 | 11824 |
| 11702 void test_parseRelationalExpression_as_nullable() { | 11825 void test_parseRelationalExpression_as_nullable() { |
| 11703 enableNnbd = true; | 11826 enableNnbd = true; |
| 11704 createParser('x as Y?)'); | 11827 createParser('x as Y?)'); |
| 11705 Expression expression = parser.parseRelationalExpression(); | 11828 Expression expression = parser.parseRelationalExpression(); |
| 11706 expectNotNullIfNoErrors(expression); | 11829 expectNotNullIfNoErrors(expression); |
| 11707 listener.assertNoErrors(); | 11830 listener.assertNoErrors(); |
| 11708 expect(expression, new isInstanceOf<AsExpression>()); | 11831 expect(expression, new isInstanceOf<AsExpression>()); |
| 11709 AsExpression asExpression = expression; | 11832 AsExpression asExpression = expression; |
| 11710 expect(asExpression.expression, isNotNull); | 11833 expect(asExpression.expression, isNotNull); |
| 11711 expect(asExpression.asOperator, isNotNull); | 11834 expect(asExpression.asOperator, isNotNull); |
| 11712 expect(asExpression.type, isNotNull); | 11835 expect(asExpression.type, new isInstanceOf<TypeName>()); |
| 11836 } |
| 11837 |
| 11838 void test_parseRelationalExpression_as_simple() { |
| 11839 createParser('x as Y'); |
| 11840 Expression expression = parser.parseRelationalExpression(); |
| 11841 expectNotNullIfNoErrors(expression); |
| 11842 listener.assertNoErrors(); |
| 11843 expect(expression, new isInstanceOf<AsExpression>()); |
| 11844 AsExpression asExpression = expression; |
| 11845 expect(asExpression.expression, isNotNull); |
| 11846 expect(asExpression.asOperator, isNotNull); |
| 11847 expect(asExpression.type, new isInstanceOf<TypeName>()); |
| 11848 } |
| 11849 |
| 11850 void test_parseRelationalExpression_as_simple_function() { |
| 11851 createParser('x as Function'); |
| 11852 Expression expression = parser.parseRelationalExpression(); |
| 11853 expectNotNullIfNoErrors(expression); |
| 11854 listener.assertNoErrors(); |
| 11855 expect(expression, new isInstanceOf<AsExpression>()); |
| 11856 AsExpression asExpression = expression; |
| 11857 expect(asExpression.expression, isNotNull); |
| 11858 expect(asExpression.asOperator, isNotNull); |
| 11859 expect(asExpression.type, new isInstanceOf<TypeName>()); |
| 11713 } | 11860 } |
| 11714 | 11861 |
| 11715 void test_parseRelationalExpression_is() { | 11862 void test_parseRelationalExpression_is() { |
| 11716 createParser('x is y'); | 11863 createParser('x is y'); |
| 11717 Expression expression = parser.parseRelationalExpression(); | 11864 Expression expression = parser.parseRelationalExpression(); |
| 11718 expectNotNullIfNoErrors(expression); | 11865 expectNotNullIfNoErrors(expression); |
| 11719 listener.assertNoErrors(); | 11866 listener.assertNoErrors(); |
| 11720 expect(expression, new isInstanceOf<IsExpression>()); | 11867 expect(expression, new isInstanceOf<IsExpression>()); |
| 11721 IsExpression isExpression = expression; | 11868 IsExpression isExpression = expression; |
| 11722 expect(isExpression.expression, isNotNull); | 11869 expect(isExpression.expression, isNotNull); |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11799 void test_parseReturnStatement_value() { | 11946 void test_parseReturnStatement_value() { |
| 11800 createParser('return x;'); | 11947 createParser('return x;'); |
| 11801 ReturnStatement statement = parser.parseReturnStatement(); | 11948 ReturnStatement statement = parser.parseReturnStatement(); |
| 11802 expectNotNullIfNoErrors(statement); | 11949 expectNotNullIfNoErrors(statement); |
| 11803 listener.assertNoErrors(); | 11950 listener.assertNoErrors(); |
| 11804 expect(statement.returnKeyword, isNotNull); | 11951 expect(statement.returnKeyword, isNotNull); |
| 11805 expect(statement.expression, isNotNull); | 11952 expect(statement.expression, isNotNull); |
| 11806 expect(statement.semicolon, isNotNull); | 11953 expect(statement.semicolon, isNotNull); |
| 11807 } | 11954 } |
| 11808 | 11955 |
| 11809 void test_parseReturnType_nonVoid() { | 11956 void test_parseReturnType_function() { |
| 11957 createParser('A<B> Function<B>(B)'); |
| 11958 GenericFunctionType type = parser.parseReturnType(false); |
| 11959 expectNotNullIfNoErrors(type); |
| 11960 listener.assertNoErrors(); |
| 11961 expect(type.returnType, isNotNull); |
| 11962 expect(type.typeParameters, isNotNull); |
| 11963 expect(type.parameters, isNotNull); |
| 11964 } |
| 11965 |
| 11966 void test_parseReturnType_named() { |
| 11810 createParser('A<B>'); | 11967 createParser('A<B>'); |
| 11811 TypeName typeName = parser.parseReturnType(); | 11968 TypeName typeName = parser.parseReturnType(false); |
| 11812 expectNotNullIfNoErrors(typeName); | 11969 expectNotNullIfNoErrors(typeName); |
| 11813 listener.assertNoErrors(); | 11970 listener.assertNoErrors(); |
| 11814 expect(typeName.name, isNotNull); | 11971 expect(typeName.name, isNotNull); |
| 11815 expect(typeName.typeArguments, isNotNull); | 11972 expect(typeName.typeArguments, isNotNull); |
| 11816 } | 11973 } |
| 11817 | 11974 |
| 11818 void test_parseReturnType_void() { | 11975 void test_parseReturnType_void() { |
| 11819 createParser('void'); | 11976 createParser('void'); |
| 11820 TypeName typeName = parser.parseReturnType(); | 11977 TypeName typeName = parser.parseReturnType(false); |
| 11821 expectNotNullIfNoErrors(typeName); | 11978 expectNotNullIfNoErrors(typeName); |
| 11822 listener.assertNoErrors(); | 11979 listener.assertNoErrors(); |
| 11823 expect(typeName.name, isNotNull); | 11980 expect(typeName.name, isNotNull); |
| 11824 expect(typeName.typeArguments, isNull); | 11981 expect(typeName.typeArguments, isNull); |
| 11825 } | 11982 } |
| 11826 | 11983 |
| 11827 void test_parseSetter_nonStatic() { | 11984 void test_parseSetter_nonStatic() { |
| 11828 Comment comment = astFactory.documentationComment(new List<Token>(0)); | 11985 Comment comment = astFactory.documentationComment(new List<Token>(0)); |
| 11829 TypeName returnType = | 11986 TypeName returnType = |
| 11830 astFactory.typeName(astFactory.simpleIdentifier(null), null); | 11987 astFactory.typeName(astFactory.simpleIdentifier(null), null); |
| (...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12922 expect(typeAlias.semicolon, isNotNull); | 13079 expect(typeAlias.semicolon, isNotNull); |
| 12923 GenericFunctionType functionType = typeAlias.functionType; | 13080 GenericFunctionType functionType = typeAlias.functionType; |
| 12924 expect(functionType, isNotNull); | 13081 expect(functionType, isNotNull); |
| 12925 expect(functionType.parameters, isNotNull); | 13082 expect(functionType.parameters, isNotNull); |
| 12926 expect(functionType.returnType, isNotNull); | 13083 expect(functionType.returnType, isNotNull); |
| 12927 expect(functionType.typeParameters, isNull); | 13084 expect(functionType.typeParameters, isNull); |
| 12928 } | 13085 } |
| 12929 | 13086 |
| 12930 void test_parseTypeAnnotation_function_noReturnType_noParameters() { | 13087 void test_parseTypeAnnotation_function_noReturnType_noParameters() { |
| 12931 createParser('Function() v'); | 13088 createParser('Function() v'); |
| 12932 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13089 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 12933 expectNotNullIfNoErrors(functionType); | 13090 expectNotNullIfNoErrors(functionType); |
| 12934 listener.assertNoErrors(); | 13091 listener.assertNoErrors(); |
| 12935 expect(functionType.returnType, isNull); | 13092 expect(functionType.returnType, isNull); |
| 12936 expect(functionType.functionKeyword, isNotNull); | 13093 expect(functionType.functionKeyword, isNotNull); |
| 12937 expect(functionType.typeParameters, isNull); | 13094 expect(functionType.typeParameters, isNull); |
| 12938 FormalParameterList parameterList = functionType.parameters; | 13095 FormalParameterList parameterList = functionType.parameters; |
| 12939 expect(parameterList, isNotNull); | 13096 expect(parameterList, isNotNull); |
| 12940 expect(parameterList.parameters, hasLength(0)); | 13097 expect(parameterList.parameters, hasLength(0)); |
| 12941 } | 13098 } |
| 12942 | 13099 |
| 12943 void test_parseTypeAnnotation_function_noReturnType_parameters() { | 13100 void test_parseTypeAnnotation_function_noReturnType_parameters() { |
| 12944 createParser('Function(int, int) v'); | 13101 createParser('Function(int, int) v'); |
| 12945 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13102 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 12946 expectNotNullIfNoErrors(functionType); | 13103 expectNotNullIfNoErrors(functionType); |
| 12947 listener.assertNoErrors(); | 13104 listener.assertNoErrors(); |
| 12948 expect(functionType.returnType, isNull); | 13105 expect(functionType.returnType, isNull); |
| 12949 expect(functionType.functionKeyword, isNotNull); | 13106 expect(functionType.functionKeyword, isNotNull); |
| 12950 expect(functionType.typeParameters, isNull); | 13107 expect(functionType.typeParameters, isNull); |
| 12951 FormalParameterList parameterList = functionType.parameters; | 13108 FormalParameterList parameterList = functionType.parameters; |
| 12952 expect(parameterList, isNotNull); | 13109 expect(parameterList, isNotNull); |
| 12953 NodeList<FormalParameter> parameters = parameterList.parameters; | 13110 NodeList<FormalParameter> parameters = parameterList.parameters; |
| 12954 expect(parameters, hasLength(2)); | 13111 expect(parameters, hasLength(2)); |
| 12955 | 13112 |
| 12956 expect(parameters[0], new isInstanceOf<SimpleFormalParameter>()); | 13113 expect(parameters[0], new isInstanceOf<SimpleFormalParameter>()); |
| 12957 SimpleFormalParameter parameter = parameters[0]; | 13114 SimpleFormalParameter parameter = parameters[0]; |
| 12958 expect(parameter.identifier, isNull); | 13115 expect(parameter.identifier, isNull); |
| 12959 expect(parameter.type, new isInstanceOf<TypeName>()); | 13116 expect(parameter.type, new isInstanceOf<TypeName>()); |
| 12960 expect((parameter.type as TypeName).name.name, 'int'); | 13117 expect((parameter.type as TypeName).name.name, 'int'); |
| 12961 | 13118 |
| 12962 expect(parameters[1], new isInstanceOf<SimpleFormalParameter>()); | 13119 expect(parameters[1], new isInstanceOf<SimpleFormalParameter>()); |
| 12963 parameter = parameters[1]; | 13120 parameter = parameters[1]; |
| 12964 expect(parameter.identifier, isNull); | 13121 expect(parameter.identifier, isNull); |
| 12965 expect(parameter.type, new isInstanceOf<TypeName>()); | 13122 expect(parameter.type, new isInstanceOf<TypeName>()); |
| 12966 expect((parameter.type as TypeName).name.name, 'int'); | 13123 expect((parameter.type as TypeName).name.name, 'int'); |
| 12967 } | 13124 } |
| 12968 | 13125 |
| 12969 void test_parseTypeAnnotation_function_noReturnType_typeParameters() { | 13126 void test_parseTypeAnnotation_function_noReturnType_typeParameters() { |
| 12970 createParser('Function<S, T>()'); | 13127 createParser('Function<S, T>()'); |
| 12971 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13128 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 12972 expectNotNullIfNoErrors(functionType); | 13129 expectNotNullIfNoErrors(functionType); |
| 12973 listener.assertNoErrors(); | 13130 listener.assertNoErrors(); |
| 12974 expect(functionType.returnType, isNull); | 13131 expect(functionType.returnType, isNull); |
| 12975 expect(functionType.functionKeyword, isNotNull); | 13132 expect(functionType.functionKeyword, isNotNull); |
| 12976 TypeParameterList typeParameters = functionType.typeParameters; | 13133 TypeParameterList typeParameters = functionType.typeParameters; |
| 12977 expect(typeParameters, isNotNull); | 13134 expect(typeParameters, isNotNull); |
| 12978 expect(typeParameters.typeParameters, hasLength(2)); | 13135 expect(typeParameters.typeParameters, hasLength(2)); |
| 12979 FormalParameterList parameterList = functionType.parameters; | 13136 FormalParameterList parameterList = functionType.parameters; |
| 12980 expect(parameterList, isNotNull); | 13137 expect(parameterList, isNotNull); |
| 12981 expect(parameterList.parameters, hasLength(0)); | 13138 expect(parameterList.parameters, hasLength(0)); |
| 12982 } | 13139 } |
| 12983 | 13140 |
| 12984 void | 13141 void |
| 12985 test_parseTypeAnnotation_function_noReturnType_typeParameters_parameters()
{ | 13142 test_parseTypeAnnotation_function_noReturnType_typeParameters_parameters()
{ |
| 12986 createParser('Function<T>(String, {T t})'); | 13143 createParser('Function<T>(String, {T t})'); |
| 12987 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13144 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 12988 expectNotNullIfNoErrors(functionType); | 13145 expectNotNullIfNoErrors(functionType); |
| 12989 listener.assertNoErrors(); | 13146 listener.assertNoErrors(); |
| 12990 expect(functionType.returnType, isNull); | 13147 expect(functionType.returnType, isNull); |
| 12991 expect(functionType.functionKeyword, isNotNull); | 13148 expect(functionType.functionKeyword, isNotNull); |
| 12992 TypeParameterList typeParameters = functionType.typeParameters; | 13149 TypeParameterList typeParameters = functionType.typeParameters; |
| 12993 expect(typeParameters, isNotNull); | 13150 expect(typeParameters, isNotNull); |
| 12994 expect(typeParameters.typeParameters, hasLength(1)); | 13151 expect(typeParameters.typeParameters, hasLength(1)); |
| 12995 FormalParameterList parameterList = functionType.parameters; | 13152 FormalParameterList parameterList = functionType.parameters; |
| 12996 expect(parameterList, isNotNull); | 13153 expect(parameterList, isNotNull); |
| 12997 expect(parameterList.parameters, hasLength(2)); | 13154 expect(parameterList.parameters, hasLength(2)); |
| 12998 } | 13155 } |
| 12999 | 13156 |
| 13157 void test_parseTypeAnnotation_function_returnType_classFunction() { |
| 13158 createParser('Function v'); |
| 13159 TypeName functionType = parser.parseTypeAnnotation(false); |
| 13160 expectNotNullIfNoErrors(functionType); |
| 13161 listener.assertNoErrors(); |
| 13162 } |
| 13163 |
| 13000 void test_parseTypeAnnotation_function_returnType_function() { | 13164 void test_parseTypeAnnotation_function_returnType_function() { |
| 13001 createParser('A Function(B, C) Function(D) v'); | 13165 createParser('A Function(B, C) Function(D) v'); |
| 13002 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13166 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 13003 expectNotNullIfNoErrors(functionType); | 13167 expectNotNullIfNoErrors(functionType); |
| 13004 listener.assertNoErrors(); | 13168 listener.assertNoErrors(); |
| 13005 } | 13169 } |
| 13006 | 13170 |
| 13007 void test_parseTypeAnnotation_function_returnType_noParameters() { | 13171 void test_parseTypeAnnotation_function_returnType_noParameters() { |
| 13008 createParser('List<int> Function()'); | 13172 createParser('List<int> Function()'); |
| 13009 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13173 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 13010 expectNotNullIfNoErrors(functionType); | 13174 expectNotNullIfNoErrors(functionType); |
| 13011 listener.assertNoErrors(); | 13175 listener.assertNoErrors(); |
| 13012 expect(functionType.returnType, isNotNull); | 13176 expect(functionType.returnType, isNotNull); |
| 13013 expect(functionType.functionKeyword, isNotNull); | 13177 expect(functionType.functionKeyword, isNotNull); |
| 13014 expect(functionType.typeParameters, isNull); | 13178 expect(functionType.typeParameters, isNull); |
| 13015 FormalParameterList parameterList = functionType.parameters; | 13179 FormalParameterList parameterList = functionType.parameters; |
| 13016 expect(parameterList, isNotNull); | 13180 expect(parameterList, isNotNull); |
| 13017 expect(parameterList.parameters, hasLength(0)); | 13181 expect(parameterList.parameters, hasLength(0)); |
| 13018 } | 13182 } |
| 13019 | 13183 |
| 13020 void test_parseTypeAnnotation_function_returnType_parameters() { | 13184 void test_parseTypeAnnotation_function_returnType_parameters() { |
| 13021 createParser('List<int> Function(String s, int i)'); | 13185 createParser('List<int> Function(String s, int i)'); |
| 13022 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13186 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 13023 expectNotNullIfNoErrors(functionType); | 13187 expectNotNullIfNoErrors(functionType); |
| 13024 listener.assertNoErrors(); | 13188 listener.assertNoErrors(); |
| 13025 expect(functionType.returnType, isNotNull); | 13189 expect(functionType.returnType, isNotNull); |
| 13026 expect(functionType.functionKeyword, isNotNull); | 13190 expect(functionType.functionKeyword, isNotNull); |
| 13027 expect(functionType.typeParameters, isNull); | 13191 expect(functionType.typeParameters, isNull); |
| 13028 FormalParameterList parameterList = functionType.parameters; | 13192 FormalParameterList parameterList = functionType.parameters; |
| 13029 expect(parameterList, isNotNull); | 13193 expect(parameterList, isNotNull); |
| 13030 NodeList<FormalParameter> parameters = parameterList.parameters; | 13194 NodeList<FormalParameter> parameters = parameterList.parameters; |
| 13031 expect(parameters, hasLength(2)); | 13195 expect(parameters, hasLength(2)); |
| 13032 | 13196 |
| 13033 expect(parameters[0], new isInstanceOf<SimpleFormalParameter>()); | 13197 expect(parameters[0], new isInstanceOf<SimpleFormalParameter>()); |
| 13034 SimpleFormalParameter parameter = parameters[0]; | 13198 SimpleFormalParameter parameter = parameters[0]; |
| 13035 expect(parameter.identifier, isNotNull); | 13199 expect(parameter.identifier, isNotNull); |
| 13036 expect(parameter.identifier.name, 's'); | 13200 expect(parameter.identifier.name, 's'); |
| 13037 expect(parameter.type, new isInstanceOf<TypeName>()); | 13201 expect(parameter.type, new isInstanceOf<TypeName>()); |
| 13038 expect((parameter.type as TypeName).name.name, 'String'); | 13202 expect((parameter.type as TypeName).name.name, 'String'); |
| 13039 | 13203 |
| 13040 expect(parameters[1], new isInstanceOf<SimpleFormalParameter>()); | 13204 expect(parameters[1], new isInstanceOf<SimpleFormalParameter>()); |
| 13041 parameter = parameters[1]; | 13205 parameter = parameters[1]; |
| 13042 expect(parameter.identifier, isNotNull); | 13206 expect(parameter.identifier, isNotNull); |
| 13043 expect(parameter.identifier.name, 'i'); | 13207 expect(parameter.identifier.name, 'i'); |
| 13044 expect(parameter.type, new isInstanceOf<TypeName>()); | 13208 expect(parameter.type, new isInstanceOf<TypeName>()); |
| 13045 expect((parameter.type as TypeName).name.name, 'int'); | 13209 expect((parameter.type as TypeName).name.name, 'int'); |
| 13046 } | 13210 } |
| 13047 | 13211 |
| 13048 void test_parseTypeAnnotation_function_returnType_simple() { | 13212 void test_parseTypeAnnotation_function_returnType_simple() { |
| 13049 createParser('A Function(B, C) v'); | 13213 createParser('A Function(B, C) v'); |
| 13050 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13214 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 13051 expectNotNullIfNoErrors(functionType); | 13215 expectNotNullIfNoErrors(functionType); |
| 13052 listener.assertNoErrors(); | 13216 listener.assertNoErrors(); |
| 13053 } | 13217 } |
| 13054 | 13218 |
| 13055 void test_parseTypeAnnotation_function_returnType_typeParameters() { | 13219 void test_parseTypeAnnotation_function_returnType_typeParameters() { |
| 13056 createParser('List<T> Function<T>()'); | 13220 createParser('List<T> Function<T>()'); |
| 13057 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13221 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 13058 expectNotNullIfNoErrors(functionType); | 13222 expectNotNullIfNoErrors(functionType); |
| 13059 listener.assertNoErrors(); | 13223 listener.assertNoErrors(); |
| 13060 expect(functionType.returnType, isNotNull); | 13224 expect(functionType.returnType, isNotNull); |
| 13061 expect(functionType.functionKeyword, isNotNull); | 13225 expect(functionType.functionKeyword, isNotNull); |
| 13062 TypeParameterList typeParameters = functionType.typeParameters; | 13226 TypeParameterList typeParameters = functionType.typeParameters; |
| 13063 expect(typeParameters, isNotNull); | 13227 expect(typeParameters, isNotNull); |
| 13064 expect(typeParameters.typeParameters, hasLength(1)); | 13228 expect(typeParameters.typeParameters, hasLength(1)); |
| 13065 FormalParameterList parameterList = functionType.parameters; | 13229 FormalParameterList parameterList = functionType.parameters; |
| 13066 expect(parameterList, isNotNull); | 13230 expect(parameterList, isNotNull); |
| 13067 expect(parameterList.parameters, hasLength(0)); | 13231 expect(parameterList.parameters, hasLength(0)); |
| 13068 } | 13232 } |
| 13069 | 13233 |
| 13070 void | 13234 void |
| 13071 test_parseTypeAnnotation_function_returnType_typeParameters_parameters() { | 13235 test_parseTypeAnnotation_function_returnType_typeParameters_parameters() { |
| 13072 createParser('List<T> Function<T>(String s, [T])'); | 13236 createParser('List<T> Function<T>(String s, [T])'); |
| 13073 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13237 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 13074 expectNotNullIfNoErrors(functionType); | 13238 expectNotNullIfNoErrors(functionType); |
| 13075 listener.assertNoErrors(); | 13239 listener.assertNoErrors(); |
| 13076 expect(functionType.returnType, isNotNull); | 13240 expect(functionType.returnType, isNotNull); |
| 13077 expect(functionType.functionKeyword, isNotNull); | 13241 expect(functionType.functionKeyword, isNotNull); |
| 13078 TypeParameterList typeParameters = functionType.typeParameters; | 13242 TypeParameterList typeParameters = functionType.typeParameters; |
| 13079 expect(typeParameters, isNotNull); | 13243 expect(typeParameters, isNotNull); |
| 13080 expect(typeParameters.typeParameters, hasLength(1)); | 13244 expect(typeParameters.typeParameters, hasLength(1)); |
| 13081 FormalParameterList parameterList = functionType.parameters; | 13245 FormalParameterList parameterList = functionType.parameters; |
| 13082 expect(parameterList, isNotNull); | 13246 expect(parameterList, isNotNull); |
| 13083 expect(parameterList.parameters, hasLength(2)); | 13247 expect(parameterList.parameters, hasLength(2)); |
| 13084 } | 13248 } |
| 13085 | 13249 |
| 13086 void test_parseTypeAnnotation_function_returnType_withArguments() { | 13250 void test_parseTypeAnnotation_function_returnType_withArguments() { |
| 13087 createParser('A<B> Function(C) v'); | 13251 createParser('A<B> Function(C) v'); |
| 13088 GenericFunctionType functionType = parser.parseTypeAnnotation(); | 13252 GenericFunctionType functionType = parser.parseTypeAnnotation(false); |
| 13089 expectNotNullIfNoErrors(functionType); | 13253 expectNotNullIfNoErrors(functionType); |
| 13090 listener.assertNoErrors(); | 13254 listener.assertNoErrors(); |
| 13091 } | 13255 } |
| 13092 | 13256 |
| 13093 void test_parseTypeAnnotation_named() { | 13257 void test_parseTypeAnnotation_named() { |
| 13094 createParser('A<B> v'); | 13258 createParser('A<B> v'); |
| 13095 TypeName typeName = parser.parseTypeAnnotation(); | 13259 TypeName typeName = parser.parseTypeAnnotation(false); |
| 13096 expectNotNullIfNoErrors(typeName); | 13260 expectNotNullIfNoErrors(typeName); |
| 13097 listener.assertNoErrors(); | 13261 listener.assertNoErrors(); |
| 13098 } | 13262 } |
| 13099 | 13263 |
| 13100 void test_parseTypeArgumentList_empty() { | 13264 void test_parseTypeArgumentList_empty() { |
| 13101 createParser('<>'); | 13265 createParser('<>'); |
| 13102 TypeArgumentList argumentList = parser.parseTypeArgumentList(); | 13266 TypeArgumentList argumentList = parser.parseTypeArgumentList(); |
| 13103 expectNotNullIfNoErrors(argumentList); | 13267 expectNotNullIfNoErrors(argumentList); |
| 13104 listener.assertErrorsWithCodes([ParserErrorCode.EXPECTED_TYPE_NAME]); | 13268 listener.assertErrorsWithCodes([ParserErrorCode.EXPECTED_TYPE_NAME]); |
| 13105 expect(argumentList.leftBracket, isNotNull); | 13269 expect(argumentList.leftBracket, isNotNull); |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13226 enableNnbd = true; | 13390 enableNnbd = true; |
| 13227 createParser('String?'); | 13391 createParser('String?'); |
| 13228 TypeName typeName = parser.parseTypeName(false); | 13392 TypeName typeName = parser.parseTypeName(false); |
| 13229 expectNotNullIfNoErrors(typeName); | 13393 expectNotNullIfNoErrors(typeName); |
| 13230 listener.assertNoErrors(); | 13394 listener.assertNoErrors(); |
| 13231 expect(typeName.name, isNotNull); | 13395 expect(typeName.name, isNotNull); |
| 13232 expect(typeName.typeArguments, isNull); | 13396 expect(typeName.typeArguments, isNull); |
| 13233 expect(typeName.question, isNotNull); | 13397 expect(typeName.question, isNotNull); |
| 13234 } | 13398 } |
| 13235 | 13399 |
| 13236 void test_parseTypeParameter_bounded() { | 13400 void test_parseTypeParameter_bounded_functionType_noReturn() { |
| 13237 createParser('A extends B'); | 13401 createParser('A extends Function(int)'); |
| 13238 TypeParameter parameter = parser.parseTypeParameter(); | 13402 TypeParameter parameter = parser.parseTypeParameter(); |
| 13239 expectNotNullIfNoErrors(parameter); | 13403 expectNotNullIfNoErrors(parameter); |
| 13240 listener.assertNoErrors(); | 13404 listener.assertNoErrors(); |
| 13241 expect(parameter.bound, isNotNull); | 13405 expect(parameter.bound, new isInstanceOf<GenericFunctionType>()); |
| 13242 expect(parameter.extendsKeyword, isNotNull); | 13406 expect(parameter.extendsKeyword, isNotNull); |
| 13243 expect(parameter.name, isNotNull); | 13407 expect(parameter.name, isNotNull); |
| 13244 } | 13408 } |
| 13409 |
| 13410 void test_parseTypeParameter_bounded_functionType_return() { |
| 13411 createParser('A extends String Function(int)'); |
| 13412 TypeParameter parameter = parser.parseTypeParameter(); |
| 13413 expectNotNullIfNoErrors(parameter); |
| 13414 listener.assertNoErrors(); |
| 13415 expect(parameter.bound, new isInstanceOf<GenericFunctionType>()); |
| 13416 expect(parameter.extendsKeyword, isNotNull); |
| 13417 expect(parameter.name, isNotNull); |
| 13418 } |
| 13419 |
| 13420 void test_parseTypeParameter_bounded_generic() { |
| 13421 createParser('A extends B<C>'); |
| 13422 TypeParameter parameter = parser.parseTypeParameter(); |
| 13423 expectNotNullIfNoErrors(parameter); |
| 13424 listener.assertNoErrors(); |
| 13425 expect(parameter.bound, new isInstanceOf<TypeName>()); |
| 13426 expect(parameter.extendsKeyword, isNotNull); |
| 13427 expect(parameter.name, isNotNull); |
| 13428 } |
| 13245 | 13429 |
| 13246 void test_parseTypeParameter_bounded_nullable() { | 13430 void test_parseTypeParameter_bounded_nullable() { |
| 13247 enableNnbd = true; | 13431 enableNnbd = true; |
| 13248 createParser('A extends B?'); | 13432 createParser('A extends B?'); |
| 13249 TypeParameter parameter = parser.parseTypeParameter(); | 13433 TypeParameter parameter = parser.parseTypeParameter(); |
| 13250 expectNotNullIfNoErrors(parameter); | 13434 expectNotNullIfNoErrors(parameter); |
| 13251 listener.assertNoErrors(); | 13435 listener.assertNoErrors(); |
| 13252 expect(parameter.bound, isNotNull); | 13436 expect(parameter.bound, new isInstanceOf<TypeName>()); |
| 13253 expect(parameter.extendsKeyword, isNotNull); | 13437 expect(parameter.extendsKeyword, isNotNull); |
| 13254 expect(parameter.name, isNotNull); | 13438 expect(parameter.name, isNotNull); |
| 13255 TypeName bound = parameter.bound; | 13439 TypeName bound = parameter.bound; |
| 13256 expect(bound, isNotNull); | 13440 expect(bound, isNotNull); |
| 13257 expect(bound.question, isNotNull); | 13441 expect(bound.question, isNotNull); |
| 13258 } | 13442 } |
| 13259 | 13443 |
| 13444 void test_parseTypeParameter_bounded_simple() { |
| 13445 createParser('A extends B'); |
| 13446 TypeParameter parameter = parser.parseTypeParameter(); |
| 13447 expectNotNullIfNoErrors(parameter); |
| 13448 listener.assertNoErrors(); |
| 13449 expect(parameter.bound, new isInstanceOf<TypeName>()); |
| 13450 expect(parameter.extendsKeyword, isNotNull); |
| 13451 expect(parameter.name, isNotNull); |
| 13452 } |
| 13453 |
| 13260 void test_parseTypeParameter_simple() { | 13454 void test_parseTypeParameter_simple() { |
| 13261 createParser('A'); | 13455 createParser('A'); |
| 13262 TypeParameter parameter = parser.parseTypeParameter(); | 13456 TypeParameter parameter = parser.parseTypeParameter(); |
| 13263 expectNotNullIfNoErrors(parameter); | 13457 expectNotNullIfNoErrors(parameter); |
| 13264 listener.assertNoErrors(); | 13458 listener.assertNoErrors(); |
| 13265 expect(parameter.bound, isNull); | 13459 expect(parameter.bound, isNull); |
| 13266 expect(parameter.extendsKeyword, isNull); | 13460 expect(parameter.extendsKeyword, isNull); |
| 13267 expect(parameter.name, isNotNull); | 13461 expect(parameter.name, isNotNull); |
| 13268 } | 13462 } |
| 13269 | 13463 |
| (...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13918 CompilationUnit _parseDirectives(String source, | 14112 CompilationUnit _parseDirectives(String source, |
| 13919 [List<ErrorCode> errorCodes = const <ErrorCode>[]]) { | 14113 [List<ErrorCode> errorCodes = const <ErrorCode>[]]) { |
| 13920 createParser(source); | 14114 createParser(source); |
| 13921 CompilationUnit unit = parser.parseDirectives2(); | 14115 CompilationUnit unit = parser.parseDirectives2(); |
| 13922 expect(unit, isNotNull); | 14116 expect(unit, isNotNull); |
| 13923 expect(unit.declarations, hasLength(0)); | 14117 expect(unit.declarations, hasLength(0)); |
| 13924 listener.assertErrorsWithCodes(errorCodes); | 14118 listener.assertErrorsWithCodes(errorCodes); |
| 13925 return unit; | 14119 return unit; |
| 13926 } | 14120 } |
| 13927 } | 14121 } |
| OLD | NEW |