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

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

Issue 2708703002: Capture const/final/var keyword in AstBuilder.endTopLevelFields. (Closed)
Patch Set: Created 3 years, 10 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
« no previous file with comments | « no previous file | pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 13373 matching lines...) Expand 10 before | Expand all | Expand 10 after
13384 13384
13385 void test_parseCompilationUnitMember_constVariable() { 13385 void test_parseCompilationUnitMember_constVariable() {
13386 createParser('const int x = 0;'); 13386 createParser('const int x = 0;');
13387 CompilationUnitMember member = parseFullCompilationUnitMember(); 13387 CompilationUnitMember member = parseFullCompilationUnitMember();
13388 expect(member, isNotNull); 13388 expect(member, isNotNull);
13389 assertNoErrors(); 13389 assertNoErrors();
13390 expect(member, new isInstanceOf<TopLevelVariableDeclaration>()); 13390 expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
13391 TopLevelVariableDeclaration declaration = member; 13391 TopLevelVariableDeclaration declaration = member;
13392 expect(declaration.semicolon, isNotNull); 13392 expect(declaration.semicolon, isNotNull);
13393 expect(declaration.variables, isNotNull); 13393 expect(declaration.variables, isNotNull);
13394 expect(declaration.variables.keyword.lexeme, 'const');
13394 } 13395 }
13395 13396
13396 void test_parseCompilationUnitMember_expressionFunctionBody_tokens() { 13397 void test_parseCompilationUnitMember_expressionFunctionBody_tokens() {
13397 createParser('f() => 0;'); 13398 createParser('f() => 0;');
13398 var f = parseFullCompilationUnitMember() as FunctionDeclaration; 13399 var f = parseFullCompilationUnitMember() as FunctionDeclaration;
13399 var body = f.functionExpression.body as ExpressionFunctionBody; 13400 var body = f.functionExpression.body as ExpressionFunctionBody;
13400 expect(body.functionDefinition.lexeme, '=>'); 13401 expect(body.functionDefinition.lexeme, '=>');
13401 expect(body.semicolon.lexeme, ';'); 13402 expect(body.semicolon.lexeme, ';');
13402 } 13403 }
13403 13404
13404 void test_parseCompilationUnitMember_finalVariable() { 13405 void test_parseCompilationUnitMember_finalVariable() {
13405 createParser('final x = 0;'); 13406 createParser('final x = 0;');
13406 CompilationUnitMember member = parseFullCompilationUnitMember(); 13407 CompilationUnitMember member = parseFullCompilationUnitMember();
13407 expect(member, isNotNull); 13408 expect(member, isNotNull);
13408 assertNoErrors(); 13409 assertNoErrors();
13409 expect(member, new isInstanceOf<TopLevelVariableDeclaration>()); 13410 expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
13410 TopLevelVariableDeclaration declaration = member; 13411 TopLevelVariableDeclaration declaration = member;
13411 expect(declaration.semicolon, isNotNull); 13412 expect(declaration.semicolon, isNotNull);
13412 expect(declaration.variables, isNotNull); 13413 expect(declaration.variables, isNotNull);
13414 expect(declaration.variables.keyword.lexeme, 'final');
13413 } 13415 }
13414 13416
13415 void test_parseCompilationUnitMember_function_external_noType() { 13417 void test_parseCompilationUnitMember_function_external_noType() {
13416 createParser('external f();'); 13418 createParser('external f();');
13417 CompilationUnitMember member = parseFullCompilationUnitMember(); 13419 CompilationUnitMember member = parseFullCompilationUnitMember();
13418 expect(member, isNotNull); 13420 expect(member, isNotNull);
13419 assertNoErrors(); 13421 assertNoErrors();
13420 expect(member, new isInstanceOf<FunctionDeclaration>()); 13422 expect(member, new isInstanceOf<FunctionDeclaration>());
13421 FunctionDeclaration declaration = member; 13423 FunctionDeclaration declaration = member;
13422 expect(declaration.externalKeyword, isNotNull); 13424 expect(declaration.externalKeyword, isNotNull);
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
13682 createParser('typedef F();'); 13684 createParser('typedef F();');
13683 CompilationUnitMember member = parseFullCompilationUnitMember(); 13685 CompilationUnitMember member = parseFullCompilationUnitMember();
13684 expect(member, isNotNull); 13686 expect(member, isNotNull);
13685 assertNoErrors(); 13687 assertNoErrors();
13686 expect(member, new isInstanceOf<FunctionTypeAlias>()); 13688 expect(member, new isInstanceOf<FunctionTypeAlias>());
13687 FunctionTypeAlias typeAlias = member; 13689 FunctionTypeAlias typeAlias = member;
13688 expect(typeAlias.name.name, "F"); 13690 expect(typeAlias.name.name, "F");
13689 expect(typeAlias.parameters.parameters, hasLength(0)); 13691 expect(typeAlias.parameters.parameters, hasLength(0));
13690 } 13692 }
13691 13693
13694 void test_parseCompilationUnitMember_typedVariable() {
13695 createParser('int x = 0;');
13696 CompilationUnitMember member = parseFullCompilationUnitMember();
13697 expect(member, isNotNull);
13698 assertNoErrors();
13699 expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
13700 TopLevelVariableDeclaration declaration = member;
13701 expect(declaration.semicolon, isNotNull);
13702 expect(declaration.variables, isNotNull);
13703 expect(declaration.variables.type, isNotNull);
13704 expect(declaration.variables.keyword, isNull);
13705 }
13706
13692 void test_parseCompilationUnitMember_variable() { 13707 void test_parseCompilationUnitMember_variable() {
13693 createParser('var x = 0;'); 13708 createParser('var x = 0;');
13694 CompilationUnitMember member = parseFullCompilationUnitMember(); 13709 CompilationUnitMember member = parseFullCompilationUnitMember();
13695 expect(member, isNotNull); 13710 expect(member, isNotNull);
13696 assertNoErrors(); 13711 assertNoErrors();
13697 expect(member, new isInstanceOf<TopLevelVariableDeclaration>()); 13712 expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
13698 TopLevelVariableDeclaration declaration = member; 13713 TopLevelVariableDeclaration declaration = member;
13699 expect(declaration.semicolon, isNotNull); 13714 expect(declaration.semicolon, isNotNull);
13700 expect(declaration.variables, isNotNull); 13715 expect(declaration.variables, isNotNull);
13716 expect(declaration.variables.keyword.lexeme, 'var');
13701 } 13717 }
13702 13718
13703 void test_parseCompilationUnitMember_variableGet() { 13719 void test_parseCompilationUnitMember_variableGet() {
13704 createParser('String get = null;'); 13720 createParser('String get = null;');
13705 CompilationUnitMember member = parseFullCompilationUnitMember(); 13721 CompilationUnitMember member = parseFullCompilationUnitMember();
13706 expect(member, isNotNull); 13722 expect(member, isNotNull);
13707 assertNoErrors(); 13723 assertNoErrors();
13708 expect(member, new isInstanceOf<TopLevelVariableDeclaration>()); 13724 expect(member, new isInstanceOf<TopLevelVariableDeclaration>());
13709 TopLevelVariableDeclaration declaration = member; 13725 TopLevelVariableDeclaration declaration = member;
13710 expect(declaration.semicolon, isNotNull); 13726 expect(declaration.semicolon, isNotNull);
(...skipping 835 matching lines...) Expand 10 before | Expand all | Expand 10 after
14546 expect(typeAlias.name, isNotNull); 14562 expect(typeAlias.name, isNotNull);
14547 expect(typeAlias.typeParameters, isNull); 14563 expect(typeAlias.typeParameters, isNull);
14548 expect(typeAlias.semicolon, isNotNull); 14564 expect(typeAlias.semicolon, isNotNull);
14549 GenericFunctionType functionType = typeAlias.functionType; 14565 GenericFunctionType functionType = typeAlias.functionType;
14550 expect(functionType, isNotNull); 14566 expect(functionType, isNotNull);
14551 expect(functionType.parameters, isNotNull); 14567 expect(functionType.parameters, isNotNull);
14552 expect(functionType.returnType, isNotNull); 14568 expect(functionType.returnType, isNotNull);
14553 expect(functionType.typeParameters, isNull); 14569 expect(functionType.typeParameters, isNull);
14554 } 14570 }
14555 } 14571 }
OLDNEW
« no previous file with comments | « no previous file | pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698