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

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

Issue 2990723002: Revert "Implemented support for generalized void in analyzer." (Closed)
Patch Set: Created 3 years, 4 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
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 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
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
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
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
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 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/generated/parser.dart ('k') | pkg/analyzer/test/generated/static_warning_code_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698