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 4958 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4969 expect(expression.parameters, isNotNull); | 4969 expect(expression.parameters, isNotNull); |
4970 expect((expression.body as ExpressionFunctionBody).semicolon, isNull); | 4970 expect((expression.body as ExpressionFunctionBody).semicolon, isNull); |
4971 } | 4971 } |
4972 | 4972 |
4973 void test_parseInstanceCreationExpression_qualifiedType() { | 4973 void test_parseInstanceCreationExpression_qualifiedType() { |
4974 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 4974 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
4975 InstanceCreationExpression expression = | 4975 InstanceCreationExpression expression = |
4976 parseInstanceCreationExpression('A.B()', token); | 4976 parseInstanceCreationExpression('A.B()', token); |
4977 expect(expression, isNotNull); | 4977 expect(expression, isNotNull); |
4978 assertNoErrors(); | 4978 assertNoErrors(); |
4979 expect(expression.keyword, token); | 4979 expect(expression.keyword.keyword, Keyword.NEW); |
4980 ConstructorName name = expression.constructorName; | 4980 ConstructorName name = expression.constructorName; |
4981 expect(name, isNotNull); | 4981 expect(name, isNotNull); |
4982 TypeName type = name.type; | 4982 TypeName type = name.type; |
4983 expect(type, isNotNull); | 4983 expect(type.name.name, 'A.B'); |
4984 expect(type.typeArguments, isNull); | 4984 expect(type.typeArguments, isNull); |
4985 expect(name.period, isNull); | 4985 expect(name.period, isNull); |
4986 expect(name.name, isNull); | 4986 expect(name.name, isNull); |
4987 expect(expression.argumentList, isNotNull); | 4987 expect(expression.argumentList, isNotNull); |
4988 } | 4988 } |
4989 | 4989 |
4990 void test_parseInstanceCreationExpression_qualifiedType_named() { | 4990 void test_parseInstanceCreationExpression_qualifiedType_named() { |
4991 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 4991 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
4992 InstanceCreationExpression expression = | 4992 InstanceCreationExpression expression = |
4993 parseInstanceCreationExpression('A.B.c()', token); | 4993 parseInstanceCreationExpression('A.B.c()', token); |
4994 expect(expression, isNotNull); | 4994 expect(expression, isNotNull); |
4995 assertNoErrors(); | 4995 assertNoErrors(); |
4996 expect(expression.keyword, token); | 4996 expect(expression.keyword.keyword, Keyword.NEW); |
4997 ConstructorName name = expression.constructorName; | 4997 ConstructorName name = expression.constructorName; |
4998 expect(name, isNotNull); | 4998 expect(name, isNotNull); |
4999 TypeName type = name.type; | 4999 TypeName type = name.type; |
5000 expect(type, isNotNull); | 5000 expect(type, isNotNull); |
5001 expect(type.typeArguments, isNull); | 5001 expect(type.typeArguments, isNull); |
5002 expect(name.period, isNotNull); | 5002 expect(name.period, isNotNull); |
5003 expect(name.name, isNotNull); | 5003 expect(name.name, isNotNull); |
5004 expect(expression.argumentList, isNotNull); | 5004 expect(expression.argumentList, isNotNull); |
5005 } | 5005 } |
5006 | 5006 |
5007 void | 5007 void |
5008 test_parseInstanceCreationExpression_qualifiedType_named_typeParameterComm
ent() { | 5008 test_parseInstanceCreationExpression_qualifiedType_named_typeParameterComm
ent() { |
5009 enableGenericMethodComments = true; | 5009 enableGenericMethodComments = true; |
5010 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5010 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5011 InstanceCreationExpression expression = | 5011 InstanceCreationExpression expression = |
5012 parseInstanceCreationExpression('A.B/*<E>*/.c()', token); | 5012 parseInstanceCreationExpression('A.B/*<E>*/.c()', token); |
5013 expect(expression, isNotNull); | 5013 expect(expression, isNotNull); |
5014 assertNoErrors(); | 5014 assertNoErrors(); |
5015 expect(expression.keyword, token); | 5015 expect(expression.keyword.keyword, Keyword.NEW); |
5016 ConstructorName name = expression.constructorName; | 5016 ConstructorName name = expression.constructorName; |
5017 expect(name, isNotNull); | 5017 expect(name, isNotNull); |
5018 TypeName type = name.type; | 5018 TypeName type = name.type; |
5019 expect(type, isNotNull); | 5019 expect(type, isNotNull); |
5020 expect(type.typeArguments.arguments, hasLength(1)); | 5020 expect(type.typeArguments.arguments, hasLength(1)); |
5021 expect(name.period, isNotNull); | 5021 expect(name.period, isNotNull); |
5022 expect(name.name, isNotNull); | 5022 expect(name.name, isNotNull); |
5023 expect(expression.argumentList, isNotNull); | 5023 expect(expression.argumentList, isNotNull); |
5024 } | 5024 } |
5025 | 5025 |
5026 void | 5026 void |
5027 test_parseInstanceCreationExpression_qualifiedType_named_typeParameters()
{ | 5027 test_parseInstanceCreationExpression_qualifiedType_named_typeParameters()
{ |
5028 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5028 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5029 InstanceCreationExpression expression = | 5029 InstanceCreationExpression expression = |
5030 parseInstanceCreationExpression('A.B<E>.c()', token); | 5030 parseInstanceCreationExpression('A.B<E>.c()', token); |
5031 expect(expression, isNotNull); | 5031 expect(expression, isNotNull); |
5032 assertNoErrors(); | 5032 assertNoErrors(); |
5033 expect(expression.keyword, token); | 5033 expect(expression.keyword.keyword, Keyword.NEW); |
5034 ConstructorName name = expression.constructorName; | 5034 ConstructorName name = expression.constructorName; |
5035 expect(name, isNotNull); | 5035 expect(name, isNotNull); |
5036 TypeName type = name.type; | 5036 TypeName type = name.type; |
5037 expect(type, isNotNull); | 5037 expect(type, isNotNull); |
5038 expect(type.typeArguments.arguments, hasLength(1)); | 5038 expect(type.typeArguments.arguments, hasLength(1)); |
5039 expect(name.period, isNotNull); | 5039 expect(name.period, isNotNull); |
5040 expect(name.name, isNotNull); | 5040 expect(name.name, isNotNull); |
5041 expect(expression.argumentList, isNotNull); | 5041 expect(expression.argumentList, isNotNull); |
5042 } | 5042 } |
5043 | 5043 |
5044 void | 5044 void |
5045 test_parseInstanceCreationExpression_qualifiedType_typeParameterComment()
{ | 5045 test_parseInstanceCreationExpression_qualifiedType_typeParameterComment()
{ |
5046 enableGenericMethodComments = true; | 5046 enableGenericMethodComments = true; |
5047 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5047 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5048 InstanceCreationExpression expression = | 5048 InstanceCreationExpression expression = |
5049 parseInstanceCreationExpression('A.B/*<E>*/()', token); | 5049 parseInstanceCreationExpression('A.B/*<E>*/()', token); |
5050 expect(expression, isNotNull); | 5050 expect(expression, isNotNull); |
5051 assertNoErrors(); | 5051 assertNoErrors(); |
5052 expect(expression.keyword, token); | 5052 expect(expression.keyword.keyword, Keyword.NEW); |
5053 ConstructorName name = expression.constructorName; | 5053 ConstructorName name = expression.constructorName; |
5054 expect(name, isNotNull); | 5054 expect(name, isNotNull); |
5055 TypeName type = name.type; | 5055 TypeName type = name.type; |
5056 expect(type, isNotNull); | 5056 expect(type, isNotNull); |
5057 expect(type.typeArguments.arguments, hasLength(1)); | 5057 expect(type.typeArguments.arguments, hasLength(1)); |
5058 expect(name.period, isNull); | 5058 expect(name.period, isNull); |
5059 expect(name.name, isNull); | 5059 expect(name.name, isNull); |
5060 expect(expression.argumentList, isNotNull); | 5060 expect(expression.argumentList, isNotNull); |
5061 } | 5061 } |
5062 | 5062 |
5063 void test_parseInstanceCreationExpression_qualifiedType_typeParameters() { | 5063 void test_parseInstanceCreationExpression_qualifiedType_typeParameters() { |
5064 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5064 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5065 InstanceCreationExpression expression = | 5065 InstanceCreationExpression expression = |
5066 parseInstanceCreationExpression('A.B<E>()', token); | 5066 parseInstanceCreationExpression('A.B<E>()', token); |
5067 expect(expression, isNotNull); | 5067 expect(expression, isNotNull); |
5068 assertNoErrors(); | 5068 assertNoErrors(); |
5069 expect(expression.keyword, token); | 5069 expect(expression.keyword.keyword, Keyword.NEW); |
5070 ConstructorName name = expression.constructorName; | 5070 ConstructorName name = expression.constructorName; |
5071 expect(name, isNotNull); | 5071 expect(name, isNotNull); |
5072 TypeName type = name.type; | 5072 TypeName type = name.type; |
5073 expect(type, isNotNull); | 5073 expect(type, isNotNull); |
5074 expect(type.typeArguments.arguments, hasLength(1)); | 5074 expect(type.typeArguments.arguments, hasLength(1)); |
5075 expect(name.period, isNull); | 5075 expect(name.period, isNull); |
5076 expect(name.name, isNull); | 5076 expect(name.name, isNull); |
5077 expect(expression.argumentList, isNotNull); | 5077 expect(expression.argumentList, isNotNull); |
5078 } | 5078 } |
5079 | 5079 |
5080 void test_parseInstanceCreationExpression_type() { | 5080 void test_parseInstanceCreationExpression_type() { |
5081 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5081 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5082 InstanceCreationExpression expression = | 5082 InstanceCreationExpression expression = |
5083 parseInstanceCreationExpression('A()', token); | 5083 parseInstanceCreationExpression('A()', token); |
5084 expect(expression, isNotNull); | 5084 expect(expression, isNotNull); |
5085 assertNoErrors(); | 5085 assertNoErrors(); |
5086 expect(expression.keyword, token); | 5086 expect(expression.keyword.keyword, Keyword.NEW); |
5087 ConstructorName name = expression.constructorName; | 5087 ConstructorName name = expression.constructorName; |
5088 expect(name, isNotNull); | 5088 expect(name, isNotNull); |
5089 TypeName type = name.type; | 5089 TypeName type = name.type; |
5090 expect(type, isNotNull); | 5090 expect(type, isNotNull); |
5091 expect(type.typeArguments, isNull); | 5091 expect(type.typeArguments, isNull); |
5092 expect(name.period, isNull); | 5092 expect(name.period, isNull); |
5093 expect(name.name, isNull); | 5093 expect(name.name, isNull); |
5094 expect(expression.argumentList, isNotNull); | 5094 expect(expression.argumentList, isNotNull); |
5095 } | 5095 } |
5096 | 5096 |
5097 void test_parseInstanceCreationExpression_type_named() { | 5097 void test_parseInstanceCreationExpression_type_named() { |
5098 enableGenericMethodComments = true; | |
5099 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5098 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5100 InstanceCreationExpression expression = | 5099 InstanceCreationExpression expression = |
5101 parseInstanceCreationExpression('A.c()', token); | 5100 parseInstanceCreationExpression('A.c()', token); |
5102 expect(expression, isNotNull); | 5101 expect(expression, isNotNull); |
5103 assertNoErrors(); | 5102 assertNoErrors(); |
5104 expect(expression.keyword, token); | 5103 expect(expression.keyword.keyword, Keyword.NEW); |
5105 ConstructorName name = expression.constructorName; | 5104 ConstructorName name = expression.constructorName; |
5106 expect(name, isNotNull); | 5105 expect(name, isNotNull); |
5107 TypeName type = name.type; | 5106 TypeName type = name.type; |
5108 expect(type, isNotNull); | 5107 expect(type, isNotNull); |
5109 expect(type.typeArguments, isNull); | 5108 expect(type.typeArguments, isNull); |
5110 expect(name.period, isNull); | 5109 expect(name.period, isNull); |
5111 expect(name.name, isNull); | 5110 expect(name.name, isNull); |
5112 expect(expression.argumentList, isNotNull); | 5111 expect(expression.argumentList, isNotNull); |
5113 } | 5112 } |
5114 | 5113 |
5115 void test_parseInstanceCreationExpression_type_named_typeParameterComment() { | 5114 void test_parseInstanceCreationExpression_type_named_typeParameterComment() { |
5116 enableGenericMethodComments = true; | 5115 enableGenericMethodComments = true; |
5117 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5116 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5118 InstanceCreationExpression expression = | 5117 InstanceCreationExpression expression = |
5119 parseInstanceCreationExpression('A/*<B>*/.c()', token); | 5118 parseInstanceCreationExpression('A/*<B>*/.c()', token); |
5120 expect(expression, isNotNull); | 5119 expect(expression, isNotNull); |
5121 assertNoErrors(); | 5120 assertNoErrors(); |
5122 expect(expression.keyword, token); | 5121 expect(expression.keyword.keyword, Keyword.NEW); |
5123 ConstructorName name = expression.constructorName; | 5122 ConstructorName name = expression.constructorName; |
5124 expect(name, isNotNull); | 5123 expect(name, isNotNull); |
5125 TypeName type = name.type; | 5124 TypeName type = name.type; |
5126 expect(type, isNotNull); | 5125 expect(type, isNotNull); |
5127 expect(type.typeArguments.arguments, hasLength(1)); | 5126 expect(type.typeArguments.arguments, hasLength(1)); |
5128 expect(name.period, isNotNull); | 5127 expect(name.period, isNotNull); |
5129 expect(name.name, isNotNull); | 5128 expect(name.name, isNotNull); |
5130 expect(expression.argumentList, isNotNull); | 5129 expect(expression.argumentList, isNotNull); |
5131 } | 5130 } |
5132 | 5131 |
5133 void test_parseInstanceCreationExpression_type_named_typeParameters() { | 5132 void test_parseInstanceCreationExpression_type_named_typeParameters() { |
5134 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5133 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5135 InstanceCreationExpression expression = | 5134 InstanceCreationExpression expression = |
5136 parseInstanceCreationExpression('A<B>.c()', token); | 5135 parseInstanceCreationExpression('A<B>.c()', token); |
5137 expect(expression, isNotNull); | 5136 expect(expression, isNotNull); |
5138 assertNoErrors(); | 5137 assertNoErrors(); |
5139 expect(expression.keyword, token); | 5138 expect(expression.keyword.keyword, Keyword.NEW); |
5140 ConstructorName name = expression.constructorName; | 5139 ConstructorName name = expression.constructorName; |
5141 expect(name, isNotNull); | 5140 expect(name, isNotNull); |
5142 TypeName type = name.type; | 5141 TypeName type = name.type; |
5143 expect(type, isNotNull); | 5142 expect(type, isNotNull); |
5144 expect(type.typeArguments.arguments, hasLength(1)); | 5143 expect(type.typeArguments.arguments, hasLength(1)); |
5145 expect(name.period, isNotNull); | 5144 expect(name.period, isNotNull); |
5146 expect(name.name, isNotNull); | 5145 expect(name.name, isNotNull); |
5147 expect(expression.argumentList, isNotNull); | 5146 expect(expression.argumentList, isNotNull); |
5148 } | 5147 } |
5149 | 5148 |
5150 void test_parseInstanceCreationExpression_type_typeParameterComment() { | 5149 void test_parseInstanceCreationExpression_type_typeParameterComment() { |
5151 enableGenericMethodComments = true; | 5150 enableGenericMethodComments = true; |
5152 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5151 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5153 InstanceCreationExpression expression = | 5152 InstanceCreationExpression expression = |
5154 parseInstanceCreationExpression('A/*<B>*/()', token); | 5153 parseInstanceCreationExpression('A/*<B>*/()', token); |
5155 expect(expression, isNotNull); | 5154 expect(expression, isNotNull); |
5156 assertNoErrors(); | 5155 assertNoErrors(); |
5157 expect(expression.keyword, token); | 5156 expect(expression.keyword.keyword, Keyword.NEW); |
5158 ConstructorName name = expression.constructorName; | 5157 ConstructorName name = expression.constructorName; |
5159 expect(name, isNotNull); | 5158 expect(name, isNotNull); |
5160 TypeName type = name.type; | 5159 TypeName type = name.type; |
5161 expect(type, isNotNull); | 5160 expect(type, isNotNull); |
5162 expect(type.typeArguments.arguments, hasLength(1)); | 5161 expect(type.typeArguments.arguments, hasLength(1)); |
5163 expect(name.period, isNull); | 5162 expect(name.period, isNull); |
5164 expect(name.name, isNull); | 5163 expect(name.name, isNull); |
5165 expect(expression.argumentList, isNotNull); | 5164 expect(expression.argumentList, isNotNull); |
5166 } | 5165 } |
5167 | 5166 |
5168 void test_parseInstanceCreationExpression_type_typeParameters() { | 5167 void test_parseInstanceCreationExpression_type_typeParameters() { |
5169 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5168 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5170 InstanceCreationExpression expression = | 5169 InstanceCreationExpression expression = |
5171 parseInstanceCreationExpression('A<B>()', token); | 5170 parseInstanceCreationExpression('A<B>()', token); |
5172 expect(expression, isNotNull); | 5171 expect(expression, isNotNull); |
5173 assertNoErrors(); | 5172 assertNoErrors(); |
5174 expect(expression.keyword, token); | 5173 expect(expression.keyword.keyword, Keyword.NEW); |
5175 ConstructorName name = expression.constructorName; | 5174 ConstructorName name = expression.constructorName; |
5176 expect(name, isNotNull); | 5175 expect(name, isNotNull); |
5177 TypeName type = name.type; | 5176 TypeName type = name.type; |
5178 expect(type, isNotNull); | 5177 expect(type, isNotNull); |
5179 expect(type.typeArguments.arguments, hasLength(1)); | 5178 expect(type.typeArguments.arguments, hasLength(1)); |
5180 expect(name.period, isNull); | 5179 expect(name.period, isNull); |
5181 expect(name.name, isNull); | 5180 expect(name.name, isNull); |
5182 expect(expression.argumentList, isNotNull); | 5181 expect(expression.argumentList, isNotNull); |
5183 } | 5182 } |
5184 | 5183 |
5185 void test_parseInstanceCreationExpression_type_typeParameters_nullable() { | 5184 void test_parseInstanceCreationExpression_type_typeParameters_nullable() { |
5186 enableNnbd = true; | 5185 enableNnbd = true; |
5187 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); | 5186 Token token = TokenFactory.tokenFromKeyword(Keyword.NEW); |
5188 InstanceCreationExpression expression = | 5187 InstanceCreationExpression expression = |
5189 parseInstanceCreationExpression('A<B?>()', token); | 5188 parseInstanceCreationExpression('A<B?>()', token); |
5190 expect(expression, isNotNull); | 5189 expect(expression, isNotNull); |
5191 assertNoErrors(); | 5190 assertNoErrors(); |
5192 expect(expression.keyword, token); | 5191 expect(expression.keyword.keyword, Keyword.NEW); |
5193 ConstructorName name = expression.constructorName; | 5192 ConstructorName name = expression.constructorName; |
5194 expect(name, isNotNull); | 5193 expect(name, isNotNull); |
5195 TypeName type = name.type; | 5194 TypeName type = name.type; |
5196 expect(type, isNotNull); | 5195 expect(type, isNotNull); |
5197 expect(name.period, isNull); | 5196 expect(name.period, isNull); |
5198 expect(name.name, isNull); | 5197 expect(name.name, isNull); |
5199 expect(expression.argumentList, isNotNull); | 5198 expect(expression.argumentList, isNotNull); |
5200 NodeList<TypeAnnotation> arguments = type.typeArguments.arguments; | 5199 NodeList<TypeAnnotation> arguments = type.typeArguments.arguments; |
5201 expect(arguments, hasLength(1)); | 5200 expect(arguments, hasLength(1)); |
5202 expect((arguments[0] as TypeName).question, isNotNull); | 5201 expect((arguments[0] as TypeName).question, isNotNull); |
(...skipping 9374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14577 expect(typeAlias.name, isNotNull); | 14576 expect(typeAlias.name, isNotNull); |
14578 expect(typeAlias.typeParameters, isNull); | 14577 expect(typeAlias.typeParameters, isNull); |
14579 expect(typeAlias.semicolon, isNotNull); | 14578 expect(typeAlias.semicolon, isNotNull); |
14580 GenericFunctionType functionType = typeAlias.functionType; | 14579 GenericFunctionType functionType = typeAlias.functionType; |
14581 expect(functionType, isNotNull); | 14580 expect(functionType, isNotNull); |
14582 expect(functionType.parameters, isNotNull); | 14581 expect(functionType.parameters, isNotNull); |
14583 expect(functionType.returnType, isNotNull); | 14582 expect(functionType.returnType, isNotNull); |
14584 expect(functionType.typeParameters, isNull); | 14583 expect(functionType.typeParameters, isNull); |
14585 } | 14584 } |
14586 } | 14585 } |
OLD | NEW |