| 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 import 'package:analyzer/dart/ast/ast.dart'; | 5 import 'package:analyzer/dart/ast/ast.dart'; |
| 6 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; | 6 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; |
| 7 import 'package:analyzer/dart/ast/token.dart'; | 7 import 'package:analyzer/dart/ast/token.dart'; |
| 8 import 'package:analyzer/dart/ast/visitor.dart'; | 8 import 'package:analyzer/dart/ast/visitor.dart'; |
| 9 import 'package:analyzer/error/error.dart'; | 9 import 'package:analyzer/error/error.dart'; |
| 10 import 'package:analyzer/error/listener.dart'; | 10 import 'package:analyzer/error/listener.dart'; |
| (...skipping 4297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4308 } | 4308 } |
| 4309 | 4309 |
| 4310 void test_varTypedef() { | 4310 void test_varTypedef() { |
| 4311 parseCompilationUnit("var typedef F();", [ParserErrorCode.VAR_TYPEDEF]); | 4311 parseCompilationUnit("var typedef F();", [ParserErrorCode.VAR_TYPEDEF]); |
| 4312 } | 4312 } |
| 4313 | 4313 |
| 4314 void test_voidParameter() { | 4314 void test_voidParameter() { |
| 4315 createParser('void a)'); | 4315 createParser('void a)'); |
| 4316 NormalFormalParameter parameter = parser.parseNormalFormalParameter(); | 4316 NormalFormalParameter parameter = parser.parseNormalFormalParameter(); |
| 4317 expectNotNullIfNoErrors(parameter); | 4317 expectNotNullIfNoErrors(parameter); |
| 4318 listener.assertNoErrors(); | 4318 listener.assertErrorsWithCodes([ParserErrorCode.VOID_PARAMETER]); |
| 4319 } | 4319 } |
| 4320 | 4320 |
| 4321 void test_voidVariable_parseClassMember_initializer() { | 4321 void test_voidVariable_parseClassMember_initializer() { |
| 4322 createParser('void x = 0;'); | 4322 createParser('void x = 0;'); |
| 4323 ClassMember member = parser.parseClassMember('C'); | 4323 ClassMember member = parser.parseClassMember('C'); |
| 4324 expectNotNullIfNoErrors(member); | 4324 expectNotNullIfNoErrors(member); |
| 4325 listener.assertNoErrors(); | 4325 listener.assertErrorsWithCodes([ParserErrorCode.VOID_VARIABLE]); |
| 4326 } | 4326 } |
| 4327 | 4327 |
| 4328 void test_voidVariable_parseClassMember_noInitializer() { | 4328 void test_voidVariable_parseClassMember_noInitializer() { |
| 4329 createParser('void x;'); | 4329 createParser('void x;'); |
| 4330 ClassMember member = parser.parseClassMember('C'); | 4330 ClassMember member = parser.parseClassMember('C'); |
| 4331 expectNotNullIfNoErrors(member); | 4331 expectNotNullIfNoErrors(member); |
| 4332 listener.assertNoErrors(); | 4332 listener.assertErrorsWithCodes([ParserErrorCode.VOID_VARIABLE]); |
| 4333 } | 4333 } |
| 4334 | 4334 |
| 4335 void test_voidVariable_parseCompilationUnit_initializer() { | 4335 void test_voidVariable_parseCompilationUnit_initializer() { |
| 4336 parseCompilationUnit("void x = 0;"); | 4336 parseCompilationUnit("void x = 0;", [ParserErrorCode.VOID_VARIABLE]); |
| 4337 } | 4337 } |
| 4338 | 4338 |
| 4339 void test_voidVariable_parseCompilationUnit_noInitializer() { | 4339 void test_voidVariable_parseCompilationUnit_noInitializer() { |
| 4340 parseCompilationUnit("void x;"); | 4340 parseCompilationUnit("void x;", [ParserErrorCode.VOID_VARIABLE]); |
| 4341 } | 4341 } |
| 4342 | 4342 |
| 4343 void test_voidVariable_parseCompilationUnitMember_initializer() { | 4343 void test_voidVariable_parseCompilationUnitMember_initializer() { |
| 4344 createParser('void a = 0;'); | 4344 createParser('void a = 0;'); |
| 4345 CompilationUnitMember member = parseFullCompilationUnitMember(); | 4345 CompilationUnitMember member = parseFullCompilationUnitMember(); |
| 4346 expectNotNullIfNoErrors(member); | 4346 expectNotNullIfNoErrors(member); |
| 4347 listener.assertNoErrors(); | 4347 listener.assertErrorsWithCodes([ParserErrorCode.VOID_VARIABLE]); |
| 4348 } | 4348 } |
| 4349 | 4349 |
| 4350 void test_voidVariable_parseCompilationUnitMember_noInitializer() { | 4350 void test_voidVariable_parseCompilationUnitMember_noInitializer() { |
| 4351 createParser('void a;'); | 4351 createParser('void a;'); |
| 4352 CompilationUnitMember member = parseFullCompilationUnitMember(); | 4352 CompilationUnitMember member = parseFullCompilationUnitMember(); |
| 4353 expectNotNullIfNoErrors(member); | 4353 expectNotNullIfNoErrors(member); |
| 4354 listener.assertNoErrors(); | 4354 listener.assertErrorsWithCodes([ParserErrorCode.VOID_VARIABLE]); |
| 4355 } | 4355 } |
| 4356 | 4356 |
| 4357 void test_voidVariable_statement_initializer() { | 4357 void test_voidVariable_statement_initializer() { |
| 4358 parseStatement("void x = 0;"); | 4358 parseStatement("void x = 0;"); |
| 4359 listener.assertNoErrors(); | 4359 assertErrorsWithCodes([ParserErrorCode.VOID_VARIABLE]); |
| 4360 } | 4360 } |
| 4361 | 4361 |
| 4362 void test_voidVariable_statement_noInitializer() { | 4362 void test_voidVariable_statement_noInitializer() { |
| 4363 parseStatement("void x;"); | 4363 parseStatement("void x;"); |
| 4364 listener.assertNoErrors(); | 4364 assertErrorsWithCodes([ParserErrorCode.VOID_VARIABLE]); |
| 4365 } | 4365 } |
| 4366 | 4366 |
| 4367 void test_withBeforeExtends() { | 4367 void test_withBeforeExtends() { |
| 4368 parseCompilationUnit( | 4368 parseCompilationUnit( |
| 4369 "class A with B extends C {}", [ParserErrorCode.WITH_BEFORE_EXTENDS]); | 4369 "class A with B extends C {}", [ParserErrorCode.WITH_BEFORE_EXTENDS]); |
| 4370 } | 4370 } |
| 4371 | 4371 |
| 4372 void test_withWithoutExtends() { | 4372 void test_withWithoutExtends() { |
| 4373 createParser('class A with B, C {}'); | 4373 createParser('class A with B, C {}'); |
| 4374 ClassDeclaration declaration = parseFullCompilationUnitMember(); | 4374 ClassDeclaration declaration = parseFullCompilationUnitMember(); |
| (...skipping 7108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11483 createParser('return x;'); | 11483 createParser('return x;'); |
| 11484 ReturnStatement statement = parser.parseReturnStatement(); | 11484 ReturnStatement statement = parser.parseReturnStatement(); |
| 11485 expectNotNullIfNoErrors(statement); | 11485 expectNotNullIfNoErrors(statement); |
| 11486 listener.assertNoErrors(); | 11486 listener.assertNoErrors(); |
| 11487 expect(statement.returnKeyword, isNotNull); | 11487 expect(statement.returnKeyword, isNotNull); |
| 11488 expect(statement.expression, isNotNull); | 11488 expect(statement.expression, isNotNull); |
| 11489 expect(statement.semicolon, isNotNull); | 11489 expect(statement.semicolon, isNotNull); |
| 11490 } | 11490 } |
| 11491 | 11491 |
| 11492 void test_parseReturnType_function() { | 11492 void test_parseReturnType_function() { |
| 11493 // TODO(eernst): `parseReturnType` eliminated, delete this test? | |
| 11494 createParser('A<B> Function<B>(B)'); | 11493 createParser('A<B> Function<B>(B)'); |
| 11495 GenericFunctionType type = parser.parseTypeAnnotation(false); | 11494 GenericFunctionType type = parser.parseReturnType(false); |
| 11496 expectNotNullIfNoErrors(type); | 11495 expectNotNullIfNoErrors(type); |
| 11497 listener.assertNoErrors(); | 11496 listener.assertNoErrors(); |
| 11498 expect(type.returnType, isNotNull); | 11497 expect(type.returnType, isNotNull); |
| 11499 expect(type.typeParameters, isNotNull); | 11498 expect(type.typeParameters, isNotNull); |
| 11500 expect(type.parameters, isNotNull); | 11499 expect(type.parameters, isNotNull); |
| 11501 } | 11500 } |
| 11502 | 11501 |
| 11503 void test_parseReturnType_named() { | 11502 void test_parseReturnType_named() { |
| 11504 // TODO(eernst): `parseReturnType` eliminated, delete this test? | |
| 11505 createParser('A<B>'); | 11503 createParser('A<B>'); |
| 11506 TypeName typeName = parser.parseTypeAnnotation(false); | 11504 TypeName typeName = parser.parseReturnType(false); |
| 11507 expectNotNullIfNoErrors(typeName); | 11505 expectNotNullIfNoErrors(typeName); |
| 11508 listener.assertNoErrors(); | 11506 listener.assertNoErrors(); |
| 11509 expect(typeName.name, isNotNull); | 11507 expect(typeName.name, isNotNull); |
| 11510 expect(typeName.typeArguments, isNotNull); | 11508 expect(typeName.typeArguments, isNotNull); |
| 11511 } | 11509 } |
| 11512 | 11510 |
| 11513 void test_parseReturnType_void() { | 11511 void test_parseReturnType_void() { |
| 11514 // TODO(eernst): `parseReturnType` eliminated, delete this test? | |
| 11515 createParser('void'); | 11512 createParser('void'); |
| 11516 TypeName typeName = parser.parseTypeAnnotation(false); | 11513 TypeName typeName = parser.parseReturnType(false); |
| 11517 expectNotNullIfNoErrors(typeName); | 11514 expectNotNullIfNoErrors(typeName); |
| 11518 listener.assertNoErrors(); | 11515 listener.assertNoErrors(); |
| 11519 expect(typeName.name, isNotNull); | 11516 expect(typeName.name, isNotNull); |
| 11520 expect(typeName.typeArguments, isNull); | 11517 expect(typeName.typeArguments, isNull); |
| 11521 } | 11518 } |
| 11522 | 11519 |
| 11523 void test_parseStatement_function_noReturnType() { | 11520 void test_parseStatement_function_noReturnType() { |
| 11524 createParser(''' | 11521 createParser(''' |
| 11525 Function<A>(core.List<core.int> x) m() => null; | 11522 Function<A>(core.List<core.int> x) m() => null; |
| 11526 '''); | 11523 '''); |
| (...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12016 } | 12013 } |
| 12017 | 12014 |
| 12018 void test_skipPrefixedIdentifier_prefixed() { | 12015 void test_skipPrefixedIdentifier_prefixed() { |
| 12019 createParser('a.b +'); | 12016 createParser('a.b +'); |
| 12020 Token following = parser.skipPrefixedIdentifier(parser.currentToken); | 12017 Token following = parser.skipPrefixedIdentifier(parser.currentToken); |
| 12021 expect(following, isNotNull); | 12018 expect(following, isNotNull); |
| 12022 expect(following.type, TokenType.PLUS); | 12019 expect(following.type, TokenType.PLUS); |
| 12023 } | 12020 } |
| 12024 | 12021 |
| 12025 void test_skipReturnType_invalid() { | 12022 void test_skipReturnType_invalid() { |
| 12026 // TODO(eernst): `skipReturnType` eliminated, delete this test? | |
| 12027 createParser('+'); | 12023 createParser('+'); |
| 12028 Token following = parser.skipTypeAnnotation(parser.currentToken); | 12024 Token following = parser.skipReturnType(parser.currentToken); |
| 12029 expect(following, isNull); | 12025 expect(following, isNull); |
| 12030 } | 12026 } |
| 12031 | 12027 |
| 12032 void test_skipReturnType_type() { | 12028 void test_skipReturnType_type() { |
| 12033 // TODO(eernst): `skipReturnType` eliminated, delete this test? | |
| 12034 createParser('C +'); | 12029 createParser('C +'); |
| 12035 Token following = parser.skipTypeAnnotation(parser.currentToken); | 12030 Token following = parser.skipReturnType(parser.currentToken); |
| 12036 expect(following, isNotNull); | 12031 expect(following, isNotNull); |
| 12037 expect(following.type, TokenType.PLUS); | 12032 expect(following.type, TokenType.PLUS); |
| 12038 } | 12033 } |
| 12039 | 12034 |
| 12040 void test_skipReturnType_void() { | 12035 void test_skipReturnType_void() { |
| 12041 // TODO(eernst): `skipReturnType` eliminated, delete this test? | |
| 12042 createParser('void +'); | 12036 createParser('void +'); |
| 12043 Token following = parser.skipTypeAnnotation(parser.currentToken); | 12037 Token following = parser.skipReturnType(parser.currentToken); |
| 12044 expect(following, isNotNull); | 12038 expect(following, isNotNull); |
| 12045 expect(following.type, TokenType.PLUS); | 12039 expect(following.type, TokenType.PLUS); |
| 12046 } | 12040 } |
| 12047 | 12041 |
| 12048 void test_skipSimpleIdentifier_identifier() { | 12042 void test_skipSimpleIdentifier_identifier() { |
| 12049 createParser('i +'); | 12043 createParser('i +'); |
| 12050 Token following = parser.skipSimpleIdentifier(parser.currentToken); | 12044 Token following = parser.skipSimpleIdentifier(parser.currentToken); |
| 12051 expect(following, isNotNull); | 12045 expect(following, isNotNull); |
| 12052 expect(following.type, TokenType.PLUS); | 12046 expect(following.type, TokenType.PLUS); |
| 12053 } | 12047 } |
| (...skipping 3126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 15180 expectCommentText(typeVariable.documentationComment, '/// Doc'); | 15174 expectCommentText(typeVariable.documentationComment, '/// Doc'); |
| 15181 } | 15175 } |
| 15182 | 15176 |
| 15183 /** | 15177 /** |
| 15184 * Assert that the given [name] is in declaration context. | 15178 * Assert that the given [name] is in declaration context. |
| 15185 */ | 15179 */ |
| 15186 void _assertIsDeclarationName(SimpleIdentifier name) { | 15180 void _assertIsDeclarationName(SimpleIdentifier name) { |
| 15187 expect(name.inDeclarationContext(), isTrue); | 15181 expect(name.inDeclarationContext(), isTrue); |
| 15188 } | 15182 } |
| 15189 } | 15183 } |
| OLD | NEW |