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

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

Issue 2742233002: Fix for parsing EmptyFunctionBody with Fasta. (Closed)
Patch Set: Created 3 years, 9 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 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 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 expect(method.parameters, isNull); 544 expect(method.parameters, isNull);
545 } 545 }
546 546
547 void test_parseClassMember_method_external() { 547 void test_parseClassMember_method_external() {
548 createParser('external m();'); 548 createParser('external m();');
549 ClassMember member = parser.parseClassMember('C'); 549 ClassMember member = parser.parseClassMember('C');
550 expect(member, isNotNull); 550 expect(member, isNotNull);
551 assertNoErrors(); 551 assertNoErrors();
552 expect(member, new isInstanceOf<MethodDeclaration>()); 552 expect(member, new isInstanceOf<MethodDeclaration>());
553 MethodDeclaration method = member; 553 MethodDeclaration method = member;
554 expect(method.body, isNotNull);
555 expect(method.documentationComment, isNull); 554 expect(method.documentationComment, isNull);
556 expect(method.externalKeyword, isNotNull); 555 expect(method.externalKeyword, isNotNull);
557 expect(method.modifierKeyword, isNull); 556 expect(method.modifierKeyword, isNull);
558 expect(method.name, isNotNull); 557 expect(method.name, isNotNull);
559 expect(method.operatorKeyword, isNull); 558 expect(method.operatorKeyword, isNull);
560 expect(method.typeParameters, isNull); 559 expect(method.typeParameters, isNull);
561 expect(method.parameters, isNotNull); 560 expect(method.parameters, isNotNull);
562 expect(method.propertyKeyword, isNull); 561 expect(method.propertyKeyword, isNull);
563 expect(method.returnType, isNull); 562 expect(method.returnType, isNull);
563
564 var body = method.body as EmptyFunctionBody;
565 expect(body.keyword, isNull);
566 expect(body.star, isNull);
567 expect(body.semicolon.type, TokenType.SEMICOLON);
564 } 568 }
565 569
566 void test_parseClassMember_method_external_withTypeAndArgs() { 570 void test_parseClassMember_method_external_withTypeAndArgs() {
567 createParser('external int m(int a);'); 571 createParser('external int m(int a);');
568 ClassMember member = parser.parseClassMember('C'); 572 ClassMember member = parser.parseClassMember('C');
569 expect(member, isNotNull); 573 expect(member, isNotNull);
570 assertNoErrors(); 574 assertNoErrors();
571 expect(member, new isInstanceOf<MethodDeclaration>()); 575 expect(member, new isInstanceOf<MethodDeclaration>());
572 MethodDeclaration method = member; 576 MethodDeclaration method = member;
573 expect(method.body, isNotNull); 577 expect(method.body, isNotNull);
(...skipping 14182 matching lines...) Expand 10 before | Expand all | Expand 10 after
14756 expect(functionType.returnType, isNotNull); 14760 expect(functionType.returnType, isNotNull);
14757 expect(functionType.typeParameters, isNull); 14761 expect(functionType.typeParameters, isNull);
14758 } 14762 }
14759 14763
14760 void test_parseTypeAlias_genericFunction_withDocComment() { 14764 void test_parseTypeAlias_genericFunction_withDocComment() {
14761 createParser('/// Doc\ntypedef F = bool Function();'); 14765 createParser('/// Doc\ntypedef F = bool Function();');
14762 var typeAlias = parseFullCompilationUnitMember() as GenericTypeAlias; 14766 var typeAlias = parseFullCompilationUnitMember() as GenericTypeAlias;
14763 expectCommentText(typeAlias.documentationComment, '/// Doc'); 14767 expectCommentText(typeAlias.documentationComment, '/// Doc');
14764 } 14768 }
14765 } 14769 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/parser/node_listener.dart » ('j') | pkg/front_end/lib/src/fasta/parser/listener.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698