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

Side by Side Diff: pkg/analyzer/lib/src/dart/ast/utilities.dart

Issue 2622303006: Reapply "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
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.src.dart.ast.utilities; 5 library analyzer.src.dart.ast.utilities;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 8
9 import 'package:analyzer/dart/ast/ast.dart'; 9 import 'package:analyzer/dart/ast/ast.dart';
10 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; 10 import 'package:analyzer/dart/ast/standard_ast_factory.dart';
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 FunctionTypedFormalParameter node) => 544 FunctionTypedFormalParameter node) =>
545 astFactory.functionTypedFormalParameter( 545 astFactory.functionTypedFormalParameter(
546 cloneNode(node.documentationComment), 546 cloneNode(node.documentationComment),
547 cloneNodeList(node.metadata), 547 cloneNodeList(node.metadata),
548 cloneNode(node.returnType), 548 cloneNode(node.returnType),
549 cloneNode(node.identifier), 549 cloneNode(node.identifier),
550 cloneNode(node.typeParameters), 550 cloneNode(node.typeParameters),
551 cloneNode(node.parameters)); 551 cloneNode(node.parameters));
552 552
553 @override 553 @override
554 AstNode visitGenericFunctionType(GenericFunctionType node) =>
555 astFactory.genericFunctionType(
556 cloneNode(node.returnType),
557 cloneToken(node.functionKeyword),
558 cloneNode(node.typeParameters),
559 cloneNode(node.parameters));
560
561 @override
562 AstNode visitGenericTypeAlias(GenericTypeAlias node) =>
563 astFactory.genericTypeAlias(
564 cloneNode(node.documentationComment),
565 cloneNodeList(node.metadata),
566 cloneToken(node.typedefKeyword),
567 cloneNode(node.name),
568 cloneNode(node.typeParameters),
569 cloneToken(node.equals),
570 cloneNode(node.functionType),
571 cloneToken(node.semicolon));
572
573 @override
554 HideCombinator visitHideCombinator(HideCombinator node) => 574 HideCombinator visitHideCombinator(HideCombinator node) =>
555 astFactory.hideCombinator( 575 astFactory.hideCombinator(
556 cloneToken(node.keyword), cloneNodeList(node.hiddenNames)); 576 cloneToken(node.keyword), cloneNodeList(node.hiddenNames));
557 577
558 @override 578 @override
559 IfStatement visitIfStatement(IfStatement node) => astFactory.ifStatement( 579 IfStatement visitIfStatement(IfStatement node) => astFactory.ifStatement(
560 cloneToken(node.ifKeyword), 580 cloneToken(node.ifKeyword),
561 cloneToken(node.leftParenthesis), 581 cloneToken(node.leftParenthesis),
562 cloneNode(node.condition), 582 cloneNode(node.condition),
563 cloneToken(node.rightParenthesis), 583 cloneToken(node.rightParenthesis),
(...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after
1581 FunctionTypedFormalParameter other = _other as FunctionTypedFormalParameter; 1601 FunctionTypedFormalParameter other = _other as FunctionTypedFormalParameter;
1582 return isEqualNodes( 1602 return isEqualNodes(
1583 node.documentationComment, other.documentationComment) && 1603 node.documentationComment, other.documentationComment) &&
1584 _isEqualNodeLists(node.metadata, other.metadata) && 1604 _isEqualNodeLists(node.metadata, other.metadata) &&
1585 isEqualNodes(node.returnType, other.returnType) && 1605 isEqualNodes(node.returnType, other.returnType) &&
1586 isEqualNodes(node.identifier, other.identifier) && 1606 isEqualNodes(node.identifier, other.identifier) &&
1587 isEqualNodes(node.parameters, other.parameters); 1607 isEqualNodes(node.parameters, other.parameters);
1588 } 1608 }
1589 1609
1590 @override 1610 @override
1611 bool visitGenericFunctionType(GenericFunctionType node) {
1612 GenericFunctionType other = _other as GenericFunctionType;
1613 return isEqualNodes(node.returnType, other.returnType) &&
1614 isEqualTokens(node.functionKeyword, other.functionKeyword) &&
1615 isEqualNodes(node.typeParameters, other.typeParameters) &&
1616 isEqualNodes(node.parameters, other.parameters);
1617 }
1618
1619 @override
1620 bool visitGenericTypeAlias(GenericTypeAlias node) {
1621 GenericTypeAlias other = _other as GenericTypeAlias;
1622 return isEqualNodes(
1623 node.documentationComment, other.documentationComment) &&
1624 _isEqualNodeLists(node.metadata, other.metadata) &&
1625 isEqualTokens(node.typedefKeyword, other.typedefKeyword) &&
1626 isEqualNodes(node.name, other.name) &&
1627 isEqualNodes(node.typeParameters, other.typeParameters) &&
1628 isEqualTokens(node.equals, other.equals) &&
1629 isEqualNodes(node.functionType, other.functionType);
1630 }
1631
1632 @override
1591 bool visitHideCombinator(HideCombinator node) { 1633 bool visitHideCombinator(HideCombinator node) {
1592 HideCombinator other = _other as HideCombinator; 1634 HideCombinator other = _other as HideCombinator;
1593 return isEqualTokens(node.keyword, other.keyword) && 1635 return isEqualTokens(node.keyword, other.keyword) &&
1594 _isEqualNodeLists(node.hiddenNames, other.hiddenNames); 1636 _isEqualNodeLists(node.hiddenNames, other.hiddenNames);
1595 } 1637 }
1596 1638
1597 @override 1639 @override
1598 bool visitIfStatement(IfStatement node) { 1640 bool visitIfStatement(IfStatement node) {
1599 IfStatement other = _other as IfStatement; 1641 IfStatement other = _other as IfStatement;
1600 return isEqualTokens(node.ifKeyword, other.ifKeyword) && 1642 return isEqualTokens(node.ifKeyword, other.ifKeyword) &&
(...skipping 1652 matching lines...) Expand 10 before | Expand all | Expand 10 after
3253 FunctionTypedFormalParameter node) => 3295 FunctionTypedFormalParameter node) =>
3254 astFactory.functionTypedFormalParameter( 3296 astFactory.functionTypedFormalParameter(
3255 _cloneNode(node.documentationComment), 3297 _cloneNode(node.documentationComment),
3256 _cloneNodeList(node.metadata), 3298 _cloneNodeList(node.metadata),
3257 _cloneNode(node.returnType), 3299 _cloneNode(node.returnType),
3258 _cloneNode(node.identifier), 3300 _cloneNode(node.identifier),
3259 _cloneNode(node.typeParameters), 3301 _cloneNode(node.typeParameters),
3260 _cloneNode(node.parameters)); 3302 _cloneNode(node.parameters));
3261 3303
3262 @override 3304 @override
3305 AstNode visitGenericFunctionType(GenericFunctionType node) =>
3306 astFactory.genericFunctionType(
3307 _cloneNode(node.returnType),
3308 _mapToken(node.functionKeyword),
3309 _cloneNode(node.typeParameters),
3310 _cloneNode(node.parameters));
3311
3312 @override
3313 AstNode visitGenericTypeAlias(GenericTypeAlias node) =>
3314 astFactory.genericTypeAlias(
3315 _cloneNode(node.documentationComment),
3316 _cloneNodeList(node.metadata),
3317 _mapToken(node.typedefKeyword),
3318 _cloneNode(node.name),
3319 _cloneNode(node.typeParameters),
3320 _mapToken(node.equals),
3321 _cloneNode(node.functionType),
3322 _mapToken(node.semicolon));
3323
3324 @override
3263 HideCombinator visitHideCombinator(HideCombinator node) => 3325 HideCombinator visitHideCombinator(HideCombinator node) =>
3264 astFactory.hideCombinator( 3326 astFactory.hideCombinator(
3265 _mapToken(node.keyword), _cloneNodeList(node.hiddenNames)); 3327 _mapToken(node.keyword), _cloneNodeList(node.hiddenNames));
3266 3328
3267 @override 3329 @override
3268 IfStatement visitIfStatement(IfStatement node) => astFactory.ifStatement( 3330 IfStatement visitIfStatement(IfStatement node) => astFactory.ifStatement(
3269 _mapToken(node.ifKeyword), 3331 _mapToken(node.ifKeyword),
3270 _mapToken(node.leftParenthesis), 3332 _mapToken(node.leftParenthesis),
3271 _cloneNode(node.condition), 3333 _cloneNode(node.condition),
3272 _mapToken(node.rightParenthesis), 3334 _mapToken(node.rightParenthesis),
(...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after
4100 } 4162 }
4101 return visitNode(node); 4163 return visitNode(node);
4102 } 4164 }
4103 4165
4104 @override 4166 @override
4105 bool visitAsExpression(AsExpression node) { 4167 bool visitAsExpression(AsExpression node) {
4106 if (identical(node.expression, _oldNode)) { 4168 if (identical(node.expression, _oldNode)) {
4107 node.expression = _newNode as Expression; 4169 node.expression = _newNode as Expression;
4108 return true; 4170 return true;
4109 } else if (identical(node.type, _oldNode)) { 4171 } else if (identical(node.type, _oldNode)) {
4110 node.type = _newNode as TypeName; 4172 node.type = _newNode as TypeAnnotation;
4111 return true; 4173 return true;
4112 } 4174 }
4113 return visitNode(node); 4175 return visitNode(node);
4114 } 4176 }
4115 4177
4116 @override 4178 @override
4117 bool visitAssertInitializer(AssertInitializer node) { 4179 bool visitAssertInitializer(AssertInitializer node) {
4118 if (identical(node.condition, _oldNode)) { 4180 if (identical(node.condition, _oldNode)) {
4119 node.condition = _newNode as Expression; 4181 node.condition = _newNode as Expression;
4120 return true; 4182 return true;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
4208 return true; 4270 return true;
4209 } else if (_replaceInList(node.cascadeSections)) { 4271 } else if (_replaceInList(node.cascadeSections)) {
4210 return true; 4272 return true;
4211 } 4273 }
4212 return visitNode(node); 4274 return visitNode(node);
4213 } 4275 }
4214 4276
4215 @override 4277 @override
4216 bool visitCatchClause(CatchClause node) { 4278 bool visitCatchClause(CatchClause node) {
4217 if (identical(node.exceptionType, _oldNode)) { 4279 if (identical(node.exceptionType, _oldNode)) {
4218 node.exceptionType = _newNode as TypeName; 4280 node.exceptionType = _newNode as TypeAnnotation;
4219 return true; 4281 return true;
4220 } else if (identical(node.exceptionParameter, _oldNode)) { 4282 } else if (identical(node.exceptionParameter, _oldNode)) {
4221 node.exceptionParameter = _newNode as SimpleIdentifier; 4283 node.exceptionParameter = _newNode as SimpleIdentifier;
4222 return true; 4284 return true;
4223 } else if (identical(node.stackTraceParameter, _oldNode)) { 4285 } else if (identical(node.stackTraceParameter, _oldNode)) {
4224 node.stackTraceParameter = _newNode as SimpleIdentifier; 4286 node.stackTraceParameter = _newNode as SimpleIdentifier;
4225 return true; 4287 return true;
4226 } 4288 }
4227 return visitNode(node); 4289 return visitNode(node);
4228 } 4290 }
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
4386 if (identical(node.label, _oldNode)) { 4448 if (identical(node.label, _oldNode)) {
4387 node.label = _newNode as SimpleIdentifier; 4449 node.label = _newNode as SimpleIdentifier;
4388 return true; 4450 return true;
4389 } 4451 }
4390 return visitNode(node); 4452 return visitNode(node);
4391 } 4453 }
4392 4454
4393 @override 4455 @override
4394 bool visitDeclaredIdentifier(DeclaredIdentifier node) { 4456 bool visitDeclaredIdentifier(DeclaredIdentifier node) {
4395 if (identical(node.type, _oldNode)) { 4457 if (identical(node.type, _oldNode)) {
4396 node.type = _newNode as TypeName; 4458 node.type = _newNode as TypeAnnotation;
4397 return true; 4459 return true;
4398 } else if (identical(node.identifier, _oldNode)) { 4460 } else if (identical(node.identifier, _oldNode)) {
4399 node.identifier = _newNode as SimpleIdentifier; 4461 node.identifier = _newNode as SimpleIdentifier;
4400 return true; 4462 return true;
4401 } 4463 }
4402 return visitAnnotatedNode(node); 4464 return visitAnnotatedNode(node);
4403 } 4465 }
4404 4466
4405 @override 4467 @override
4406 bool visitDefaultFormalParameter(DefaultFormalParameter node) { 4468 bool visitDefaultFormalParameter(DefaultFormalParameter node) {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
4499 if (identical(node.fields, _oldNode)) { 4561 if (identical(node.fields, _oldNode)) {
4500 node.fields = _newNode as VariableDeclarationList; 4562 node.fields = _newNode as VariableDeclarationList;
4501 return true; 4563 return true;
4502 } 4564 }
4503 return visitAnnotatedNode(node); 4565 return visitAnnotatedNode(node);
4504 } 4566 }
4505 4567
4506 @override 4568 @override
4507 bool visitFieldFormalParameter(FieldFormalParameter node) { 4569 bool visitFieldFormalParameter(FieldFormalParameter node) {
4508 if (identical(node.type, _oldNode)) { 4570 if (identical(node.type, _oldNode)) {
4509 node.type = _newNode as TypeName; 4571 node.type = _newNode as TypeAnnotation;
4510 return true; 4572 return true;
4511 } else if (identical(node.parameters, _oldNode)) { 4573 } else if (identical(node.parameters, _oldNode)) {
4512 node.parameters = _newNode as FormalParameterList; 4574 node.parameters = _newNode as FormalParameterList;
4513 return true; 4575 return true;
4514 } 4576 }
4515 return visitNormalFormalParameter(node); 4577 return visitNormalFormalParameter(node);
4516 } 4578 }
4517 4579
4518 @override 4580 @override
4519 bool visitForEachStatement(ForEachStatement node) { 4581 bool visitForEachStatement(ForEachStatement node) {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
4557 return true; 4619 return true;
4558 } else if (_replaceInList(node.updaters)) { 4620 } else if (_replaceInList(node.updaters)) {
4559 return true; 4621 return true;
4560 } 4622 }
4561 return visitNode(node); 4623 return visitNode(node);
4562 } 4624 }
4563 4625
4564 @override 4626 @override
4565 bool visitFunctionDeclaration(FunctionDeclaration node) { 4627 bool visitFunctionDeclaration(FunctionDeclaration node) {
4566 if (identical(node.returnType, _oldNode)) { 4628 if (identical(node.returnType, _oldNode)) {
4567 node.returnType = _newNode as TypeName; 4629 node.returnType = _newNode as TypeAnnotation;
4568 return true; 4630 return true;
4569 } else if (identical(node.name, _oldNode)) { 4631 } else if (identical(node.name, _oldNode)) {
4570 node.name = _newNode as SimpleIdentifier; 4632 node.name = _newNode as SimpleIdentifier;
4571 return true; 4633 return true;
4572 } else if (identical(node.functionExpression, _oldNode)) { 4634 } else if (identical(node.functionExpression, _oldNode)) {
4573 node.functionExpression = _newNode as FunctionExpression; 4635 node.functionExpression = _newNode as FunctionExpression;
4574 return true; 4636 return true;
4575 } 4637 }
4576 return visitAnnotatedNode(node); 4638 return visitAnnotatedNode(node);
4577 } 4639 }
(...skipping 27 matching lines...) Expand all
4605 } else if (identical(node.argumentList, _oldNode)) { 4667 } else if (identical(node.argumentList, _oldNode)) {
4606 node.argumentList = _newNode as ArgumentList; 4668 node.argumentList = _newNode as ArgumentList;
4607 return true; 4669 return true;
4608 } 4670 }
4609 return visitNode(node); 4671 return visitNode(node);
4610 } 4672 }
4611 4673
4612 @override 4674 @override
4613 bool visitFunctionTypeAlias(FunctionTypeAlias node) { 4675 bool visitFunctionTypeAlias(FunctionTypeAlias node) {
4614 if (identical(node.returnType, _oldNode)) { 4676 if (identical(node.returnType, _oldNode)) {
4615 node.returnType = _newNode as TypeName; 4677 node.returnType = _newNode as TypeAnnotation;
4616 return true; 4678 return true;
4617 } else if (identical(node.name, _oldNode)) { 4679 } else if (identical(node.name, _oldNode)) {
4618 node.name = _newNode as SimpleIdentifier; 4680 node.name = _newNode as SimpleIdentifier;
4619 return true; 4681 return true;
4620 } else if (identical(node.typeParameters, _oldNode)) { 4682 } else if (identical(node.typeParameters, _oldNode)) {
4621 node.typeParameters = _newNode as TypeParameterList; 4683 node.typeParameters = _newNode as TypeParameterList;
4622 return true; 4684 return true;
4623 } else if (identical(node.parameters, _oldNode)) { 4685 } else if (identical(node.parameters, _oldNode)) {
4624 node.parameters = _newNode as FormalParameterList; 4686 node.parameters = _newNode as FormalParameterList;
4625 return true; 4687 return true;
4626 } 4688 }
4627 return visitAnnotatedNode(node); 4689 return visitAnnotatedNode(node);
4628 } 4690 }
4629 4691
4630 @override 4692 @override
4631 bool visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) { 4693 bool visitFunctionTypedFormalParameter(FunctionTypedFormalParameter node) {
4632 if (identical(node.returnType, _oldNode)) { 4694 if (identical(node.returnType, _oldNode)) {
4633 node.returnType = _newNode as TypeName; 4695 node.returnType = _newNode as TypeAnnotation;
4634 return true; 4696 return true;
4635 } else if (identical(node.parameters, _oldNode)) { 4697 } else if (identical(node.parameters, _oldNode)) {
4636 node.parameters = _newNode as FormalParameterList; 4698 node.parameters = _newNode as FormalParameterList;
4637 return true; 4699 return true;
4638 } 4700 }
4639 return visitNormalFormalParameter(node); 4701 return visitNormalFormalParameter(node);
4640 } 4702 }
4641 4703
4642 @override 4704 @override
4705 bool visitGenericFunctionType(GenericFunctionType node) {
4706 if (identical(node.returnType, _oldNode)) {
4707 node.returnType = _newNode as TypeAnnotation;
4708 return true;
4709 } else if (identical(node.typeParameters, _oldNode)) {
4710 node.typeParameters = _newNode as TypeParameterList;
4711 return true;
4712 } else if (identical(node.parameters, _oldNode)) {
4713 node.parameters = _newNode as FormalParameterList;
4714 return true;
4715 }
4716 return null;
4717 }
4718
4719 @override
4720 bool visitGenericTypeAlias(GenericTypeAlias node) {
4721 if (identical(node.name, _oldNode)) {
4722 node.name = _newNode as SimpleIdentifier;
4723 return true;
4724 } else if (identical(node.typeParameters, _oldNode)) {
4725 node.typeParameters = _newNode as TypeParameterList;
4726 return true;
4727 } else if (identical(node.functionType, _oldNode)) {
4728 node.functionType = _newNode as GenericFunctionType;
4729 return true;
4730 } else if (_replaceInList(node.metadata)) {
4731 return true;
4732 }
4733 return visitNode(node);
4734 }
4735
4736 @override
4643 bool visitHideCombinator(HideCombinator node) { 4737 bool visitHideCombinator(HideCombinator node) {
4644 if (_replaceInList(node.hiddenNames)) { 4738 if (_replaceInList(node.hiddenNames)) {
4645 return true; 4739 return true;
4646 } 4740 }
4647 return visitNode(node); 4741 return visitNode(node);
4648 } 4742 }
4649 4743
4650 @override 4744 @override
4651 bool visitIfStatement(IfStatement node) { 4745 bool visitIfStatement(IfStatement node) {
4652 if (identical(node.condition, _oldNode)) { 4746 if (identical(node.condition, _oldNode)) {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
4717 4811
4718 @override 4812 @override
4719 bool visitInterpolationString(InterpolationString node) => visitNode(node); 4813 bool visitInterpolationString(InterpolationString node) => visitNode(node);
4720 4814
4721 @override 4815 @override
4722 bool visitIsExpression(IsExpression node) { 4816 bool visitIsExpression(IsExpression node) {
4723 if (identical(node.expression, _oldNode)) { 4817 if (identical(node.expression, _oldNode)) {
4724 node.expression = _newNode as Expression; 4818 node.expression = _newNode as Expression;
4725 return true; 4819 return true;
4726 } else if (identical(node.type, _oldNode)) { 4820 } else if (identical(node.type, _oldNode)) {
4727 node.type = _newNode as TypeName; 4821 node.type = _newNode as TypeAnnotation;
4728 return true; 4822 return true;
4729 } 4823 }
4730 return visitNode(node); 4824 return visitNode(node);
4731 } 4825 }
4732 4826
4733 @override 4827 @override
4734 bool visitLabel(Label node) { 4828 bool visitLabel(Label node) {
4735 if (identical(node.label, _oldNode)) { 4829 if (identical(node.label, _oldNode)) {
4736 node.label = _newNode as SimpleIdentifier; 4830 node.label = _newNode as SimpleIdentifier;
4737 return true; 4831 return true;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
4791 } else if (identical(node.value, _oldNode)) { 4885 } else if (identical(node.value, _oldNode)) {
4792 node.value = _newNode as Expression; 4886 node.value = _newNode as Expression;
4793 return true; 4887 return true;
4794 } 4888 }
4795 return visitNode(node); 4889 return visitNode(node);
4796 } 4890 }
4797 4891
4798 @override 4892 @override
4799 bool visitMethodDeclaration(MethodDeclaration node) { 4893 bool visitMethodDeclaration(MethodDeclaration node) {
4800 if (identical(node.returnType, _oldNode)) { 4894 if (identical(node.returnType, _oldNode)) {
4801 node.returnType = _newNode as TypeName; 4895 node.returnType = _newNode as TypeAnnotation;
4802 return true; 4896 return true;
4803 } else if (identical(node.name, _oldNode)) { 4897 } else if (identical(node.name, _oldNode)) {
4804 node.name = _newNode as SimpleIdentifier; 4898 node.name = _newNode as SimpleIdentifier;
4805 return true; 4899 return true;
4806 } else if (identical(node.parameters, _oldNode)) { 4900 } else if (identical(node.parameters, _oldNode)) {
4807 node.parameters = _newNode as FormalParameterList; 4901 node.parameters = _newNode as FormalParameterList;
4808 return true; 4902 return true;
4809 } else if (identical(node.body, _oldNode)) { 4903 } else if (identical(node.body, _oldNode)) {
4810 node.body = _newNode as FunctionBody; 4904 node.body = _newNode as FunctionBody;
4811 return true; 4905 return true;
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
4980 bool visitShowCombinator(ShowCombinator node) { 5074 bool visitShowCombinator(ShowCombinator node) {
4981 if (_replaceInList(node.shownNames)) { 5075 if (_replaceInList(node.shownNames)) {
4982 return true; 5076 return true;
4983 } 5077 }
4984 return visitNode(node); 5078 return visitNode(node);
4985 } 5079 }
4986 5080
4987 @override 5081 @override
4988 bool visitSimpleFormalParameter(SimpleFormalParameter node) { 5082 bool visitSimpleFormalParameter(SimpleFormalParameter node) {
4989 if (identical(node.type, _oldNode)) { 5083 if (identical(node.type, _oldNode)) {
4990 node.type = _newNode as TypeName; 5084 node.type = _newNode as TypeAnnotation;
4991 return true; 5085 return true;
4992 } 5086 }
4993 return visitNormalFormalParameter(node); 5087 return visitNormalFormalParameter(node);
4994 } 5088 }
4995 5089
4996 @override 5090 @override
4997 bool visitSimpleIdentifier(SimpleIdentifier node) => visitNode(node); 5091 bool visitSimpleIdentifier(SimpleIdentifier node) => visitNode(node);
4998 5092
4999 @override 5093 @override
5000 bool visitSimpleStringLiteral(SimpleStringLiteral node) => visitNode(node); 5094 bool visitSimpleStringLiteral(SimpleStringLiteral node) => visitNode(node);
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
5119 } 5213 }
5120 return visitNode(node); 5214 return visitNode(node);
5121 } 5215 }
5122 5216
5123 @override 5217 @override
5124 bool visitTypeParameter(TypeParameter node) { 5218 bool visitTypeParameter(TypeParameter node) {
5125 if (identical(node.name, _oldNode)) { 5219 if (identical(node.name, _oldNode)) {
5126 node.name = _newNode as SimpleIdentifier; 5220 node.name = _newNode as SimpleIdentifier;
5127 return true; 5221 return true;
5128 } else if (identical(node.bound, _oldNode)) { 5222 } else if (identical(node.bound, _oldNode)) {
5129 node.bound = _newNode as TypeName; 5223 node.bound = _newNode as TypeAnnotation;
5130 return true; 5224 return true;
5131 } 5225 }
5132 return visitNode(node); 5226 return visitNode(node);
5133 } 5227 }
5134 5228
5135 @override 5229 @override
5136 bool visitTypeParameterList(TypeParameterList node) { 5230 bool visitTypeParameterList(TypeParameterList node) {
5137 if (_replaceInList(node.typeParameters)) { 5231 if (_replaceInList(node.typeParameters)) {
5138 return true; 5232 return true;
5139 } 5233 }
(...skipping 16 matching lines...) Expand all
5156 } else if (identical(node.initializer, _oldNode)) { 5250 } else if (identical(node.initializer, _oldNode)) {
5157 node.initializer = _newNode as Expression; 5251 node.initializer = _newNode as Expression;
5158 return true; 5252 return true;
5159 } 5253 }
5160 return visitAnnotatedNode(node); 5254 return visitAnnotatedNode(node);
5161 } 5255 }
5162 5256
5163 @override 5257 @override
5164 bool visitVariableDeclarationList(VariableDeclarationList node) { 5258 bool visitVariableDeclarationList(VariableDeclarationList node) {
5165 if (identical(node.type, _oldNode)) { 5259 if (identical(node.type, _oldNode)) {
5166 node.type = _newNode as TypeName; 5260 node.type = _newNode as TypeAnnotation;
5167 return true; 5261 return true;
5168 } else if (_replaceInList(node.variables)) { 5262 } else if (_replaceInList(node.variables)) {
5169 return true; 5263 return true;
5170 } 5264 }
5171 return visitAnnotatedNode(node); 5265 return visitAnnotatedNode(node);
5172 } 5266 }
5173 5267
5174 @override 5268 @override
5175 bool visitVariableDeclarationStatement(VariableDeclarationStatement node) { 5269 bool visitVariableDeclarationStatement(VariableDeclarationStatement node) {
5176 if (identical(node.variables, _oldNode)) { 5270 if (identical(node.variables, _oldNode)) {
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
5858 this._toNode as FunctionTypedFormalParameter; 5952 this._toNode as FunctionTypedFormalParameter;
5859 return _and( 5953 return _and(
5860 _isEqualNodes(node.documentationComment, toNode.documentationComment), 5954 _isEqualNodes(node.documentationComment, toNode.documentationComment),
5861 _isEqualNodeLists(node.metadata, toNode.metadata), 5955 _isEqualNodeLists(node.metadata, toNode.metadata),
5862 _isEqualNodes(node.returnType, toNode.returnType), 5956 _isEqualNodes(node.returnType, toNode.returnType),
5863 _isEqualNodes(node.identifier, toNode.identifier), 5957 _isEqualNodes(node.identifier, toNode.identifier),
5864 _isEqualNodes(node.parameters, toNode.parameters)); 5958 _isEqualNodes(node.parameters, toNode.parameters));
5865 } 5959 }
5866 5960
5867 @override 5961 @override
5962 bool visitGenericFunctionType(GenericFunctionType node) {
5963 GenericFunctionType toNode = this._toNode as GenericFunctionType;
5964 if (_and(
5965 _isEqualNodes(node.returnType, toNode.returnType),
5966 _isEqualTokens(node.functionKeyword, toNode.functionKeyword),
5967 _isEqualNodes(node.typeParameters, toNode.typeParameters),
5968 _isEqualNodes(node.parameters, toNode.parameters))) {
5969 // TODO(brianwilkerson) Copy the type information.
5970 return true;
5971 }
5972 return false;
5973 }
5974
5975 @override
5976 bool visitGenericTypeAlias(GenericTypeAlias node) {
5977 GenericTypeAlias toNode = this._toNode as GenericTypeAlias;
5978 if (_and(
5979 _isEqualNodes(node.documentationComment, toNode.documentationComment),
5980 _isEqualNodeLists(node.metadata, toNode.metadata),
5981 _isEqualTokens(node.typedefKeyword, toNode.typedefKeyword),
5982 _isEqualNodes(node.name, toNode.name),
5983 _isEqualNodes(node.typeParameters, toNode.typeParameters),
5984 _isEqualTokens(node.equals, toNode.equals),
5985 _isEqualNodes(node.functionType, toNode.functionType),
5986 _isEqualTokens(node.semicolon, toNode.semicolon))) {
5987 // TODO(brianwilkerson) Copy the type and element information.
5988 return true;
5989 }
5990 return false;
5991 }
5992
5993 @override
5868 bool visitHideCombinator(HideCombinator node) { 5994 bool visitHideCombinator(HideCombinator node) {
5869 HideCombinator toNode = this._toNode as HideCombinator; 5995 HideCombinator toNode = this._toNode as HideCombinator;
5870 return _and(_isEqualTokens(node.keyword, toNode.keyword), 5996 return _and(_isEqualTokens(node.keyword, toNode.keyword),
5871 _isEqualNodeLists(node.hiddenNames, toNode.hiddenNames)); 5997 _isEqualNodeLists(node.hiddenNames, toNode.hiddenNames));
5872 } 5998 }
5873 5999
5874 @override 6000 @override
5875 bool visitIfStatement(IfStatement node) { 6001 bool visitIfStatement(IfStatement node) {
5876 IfStatement toNode = this._toNode as IfStatement; 6002 IfStatement toNode = this._toNode as IfStatement;
5877 return _and( 6003 return _and(
(...skipping 1510 matching lines...) Expand 10 before | Expand all | Expand 10 after
7388 _visitNode(node.identifier); 7514 _visitNode(node.identifier);
7389 _visitNode(node.typeParameters); 7515 _visitNode(node.typeParameters);
7390 _visitNode(node.parameters); 7516 _visitNode(node.parameters);
7391 if (node.question != null) { 7517 if (node.question != null) {
7392 _writer.print('?'); 7518 _writer.print('?');
7393 } 7519 }
7394 return null; 7520 return null;
7395 } 7521 }
7396 7522
7397 @override 7523 @override
7524 Object visitGenericFunctionType(GenericFunctionType node) {
7525 _visitNode(node.returnType);
7526 _writer.print(' Function ');
7527 _visitNode(node.typeParameters);
7528 _visitNode(node.parameters);
7529 return null;
7530 }
7531
7532 @override
7533 Object visitGenericTypeAlias(GenericTypeAlias node) {
7534 _visitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
7535 _writer.print("typedef ");
7536 _visitNode(node.name);
7537 _visitNode(node.typeParameters);
7538 _writer.print(" = ");
7539 _visitNode(node.functionType);
7540 return null;
7541 }
7542
7543 @override
7398 Object visitHideCombinator(HideCombinator node) { 7544 Object visitHideCombinator(HideCombinator node) {
7399 _writer.print("hide "); 7545 _writer.print("hide ");
7400 _visitNodeListWithSeparator(node.hiddenNames, ", "); 7546 _visitNodeListWithSeparator(node.hiddenNames, ", ");
7401 return null; 7547 return null;
7402 } 7548 }
7403 7549
7404 @override 7550 @override
7405 Object visitIfStatement(IfStatement node) { 7551 Object visitIfStatement(IfStatement node) {
7406 _writer.print("if ("); 7552 _writer.print("if (");
7407 _visitNode(node.condition); 7553 _visitNode(node.condition);
(...skipping 1267 matching lines...) Expand 10 before | Expand all | Expand 10 after
8675 safelyVisitNode(node.identifier); 8821 safelyVisitNode(node.identifier);
8676 safelyVisitNode(node.typeParameters); 8822 safelyVisitNode(node.typeParameters);
8677 safelyVisitNode(node.parameters); 8823 safelyVisitNode(node.parameters);
8678 if (node.question != null) { 8824 if (node.question != null) {
8679 sink.write('?'); 8825 sink.write('?');
8680 } 8826 }
8681 return null; 8827 return null;
8682 } 8828 }
8683 8829
8684 @override 8830 @override
8831 Object visitGenericFunctionType(GenericFunctionType node) {
8832 safelyVisitNode(node.returnType);
8833 sink.write(' Function ');
8834 safelyVisitNode(node.typeParameters);
8835 safelyVisitNode(node.parameters);
8836 return null;
8837 }
8838
8839 @override
8840 Object visitGenericTypeAlias(GenericTypeAlias node) {
8841 safelyVisitNodeListWithSeparatorAndSuffix(node.metadata, " ", " ");
8842 sink.write("typedef ");
8843 safelyVisitNode(node.name);
8844 safelyVisitNode(node.typeParameters);
8845 sink.write(" = ");
8846 safelyVisitNode(node.functionType);
8847 return null;
8848 }
8849
8850 @override
8685 Object visitHideCombinator(HideCombinator node) { 8851 Object visitHideCombinator(HideCombinator node) {
8686 sink.write("hide "); 8852 sink.write("hide ");
8687 safelyVisitNodeListWithSeparator(node.hiddenNames, ", "); 8853 safelyVisitNodeListWithSeparator(node.hiddenNames, ", ");
8688 return null; 8854 return null;
8689 } 8855 }
8690 8856
8691 @override 8857 @override
8692 Object visitIfStatement(IfStatement node) { 8858 Object visitIfStatement(IfStatement node) {
8693 sink.write("if ("); 8859 sink.write("if (");
8694 safelyVisitNode(node.condition); 8860 safelyVisitNode(node.condition);
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after
9191 if (node.star != null) { 9357 if (node.star != null) {
9192 sink.write("yield* "); 9358 sink.write("yield* ");
9193 } else { 9359 } else {
9194 sink.write("yield "); 9360 sink.write("yield ");
9195 } 9361 }
9196 safelyVisitNode(node.expression); 9362 safelyVisitNode(node.expression);
9197 sink.write(";"); 9363 sink.write(";");
9198 return null; 9364 return null;
9199 } 9365 }
9200 } 9366 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/dart/ast/resolution_map.dart ('k') | pkg/analyzer/lib/src/dart/constant/evaluation.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698