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

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

Issue 2995963002: refactor AstBuilder (Closed)
Patch Set: remove unused enum 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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/token.dart' as analyzer; 6 import 'package:analyzer/dart/ast/token.dart' as analyzer;
7 import 'package:analyzer/error/error.dart'; 7 import 'package:analyzer/error/error.dart';
8 import 'package:analyzer/error/listener.dart' show ErrorReporter; 8 import 'package:analyzer/error/listener.dart' show ErrorReporter;
9 import 'package:analyzer/src/dart/scanner/scanner.dart'; 9 import 'package:analyzer/src/dart/scanner/scanner.dart';
10 import 'package:analyzer/src/fasta/ast_builder.dart'; 10 import 'package:analyzer/src/fasta/ast_builder.dart';
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 token, 460 token,
461 inFunctionType 461 inFunctionType
462 ? fasta.MemberKind.GeneralizedFunctionType 462 ? fasta.MemberKind.GeneralizedFunctionType
463 : fasta.MemberKind.NonStaticMethod); 463 : fasta.MemberKind.NonStaticMethod);
464 }, 464 },
465 errorCodes) as FormalParameterList; 465 errorCodes) as FormalParameterList;
466 } 466 }
467 467
468 @override 468 @override
469 CompilationUnitMember parseFullCompilationUnitMember() { 469 CompilationUnitMember parseFullCompilationUnitMember() {
470 return _parserProxy.parseTopLevelDeclaration(); 470 return _parserProxy.parseTopLevelDeclaration(false);
471 } 471 }
472 472
473 @override 473 @override
474 Directive parseFullDirective() { 474 Directive parseFullDirective() {
475 return _parserProxy.parseTopLevelDeclaration(); 475 return _parserProxy.parseTopLevelDeclaration(true);
476 } 476 }
477 477
478 @override 478 @override
479 FunctionExpression parseFunctionExpression(String code) { 479 FunctionExpression parseFunctionExpression(String code) {
480 return _parseExpression(code); 480 return _parseExpression(code);
481 } 481 }
482 482
483 @override 483 @override
484 InstanceCreationExpression parseInstanceCreationExpression( 484 InstanceCreationExpression parseInstanceCreationExpression(
485 String code, analyzer.Token newToken) { 485 String code, analyzer.Token newToken) {
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 return result; 831 return result;
832 } 832 }
833 833
834 @override 834 @override
835 CompilationUnit parseCompilationUnit2() { 835 CompilationUnit parseCompilationUnit2() {
836 var result = _run((parser) => parser.parseUnit) as CompilationUnit; 836 var result = _run((parser) => parser.parseUnit) as CompilationUnit;
837 _eventListener.expectEmpty(); 837 _eventListener.expectEmpty();
838 return result; 838 return result;
839 } 839 }
840 840
841 AnnotatedNode parseTopLevelDeclaration() { 841 AnnotatedNode parseTopLevelDeclaration(bool isDirective) {
842 _eventListener.begin('CompilationUnit'); 842 _eventListener.begin('CompilationUnit');
843 var result = _run((parser) => parser.parseTopLevelDeclaration); 843 _currentFastaToken =
844 _fastaParser.parseTopLevelDeclaration(_currentFastaToken);
845 expect(_currentFastaToken.isEof, isTrue);
846 expect(_astBuilder.stack, hasLength(0));
847 expect(_astBuilder.scriptTag, isNull);
848 expect(_astBuilder.directives, hasLength(isDirective ? 1 : 0));
849 expect(_astBuilder.declarations, hasLength(isDirective ? 0 : 1));
844 _eventListener.end('CompilationUnit'); 850 _eventListener.end('CompilationUnit');
845 return result; 851 return (isDirective ? _astBuilder.directives : _astBuilder.declarations)
852 .first;
846 } 853 }
847 854
848 /** 855 /**
849 * Runs a single parser function, and returns the result as an analyzer AST. 856 * Runs a single parser function, and returns the result as an analyzer AST.
850 */ 857 */
851 Object _run(ParseFunction getParseFunction(fasta.Parser parser)) { 858 Object _run(ParseFunction getParseFunction(fasta.Parser parser)) {
852 var parseFunction = getParseFunction(_fastaParser); 859 var parseFunction = getParseFunction(_fastaParser);
853 _currentFastaToken = parseFunction(_currentFastaToken); 860 _currentFastaToken = parseFunction(_currentFastaToken);
854 expect(_currentFastaToken.isEof, isTrue); 861 expect(_currentFastaToken.isEof, isTrue);
855 expect(_astBuilder.stack, hasLength(1)); 862 expect(_astBuilder.stack, hasLength(1));
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
1024 assertNoErrors(); 1031 assertNoErrors();
1025 } 1032 }
1026 1033
1027 @failingTest 1034 @failingTest
1028 void test_parseCompilationUnitMember_abstractAsPrefix2() { 1035 void test_parseCompilationUnitMember_abstractAsPrefix2() {
1029 // TODO(danrubel): should not be generating an error 1036 // TODO(danrubel): should not be generating an error
1030 super.test_parseCompilationUnitMember_abstractAsPrefix(); 1037 super.test_parseCompilationUnitMember_abstractAsPrefix();
1031 assertNoErrors(); 1038 assertNoErrors();
1032 } 1039 }
1033 } 1040 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/fasta/ast_builder.dart ('k') | pkg/front_end/lib/src/fasta/source/stack_listener.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698