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

Side by Side Diff: pkg/analyzer/lib/dart/ast/visitor.dart

Issue 2613383003: Add support for generic function type syntax, part 1 (Closed)
Patch Set: Created 3 years, 11 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 | « pkg/analyzer/lib/dart/ast/resolution_map.dart ('k') | pkg/analyzer/lib/src/dart/ast/ast.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 /** 5 /**
6 * Defines AST visitors that support useful patterns for visiting the nodes in 6 * Defines AST visitors that support useful patterns for visiting the nodes in
7 * an [AST structure](ast.dart). 7 * an [AST structure](ast.dart).
8 * 8 *
9 * Dart is an evolving language, and the AST structure must evolved with it. 9 * Dart is an evolving language, and the AST structure must evolved with it.
10 * When the AST structure changes, the visitor interface will sometimes change 10 * When the AST structure changes, the visitor interface will sometimes change
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 visitInvocationExpression(node); 329 visitInvocationExpression(node);
330 330
331 @override 331 @override
332 R visitFunctionTypeAlias(FunctionTypeAlias node) => visitTypeAlias(node); 332 R visitFunctionTypeAlias(FunctionTypeAlias node) => visitTypeAlias(node);
333 333
334 @override 334 @override
335 R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) => 335 R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) =>
336 visitNormalFormalParameter(node); 336 visitNormalFormalParameter(node);
337 337
338 @override 338 @override
339 R visitGenericFunctionType(GenericFunctionType node) =>
340 visitTypeAnnotation(node);
341
342 @override
343 R visitGenericTypeAlias(GenericTypeAlias node) => visitTypeAlias(node);
344
345 @override
339 R visitHideCombinator(HideCombinator node) => visitCombinator(node); 346 R visitHideCombinator(HideCombinator node) => visitCombinator(node);
340 347
341 R visitIdentifier(Identifier node) => visitExpression(node); 348 R visitIdentifier(Identifier node) => visitExpression(node);
342 349
343 @override 350 @override
344 R visitIfStatement(IfStatement node) => visitStatement(node); 351 R visitIfStatement(IfStatement node) => visitStatement(node);
345 352
346 @override 353 @override
347 R visitImplementsClause(ImplementsClause node) => visitNode(node); 354 R visitImplementsClause(ImplementsClause node) => visitNode(node);
348 355
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 528
522 @override 529 @override
523 R visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) => 530 R visitTopLevelVariableDeclaration(TopLevelVariableDeclaration node) =>
524 visitCompilationUnitMember(node); 531 visitCompilationUnitMember(node);
525 532
526 @override 533 @override
527 R visitTryStatement(TryStatement node) => visitStatement(node); 534 R visitTryStatement(TryStatement node) => visitStatement(node);
528 535
529 R visitTypeAlias(TypeAlias node) => visitNamedCompilationUnitMember(node); 536 R visitTypeAlias(TypeAlias node) => visitNamedCompilationUnitMember(node);
530 537
538 R visitTypeAnnotation(TypeAnnotation node) => visitNode(node);
539
531 @override 540 @override
532 R visitTypeArgumentList(TypeArgumentList node) => visitNode(node); 541 R visitTypeArgumentList(TypeArgumentList node) => visitNode(node);
533 542
534 R visitTypedLiteral(TypedLiteral node) => visitLiteral(node); 543 R visitTypedLiteral(TypedLiteral node) => visitLiteral(node);
535 544
536 @override 545 @override
537 R visitTypeName(TypeName node) => visitNode(node); 546 R visitTypeName(TypeName node) => visitNode(node);
538 547
539 @override 548 @override
540 R visitTypeParameter(TypeParameter node) => visitNode(node); 549 R visitTypeParameter(TypeParameter node) => visitNode(node);
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
873 return null; 882 return null;
874 } 883 }
875 884
876 @override 885 @override
877 R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) { 886 R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) {
878 node.visitChildren(this); 887 node.visitChildren(this);
879 return null; 888 return null;
880 } 889 }
881 890
882 @override 891 @override
892 R visitGenericFunctionType(GenericFunctionType node) {
893 node.visitChildren(this);
894 return null;
895 }
896
897 @override
898 R visitGenericTypeAlias(GenericTypeAlias node) {
899 node.visitChildren(this);
900 return null;
901 }
902
903 @override
883 R visitHideCombinator(HideCombinator node) { 904 R visitHideCombinator(HideCombinator node) {
884 node.visitChildren(this); 905 node.visitChildren(this);
885 return null; 906 return null;
886 } 907 }
887 908
888 @override 909 @override
889 R visitIfStatement(IfStatement node) { 910 R visitIfStatement(IfStatement node) {
890 node.visitChildren(this); 911 node.visitChildren(this);
891 return null; 912 return null;
892 } 913 }
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
1391 null; 1412 null;
1392 1413
1393 @override 1414 @override
1394 R visitFunctionTypeAlias(FunctionTypeAlias node) => null; 1415 R visitFunctionTypeAlias(FunctionTypeAlias node) => null;
1395 1416
1396 @override 1417 @override
1397 R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) => 1418 R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) =>
1398 null; 1419 null;
1399 1420
1400 @override 1421 @override
1422 R visitGenericFunctionType(GenericFunctionType node) => null;
1423
1424 @override
1425 R visitGenericTypeAlias(GenericTypeAlias node) => null;
1426
1427 @override
1401 R visitHideCombinator(HideCombinator node) => null; 1428 R visitHideCombinator(HideCombinator node) => null;
1402 1429
1403 @override 1430 @override
1404 R visitIfStatement(IfStatement node) => null; 1431 R visitIfStatement(IfStatement node) => null;
1405 1432
1406 @override 1433 @override
1407 R visitImplementsClause(ImplementsClause node) => null; 1434 R visitImplementsClause(ImplementsClause node) => null;
1408 1435
1409 @override 1436 @override
1410 R visitImportDirective(ImportDirective node) => null; 1437 R visitImportDirective(ImportDirective node) => null;
(...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after
1993 2020
1994 @override 2021 @override
1995 T visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) { 2022 T visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) {
1996 stopwatch.start(); 2023 stopwatch.start();
1997 T result = _baseVisitor.visitFunctionTypedFormalParameter(node); 2024 T result = _baseVisitor.visitFunctionTypedFormalParameter(node);
1998 stopwatch.stop(); 2025 stopwatch.stop();
1999 return result; 2026 return result;
2000 } 2027 }
2001 2028
2002 @override 2029 @override
2030 T visitGenericFunctionType(GenericFunctionType node) {
2031 stopwatch.start();
2032 T result = _baseVisitor.visitGenericFunctionType(node);
2033 stopwatch.stop();
2034 return result;
2035 }
2036
2037 @override
2038 T visitGenericTypeAlias(GenericTypeAlias node) {
2039 stopwatch.start();
2040 T result = _baseVisitor.visitGenericTypeAlias(node);
2041 stopwatch.stop();
2042 return result;
2043 }
2044
2045 @override
2003 T visitHideCombinator(HideCombinator node) { 2046 T visitHideCombinator(HideCombinator node) {
2004 stopwatch.start(); 2047 stopwatch.start();
2005 T result = _baseVisitor.visitHideCombinator(node); 2048 T result = _baseVisitor.visitHideCombinator(node);
2006 stopwatch.stop(); 2049 stopwatch.stop();
2007 return result; 2050 return result;
2008 } 2051 }
2009 2052
2010 @override 2053 @override
2011 T visitIfStatement(IfStatement node) { 2054 T visitIfStatement(IfStatement node) {
2012 stopwatch.start(); 2055 stopwatch.start();
(...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after
2635 visitNode(node); 2678 visitNode(node);
2636 2679
2637 @override 2680 @override
2638 R visitFunctionTypeAlias(FunctionTypeAlias node) => visitNode(node); 2681 R visitFunctionTypeAlias(FunctionTypeAlias node) => visitNode(node);
2639 2682
2640 @override 2683 @override
2641 R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) => 2684 R visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) =>
2642 visitNode(node); 2685 visitNode(node);
2643 2686
2644 @override 2687 @override
2688 R visitGenericFunctionType(GenericFunctionType node) => visitNode(node);
2689
2690 @override
2691 R visitGenericTypeAlias(GenericTypeAlias node) => visitNode(node);
2692
2693 @override
2645 R visitHideCombinator(HideCombinator node) => visitNode(node); 2694 R visitHideCombinator(HideCombinator node) => visitNode(node);
2646 2695
2647 @override 2696 @override
2648 R visitIfStatement(IfStatement node) => visitNode(node); 2697 R visitIfStatement(IfStatement node) => visitNode(node);
2649 2698
2650 @override 2699 @override
2651 R visitImplementsClause(ImplementsClause node) => visitNode(node); 2700 R visitImplementsClause(ImplementsClause node) => visitNode(node);
2652 2701
2653 @override 2702 @override
2654 R visitImportDirective(ImportDirective node) => visitNode(node); 2703 R visitImportDirective(ImportDirective node) => visitNode(node);
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
2847 * Initialize a newly created visitor to help the [outerVisitor]. 2896 * Initialize a newly created visitor to help the [outerVisitor].
2848 */ 2897 */
2849 _BreadthFirstChildVisitor(this.outerVisitor); 2898 _BreadthFirstChildVisitor(this.outerVisitor);
2850 2899
2851 @override 2900 @override
2852 Object visitNode(AstNode node) { 2901 Object visitNode(AstNode node) {
2853 outerVisitor._queue.add(node); 2902 outerVisitor._queue.add(node);
2854 return null; 2903 return null;
2855 } 2904 }
2856 } 2905 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/dart/ast/resolution_map.dart ('k') | pkg/analyzer/lib/src/dart/ast/ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698