| OLD | NEW |
| 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 engine.ast; | 5 library engine.ast; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 | 8 |
| 9 import 'element.dart'; | 9 import 'element.dart'; |
| 10 import 'engine.dart' show AnalysisEngine; | 10 import 'engine.dart' show AnalysisEngine; |
| (...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 651 * The left parenthesis. | 651 * The left parenthesis. |
| 652 */ | 652 */ |
| 653 Token leftParenthesis; | 653 Token leftParenthesis; |
| 654 | 654 |
| 655 /** | 655 /** |
| 656 * The condition that is being asserted to be `true`. | 656 * The condition that is being asserted to be `true`. |
| 657 */ | 657 */ |
| 658 Expression _condition; | 658 Expression _condition; |
| 659 | 659 |
| 660 /** | 660 /** |
| 661 * The comma, if a message expression was supplied. Otherwise `null`. |
| 662 */ |
| 663 Token comma; |
| 664 |
| 665 /** |
| 666 * The message to report if the assertion fails. `null` if no message was |
| 667 * supplied. |
| 668 */ |
| 669 Expression _message; |
| 670 |
| 671 /** |
| 661 * The right parenthesis. | 672 * The right parenthesis. |
| 662 */ | 673 */ |
| 663 Token rightParenthesis; | 674 Token rightParenthesis; |
| 664 | 675 |
| 665 /** | 676 /** |
| 666 * The semicolon terminating the statement. | 677 * The semicolon terminating the statement. |
| 667 */ | 678 */ |
| 668 Token semicolon; | 679 Token semicolon; |
| 669 | 680 |
| 670 /** | 681 /** |
| 671 * Initialize a newly created assert statement. | 682 * Initialize a newly created assert statement. |
| 683 * |
| 684 * Deprecated: please use [AssertStatement.withOptionalMessage] instead. |
| 685 */ |
| 686 @deprecated |
| 687 AssertStatement(Token assertKeyword, Token leftParenthesis, |
| 688 Expression condition, Token rightParenthesis, Token semicolon) |
| 689 : this.withOptionalMessage(assertKeyword, leftParenthesis, condition, |
| 690 null, null, rightParenthesis, semicolon); |
| 691 |
| 692 /** |
| 693 * Initialize a newly created assert statement. |
| 672 */ | 694 */ |
| 673 AssertStatement(this.assertKeyword, this.leftParenthesis, | 695 AssertStatement.withOptionalMessage( |
| 674 Expression condition, this.rightParenthesis, this.semicolon) { | 696 this.assertKeyword, |
| 697 this.leftParenthesis, |
| 698 Expression condition, |
| 699 this.comma, |
| 700 Expression message, |
| 701 this.rightParenthesis, |
| 702 this.semicolon) { |
| 675 _condition = _becomeParentOf(condition); | 703 _condition = _becomeParentOf(condition); |
| 704 _message = _becomeParentOf(message); |
| 676 } | 705 } |
| 677 | 706 |
| 678 @override | 707 @override |
| 679 Token get beginToken => assertKeyword; | 708 Token get beginToken => assertKeyword; |
| 680 | 709 |
| 681 @override | 710 @override |
| 682 Iterable get childEntities => new ChildEntities() | 711 Iterable get childEntities => new ChildEntities() |
| 683 ..add(assertKeyword) | 712 ..add(assertKeyword) |
| 684 ..add(leftParenthesis) | 713 ..add(leftParenthesis) |
| 685 ..add(_condition) | 714 ..add(_condition) |
| 715 ..add(comma) |
| 716 ..add(_message) |
| 686 ..add(rightParenthesis) | 717 ..add(rightParenthesis) |
| 687 ..add(semicolon); | 718 ..add(semicolon); |
| 688 | 719 |
| 689 /** | 720 /** |
| 690 * Return the condition that is being asserted to be `true`. | 721 * Return the condition that is being asserted to be `true`. |
| 691 */ | 722 */ |
| 692 Expression get condition => _condition; | 723 Expression get condition => _condition; |
| 693 | 724 |
| 694 /** | 725 /** |
| 695 * Set the condition that is being asserted to be `true` to the given | 726 * Set the condition that is being asserted to be `true` to the given |
| (...skipping 13 matching lines...) Expand all Loading... |
| 709 Token get keyword => assertKeyword; | 740 Token get keyword => assertKeyword; |
| 710 | 741 |
| 711 /** | 742 /** |
| 712 * Set the token representing the 'assert' keyword to the given [token]. | 743 * Set the token representing the 'assert' keyword to the given [token]. |
| 713 */ | 744 */ |
| 714 @deprecated // Use "this.assertKeyword" | 745 @deprecated // Use "this.assertKeyword" |
| 715 set keyword(Token token) { | 746 set keyword(Token token) { |
| 716 assertKeyword = token; | 747 assertKeyword = token; |
| 717 } | 748 } |
| 718 | 749 |
| 750 /** |
| 751 * Return the messasge to report if the assertion fails. |
| 752 */ |
| 753 Expression get message => _message; |
| 754 |
| 755 /** |
| 756 * Set the message to report if the assertion fails to the given |
| 757 * [expression]. |
| 758 */ |
| 759 void set message(Expression expression) { |
| 760 _message = _becomeParentOf(expression); |
| 761 } |
| 762 |
| 719 @override | 763 @override |
| 720 accept(AstVisitor visitor) => visitor.visitAssertStatement(this); | 764 accept(AstVisitor visitor) => visitor.visitAssertStatement(this); |
| 721 | 765 |
| 722 @override | 766 @override |
| 723 void visitChildren(AstVisitor visitor) { | 767 void visitChildren(AstVisitor visitor) { |
| 724 _safelyVisitChild(_condition, visitor); | 768 _safelyVisitChild(_condition, visitor); |
| 769 _safelyVisitChild(message, visitor); |
| 725 } | 770 } |
| 726 } | 771 } |
| 727 | 772 |
| 728 /** | 773 /** |
| 729 * An assignment expression. | 774 * An assignment expression. |
| 730 * | 775 * |
| 731 * > assignmentExpression ::= | 776 * > assignmentExpression ::= |
| 732 * > [Expression] operator [Expression] | 777 * > [Expression] operator [Expression] |
| 733 */ | 778 */ |
| 734 class AssignmentExpression extends Expression { | 779 class AssignmentExpression extends Expression { |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 956 * A flag indicating whether tokens should be cloned while cloning an AST | 1001 * A flag indicating whether tokens should be cloned while cloning an AST |
| 957 * structure. | 1002 * structure. |
| 958 */ | 1003 */ |
| 959 final bool cloneTokens; | 1004 final bool cloneTokens; |
| 960 | 1005 |
| 961 /** | 1006 /** |
| 962 * Initialize a newly created AST cloner to optionally clone tokens while | 1007 * Initialize a newly created AST cloner to optionally clone tokens while |
| 963 * cloning AST nodes if [cloneTokens] is `true`. | 1008 * cloning AST nodes if [cloneTokens] is `true`. |
| 964 */ | 1009 */ |
| 965 AstCloner( | 1010 AstCloner( |
| 966 [this.cloneTokens = false]); // TODO(brianwilkerson) Change this to be a n
amed parameter. | 1011 [this.cloneTokens = |
| 1012 false]); // TODO(brianwilkerson) Change this to be a named parameter. |
| 967 | 1013 |
| 968 /** | 1014 /** |
| 969 * Return a clone of the given [node]. | 1015 * Return a clone of the given [node]. |
| 970 */ | 1016 */ |
| 971 AstNode cloneNode(AstNode node) { | 1017 AstNode cloneNode(AstNode node) { |
| 972 if (node == null) { | 1018 if (node == null) { |
| 973 return null; | 1019 return null; |
| 974 } | 1020 } |
| 975 return node.accept(this) as AstNode; | 1021 return node.accept(this) as AstNode; |
| 976 } | 1022 } |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1008 } | 1054 } |
| 1009 return tokens; | 1055 return tokens; |
| 1010 } | 1056 } |
| 1011 | 1057 |
| 1012 @override | 1058 @override |
| 1013 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => | 1059 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => |
| 1014 new AdjacentStrings(cloneNodeList(node.strings)); | 1060 new AdjacentStrings(cloneNodeList(node.strings)); |
| 1015 | 1061 |
| 1016 @override | 1062 @override |
| 1017 Annotation visitAnnotation(Annotation node) => new Annotation( | 1063 Annotation visitAnnotation(Annotation node) => new Annotation( |
| 1018 cloneToken(node.atSign), cloneNode(node.name), cloneToken(node.period), | 1064 cloneToken(node.atSign), |
| 1019 cloneNode(node.constructorName), cloneNode(node.arguments)); | 1065 cloneNode(node.name), |
| 1066 cloneToken(node.period), |
| 1067 cloneNode(node.constructorName), |
| 1068 cloneNode(node.arguments)); |
| 1020 | 1069 |
| 1021 @override | 1070 @override |
| 1022 ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList( | 1071 ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList( |
| 1023 cloneToken(node.leftParenthesis), cloneNodeList(node.arguments), | 1072 cloneToken(node.leftParenthesis), |
| 1073 cloneNodeList(node.arguments), |
| 1024 cloneToken(node.rightParenthesis)); | 1074 cloneToken(node.rightParenthesis)); |
| 1025 | 1075 |
| 1026 @override | 1076 @override |
| 1027 AsExpression visitAsExpression(AsExpression node) => new AsExpression( | 1077 AsExpression visitAsExpression(AsExpression node) => new AsExpression( |
| 1028 cloneNode(node.expression), cloneToken(node.asOperator), | 1078 cloneNode(node.expression), |
| 1079 cloneToken(node.asOperator), |
| 1029 cloneNode(node.type)); | 1080 cloneNode(node.type)); |
| 1030 | 1081 |
| 1031 @override | 1082 @override |
| 1032 AstNode visitAssertStatement(AssertStatement node) => new AssertStatement( | 1083 AstNode visitAssertStatement(AssertStatement node) => |
| 1033 cloneToken(node.assertKeyword), cloneToken(node.leftParenthesis), | 1084 new AssertStatement.withOptionalMessage( |
| 1034 cloneNode(node.condition), cloneToken(node.rightParenthesis), | 1085 cloneToken(node.assertKeyword), |
| 1035 cloneToken(node.semicolon)); | 1086 cloneToken(node.leftParenthesis), |
| 1087 cloneNode(node.condition), |
| 1088 cloneToken(node.comma), |
| 1089 cloneNode(node.message), |
| 1090 cloneToken(node.rightParenthesis), |
| 1091 cloneToken(node.semicolon)); |
| 1036 | 1092 |
| 1037 @override | 1093 @override |
| 1038 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) => | 1094 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) => |
| 1039 new AssignmentExpression(cloneNode(node.leftHandSide), | 1095 new AssignmentExpression(cloneNode(node.leftHandSide), |
| 1040 cloneToken(node.operator), cloneNode(node.rightHandSide)); | 1096 cloneToken(node.operator), cloneNode(node.rightHandSide)); |
| 1041 | 1097 |
| 1042 @override | 1098 @override |
| 1043 AwaitExpression visitAwaitExpression(AwaitExpression node) => | 1099 AwaitExpression visitAwaitExpression(AwaitExpression node) => |
| 1044 new AwaitExpression( | 1100 new AwaitExpression( |
| 1045 cloneToken(node.awaitKeyword), cloneNode(node.expression)); | 1101 cloneToken(node.awaitKeyword), cloneNode(node.expression)); |
| 1046 | 1102 |
| 1047 @override | 1103 @override |
| 1048 BinaryExpression visitBinaryExpression(BinaryExpression node) => | 1104 BinaryExpression visitBinaryExpression(BinaryExpression node) => |
| 1049 new BinaryExpression(cloneNode(node.leftOperand), | 1105 new BinaryExpression(cloneNode(node.leftOperand), |
| 1050 cloneToken(node.operator), cloneNode(node.rightOperand)); | 1106 cloneToken(node.operator), cloneNode(node.rightOperand)); |
| 1051 | 1107 |
| 1052 @override | 1108 @override |
| 1053 Block visitBlock(Block node) => new Block(cloneToken(node.leftBracket), | 1109 Block visitBlock(Block node) => new Block(cloneToken(node.leftBracket), |
| 1054 cloneNodeList(node.statements), cloneToken(node.rightBracket)); | 1110 cloneNodeList(node.statements), cloneToken(node.rightBracket)); |
| 1055 | 1111 |
| 1056 @override | 1112 @override |
| 1057 BlockFunctionBody visitBlockFunctionBody( | 1113 BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) => |
| 1058 BlockFunctionBody node) => new BlockFunctionBody( | 1114 new BlockFunctionBody(cloneToken(node.keyword), cloneToken(node.star), |
| 1059 cloneToken(node.keyword), cloneToken(node.star), cloneNode(node.block)); | 1115 cloneNode(node.block)); |
| 1060 | 1116 |
| 1061 @override | 1117 @override |
| 1062 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) => | 1118 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) => |
| 1063 new BooleanLiteral(cloneToken(node.literal), node.value); | 1119 new BooleanLiteral(cloneToken(node.literal), node.value); |
| 1064 | 1120 |
| 1065 @override | 1121 @override |
| 1066 BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement( | 1122 BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement( |
| 1067 cloneToken(node.breakKeyword), cloneNode(node.label), | 1123 cloneToken(node.breakKeyword), |
| 1124 cloneNode(node.label), |
| 1068 cloneToken(node.semicolon)); | 1125 cloneToken(node.semicolon)); |
| 1069 | 1126 |
| 1070 @override | 1127 @override |
| 1071 CascadeExpression visitCascadeExpression(CascadeExpression node) => | 1128 CascadeExpression visitCascadeExpression(CascadeExpression node) => |
| 1072 new CascadeExpression( | 1129 new CascadeExpression( |
| 1073 cloneNode(node.target), cloneNodeList(node.cascadeSections)); | 1130 cloneNode(node.target), cloneNodeList(node.cascadeSections)); |
| 1074 | 1131 |
| 1075 @override | 1132 @override |
| 1076 CatchClause visitCatchClause(CatchClause node) => new CatchClause( | 1133 CatchClause visitCatchClause(CatchClause node) => new CatchClause( |
| 1077 cloneToken(node.onKeyword), cloneNode(node.exceptionType), | 1134 cloneToken(node.onKeyword), |
| 1078 cloneToken(node.catchKeyword), cloneToken(node.leftParenthesis), | 1135 cloneNode(node.exceptionType), |
| 1079 cloneNode(node.exceptionParameter), cloneToken(node.comma), | 1136 cloneToken(node.catchKeyword), |
| 1080 cloneNode(node.stackTraceParameter), cloneToken(node.rightParenthesis), | 1137 cloneToken(node.leftParenthesis), |
| 1138 cloneNode(node.exceptionParameter), |
| 1139 cloneToken(node.comma), |
| 1140 cloneNode(node.stackTraceParameter), |
| 1141 cloneToken(node.rightParenthesis), |
| 1081 cloneNode(node.body)); | 1142 cloneNode(node.body)); |
| 1082 | 1143 |
| 1083 @override | 1144 @override |
| 1084 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { | 1145 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { |
| 1085 ClassDeclaration copy = new ClassDeclaration( | 1146 ClassDeclaration copy = new ClassDeclaration( |
| 1086 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1147 cloneNode(node.documentationComment), |
| 1087 cloneToken(node.abstractKeyword), cloneToken(node.classKeyword), | 1148 cloneNodeList(node.metadata), |
| 1088 cloneNode(node.name), cloneNode(node.typeParameters), | 1149 cloneToken(node.abstractKeyword), |
| 1089 cloneNode(node.extendsClause), cloneNode(node.withClause), | 1150 cloneToken(node.classKeyword), |
| 1090 cloneNode(node.implementsClause), cloneToken(node.leftBracket), | 1151 cloneNode(node.name), |
| 1091 cloneNodeList(node.members), cloneToken(node.rightBracket)); | 1152 cloneNode(node.typeParameters), |
| 1153 cloneNode(node.extendsClause), |
| 1154 cloneNode(node.withClause), |
| 1155 cloneNode(node.implementsClause), |
| 1156 cloneToken(node.leftBracket), |
| 1157 cloneNodeList(node.members), |
| 1158 cloneToken(node.rightBracket)); |
| 1092 copy.nativeClause = cloneNode(node.nativeClause); | 1159 copy.nativeClause = cloneNode(node.nativeClause); |
| 1093 return copy; | 1160 return copy; |
| 1094 } | 1161 } |
| 1095 | 1162 |
| 1096 @override | 1163 @override |
| 1097 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => new ClassTypeAlias( | 1164 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => new ClassTypeAlias( |
| 1098 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1165 cloneNode(node.documentationComment), |
| 1099 cloneToken(node.typedefKeyword), cloneNode(node.name), | 1166 cloneNodeList(node.metadata), |
| 1100 cloneNode(node.typeParameters), cloneToken(node.equals), | 1167 cloneToken(node.typedefKeyword), |
| 1101 cloneToken(node.abstractKeyword), cloneNode(node.superclass), | 1168 cloneNode(node.name), |
| 1102 cloneNode(node.withClause), cloneNode(node.implementsClause), | 1169 cloneNode(node.typeParameters), |
| 1170 cloneToken(node.equals), |
| 1171 cloneToken(node.abstractKeyword), |
| 1172 cloneNode(node.superclass), |
| 1173 cloneNode(node.withClause), |
| 1174 cloneNode(node.implementsClause), |
| 1103 cloneToken(node.semicolon)); | 1175 cloneToken(node.semicolon)); |
| 1104 | 1176 |
| 1105 @override | 1177 @override |
| 1106 Comment visitComment(Comment node) { | 1178 Comment visitComment(Comment node) { |
| 1107 if (node.isDocumentation) { | 1179 if (node.isDocumentation) { |
| 1108 return Comment.createDocumentationCommentWithReferences( | 1180 return Comment.createDocumentationCommentWithReferences( |
| 1109 cloneTokenList(node.tokens), cloneNodeList(node.references)); | 1181 cloneTokenList(node.tokens), cloneNodeList(node.references)); |
| 1110 } else if (node.isBlock) { | 1182 } else if (node.isBlock) { |
| 1111 return Comment.createBlockComment(cloneTokenList(node.tokens)); | 1183 return Comment.createBlockComment(cloneTokenList(node.tokens)); |
| 1112 } | 1184 } |
| 1113 return Comment.createEndOfLineComment(cloneTokenList(node.tokens)); | 1185 return Comment.createEndOfLineComment(cloneTokenList(node.tokens)); |
| 1114 } | 1186 } |
| 1115 | 1187 |
| 1116 @override | 1188 @override |
| 1117 CommentReference visitCommentReference(CommentReference node) => | 1189 CommentReference visitCommentReference(CommentReference node) => |
| 1118 new CommentReference( | 1190 new CommentReference( |
| 1119 cloneToken(node.newKeyword), cloneNode(node.identifier)); | 1191 cloneToken(node.newKeyword), cloneNode(node.identifier)); |
| 1120 | 1192 |
| 1121 @override | 1193 @override |
| 1122 CompilationUnit visitCompilationUnit(CompilationUnit node) { | 1194 CompilationUnit visitCompilationUnit(CompilationUnit node) { |
| 1123 CompilationUnit clone = new CompilationUnit(cloneToken(node.beginToken), | 1195 CompilationUnit clone = new CompilationUnit( |
| 1124 cloneNode(node.scriptTag), cloneNodeList(node.directives), | 1196 cloneToken(node.beginToken), |
| 1125 cloneNodeList(node.declarations), cloneToken(node.endToken)); | 1197 cloneNode(node.scriptTag), |
| 1198 cloneNodeList(node.directives), |
| 1199 cloneNodeList(node.declarations), |
| 1200 cloneToken(node.endToken)); |
| 1126 clone.lineInfo = node.lineInfo; | 1201 clone.lineInfo = node.lineInfo; |
| 1127 return clone; | 1202 return clone; |
| 1128 } | 1203 } |
| 1129 | 1204 |
| 1130 @override | 1205 @override |
| 1131 ConditionalExpression visitConditionalExpression( | 1206 ConditionalExpression visitConditionalExpression( |
| 1132 ConditionalExpression node) => new ConditionalExpression( | 1207 ConditionalExpression node) => |
| 1133 cloneNode(node.condition), cloneToken(node.question), | 1208 new ConditionalExpression( |
| 1134 cloneNode(node.thenExpression), cloneToken(node.colon), | 1209 cloneNode(node.condition), |
| 1135 cloneNode(node.elseExpression)); | 1210 cloneToken(node.question), |
| 1211 cloneNode(node.thenExpression), |
| 1212 cloneToken(node.colon), |
| 1213 cloneNode(node.elseExpression)); |
| 1136 | 1214 |
| 1137 @override | 1215 @override |
| 1138 ConstructorDeclaration visitConstructorDeclaration( | 1216 ConstructorDeclaration visitConstructorDeclaration( |
| 1139 ConstructorDeclaration node) => new ConstructorDeclaration( | 1217 ConstructorDeclaration node) => |
| 1140 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1218 new ConstructorDeclaration( |
| 1141 cloneToken(node.externalKeyword), cloneToken(node.constKeyword), | 1219 cloneNode(node.documentationComment), |
| 1142 cloneToken(node.factoryKeyword), cloneNode(node.returnType), | 1220 cloneNodeList(node.metadata), |
| 1143 cloneToken(node.period), cloneNode(node.name), cloneNode(node.parameters), | 1221 cloneToken(node.externalKeyword), |
| 1144 cloneToken(node.separator), cloneNodeList(node.initializers), | 1222 cloneToken(node.constKeyword), |
| 1145 cloneNode(node.redirectedConstructor), cloneNode(node.body)); | 1223 cloneToken(node.factoryKeyword), |
| 1224 cloneNode(node.returnType), |
| 1225 cloneToken(node.period), |
| 1226 cloneNode(node.name), |
| 1227 cloneNode(node.parameters), |
| 1228 cloneToken(node.separator), |
| 1229 cloneNodeList(node.initializers), |
| 1230 cloneNode(node.redirectedConstructor), |
| 1231 cloneNode(node.body)); |
| 1146 | 1232 |
| 1147 @override | 1233 @override |
| 1148 ConstructorFieldInitializer visitConstructorFieldInitializer( | 1234 ConstructorFieldInitializer visitConstructorFieldInitializer( |
| 1149 ConstructorFieldInitializer node) => new ConstructorFieldInitializer( | 1235 ConstructorFieldInitializer node) => |
| 1150 cloneToken(node.thisKeyword), cloneToken(node.period), | 1236 new ConstructorFieldInitializer( |
| 1151 cloneNode(node.fieldName), cloneToken(node.equals), | 1237 cloneToken(node.thisKeyword), |
| 1152 cloneNode(node.expression)); | 1238 cloneToken(node.period), |
| 1239 cloneNode(node.fieldName), |
| 1240 cloneToken(node.equals), |
| 1241 cloneNode(node.expression)); |
| 1153 | 1242 |
| 1154 @override | 1243 @override |
| 1155 ConstructorName visitConstructorName(ConstructorName node) => | 1244 ConstructorName visitConstructorName(ConstructorName node) => |
| 1156 new ConstructorName( | 1245 new ConstructorName( |
| 1157 cloneNode(node.type), cloneToken(node.period), cloneNode(node.name)); | 1246 cloneNode(node.type), cloneToken(node.period), cloneNode(node.name)); |
| 1158 | 1247 |
| 1159 @override | 1248 @override |
| 1160 ContinueStatement visitContinueStatement(ContinueStatement node) => | 1249 ContinueStatement visitContinueStatement(ContinueStatement node) => |
| 1161 new ContinueStatement(cloneToken(node.continueKeyword), | 1250 new ContinueStatement(cloneToken(node.continueKeyword), |
| 1162 cloneNode(node.label), cloneToken(node.semicolon)); | 1251 cloneNode(node.label), cloneToken(node.semicolon)); |
| 1163 | 1252 |
| 1164 @override | 1253 @override |
| 1165 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => | 1254 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => |
| 1166 new DeclaredIdentifier(cloneNode(node.documentationComment), | 1255 new DeclaredIdentifier( |
| 1167 cloneNodeList(node.metadata), cloneToken(node.keyword), | 1256 cloneNode(node.documentationComment), |
| 1168 cloneNode(node.type), cloneNode(node.identifier)); | 1257 cloneNodeList(node.metadata), |
| 1258 cloneToken(node.keyword), |
| 1259 cloneNode(node.type), |
| 1260 cloneNode(node.identifier)); |
| 1169 | 1261 |
| 1170 @override | 1262 @override |
| 1171 DefaultFormalParameter visitDefaultFormalParameter( | 1263 DefaultFormalParameter visitDefaultFormalParameter( |
| 1172 DefaultFormalParameter node) => new DefaultFormalParameter( | 1264 DefaultFormalParameter node) => |
| 1173 cloneNode(node.parameter), node.kind, cloneToken(node.separator), | 1265 new DefaultFormalParameter(cloneNode(node.parameter), node.kind, |
| 1174 cloneNode(node.defaultValue)); | 1266 cloneToken(node.separator), cloneNode(node.defaultValue)); |
| 1175 | 1267 |
| 1176 @override | 1268 @override |
| 1177 DoStatement visitDoStatement(DoStatement node) => new DoStatement( | 1269 DoStatement visitDoStatement(DoStatement node) => new DoStatement( |
| 1178 cloneToken(node.doKeyword), cloneNode(node.body), | 1270 cloneToken(node.doKeyword), |
| 1179 cloneToken(node.whileKeyword), cloneToken(node.leftParenthesis), | 1271 cloneNode(node.body), |
| 1180 cloneNode(node.condition), cloneToken(node.rightParenthesis), | 1272 cloneToken(node.whileKeyword), |
| 1273 cloneToken(node.leftParenthesis), |
| 1274 cloneNode(node.condition), |
| 1275 cloneToken(node.rightParenthesis), |
| 1181 cloneToken(node.semicolon)); | 1276 cloneToken(node.semicolon)); |
| 1182 | 1277 |
| 1183 @override | 1278 @override |
| 1184 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) => | 1279 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) => |
| 1185 new DoubleLiteral(cloneToken(node.literal), node.value); | 1280 new DoubleLiteral(cloneToken(node.literal), node.value); |
| 1186 | 1281 |
| 1187 @override | 1282 @override |
| 1188 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => | 1283 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => |
| 1189 new EmptyFunctionBody(cloneToken(node.semicolon)); | 1284 new EmptyFunctionBody(cloneToken(node.semicolon)); |
| 1190 | 1285 |
| 1191 @override | 1286 @override |
| 1192 EmptyStatement visitEmptyStatement(EmptyStatement node) => | 1287 EmptyStatement visitEmptyStatement(EmptyStatement node) => |
| 1193 new EmptyStatement(cloneToken(node.semicolon)); | 1288 new EmptyStatement(cloneToken(node.semicolon)); |
| 1194 | 1289 |
| 1195 @override | 1290 @override |
| 1196 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => | 1291 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => |
| 1197 new EnumConstantDeclaration(cloneNode(node.documentationComment), | 1292 new EnumConstantDeclaration(cloneNode(node.documentationComment), |
| 1198 cloneNodeList(node.metadata), cloneNode(node.name)); | 1293 cloneNodeList(node.metadata), cloneNode(node.name)); |
| 1199 | 1294 |
| 1200 @override | 1295 @override |
| 1201 EnumDeclaration visitEnumDeclaration(EnumDeclaration node) => | 1296 EnumDeclaration visitEnumDeclaration(EnumDeclaration node) => |
| 1202 new EnumDeclaration(cloneNode(node.documentationComment), | 1297 new EnumDeclaration( |
| 1203 cloneNodeList(node.metadata), cloneToken(node.enumKeyword), | 1298 cloneNode(node.documentationComment), |
| 1204 cloneNode(node.name), cloneToken(node.leftBracket), | 1299 cloneNodeList(node.metadata), |
| 1205 cloneNodeList(node.constants), cloneToken(node.rightBracket)); | 1300 cloneToken(node.enumKeyword), |
| 1301 cloneNode(node.name), |
| 1302 cloneToken(node.leftBracket), |
| 1303 cloneNodeList(node.constants), |
| 1304 cloneToken(node.rightBracket)); |
| 1206 | 1305 |
| 1207 @override | 1306 @override |
| 1208 ExportDirective visitExportDirective(ExportDirective node) { | 1307 ExportDirective visitExportDirective(ExportDirective node) { |
| 1209 ExportDirective directive = new ExportDirective( | 1308 ExportDirective directive = new ExportDirective( |
| 1210 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1309 cloneNode(node.documentationComment), |
| 1211 cloneToken(node.keyword), cloneNode(node.uri), | 1310 cloneNodeList(node.metadata), |
| 1212 cloneNodeList(node.combinators), cloneToken(node.semicolon)); | 1311 cloneToken(node.keyword), |
| 1312 cloneNode(node.uri), |
| 1313 cloneNodeList(node.combinators), |
| 1314 cloneToken(node.semicolon)); |
| 1213 directive.source = node.source; | 1315 directive.source = node.source; |
| 1214 directive.uriContent = node.uriContent; | 1316 directive.uriContent = node.uriContent; |
| 1215 return directive; | 1317 return directive; |
| 1216 } | 1318 } |
| 1217 | 1319 |
| 1218 @override | 1320 @override |
| 1219 ExpressionFunctionBody visitExpressionFunctionBody( | 1321 ExpressionFunctionBody visitExpressionFunctionBody( |
| 1220 ExpressionFunctionBody node) => new ExpressionFunctionBody( | 1322 ExpressionFunctionBody node) => |
| 1221 cloneToken(node.keyword), cloneToken(node.functionDefinition), | 1323 new ExpressionFunctionBody( |
| 1222 cloneNode(node.expression), cloneToken(node.semicolon)); | 1324 cloneToken(node.keyword), |
| 1325 cloneToken(node.functionDefinition), |
| 1326 cloneNode(node.expression), |
| 1327 cloneToken(node.semicolon)); |
| 1223 | 1328 |
| 1224 @override | 1329 @override |
| 1225 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => | 1330 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => |
| 1226 new ExpressionStatement( | 1331 new ExpressionStatement( |
| 1227 cloneNode(node.expression), cloneToken(node.semicolon)); | 1332 cloneNode(node.expression), cloneToken(node.semicolon)); |
| 1228 | 1333 |
| 1229 @override | 1334 @override |
| 1230 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause( | 1335 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause( |
| 1231 cloneToken(node.extendsKeyword), cloneNode(node.superclass)); | 1336 cloneToken(node.extendsKeyword), cloneNode(node.superclass)); |
| 1232 | 1337 |
| 1233 @override | 1338 @override |
| 1234 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => | 1339 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => |
| 1235 new FieldDeclaration(cloneNode(node.documentationComment), | 1340 new FieldDeclaration( |
| 1236 cloneNodeList(node.metadata), cloneToken(node.staticKeyword), | 1341 cloneNode(node.documentationComment), |
| 1237 cloneNode(node.fields), cloneToken(node.semicolon)); | 1342 cloneNodeList(node.metadata), |
| 1343 cloneToken(node.staticKeyword), |
| 1344 cloneNode(node.fields), |
| 1345 cloneToken(node.semicolon)); |
| 1238 | 1346 |
| 1239 @override | 1347 @override |
| 1240 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => | 1348 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => |
| 1241 new FieldFormalParameter(cloneNode(node.documentationComment), | 1349 new FieldFormalParameter( |
| 1242 cloneNodeList(node.metadata), cloneToken(node.keyword), | 1350 cloneNode(node.documentationComment), |
| 1243 cloneNode(node.type), cloneToken(node.thisKeyword), | 1351 cloneNodeList(node.metadata), |
| 1244 cloneToken(node.period), cloneNode(node.identifier), | 1352 cloneToken(node.keyword), |
| 1245 cloneNode(node.typeParameters), cloneNode(node.parameters)); | 1353 cloneNode(node.type), |
| 1354 cloneToken(node.thisKeyword), |
| 1355 cloneToken(node.period), |
| 1356 cloneNode(node.identifier), |
| 1357 cloneNode(node.typeParameters), |
| 1358 cloneNode(node.parameters)); |
| 1246 | 1359 |
| 1247 @override | 1360 @override |
| 1248 ForEachStatement visitForEachStatement(ForEachStatement node) { | 1361 ForEachStatement visitForEachStatement(ForEachStatement node) { |
| 1249 DeclaredIdentifier loopVariable = node.loopVariable; | 1362 DeclaredIdentifier loopVariable = node.loopVariable; |
| 1250 if (loopVariable == null) { | 1363 if (loopVariable == null) { |
| 1251 return new ForEachStatement.withReference(cloneToken(node.awaitKeyword), | 1364 return new ForEachStatement.withReference( |
| 1252 cloneToken(node.forKeyword), cloneToken(node.leftParenthesis), | 1365 cloneToken(node.awaitKeyword), |
| 1253 cloneNode(node.identifier), cloneToken(node.inKeyword), | 1366 cloneToken(node.forKeyword), |
| 1254 cloneNode(node.iterable), cloneToken(node.rightParenthesis), | 1367 cloneToken(node.leftParenthesis), |
| 1368 cloneNode(node.identifier), |
| 1369 cloneToken(node.inKeyword), |
| 1370 cloneNode(node.iterable), |
| 1371 cloneToken(node.rightParenthesis), |
| 1255 cloneNode(node.body)); | 1372 cloneNode(node.body)); |
| 1256 } | 1373 } |
| 1257 return new ForEachStatement.withDeclaration(cloneToken(node.awaitKeyword), | 1374 return new ForEachStatement.withDeclaration( |
| 1258 cloneToken(node.forKeyword), cloneToken(node.leftParenthesis), | 1375 cloneToken(node.awaitKeyword), |
| 1259 cloneNode(loopVariable), cloneToken(node.inKeyword), | 1376 cloneToken(node.forKeyword), |
| 1260 cloneNode(node.iterable), cloneToken(node.rightParenthesis), | 1377 cloneToken(node.leftParenthesis), |
| 1378 cloneNode(loopVariable), |
| 1379 cloneToken(node.inKeyword), |
| 1380 cloneNode(node.iterable), |
| 1381 cloneToken(node.rightParenthesis), |
| 1261 cloneNode(node.body)); | 1382 cloneNode(node.body)); |
| 1262 } | 1383 } |
| 1263 | 1384 |
| 1264 @override | 1385 @override |
| 1265 FormalParameterList visitFormalParameterList(FormalParameterList node) => | 1386 FormalParameterList visitFormalParameterList(FormalParameterList node) => |
| 1266 new FormalParameterList(cloneToken(node.leftParenthesis), | 1387 new FormalParameterList( |
| 1267 cloneNodeList(node.parameters), cloneToken(node.leftDelimiter), | 1388 cloneToken(node.leftParenthesis), |
| 1268 cloneToken(node.rightDelimiter), cloneToken(node.rightParenthesis)); | 1389 cloneNodeList(node.parameters), |
| 1390 cloneToken(node.leftDelimiter), |
| 1391 cloneToken(node.rightDelimiter), |
| 1392 cloneToken(node.rightParenthesis)); |
| 1269 | 1393 |
| 1270 @override | 1394 @override |
| 1271 ForStatement visitForStatement(ForStatement node) => new ForStatement( | 1395 ForStatement visitForStatement(ForStatement node) => new ForStatement( |
| 1272 cloneToken(node.forKeyword), cloneToken(node.leftParenthesis), | 1396 cloneToken(node.forKeyword), |
| 1273 cloneNode(node.variables), cloneNode(node.initialization), | 1397 cloneToken(node.leftParenthesis), |
| 1274 cloneToken(node.leftSeparator), cloneNode(node.condition), | 1398 cloneNode(node.variables), |
| 1275 cloneToken(node.rightSeparator), cloneNodeList(node.updaters), | 1399 cloneNode(node.initialization), |
| 1276 cloneToken(node.rightParenthesis), cloneNode(node.body)); | 1400 cloneToken(node.leftSeparator), |
| 1401 cloneNode(node.condition), |
| 1402 cloneToken(node.rightSeparator), |
| 1403 cloneNodeList(node.updaters), |
| 1404 cloneToken(node.rightParenthesis), |
| 1405 cloneNode(node.body)); |
| 1277 | 1406 |
| 1278 @override | 1407 @override |
| 1279 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => | 1408 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => |
| 1280 new FunctionDeclaration(cloneNode(node.documentationComment), | 1409 new FunctionDeclaration( |
| 1281 cloneNodeList(node.metadata), cloneToken(node.externalKeyword), | 1410 cloneNode(node.documentationComment), |
| 1282 cloneNode(node.returnType), cloneToken(node.propertyKeyword), | 1411 cloneNodeList(node.metadata), |
| 1283 cloneNode(node.name), cloneNode(node.functionExpression)); | 1412 cloneToken(node.externalKeyword), |
| 1413 cloneNode(node.returnType), |
| 1414 cloneToken(node.propertyKeyword), |
| 1415 cloneNode(node.name), |
| 1416 cloneNode(node.functionExpression)); |
| 1284 | 1417 |
| 1285 @override | 1418 @override |
| 1286 FunctionDeclarationStatement visitFunctionDeclarationStatement( | 1419 FunctionDeclarationStatement visitFunctionDeclarationStatement( |
| 1287 FunctionDeclarationStatement node) => | 1420 FunctionDeclarationStatement node) => |
| 1288 new FunctionDeclarationStatement(cloneNode(node.functionDeclaration)); | 1421 new FunctionDeclarationStatement(cloneNode(node.functionDeclaration)); |
| 1289 | 1422 |
| 1290 @override | 1423 @override |
| 1291 FunctionExpression visitFunctionExpression(FunctionExpression node) => | 1424 FunctionExpression visitFunctionExpression(FunctionExpression node) => |
| 1292 new FunctionExpression(cloneNode(node.typeParameters), | 1425 new FunctionExpression(cloneNode(node.typeParameters), |
| 1293 cloneNode(node.parameters), cloneNode(node.body)); | 1426 cloneNode(node.parameters), cloneNode(node.body)); |
| 1294 | 1427 |
| 1295 @override | 1428 @override |
| 1296 FunctionExpressionInvocation visitFunctionExpressionInvocation( | 1429 FunctionExpressionInvocation visitFunctionExpressionInvocation( |
| 1297 FunctionExpressionInvocation node) => new FunctionExpressionInvocation( | 1430 FunctionExpressionInvocation node) => |
| 1298 cloneNode(node.function), cloneNode(node.typeArguments), | 1431 new FunctionExpressionInvocation(cloneNode(node.function), |
| 1299 cloneNode(node.argumentList)); | 1432 cloneNode(node.typeArguments), cloneNode(node.argumentList)); |
| 1300 | 1433 |
| 1301 @override | 1434 @override |
| 1302 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => | 1435 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => |
| 1303 new FunctionTypeAlias(cloneNode(node.documentationComment), | 1436 new FunctionTypeAlias( |
| 1304 cloneNodeList(node.metadata), cloneToken(node.typedefKeyword), | 1437 cloneNode(node.documentationComment), |
| 1305 cloneNode(node.returnType), cloneNode(node.name), | 1438 cloneNodeList(node.metadata), |
| 1306 cloneNode(node.typeParameters), cloneNode(node.parameters), | 1439 cloneToken(node.typedefKeyword), |
| 1440 cloneNode(node.returnType), |
| 1441 cloneNode(node.name), |
| 1442 cloneNode(node.typeParameters), |
| 1443 cloneNode(node.parameters), |
| 1307 cloneToken(node.semicolon)); | 1444 cloneToken(node.semicolon)); |
| 1308 | 1445 |
| 1309 @override | 1446 @override |
| 1310 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( | 1447 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( |
| 1311 FunctionTypedFormalParameter node) => new FunctionTypedFormalParameter( | 1448 FunctionTypedFormalParameter node) => |
| 1312 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1449 new FunctionTypedFormalParameter( |
| 1313 cloneNode(node.returnType), cloneNode(node.identifier), | 1450 cloneNode(node.documentationComment), |
| 1314 cloneNode(node.typeParameters), cloneNode(node.parameters)); | 1451 cloneNodeList(node.metadata), |
| 1452 cloneNode(node.returnType), |
| 1453 cloneNode(node.identifier), |
| 1454 cloneNode(node.typeParameters), |
| 1455 cloneNode(node.parameters)); |
| 1315 | 1456 |
| 1316 @override | 1457 @override |
| 1317 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( | 1458 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( |
| 1318 cloneToken(node.keyword), cloneNodeList(node.hiddenNames)); | 1459 cloneToken(node.keyword), cloneNodeList(node.hiddenNames)); |
| 1319 | 1460 |
| 1320 @override | 1461 @override |
| 1321 IfStatement visitIfStatement(IfStatement node) => new IfStatement( | 1462 IfStatement visitIfStatement(IfStatement node) => new IfStatement( |
| 1322 cloneToken(node.ifKeyword), cloneToken(node.leftParenthesis), | 1463 cloneToken(node.ifKeyword), |
| 1323 cloneNode(node.condition), cloneToken(node.rightParenthesis), | 1464 cloneToken(node.leftParenthesis), |
| 1324 cloneNode(node.thenStatement), cloneToken(node.elseKeyword), | 1465 cloneNode(node.condition), |
| 1466 cloneToken(node.rightParenthesis), |
| 1467 cloneNode(node.thenStatement), |
| 1468 cloneToken(node.elseKeyword), |
| 1325 cloneNode(node.elseStatement)); | 1469 cloneNode(node.elseStatement)); |
| 1326 | 1470 |
| 1327 @override | 1471 @override |
| 1328 ImplementsClause visitImplementsClause(ImplementsClause node) => | 1472 ImplementsClause visitImplementsClause(ImplementsClause node) => |
| 1329 new ImplementsClause( | 1473 new ImplementsClause( |
| 1330 cloneToken(node.implementsKeyword), cloneNodeList(node.interfaces)); | 1474 cloneToken(node.implementsKeyword), cloneNodeList(node.interfaces)); |
| 1331 | 1475 |
| 1332 @override | 1476 @override |
| 1333 ImportDirective visitImportDirective(ImportDirective node) { | 1477 ImportDirective visitImportDirective(ImportDirective node) { |
| 1334 ImportDirective directive = new ImportDirective( | 1478 ImportDirective directive = new ImportDirective( |
| 1335 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1479 cloneNode(node.documentationComment), |
| 1336 cloneToken(node.keyword), cloneNode(node.uri), | 1480 cloneNodeList(node.metadata), |
| 1337 cloneToken(node.deferredKeyword), cloneToken(node.asKeyword), | 1481 cloneToken(node.keyword), |
| 1338 cloneNode(node.prefix), cloneNodeList(node.combinators), | 1482 cloneNode(node.uri), |
| 1483 cloneToken(node.deferredKeyword), |
| 1484 cloneToken(node.asKeyword), |
| 1485 cloneNode(node.prefix), |
| 1486 cloneNodeList(node.combinators), |
| 1339 cloneToken(node.semicolon)); | 1487 cloneToken(node.semicolon)); |
| 1340 directive.source = node.source; | 1488 directive.source = node.source; |
| 1341 directive.uriContent = node.uriContent; | 1489 directive.uriContent = node.uriContent; |
| 1342 return directive; | 1490 return directive; |
| 1343 } | 1491 } |
| 1344 | 1492 |
| 1345 @override | 1493 @override |
| 1346 IndexExpression visitIndexExpression(IndexExpression node) { | 1494 IndexExpression visitIndexExpression(IndexExpression node) { |
| 1347 Token period = node.period; | 1495 Token period = node.period; |
| 1348 if (period == null) { | 1496 if (period == null) { |
| 1349 return new IndexExpression.forTarget(cloneNode(node.target), | 1497 return new IndexExpression.forTarget( |
| 1350 cloneToken(node.leftBracket), cloneNode(node.index), | 1498 cloneNode(node.target), |
| 1499 cloneToken(node.leftBracket), |
| 1500 cloneNode(node.index), |
| 1351 cloneToken(node.rightBracket)); | 1501 cloneToken(node.rightBracket)); |
| 1352 } else { | 1502 } else { |
| 1353 return new IndexExpression.forCascade(cloneToken(period), | 1503 return new IndexExpression.forCascade( |
| 1354 cloneToken(node.leftBracket), cloneNode(node.index), | 1504 cloneToken(period), |
| 1505 cloneToken(node.leftBracket), |
| 1506 cloneNode(node.index), |
| 1355 cloneToken(node.rightBracket)); | 1507 cloneToken(node.rightBracket)); |
| 1356 } | 1508 } |
| 1357 } | 1509 } |
| 1358 | 1510 |
| 1359 @override | 1511 @override |
| 1360 InstanceCreationExpression visitInstanceCreationExpression( | 1512 InstanceCreationExpression visitInstanceCreationExpression( |
| 1361 InstanceCreationExpression node) => new InstanceCreationExpression( | 1513 InstanceCreationExpression node) => |
| 1362 cloneToken(node.keyword), cloneNode(node.constructorName), | 1514 new InstanceCreationExpression(cloneToken(node.keyword), |
| 1363 cloneNode(node.argumentList)); | 1515 cloneNode(node.constructorName), cloneNode(node.argumentList)); |
| 1364 | 1516 |
| 1365 @override | 1517 @override |
| 1366 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) => | 1518 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) => |
| 1367 new IntegerLiteral(cloneToken(node.literal), node.value); | 1519 new IntegerLiteral(cloneToken(node.literal), node.value); |
| 1368 | 1520 |
| 1369 @override | 1521 @override |
| 1370 InterpolationExpression visitInterpolationExpression( | 1522 InterpolationExpression visitInterpolationExpression( |
| 1371 InterpolationExpression node) => new InterpolationExpression( | 1523 InterpolationExpression node) => |
| 1372 cloneToken(node.leftBracket), cloneNode(node.expression), | 1524 new InterpolationExpression(cloneToken(node.leftBracket), |
| 1373 cloneToken(node.rightBracket)); | 1525 cloneNode(node.expression), cloneToken(node.rightBracket)); |
| 1374 | 1526 |
| 1375 @override | 1527 @override |
| 1376 InterpolationString visitInterpolationString(InterpolationString node) => | 1528 InterpolationString visitInterpolationString(InterpolationString node) => |
| 1377 new InterpolationString(cloneToken(node.contents), node.value); | 1529 new InterpolationString(cloneToken(node.contents), node.value); |
| 1378 | 1530 |
| 1379 @override | 1531 @override |
| 1380 IsExpression visitIsExpression(IsExpression node) => new IsExpression( | 1532 IsExpression visitIsExpression(IsExpression node) => new IsExpression( |
| 1381 cloneNode(node.expression), cloneToken(node.isOperator), | 1533 cloneNode(node.expression), |
| 1382 cloneToken(node.notOperator), cloneNode(node.type)); | 1534 cloneToken(node.isOperator), |
| 1535 cloneToken(node.notOperator), |
| 1536 cloneNode(node.type)); |
| 1383 | 1537 |
| 1384 @override | 1538 @override |
| 1385 Label visitLabel(Label node) => | 1539 Label visitLabel(Label node) => |
| 1386 new Label(cloneNode(node.label), cloneToken(node.colon)); | 1540 new Label(cloneNode(node.label), cloneToken(node.colon)); |
| 1387 | 1541 |
| 1388 @override | 1542 @override |
| 1389 LabeledStatement visitLabeledStatement(LabeledStatement node) => | 1543 LabeledStatement visitLabeledStatement(LabeledStatement node) => |
| 1390 new LabeledStatement( | 1544 new LabeledStatement( |
| 1391 cloneNodeList(node.labels), cloneNode(node.statement)); | 1545 cloneNodeList(node.labels), cloneNode(node.statement)); |
| 1392 | 1546 |
| 1393 @override | 1547 @override |
| 1394 LibraryDirective visitLibraryDirective(LibraryDirective node) => | 1548 LibraryDirective visitLibraryDirective(LibraryDirective node) => |
| 1395 new LibraryDirective(cloneNode(node.documentationComment), | 1549 new LibraryDirective( |
| 1396 cloneNodeList(node.metadata), cloneToken(node.libraryKeyword), | 1550 cloneNode(node.documentationComment), |
| 1397 cloneNode(node.name), cloneToken(node.semicolon)); | 1551 cloneNodeList(node.metadata), |
| 1552 cloneToken(node.libraryKeyword), |
| 1553 cloneNode(node.name), |
| 1554 cloneToken(node.semicolon)); |
| 1398 | 1555 |
| 1399 @override | 1556 @override |
| 1400 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) => | 1557 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) => |
| 1401 new LibraryIdentifier(cloneNodeList(node.components)); | 1558 new LibraryIdentifier(cloneNodeList(node.components)); |
| 1402 | 1559 |
| 1403 @override | 1560 @override |
| 1404 ListLiteral visitListLiteral(ListLiteral node) => new ListLiteral( | 1561 ListLiteral visitListLiteral(ListLiteral node) => new ListLiteral( |
| 1405 cloneToken(node.constKeyword), cloneNode(node.typeArguments), | 1562 cloneToken(node.constKeyword), |
| 1406 cloneToken(node.leftBracket), cloneNodeList(node.elements), | 1563 cloneNode(node.typeArguments), |
| 1564 cloneToken(node.leftBracket), |
| 1565 cloneNodeList(node.elements), |
| 1407 cloneToken(node.rightBracket)); | 1566 cloneToken(node.rightBracket)); |
| 1408 | 1567 |
| 1409 @override | 1568 @override |
| 1410 MapLiteral visitMapLiteral(MapLiteral node) => new MapLiteral( | 1569 MapLiteral visitMapLiteral(MapLiteral node) => new MapLiteral( |
| 1411 cloneToken(node.constKeyword), cloneNode(node.typeArguments), | 1570 cloneToken(node.constKeyword), |
| 1412 cloneToken(node.leftBracket), cloneNodeList(node.entries), | 1571 cloneNode(node.typeArguments), |
| 1572 cloneToken(node.leftBracket), |
| 1573 cloneNodeList(node.entries), |
| 1413 cloneToken(node.rightBracket)); | 1574 cloneToken(node.rightBracket)); |
| 1414 | 1575 |
| 1415 @override | 1576 @override |
| 1416 MapLiteralEntry visitMapLiteralEntry( | 1577 MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) => |
| 1417 MapLiteralEntry node) => new MapLiteralEntry( | 1578 new MapLiteralEntry(cloneNode(node.key), cloneToken(node.separator), |
| 1418 cloneNode(node.key), cloneToken(node.separator), cloneNode(node.value)); | 1579 cloneNode(node.value)); |
| 1419 | 1580 |
| 1420 @override | 1581 @override |
| 1421 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => | 1582 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => |
| 1422 new MethodDeclaration(cloneNode(node.documentationComment), | 1583 new MethodDeclaration( |
| 1423 cloneNodeList(node.metadata), cloneToken(node.externalKeyword), | 1584 cloneNode(node.documentationComment), |
| 1424 cloneToken(node.modifierKeyword), cloneNode(node.returnType), | 1585 cloneNodeList(node.metadata), |
| 1425 cloneToken(node.propertyKeyword), cloneToken(node.operatorKeyword), | 1586 cloneToken(node.externalKeyword), |
| 1426 cloneNode(node.name), cloneNode(node.typeParameters), | 1587 cloneToken(node.modifierKeyword), |
| 1427 cloneNode(node.parameters), cloneNode(node.body)); | 1588 cloneNode(node.returnType), |
| 1589 cloneToken(node.propertyKeyword), |
| 1590 cloneToken(node.operatorKeyword), |
| 1591 cloneNode(node.name), |
| 1592 cloneNode(node.typeParameters), |
| 1593 cloneNode(node.parameters), |
| 1594 cloneNode(node.body)); |
| 1428 | 1595 |
| 1429 @override | 1596 @override |
| 1430 MethodInvocation visitMethodInvocation(MethodInvocation node) => | 1597 MethodInvocation visitMethodInvocation(MethodInvocation node) => |
| 1431 new MethodInvocation(cloneNode(node.target), cloneToken(node.operator), | 1598 new MethodInvocation( |
| 1432 cloneNode(node.methodName), cloneNode(node.typeArguments), | 1599 cloneNode(node.target), |
| 1600 cloneToken(node.operator), |
| 1601 cloneNode(node.methodName), |
| 1602 cloneNode(node.typeArguments), |
| 1433 cloneNode(node.argumentList)); | 1603 cloneNode(node.argumentList)); |
| 1434 | 1604 |
| 1435 @override | 1605 @override |
| 1436 NamedExpression visitNamedExpression(NamedExpression node) => | 1606 NamedExpression visitNamedExpression(NamedExpression node) => |
| 1437 new NamedExpression(cloneNode(node.name), cloneNode(node.expression)); | 1607 new NamedExpression(cloneNode(node.name), cloneNode(node.expression)); |
| 1438 | 1608 |
| 1439 @override | 1609 @override |
| 1440 AstNode visitNativeClause(NativeClause node) => | 1610 AstNode visitNativeClause(NativeClause node) => |
| 1441 new NativeClause(cloneToken(node.nativeKeyword), cloneNode(node.name)); | 1611 new NativeClause(cloneToken(node.nativeKeyword), cloneNode(node.name)); |
| 1442 | 1612 |
| 1443 @override | 1613 @override |
| 1444 NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) => | 1614 NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) => |
| 1445 new NativeFunctionBody(cloneToken(node.nativeKeyword), | 1615 new NativeFunctionBody(cloneToken(node.nativeKeyword), |
| 1446 cloneNode(node.stringLiteral), cloneToken(node.semicolon)); | 1616 cloneNode(node.stringLiteral), cloneToken(node.semicolon)); |
| 1447 | 1617 |
| 1448 @override | 1618 @override |
| 1449 NullLiteral visitNullLiteral(NullLiteral node) => | 1619 NullLiteral visitNullLiteral(NullLiteral node) => |
| 1450 new NullLiteral(cloneToken(node.literal)); | 1620 new NullLiteral(cloneToken(node.literal)); |
| 1451 | 1621 |
| 1452 @override | 1622 @override |
| 1453 ParenthesizedExpression visitParenthesizedExpression( | 1623 ParenthesizedExpression visitParenthesizedExpression( |
| 1454 ParenthesizedExpression node) => new ParenthesizedExpression( | 1624 ParenthesizedExpression node) => |
| 1455 cloneToken(node.leftParenthesis), cloneNode(node.expression), | 1625 new ParenthesizedExpression(cloneToken(node.leftParenthesis), |
| 1456 cloneToken(node.rightParenthesis)); | 1626 cloneNode(node.expression), cloneToken(node.rightParenthesis)); |
| 1457 | 1627 |
| 1458 @override | 1628 @override |
| 1459 PartDirective visitPartDirective(PartDirective node) { | 1629 PartDirective visitPartDirective(PartDirective node) { |
| 1460 PartDirective directive = new PartDirective( | 1630 PartDirective directive = new PartDirective( |
| 1461 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1631 cloneNode(node.documentationComment), |
| 1462 cloneToken(node.partKeyword), cloneNode(node.uri), | 1632 cloneNodeList(node.metadata), |
| 1633 cloneToken(node.partKeyword), |
| 1634 cloneNode(node.uri), |
| 1463 cloneToken(node.semicolon)); | 1635 cloneToken(node.semicolon)); |
| 1464 directive.source = node.source; | 1636 directive.source = node.source; |
| 1465 directive.uriContent = node.uriContent; | 1637 directive.uriContent = node.uriContent; |
| 1466 return directive; | 1638 return directive; |
| 1467 } | 1639 } |
| 1468 | 1640 |
| 1469 @override | 1641 @override |
| 1470 PartOfDirective visitPartOfDirective(PartOfDirective node) => | 1642 PartOfDirective visitPartOfDirective(PartOfDirective node) => |
| 1471 new PartOfDirective(cloneNode(node.documentationComment), | 1643 new PartOfDirective( |
| 1472 cloneNodeList(node.metadata), cloneToken(node.partKeyword), | 1644 cloneNode(node.documentationComment), |
| 1473 cloneToken(node.ofKeyword), cloneNode(node.libraryName), | 1645 cloneNodeList(node.metadata), |
| 1646 cloneToken(node.partKeyword), |
| 1647 cloneToken(node.ofKeyword), |
| 1648 cloneNode(node.libraryName), |
| 1474 cloneToken(node.semicolon)); | 1649 cloneToken(node.semicolon)); |
| 1475 | 1650 |
| 1476 @override | 1651 @override |
| 1477 PostfixExpression visitPostfixExpression(PostfixExpression node) => | 1652 PostfixExpression visitPostfixExpression(PostfixExpression node) => |
| 1478 new PostfixExpression(cloneNode(node.operand), cloneToken(node.operator)); | 1653 new PostfixExpression(cloneNode(node.operand), cloneToken(node.operator)); |
| 1479 | 1654 |
| 1480 @override | 1655 @override |
| 1481 PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node) => | 1656 PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node) => |
| 1482 new PrefixedIdentifier(cloneNode(node.prefix), cloneToken(node.period), | 1657 new PrefixedIdentifier(cloneNode(node.prefix), cloneToken(node.period), |
| 1483 cloneNode(node.identifier)); | 1658 cloneNode(node.identifier)); |
| 1484 | 1659 |
| 1485 @override | 1660 @override |
| 1486 PrefixExpression visitPrefixExpression(PrefixExpression node) => | 1661 PrefixExpression visitPrefixExpression(PrefixExpression node) => |
| 1487 new PrefixExpression(cloneToken(node.operator), cloneNode(node.operand)); | 1662 new PrefixExpression(cloneToken(node.operator), cloneNode(node.operand)); |
| 1488 | 1663 |
| 1489 @override | 1664 @override |
| 1490 PropertyAccess visitPropertyAccess(PropertyAccess node) => new PropertyAccess( | 1665 PropertyAccess visitPropertyAccess(PropertyAccess node) => new PropertyAccess( |
| 1491 cloneNode(node.target), cloneToken(node.operator), | 1666 cloneNode(node.target), |
| 1667 cloneToken(node.operator), |
| 1492 cloneNode(node.propertyName)); | 1668 cloneNode(node.propertyName)); |
| 1493 | 1669 |
| 1494 @override | 1670 @override |
| 1495 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( | 1671 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( |
| 1496 RedirectingConstructorInvocation node) => | 1672 RedirectingConstructorInvocation node) => |
| 1497 new RedirectingConstructorInvocation(cloneToken(node.thisKeyword), | 1673 new RedirectingConstructorInvocation( |
| 1498 cloneToken(node.period), cloneNode(node.constructorName), | 1674 cloneToken(node.thisKeyword), |
| 1675 cloneToken(node.period), |
| 1676 cloneNode(node.constructorName), |
| 1499 cloneNode(node.argumentList)); | 1677 cloneNode(node.argumentList)); |
| 1500 | 1678 |
| 1501 @override | 1679 @override |
| 1502 RethrowExpression visitRethrowExpression(RethrowExpression node) => | 1680 RethrowExpression visitRethrowExpression(RethrowExpression node) => |
| 1503 new RethrowExpression(cloneToken(node.rethrowKeyword)); | 1681 new RethrowExpression(cloneToken(node.rethrowKeyword)); |
| 1504 | 1682 |
| 1505 @override | 1683 @override |
| 1506 ReturnStatement visitReturnStatement(ReturnStatement node) => | 1684 ReturnStatement visitReturnStatement(ReturnStatement node) => |
| 1507 new ReturnStatement(cloneToken(node.returnKeyword), | 1685 new ReturnStatement(cloneToken(node.returnKeyword), |
| 1508 cloneNode(node.expression), cloneToken(node.semicolon)); | 1686 cloneNode(node.expression), cloneToken(node.semicolon)); |
| 1509 | 1687 |
| 1510 @override | 1688 @override |
| 1511 ScriptTag visitScriptTag(ScriptTag node) => | 1689 ScriptTag visitScriptTag(ScriptTag node) => |
| 1512 new ScriptTag(cloneToken(node.scriptTag)); | 1690 new ScriptTag(cloneToken(node.scriptTag)); |
| 1513 | 1691 |
| 1514 @override | 1692 @override |
| 1515 ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator( | 1693 ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator( |
| 1516 cloneToken(node.keyword), cloneNodeList(node.shownNames)); | 1694 cloneToken(node.keyword), cloneNodeList(node.shownNames)); |
| 1517 | 1695 |
| 1518 @override | 1696 @override |
| 1519 SimpleFormalParameter visitSimpleFormalParameter( | 1697 SimpleFormalParameter visitSimpleFormalParameter( |
| 1520 SimpleFormalParameter node) => new SimpleFormalParameter( | 1698 SimpleFormalParameter node) => |
| 1521 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1699 new SimpleFormalParameter( |
| 1522 cloneToken(node.keyword), cloneNode(node.type), | 1700 cloneNode(node.documentationComment), |
| 1523 cloneNode(node.identifier)); | 1701 cloneNodeList(node.metadata), |
| 1702 cloneToken(node.keyword), |
| 1703 cloneNode(node.type), |
| 1704 cloneNode(node.identifier)); |
| 1524 | 1705 |
| 1525 @override | 1706 @override |
| 1526 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) => | 1707 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) => |
| 1527 new SimpleIdentifier(cloneToken(node.token)); | 1708 new SimpleIdentifier(cloneToken(node.token)); |
| 1528 | 1709 |
| 1529 @override | 1710 @override |
| 1530 SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node) => | 1711 SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node) => |
| 1531 new SimpleStringLiteral(cloneToken(node.literal), node.value); | 1712 new SimpleStringLiteral(cloneToken(node.literal), node.value); |
| 1532 | 1713 |
| 1533 @override | 1714 @override |
| 1534 StringInterpolation visitStringInterpolation(StringInterpolation node) => | 1715 StringInterpolation visitStringInterpolation(StringInterpolation node) => |
| 1535 new StringInterpolation(cloneNodeList(node.elements)); | 1716 new StringInterpolation(cloneNodeList(node.elements)); |
| 1536 | 1717 |
| 1537 @override | 1718 @override |
| 1538 SuperConstructorInvocation visitSuperConstructorInvocation( | 1719 SuperConstructorInvocation visitSuperConstructorInvocation( |
| 1539 SuperConstructorInvocation node) => new SuperConstructorInvocation( | 1720 SuperConstructorInvocation node) => |
| 1540 cloneToken(node.superKeyword), cloneToken(node.period), | 1721 new SuperConstructorInvocation( |
| 1541 cloneNode(node.constructorName), cloneNode(node.argumentList)); | 1722 cloneToken(node.superKeyword), |
| 1723 cloneToken(node.period), |
| 1724 cloneNode(node.constructorName), |
| 1725 cloneNode(node.argumentList)); |
| 1542 | 1726 |
| 1543 @override | 1727 @override |
| 1544 SuperExpression visitSuperExpression(SuperExpression node) => | 1728 SuperExpression visitSuperExpression(SuperExpression node) => |
| 1545 new SuperExpression(cloneToken(node.superKeyword)); | 1729 new SuperExpression(cloneToken(node.superKeyword)); |
| 1546 | 1730 |
| 1547 @override | 1731 @override |
| 1548 SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase( | 1732 SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase( |
| 1549 cloneNodeList(node.labels), cloneToken(node.keyword), | 1733 cloneNodeList(node.labels), |
| 1550 cloneNode(node.expression), cloneToken(node.colon), | 1734 cloneToken(node.keyword), |
| 1735 cloneNode(node.expression), |
| 1736 cloneToken(node.colon), |
| 1551 cloneNodeList(node.statements)); | 1737 cloneNodeList(node.statements)); |
| 1552 | 1738 |
| 1553 @override | 1739 @override |
| 1554 SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault( | 1740 SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault( |
| 1555 cloneNodeList(node.labels), cloneToken(node.keyword), | 1741 cloneNodeList(node.labels), |
| 1556 cloneToken(node.colon), cloneNodeList(node.statements)); | 1742 cloneToken(node.keyword), |
| 1743 cloneToken(node.colon), |
| 1744 cloneNodeList(node.statements)); |
| 1557 | 1745 |
| 1558 @override | 1746 @override |
| 1559 SwitchStatement visitSwitchStatement(SwitchStatement node) => | 1747 SwitchStatement visitSwitchStatement(SwitchStatement node) => |
| 1560 new SwitchStatement(cloneToken(node.switchKeyword), | 1748 new SwitchStatement( |
| 1561 cloneToken(node.leftParenthesis), cloneNode(node.expression), | 1749 cloneToken(node.switchKeyword), |
| 1562 cloneToken(node.rightParenthesis), cloneToken(node.leftBracket), | 1750 cloneToken(node.leftParenthesis), |
| 1563 cloneNodeList(node.members), cloneToken(node.rightBracket)); | 1751 cloneNode(node.expression), |
| 1752 cloneToken(node.rightParenthesis), |
| 1753 cloneToken(node.leftBracket), |
| 1754 cloneNodeList(node.members), |
| 1755 cloneToken(node.rightBracket)); |
| 1564 | 1756 |
| 1565 @override | 1757 @override |
| 1566 SymbolLiteral visitSymbolLiteral(SymbolLiteral node) => new SymbolLiteral( | 1758 SymbolLiteral visitSymbolLiteral(SymbolLiteral node) => new SymbolLiteral( |
| 1567 cloneToken(node.poundSign), cloneTokenList(node.components)); | 1759 cloneToken(node.poundSign), cloneTokenList(node.components)); |
| 1568 | 1760 |
| 1569 @override | 1761 @override |
| 1570 ThisExpression visitThisExpression(ThisExpression node) => | 1762 ThisExpression visitThisExpression(ThisExpression node) => |
| 1571 new ThisExpression(cloneToken(node.thisKeyword)); | 1763 new ThisExpression(cloneToken(node.thisKeyword)); |
| 1572 | 1764 |
| 1573 @override | 1765 @override |
| 1574 ThrowExpression visitThrowExpression(ThrowExpression node) => | 1766 ThrowExpression visitThrowExpression(ThrowExpression node) => |
| 1575 new ThrowExpression( | 1767 new ThrowExpression( |
| 1576 cloneToken(node.throwKeyword), cloneNode(node.expression)); | 1768 cloneToken(node.throwKeyword), cloneNode(node.expression)); |
| 1577 | 1769 |
| 1578 @override | 1770 @override |
| 1579 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( | 1771 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( |
| 1580 TopLevelVariableDeclaration node) => new TopLevelVariableDeclaration( | 1772 TopLevelVariableDeclaration node) => |
| 1581 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1773 new TopLevelVariableDeclaration( |
| 1582 cloneNode(node.variables), cloneToken(node.semicolon)); | 1774 cloneNode(node.documentationComment), |
| 1775 cloneNodeList(node.metadata), |
| 1776 cloneNode(node.variables), |
| 1777 cloneToken(node.semicolon)); |
| 1583 | 1778 |
| 1584 @override | 1779 @override |
| 1585 TryStatement visitTryStatement(TryStatement node) => new TryStatement( | 1780 TryStatement visitTryStatement(TryStatement node) => new TryStatement( |
| 1586 cloneToken(node.tryKeyword), cloneNode(node.body), | 1781 cloneToken(node.tryKeyword), |
| 1587 cloneNodeList(node.catchClauses), cloneToken(node.finallyKeyword), | 1782 cloneNode(node.body), |
| 1783 cloneNodeList(node.catchClauses), |
| 1784 cloneToken(node.finallyKeyword), |
| 1588 cloneNode(node.finallyBlock)); | 1785 cloneNode(node.finallyBlock)); |
| 1589 | 1786 |
| 1590 @override | 1787 @override |
| 1591 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => | 1788 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => |
| 1592 new TypeArgumentList(cloneToken(node.leftBracket), | 1789 new TypeArgumentList(cloneToken(node.leftBracket), |
| 1593 cloneNodeList(node.arguments), cloneToken(node.rightBracket)); | 1790 cloneNodeList(node.arguments), cloneToken(node.rightBracket)); |
| 1594 | 1791 |
| 1595 @override | 1792 @override |
| 1596 TypeName visitTypeName(TypeName node) => | 1793 TypeName visitTypeName(TypeName node) => |
| 1597 new TypeName(cloneNode(node.name), cloneNode(node.typeArguments)); | 1794 new TypeName(cloneNode(node.name), cloneNode(node.typeArguments)); |
| 1598 | 1795 |
| 1599 @override | 1796 @override |
| 1600 TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter( | 1797 TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter( |
| 1601 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1798 cloneNode(node.documentationComment), |
| 1602 cloneNode(node.name), cloneToken(node.extendsKeyword), | 1799 cloneNodeList(node.metadata), |
| 1800 cloneNode(node.name), |
| 1801 cloneToken(node.extendsKeyword), |
| 1603 cloneNode(node.bound)); | 1802 cloneNode(node.bound)); |
| 1604 | 1803 |
| 1605 @override | 1804 @override |
| 1606 TypeParameterList visitTypeParameterList(TypeParameterList node) => | 1805 TypeParameterList visitTypeParameterList(TypeParameterList node) => |
| 1607 new TypeParameterList(cloneToken(node.leftBracket), | 1806 new TypeParameterList(cloneToken(node.leftBracket), |
| 1608 cloneNodeList(node.typeParameters), cloneToken(node.rightBracket)); | 1807 cloneNodeList(node.typeParameters), cloneToken(node.rightBracket)); |
| 1609 | 1808 |
| 1610 @override | 1809 @override |
| 1611 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => | 1810 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => |
| 1612 new VariableDeclaration(cloneNode(node.name), cloneToken(node.equals), | 1811 new VariableDeclaration(cloneNode(node.name), cloneToken(node.equals), |
| 1613 cloneNode(node.initializer)); | 1812 cloneNode(node.initializer)); |
| 1614 | 1813 |
| 1615 @override | 1814 @override |
| 1616 VariableDeclarationList visitVariableDeclarationList( | 1815 VariableDeclarationList visitVariableDeclarationList( |
| 1617 VariableDeclarationList node) => new VariableDeclarationList( | 1816 VariableDeclarationList node) => |
| 1618 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1817 new VariableDeclarationList( |
| 1619 cloneToken(node.keyword), cloneNode(node.type), | 1818 cloneNode(node.documentationComment), |
| 1620 cloneNodeList(node.variables)); | 1819 cloneNodeList(node.metadata), |
| 1820 cloneToken(node.keyword), |
| 1821 cloneNode(node.type), |
| 1822 cloneNodeList(node.variables)); |
| 1621 | 1823 |
| 1622 @override | 1824 @override |
| 1623 VariableDeclarationStatement visitVariableDeclarationStatement( | 1825 VariableDeclarationStatement visitVariableDeclarationStatement( |
| 1624 VariableDeclarationStatement node) => new VariableDeclarationStatement( | 1826 VariableDeclarationStatement node) => |
| 1625 cloneNode(node.variables), cloneToken(node.semicolon)); | 1827 new VariableDeclarationStatement( |
| 1828 cloneNode(node.variables), cloneToken(node.semicolon)); |
| 1626 | 1829 |
| 1627 @override | 1830 @override |
| 1628 WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement( | 1831 WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement( |
| 1629 cloneToken(node.whileKeyword), cloneToken(node.leftParenthesis), | 1832 cloneToken(node.whileKeyword), |
| 1630 cloneNode(node.condition), cloneToken(node.rightParenthesis), | 1833 cloneToken(node.leftParenthesis), |
| 1834 cloneNode(node.condition), |
| 1835 cloneToken(node.rightParenthesis), |
| 1631 cloneNode(node.body)); | 1836 cloneNode(node.body)); |
| 1632 | 1837 |
| 1633 @override | 1838 @override |
| 1634 WithClause visitWithClause(WithClause node) => new WithClause( | 1839 WithClause visitWithClause(WithClause node) => new WithClause( |
| 1635 cloneToken(node.withKeyword), cloneNodeList(node.mixinTypes)); | 1840 cloneToken(node.withKeyword), cloneNodeList(node.mixinTypes)); |
| 1636 | 1841 |
| 1637 @override | 1842 @override |
| 1638 YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement( | 1843 YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement( |
| 1639 cloneToken(node.yieldKeyword), cloneToken(node.star), | 1844 cloneToken(node.yieldKeyword), |
| 1640 cloneNode(node.expression), cloneToken(node.semicolon)); | 1845 cloneToken(node.star), |
| 1846 cloneNode(node.expression), |
| 1847 cloneToken(node.semicolon)); |
| 1641 | 1848 |
| 1642 /** | 1849 /** |
| 1643 * Return a clone of the given [node]. | 1850 * Return a clone of the given [node]. |
| 1644 */ | 1851 */ |
| 1645 static AstNode clone(AstNode node) { | 1852 static AstNode clone(AstNode node) { |
| 1646 return node.accept(new AstCloner()); | 1853 return node.accept(new AstCloner()); |
| 1647 } | 1854 } |
| 1648 } | 1855 } |
| 1649 | 1856 |
| 1650 /** | 1857 /** |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1729 isEqualTokens(node.asOperator, other.asOperator) && | 1936 isEqualTokens(node.asOperator, other.asOperator) && |
| 1730 isEqualNodes(node.type, other.type); | 1937 isEqualNodes(node.type, other.type); |
| 1731 } | 1938 } |
| 1732 | 1939 |
| 1733 @override | 1940 @override |
| 1734 bool visitAssertStatement(AssertStatement node) { | 1941 bool visitAssertStatement(AssertStatement node) { |
| 1735 AssertStatement other = _other as AssertStatement; | 1942 AssertStatement other = _other as AssertStatement; |
| 1736 return isEqualTokens(node.assertKeyword, other.assertKeyword) && | 1943 return isEqualTokens(node.assertKeyword, other.assertKeyword) && |
| 1737 isEqualTokens(node.leftParenthesis, other.leftParenthesis) && | 1944 isEqualTokens(node.leftParenthesis, other.leftParenthesis) && |
| 1738 isEqualNodes(node.condition, other.condition) && | 1945 isEqualNodes(node.condition, other.condition) && |
| 1946 isEqualTokens(node.comma, other.comma) && |
| 1947 isEqualNodes(node.message, other.message) && |
| 1739 isEqualTokens(node.rightParenthesis, other.rightParenthesis) && | 1948 isEqualTokens(node.rightParenthesis, other.rightParenthesis) && |
| 1740 isEqualTokens(node.semicolon, other.semicolon); | 1949 isEqualTokens(node.semicolon, other.semicolon); |
| 1741 } | 1950 } |
| 1742 | 1951 |
| 1743 @override | 1952 @override |
| 1744 bool visitAssignmentExpression(AssignmentExpression node) { | 1953 bool visitAssignmentExpression(AssignmentExpression node) { |
| 1745 AssignmentExpression other = _other as AssignmentExpression; | 1954 AssignmentExpression other = _other as AssignmentExpression; |
| 1746 return isEqualNodes(node.leftHandSide, other.leftHandSide) && | 1955 return isEqualNodes(node.leftHandSide, other.leftHandSide) && |
| 1747 isEqualTokens(node.operator, other.operator) && | 1956 isEqualTokens(node.operator, other.operator) && |
| 1748 isEqualNodes(node.rightHandSide, other.rightHandSide); | 1957 isEqualNodes(node.rightHandSide, other.rightHandSide); |
| (...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2719 */ | 2928 */ |
| 2720 static const List<AstNode> EMPTY_LIST = const <AstNode>[]; | 2929 static const List<AstNode> EMPTY_LIST = const <AstNode>[]; |
| 2721 | 2930 |
| 2722 /** | 2931 /** |
| 2723 * A comparator that can be used to sort AST nodes in lexical order. In other | 2932 * A comparator that can be used to sort AST nodes in lexical order. In other |
| 2724 * words, `compare` will return a negative value if the offset of the first | 2933 * words, `compare` will return a negative value if the offset of the first |
| 2725 * node is less than the offset of the second node, zero (0) if the nodes have | 2934 * node is less than the offset of the second node, zero (0) if the nodes have |
| 2726 * the same offset, and a positive value if the offset of the first node is | 2935 * the same offset, and a positive value if the offset of the first node is |
| 2727 * greater than the offset of the second node. | 2936 * greater than the offset of the second node. |
| 2728 */ | 2937 */ |
| 2729 static Comparator<AstNode> LEXICAL_ORDER = | 2938 static Comparator<AstNode> LEXICAL_ORDER = (AstNode first, AstNode second) => |
| 2730 (AstNode first, AstNode second) => first.offset - second.offset; | 2939 first.offset - second.offset; |
| 2731 | 2940 |
| 2732 /** | 2941 /** |
| 2733 * The parent of the node, or `null` if the node is the root of an AST | 2942 * The parent of the node, or `null` if the node is the root of an AST |
| 2734 * structure. | 2943 * structure. |
| 2735 */ | 2944 */ |
| 2736 AstNode _parent; | 2945 AstNode _parent; |
| 2737 | 2946 |
| 2738 /** | 2947 /** |
| 2739 * A table mapping the names of properties to their values, or `null` if this | 2948 * A table mapping the names of properties to their values, or `null` if this |
| 2740 * node does not have any properties associated with it. | 2949 * node does not have any properties associated with it. |
| (...skipping 1103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3844 * The body of the catch block. | 4053 * The body of the catch block. |
| 3845 */ | 4054 */ |
| 3846 Block _body; | 4055 Block _body; |
| 3847 | 4056 |
| 3848 /** | 4057 /** |
| 3849 * Initialize a newly created catch clause. The [onKeyword] and | 4058 * Initialize a newly created catch clause. The [onKeyword] and |
| 3850 * [exceptionType] can be `null` if the clause will catch all exceptions. The | 4059 * [exceptionType] can be `null` if the clause will catch all exceptions. The |
| 3851 * [comma] and [stackTraceParameter] can be `null` if the stack trace is not | 4060 * [comma] and [stackTraceParameter] can be `null` if the stack trace is not |
| 3852 * referencable within the body. | 4061 * referencable within the body. |
| 3853 */ | 4062 */ |
| 3854 CatchClause(this.onKeyword, TypeName exceptionType, this.catchKeyword, | 4063 CatchClause( |
| 3855 this.leftParenthesis, SimpleIdentifier exceptionParameter, this.comma, | 4064 this.onKeyword, |
| 3856 SimpleIdentifier stackTraceParameter, this.rightParenthesis, Block body) { | 4065 TypeName exceptionType, |
| 4066 this.catchKeyword, |
| 4067 this.leftParenthesis, |
| 4068 SimpleIdentifier exceptionParameter, |
| 4069 this.comma, |
| 4070 SimpleIdentifier stackTraceParameter, |
| 4071 this.rightParenthesis, |
| 4072 Block body) { |
| 3857 _exceptionType = _becomeParentOf(exceptionType); | 4073 _exceptionType = _becomeParentOf(exceptionType); |
| 3858 _exceptionParameter = _becomeParentOf(exceptionParameter); | 4074 _exceptionParameter = _becomeParentOf(exceptionParameter); |
| 3859 _stackTraceParameter = _becomeParentOf(stackTraceParameter); | 4075 _stackTraceParameter = _becomeParentOf(stackTraceParameter); |
| 3860 _body = _becomeParentOf(body); | 4076 _body = _becomeParentOf(body); |
| 3861 } | 4077 } |
| 3862 | 4078 |
| 3863 @override | 4079 @override |
| 3864 Token get beginToken { | 4080 Token get beginToken { |
| 3865 if (onKeyword != null) { | 4081 if (onKeyword != null) { |
| 3866 return onKeyword; | 4082 return onKeyword; |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4049 /** | 4265 /** |
| 4050 * Initialize a newly created class declaration. Either or both of the | 4266 * Initialize a newly created class declaration. Either or both of the |
| 4051 * [comment] and [metadata] can be `null` if the class does not have the | 4267 * [comment] and [metadata] can be `null` if the class does not have the |
| 4052 * corresponding attribute. The [abstractKeyword] can be `null` if the class | 4268 * corresponding attribute. The [abstractKeyword] can be `null` if the class |
| 4053 * is not abstract. The [typeParameters] can be `null` if the class does not | 4269 * is not abstract. The [typeParameters] can be `null` if the class does not |
| 4054 * have any type parameters. Any or all of the [extendsClause], [withClause], | 4270 * have any type parameters. Any or all of the [extendsClause], [withClause], |
| 4055 * and [implementsClause] can be `null` if the class does not have the | 4271 * and [implementsClause] can be `null` if the class does not have the |
| 4056 * corresponding clause. The list of [members] can be `null` if the class does | 4272 * corresponding clause. The list of [members] can be `null` if the class does |
| 4057 * not have any members. | 4273 * not have any members. |
| 4058 */ | 4274 */ |
| 4059 ClassDeclaration(Comment comment, List<Annotation> metadata, | 4275 ClassDeclaration( |
| 4060 this.abstractKeyword, this.classKeyword, SimpleIdentifier name, | 4276 Comment comment, |
| 4061 TypeParameterList typeParameters, ExtendsClause extendsClause, | 4277 List<Annotation> metadata, |
| 4062 WithClause withClause, ImplementsClause implementsClause, | 4278 this.abstractKeyword, |
| 4063 this.leftBracket, List<ClassMember> members, this.rightBracket) | 4279 this.classKeyword, |
| 4280 SimpleIdentifier name, |
| 4281 TypeParameterList typeParameters, |
| 4282 ExtendsClause extendsClause, |
| 4283 WithClause withClause, |
| 4284 ImplementsClause implementsClause, |
| 4285 this.leftBracket, |
| 4286 List<ClassMember> members, |
| 4287 this.rightBracket) |
| 4064 : super(comment, metadata, name) { | 4288 : super(comment, metadata, name) { |
| 4065 _typeParameters = _becomeParentOf(typeParameters); | 4289 _typeParameters = _becomeParentOf(typeParameters); |
| 4066 _extendsClause = _becomeParentOf(extendsClause); | 4290 _extendsClause = _becomeParentOf(extendsClause); |
| 4067 _withClause = _becomeParentOf(withClause); | 4291 _withClause = _becomeParentOf(withClause); |
| 4068 _implementsClause = _becomeParentOf(implementsClause); | 4292 _implementsClause = _becomeParentOf(implementsClause); |
| 4069 _members = new NodeList<ClassMember>(this, members); | 4293 _members = new NodeList<ClassMember>(this, members); |
| 4070 } | 4294 } |
| 4071 | 4295 |
| 4072 @override | 4296 @override |
| 4073 Iterable get childEntities => super._childEntities | 4297 Iterable get childEntities => super._childEntities |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4305 ImplementsClause _implementsClause; | 4529 ImplementsClause _implementsClause; |
| 4306 | 4530 |
| 4307 /** | 4531 /** |
| 4308 * Initialize a newly created class type alias. Either or both of the | 4532 * Initialize a newly created class type alias. Either or both of the |
| 4309 * [comment] and [metadata] can be `null` if the class type alias does not | 4533 * [comment] and [metadata] can be `null` if the class type alias does not |
| 4310 * have the corresponding attribute. The [typeParameters] can be `null` if the | 4534 * have the corresponding attribute. The [typeParameters] can be `null` if the |
| 4311 * class does not have any type parameters. The [abstractKeyword] can be | 4535 * class does not have any type parameters. The [abstractKeyword] can be |
| 4312 * `null` if the class is not abstract. The [implementsClause] can be `null` | 4536 * `null` if the class is not abstract. The [implementsClause] can be `null` |
| 4313 * if the class does not implement any interfaces. | 4537 * if the class does not implement any interfaces. |
| 4314 */ | 4538 */ |
| 4315 ClassTypeAlias(Comment comment, List<Annotation> metadata, Token keyword, | 4539 ClassTypeAlias( |
| 4316 SimpleIdentifier name, TypeParameterList typeParameters, this.equals, | 4540 Comment comment, |
| 4317 this.abstractKeyword, TypeName superclass, WithClause withClause, | 4541 List<Annotation> metadata, |
| 4318 ImplementsClause implementsClause, Token semicolon) | 4542 Token keyword, |
| 4543 SimpleIdentifier name, |
| 4544 TypeParameterList typeParameters, |
| 4545 this.equals, |
| 4546 this.abstractKeyword, |
| 4547 TypeName superclass, |
| 4548 WithClause withClause, |
| 4549 ImplementsClause implementsClause, |
| 4550 Token semicolon) |
| 4319 : super(comment, metadata, keyword, name, semicolon) { | 4551 : super(comment, metadata, keyword, name, semicolon) { |
| 4320 _typeParameters = _becomeParentOf(typeParameters); | 4552 _typeParameters = _becomeParentOf(typeParameters); |
| 4321 _superclass = _becomeParentOf(superclass); | 4553 _superclass = _becomeParentOf(superclass); |
| 4322 _withClause = _becomeParentOf(withClause); | 4554 _withClause = _becomeParentOf(withClause); |
| 4323 _implementsClause = _becomeParentOf(implementsClause); | 4555 _implementsClause = _becomeParentOf(implementsClause); |
| 4324 } | 4556 } |
| 4325 | 4557 |
| 4326 @override | 4558 @override |
| 4327 Iterable get childEntities => super._childEntities | 4559 Iterable get childEntities => super._childEntities |
| 4328 ..add(typedefKeyword) | 4560 ..add(typedefKeyword) |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4695 */ | 4927 */ |
| 4696 LineInfo lineInfo; | 4928 LineInfo lineInfo; |
| 4697 | 4929 |
| 4698 /** | 4930 /** |
| 4699 * Initialize a newly created compilation unit to have the given directives | 4931 * Initialize a newly created compilation unit to have the given directives |
| 4700 * and declarations. The [scriptTag] can be `null` if there is no script tag | 4932 * and declarations. The [scriptTag] can be `null` if there is no script tag |
| 4701 * in the compilation unit. The list of [directives] can be `null` if there | 4933 * in the compilation unit. The list of [directives] can be `null` if there |
| 4702 * are no directives in the compilation unit. The list of [declarations] can | 4934 * are no directives in the compilation unit. The list of [declarations] can |
| 4703 * be `null` if there are no declarations in the compilation unit. | 4935 * be `null` if there are no declarations in the compilation unit. |
| 4704 */ | 4936 */ |
| 4705 CompilationUnit(this.beginToken, ScriptTag scriptTag, | 4937 CompilationUnit( |
| 4706 List<Directive> directives, List<CompilationUnitMember> declarations, | 4938 this.beginToken, |
| 4939 ScriptTag scriptTag, |
| 4940 List<Directive> directives, |
| 4941 List<CompilationUnitMember> declarations, |
| 4707 this.endToken) { | 4942 this.endToken) { |
| 4708 _scriptTag = _becomeParentOf(scriptTag); | 4943 _scriptTag = _becomeParentOf(scriptTag); |
| 4709 _directives = new NodeList<Directive>(this, directives); | 4944 _directives = new NodeList<Directive>(this, directives); |
| 4710 _declarations = new NodeList<CompilationUnitMember>(this, declarations); | 4945 _declarations = new NodeList<CompilationUnitMember>(this, declarations); |
| 4711 } | 4946 } |
| 4712 | 4947 |
| 4713 @override | 4948 @override |
| 4714 Iterable get childEntities { | 4949 Iterable get childEntities { |
| 4715 ChildEntities result = new ChildEntities()..add(_scriptTag); | 4950 ChildEntities result = new ChildEntities()..add(_scriptTag); |
| 4716 if (_directivesAreBeforeDeclarations) { | 4951 if (_directivesAreBeforeDeclarations) { |
| (...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5367 * constructor cannot be used to create a constant. The [factoryKeyword] can | 5602 * constructor cannot be used to create a constant. The [factoryKeyword] can |
| 5368 * be `null` if the constructor is not a factory. The [period] and [name] can | 5603 * be `null` if the constructor is not a factory. The [period] and [name] can |
| 5369 * both be `null` if the constructor is not a named constructor. The | 5604 * both be `null` if the constructor is not a named constructor. The |
| 5370 * [separator] can be `null` if the constructor does not have any initializers | 5605 * [separator] can be `null` if the constructor does not have any initializers |
| 5371 * and does not redirect to a different constructor. The list of | 5606 * and does not redirect to a different constructor. The list of |
| 5372 * [initializers] can be `null` if the constructor does not have any | 5607 * [initializers] can be `null` if the constructor does not have any |
| 5373 * initializers. The [redirectedConstructor] can be `null` if the constructor | 5608 * initializers. The [redirectedConstructor] can be `null` if the constructor |
| 5374 * does not redirect to a different constructor. The [body] can be `null` if | 5609 * does not redirect to a different constructor. The [body] can be `null` if |
| 5375 * the constructor does not have a body. | 5610 * the constructor does not have a body. |
| 5376 */ | 5611 */ |
| 5377 ConstructorDeclaration(Comment comment, List<Annotation> metadata, | 5612 ConstructorDeclaration( |
| 5378 this.externalKeyword, this.constKeyword, this.factoryKeyword, | 5613 Comment comment, |
| 5379 Identifier returnType, this.period, SimpleIdentifier name, | 5614 List<Annotation> metadata, |
| 5380 FormalParameterList parameters, this.separator, | 5615 this.externalKeyword, |
| 5616 this.constKeyword, |
| 5617 this.factoryKeyword, |
| 5618 Identifier returnType, |
| 5619 this.period, |
| 5620 SimpleIdentifier name, |
| 5621 FormalParameterList parameters, |
| 5622 this.separator, |
| 5381 List<ConstructorInitializer> initializers, | 5623 List<ConstructorInitializer> initializers, |
| 5382 ConstructorName redirectedConstructor, FunctionBody body) | 5624 ConstructorName redirectedConstructor, |
| 5625 FunctionBody body) |
| 5383 : super(comment, metadata) { | 5626 : super(comment, metadata) { |
| 5384 _returnType = _becomeParentOf(returnType); | 5627 _returnType = _becomeParentOf(returnType); |
| 5385 _name = _becomeParentOf(name); | 5628 _name = _becomeParentOf(name); |
| 5386 _parameters = _becomeParentOf(parameters); | 5629 _parameters = _becomeParentOf(parameters); |
| 5387 _initializers = new NodeList<ConstructorInitializer>(this, initializers); | 5630 _initializers = new NodeList<ConstructorInitializer>(this, initializers); |
| 5388 _redirectedConstructor = _becomeParentOf(redirectedConstructor); | 5631 _redirectedConstructor = _becomeParentOf(redirectedConstructor); |
| 5389 _body = _becomeParentOf(body); | 5632 _body = _becomeParentOf(body); |
| 5390 } | 5633 } |
| 5391 | 5634 |
| 5392 /** | 5635 /** |
| (...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6153 Token rightParenthesis; | 6396 Token rightParenthesis; |
| 6154 | 6397 |
| 6155 /** | 6398 /** |
| 6156 * The semicolon terminating the statement. | 6399 * The semicolon terminating the statement. |
| 6157 */ | 6400 */ |
| 6158 Token semicolon; | 6401 Token semicolon; |
| 6159 | 6402 |
| 6160 /** | 6403 /** |
| 6161 * Initialize a newly created do loop. | 6404 * Initialize a newly created do loop. |
| 6162 */ | 6405 */ |
| 6163 DoStatement(this.doKeyword, Statement body, this.whileKeyword, | 6406 DoStatement( |
| 6164 this.leftParenthesis, Expression condition, this.rightParenthesis, | 6407 this.doKeyword, |
| 6408 Statement body, |
| 6409 this.whileKeyword, |
| 6410 this.leftParenthesis, |
| 6411 Expression condition, |
| 6412 this.rightParenthesis, |
| 6165 this.semicolon) { | 6413 this.semicolon) { |
| 6166 _body = _becomeParentOf(body); | 6414 _body = _becomeParentOf(body); |
| 6167 _condition = _becomeParentOf(condition); | 6415 _condition = _becomeParentOf(condition); |
| 6168 } | 6416 } |
| 6169 | 6417 |
| 6170 @override | 6418 @override |
| 6171 Token get beginToken => doKeyword; | 6419 Token get beginToken => doKeyword; |
| 6172 | 6420 |
| 6173 /** | 6421 /** |
| 6174 * Return the body of the loop. | 6422 * Return the body of the loop. |
| (...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6560 * The right curly bracket. | 6808 * The right curly bracket. |
| 6561 */ | 6809 */ |
| 6562 Token rightBracket; | 6810 Token rightBracket; |
| 6563 | 6811 |
| 6564 /** | 6812 /** |
| 6565 * Initialize a newly created enumeration declaration. Either or both of the | 6813 * Initialize a newly created enumeration declaration. Either or both of the |
| 6566 * [comment] and [metadata] can be `null` if the declaration does not have the | 6814 * [comment] and [metadata] can be `null` if the declaration does not have the |
| 6567 * corresponding attribute. The list of [constants] must contain at least one | 6815 * corresponding attribute. The list of [constants] must contain at least one |
| 6568 * value. | 6816 * value. |
| 6569 */ | 6817 */ |
| 6570 EnumDeclaration(Comment comment, List<Annotation> metadata, this.enumKeyword, | 6818 EnumDeclaration( |
| 6571 SimpleIdentifier name, this.leftBracket, | 6819 Comment comment, |
| 6572 List<EnumConstantDeclaration> constants, this.rightBracket) | 6820 List<Annotation> metadata, |
| 6821 this.enumKeyword, |
| 6822 SimpleIdentifier name, |
| 6823 this.leftBracket, |
| 6824 List<EnumConstantDeclaration> constants, |
| 6825 this.rightBracket) |
| 6573 : super(comment, metadata, name) { | 6826 : super(comment, metadata, name) { |
| 6574 _constants = new NodeList<EnumConstantDeclaration>(this, constants); | 6827 _constants = new NodeList<EnumConstantDeclaration>(this, constants); |
| 6575 } | 6828 } |
| 6576 | 6829 |
| 6577 @override | 6830 @override |
| 6578 // TODO(brianwilkerson) Add commas? | 6831 // TODO(brianwilkerson) Add commas? |
| 6579 Iterable get childEntities => super._childEntities | 6832 Iterable get childEntities => super._childEntities |
| 6580 ..add(enumKeyword) | 6833 ..add(enumKeyword) |
| 6581 ..add(_name) | 6834 ..add(_name) |
| 6582 ..add(leftBracket) | 6835 ..add(leftBracket) |
| (...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7177 | 7430 |
| 7178 /** | 7431 /** |
| 7179 * Initialize a newly created formal parameter. Either or both of the | 7432 * Initialize a newly created formal parameter. Either or both of the |
| 7180 * [comment] and [metadata] can be `null` if the parameter does not have the | 7433 * [comment] and [metadata] can be `null` if the parameter does not have the |
| 7181 * corresponding attribute. The [keyword] can be `null` if there is a type. | 7434 * corresponding attribute. The [keyword] can be `null` if there is a type. |
| 7182 * The [type] must be `null` if the keyword is 'var'. The [thisKeyword] and | 7435 * The [type] must be `null` if the keyword is 'var'. The [thisKeyword] and |
| 7183 * [period] can be `null` if the keyword 'this' was not provided. The | 7436 * [period] can be `null` if the keyword 'this' was not provided. The |
| 7184 * [parameters] can be `null` if this is not a function-typed field formal | 7437 * [parameters] can be `null` if this is not a function-typed field formal |
| 7185 * parameter. | 7438 * parameter. |
| 7186 */ | 7439 */ |
| 7187 FieldFormalParameter(Comment comment, List<Annotation> metadata, this.keyword, | 7440 FieldFormalParameter( |
| 7188 TypeName type, this.thisKeyword, this.period, SimpleIdentifier identifier, | 7441 Comment comment, |
| 7189 TypeParameterList typeParameters, FormalParameterList parameters) | 7442 List<Annotation> metadata, |
| 7443 this.keyword, |
| 7444 TypeName type, |
| 7445 this.thisKeyword, |
| 7446 this.period, |
| 7447 SimpleIdentifier identifier, |
| 7448 TypeParameterList typeParameters, |
| 7449 FormalParameterList parameters) |
| 7190 : super(comment, metadata, identifier) { | 7450 : super(comment, metadata, identifier) { |
| 7191 _type = _becomeParentOf(type); | 7451 _type = _becomeParentOf(type); |
| 7192 _typeParameters = _becomeParentOf(typeParameters); | 7452 _typeParameters = _becomeParentOf(typeParameters); |
| 7193 _parameters = _becomeParentOf(parameters); | 7453 _parameters = _becomeParentOf(parameters); |
| 7194 } | 7454 } |
| 7195 | 7455 |
| 7196 @override | 7456 @override |
| 7197 Token get beginToken { | 7457 Token get beginToken { |
| 7198 if (keyword != null) { | 7458 if (keyword != null) { |
| 7199 return keyword; | 7459 return keyword; |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7351 /** | 7611 /** |
| 7352 * The body of the loop. | 7612 * The body of the loop. |
| 7353 */ | 7613 */ |
| 7354 Statement _body; | 7614 Statement _body; |
| 7355 | 7615 |
| 7356 /** | 7616 /** |
| 7357 * Initialize a newly created for-each statement. The [awaitKeyword] can be | 7617 * Initialize a newly created for-each statement. The [awaitKeyword] can be |
| 7358 * `null` if this is not an asynchronous for loop. | 7618 * `null` if this is not an asynchronous for loop. |
| 7359 */ | 7619 */ |
| 7360 @deprecated // Use new ForEachStatement.withDeclaration(...) | 7620 @deprecated // Use new ForEachStatement.withDeclaration(...) |
| 7361 ForEachStatement.con1(this.awaitKeyword, this.forKeyword, | 7621 ForEachStatement.con1( |
| 7362 this.leftParenthesis, DeclaredIdentifier loopVariable, this.inKeyword, | 7622 this.awaitKeyword, |
| 7363 Expression iterator, this.rightParenthesis, Statement body) { | 7623 this.forKeyword, |
| 7624 this.leftParenthesis, |
| 7625 DeclaredIdentifier loopVariable, |
| 7626 this.inKeyword, |
| 7627 Expression iterator, |
| 7628 this.rightParenthesis, |
| 7629 Statement body) { |
| 7364 _loopVariable = _becomeParentOf(loopVariable); | 7630 _loopVariable = _becomeParentOf(loopVariable); |
| 7365 _iterable = _becomeParentOf(iterator); | 7631 _iterable = _becomeParentOf(iterator); |
| 7366 _body = _becomeParentOf(body); | 7632 _body = _becomeParentOf(body); |
| 7367 } | 7633 } |
| 7368 | 7634 |
| 7369 /** | 7635 /** |
| 7370 * Initialize a newly created for-each statement. The [awaitKeyword] can be | 7636 * Initialize a newly created for-each statement. The [awaitKeyword] can be |
| 7371 * `null` if this is not an asynchronous for loop. | 7637 * `null` if this is not an asynchronous for loop. |
| 7372 */ | 7638 */ |
| 7373 @deprecated // Use new ForEachStatement.withReference(...) | 7639 @deprecated // Use new ForEachStatement.withReference(...) |
| 7374 ForEachStatement.con2(this.awaitKeyword, this.forKeyword, | 7640 ForEachStatement.con2( |
| 7375 this.leftParenthesis, SimpleIdentifier identifier, this.inKeyword, | 7641 this.awaitKeyword, |
| 7376 Expression iterator, this.rightParenthesis, Statement body) { | 7642 this.forKeyword, |
| 7643 this.leftParenthesis, |
| 7644 SimpleIdentifier identifier, |
| 7645 this.inKeyword, |
| 7646 Expression iterator, |
| 7647 this.rightParenthesis, |
| 7648 Statement body) { |
| 7377 _identifier = _becomeParentOf(identifier); | 7649 _identifier = _becomeParentOf(identifier); |
| 7378 _iterable = _becomeParentOf(iterator); | 7650 _iterable = _becomeParentOf(iterator); |
| 7379 _body = _becomeParentOf(body); | 7651 _body = _becomeParentOf(body); |
| 7380 } | 7652 } |
| 7381 | 7653 |
| 7382 /** | 7654 /** |
| 7383 * Initialize a newly created for-each statement whose loop control variable | 7655 * Initialize a newly created for-each statement whose loop control variable |
| 7384 * is declared internally (in the for-loop part). The [awaitKeyword] can be | 7656 * is declared internally (in the for-loop part). The [awaitKeyword] can be |
| 7385 * `null` if this is not an asynchronous for loop. | 7657 * `null` if this is not an asynchronous for loop. |
| 7386 */ | 7658 */ |
| 7387 ForEachStatement.withDeclaration(this.awaitKeyword, this.forKeyword, | 7659 ForEachStatement.withDeclaration( |
| 7388 this.leftParenthesis, DeclaredIdentifier loopVariable, this.inKeyword, | 7660 this.awaitKeyword, |
| 7389 Expression iterator, this.rightParenthesis, Statement body) { | 7661 this.forKeyword, |
| 7662 this.leftParenthesis, |
| 7663 DeclaredIdentifier loopVariable, |
| 7664 this.inKeyword, |
| 7665 Expression iterator, |
| 7666 this.rightParenthesis, |
| 7667 Statement body) { |
| 7390 _loopVariable = _becomeParentOf(loopVariable); | 7668 _loopVariable = _becomeParentOf(loopVariable); |
| 7391 _iterable = _becomeParentOf(iterator); | 7669 _iterable = _becomeParentOf(iterator); |
| 7392 _body = _becomeParentOf(body); | 7670 _body = _becomeParentOf(body); |
| 7393 } | 7671 } |
| 7394 | 7672 |
| 7395 /** | 7673 /** |
| 7396 * Initialize a newly created for-each statement whose loop control variable | 7674 * Initialize a newly created for-each statement whose loop control variable |
| 7397 * is declared outside the for loop. The [awaitKeyword] can be `null` if this | 7675 * is declared outside the for loop. The [awaitKeyword] can be `null` if this |
| 7398 * is not an asynchronous for loop. | 7676 * is not an asynchronous for loop. |
| 7399 */ | 7677 */ |
| 7400 ForEachStatement.withReference(this.awaitKeyword, this.forKeyword, | 7678 ForEachStatement.withReference( |
| 7401 this.leftParenthesis, SimpleIdentifier identifier, this.inKeyword, | 7679 this.awaitKeyword, |
| 7402 Expression iterator, this.rightParenthesis, Statement body) { | 7680 this.forKeyword, |
| 7681 this.leftParenthesis, |
| 7682 SimpleIdentifier identifier, |
| 7683 this.inKeyword, |
| 7684 Expression iterator, |
| 7685 this.rightParenthesis, |
| 7686 Statement body) { |
| 7403 _identifier = _becomeParentOf(identifier); | 7687 _identifier = _becomeParentOf(identifier); |
| 7404 _iterable = _becomeParentOf(iterator); | 7688 _iterable = _becomeParentOf(iterator); |
| 7405 _body = _becomeParentOf(body); | 7689 _body = _becomeParentOf(body); |
| 7406 } | 7690 } |
| 7407 | 7691 |
| 7408 @override | 7692 @override |
| 7409 Token get beginToken => forKeyword; | 7693 Token get beginToken => forKeyword; |
| 7410 | 7694 |
| 7411 /** | 7695 /** |
| 7412 * Return the body of the loop. | 7696 * Return the body of the loop. |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7723 * The body of the loop. | 8007 * The body of the loop. |
| 7724 */ | 8008 */ |
| 7725 Statement _body; | 8009 Statement _body; |
| 7726 | 8010 |
| 7727 /** | 8011 /** |
| 7728 * Initialize a newly created for statement. Either the [variableList] or the | 8012 * Initialize a newly created for statement. Either the [variableList] or the |
| 7729 * [initialization] must be `null`. Either the [condition] and the list of | 8013 * [initialization] must be `null`. Either the [condition] and the list of |
| 7730 * [updaters] can be `null` if the loop does not have the corresponding | 8014 * [updaters] can be `null` if the loop does not have the corresponding |
| 7731 * attribute. | 8015 * attribute. |
| 7732 */ | 8016 */ |
| 7733 ForStatement(this.forKeyword, this.leftParenthesis, | 8017 ForStatement( |
| 7734 VariableDeclarationList variableList, Expression initialization, | 8018 this.forKeyword, |
| 7735 this.leftSeparator, Expression condition, this.rightSeparator, | 8019 this.leftParenthesis, |
| 7736 List<Expression> updaters, this.rightParenthesis, Statement body) { | 8020 VariableDeclarationList variableList, |
| 8021 Expression initialization, |
| 8022 this.leftSeparator, |
| 8023 Expression condition, |
| 8024 this.rightSeparator, |
| 8025 List<Expression> updaters, |
| 8026 this.rightParenthesis, |
| 8027 Statement body) { |
| 7737 _variableList = _becomeParentOf(variableList); | 8028 _variableList = _becomeParentOf(variableList); |
| 7738 _initialization = _becomeParentOf(initialization); | 8029 _initialization = _becomeParentOf(initialization); |
| 7739 _condition = _becomeParentOf(condition); | 8030 _condition = _becomeParentOf(condition); |
| 7740 _updaters = new NodeList<Expression>(this, updaters); | 8031 _updaters = new NodeList<Expression>(this, updaters); |
| 7741 _body = _becomeParentOf(body); | 8032 _body = _becomeParentOf(body); |
| 7742 } | 8033 } |
| 7743 | 8034 |
| 7744 @override | 8035 @override |
| 7745 Token get beginToken => forKeyword; | 8036 Token get beginToken => forKeyword; |
| 7746 | 8037 |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7901 FunctionExpression _functionExpression; | 8192 FunctionExpression _functionExpression; |
| 7902 | 8193 |
| 7903 /** | 8194 /** |
| 7904 * Initialize a newly created function declaration. Either or both of the | 8195 * Initialize a newly created function declaration. Either or both of the |
| 7905 * [comment] and [metadata] can be `null` if the function does not have the | 8196 * [comment] and [metadata] can be `null` if the function does not have the |
| 7906 * corresponding attribute. The [externalKeyword] can be `null` if the | 8197 * corresponding attribute. The [externalKeyword] can be `null` if the |
| 7907 * function is not an external function. The [returnType] can be `null` if no | 8198 * function is not an external function. The [returnType] can be `null` if no |
| 7908 * return type was specified. The [propertyKeyword] can be `null` if the | 8199 * return type was specified. The [propertyKeyword] can be `null` if the |
| 7909 * function is neither a getter or a setter. | 8200 * function is neither a getter or a setter. |
| 7910 */ | 8201 */ |
| 7911 FunctionDeclaration(Comment comment, List<Annotation> metadata, | 8202 FunctionDeclaration( |
| 7912 this.externalKeyword, TypeName returnType, this.propertyKeyword, | 8203 Comment comment, |
| 7913 SimpleIdentifier name, FunctionExpression functionExpression) | 8204 List<Annotation> metadata, |
| 8205 this.externalKeyword, |
| 8206 TypeName returnType, |
| 8207 this.propertyKeyword, |
| 8208 SimpleIdentifier name, |
| 8209 FunctionExpression functionExpression) |
| 7914 : super(comment, metadata, name) { | 8210 : super(comment, metadata, name) { |
| 7915 _returnType = _becomeParentOf(returnType); | 8211 _returnType = _becomeParentOf(returnType); |
| 7916 _functionExpression = _becomeParentOf(functionExpression); | 8212 _functionExpression = _becomeParentOf(functionExpression); |
| 7917 } | 8213 } |
| 7918 | 8214 |
| 7919 @override | 8215 @override |
| 7920 Iterable get childEntities => super._childEntities | 8216 Iterable get childEntities => super._childEntities |
| 7921 ..add(externalKeyword) | 8217 ..add(externalKeyword) |
| 7922 ..add(_returnType) | 8218 ..add(_returnType) |
| 7923 ..add(propertyKeyword) | 8219 ..add(propertyKeyword) |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8319 */ | 8615 */ |
| 8320 FormalParameterList _parameters; | 8616 FormalParameterList _parameters; |
| 8321 | 8617 |
| 8322 /** | 8618 /** |
| 8323 * Initialize a newly created function type alias. Either or both of the | 8619 * Initialize a newly created function type alias. Either or both of the |
| 8324 * [comment] and [metadata] can be `null` if the function does not have the | 8620 * [comment] and [metadata] can be `null` if the function does not have the |
| 8325 * corresponding attribute. The [returnType] can be `null` if no return type | 8621 * corresponding attribute. The [returnType] can be `null` if no return type |
| 8326 * was specified. The [typeParameters] can be `null` if the function has no | 8622 * was specified. The [typeParameters] can be `null` if the function has no |
| 8327 * type parameters. | 8623 * type parameters. |
| 8328 */ | 8624 */ |
| 8329 FunctionTypeAlias(Comment comment, List<Annotation> metadata, Token keyword, | 8625 FunctionTypeAlias( |
| 8330 TypeName returnType, SimpleIdentifier name, | 8626 Comment comment, |
| 8331 TypeParameterList typeParameters, FormalParameterList parameters, | 8627 List<Annotation> metadata, |
| 8628 Token keyword, |
| 8629 TypeName returnType, |
| 8630 SimpleIdentifier name, |
| 8631 TypeParameterList typeParameters, |
| 8632 FormalParameterList parameters, |
| 8332 Token semicolon) | 8633 Token semicolon) |
| 8333 : super(comment, metadata, keyword, name, semicolon) { | 8634 : super(comment, metadata, keyword, name, semicolon) { |
| 8334 _returnType = _becomeParentOf(returnType); | 8635 _returnType = _becomeParentOf(returnType); |
| 8335 _typeParameters = _becomeParentOf(typeParameters); | 8636 _typeParameters = _becomeParentOf(typeParameters); |
| 8336 _parameters = _becomeParentOf(parameters); | 8637 _parameters = _becomeParentOf(parameters); |
| 8337 } | 8638 } |
| 8338 | 8639 |
| 8339 @override | 8640 @override |
| 8340 Iterable get childEntities => super._childEntities | 8641 Iterable get childEntities => super._childEntities |
| 8341 ..add(typedefKeyword) | 8642 ..add(typedefKeyword) |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8426 * The parameters of the function-typed parameter. | 8727 * The parameters of the function-typed parameter. |
| 8427 */ | 8728 */ |
| 8428 FormalParameterList _parameters; | 8729 FormalParameterList _parameters; |
| 8429 | 8730 |
| 8430 /** | 8731 /** |
| 8431 * Initialize a newly created formal parameter. Either or both of the | 8732 * Initialize a newly created formal parameter. Either or both of the |
| 8432 * [comment] and [metadata] can be `null` if the parameter does not have the | 8733 * [comment] and [metadata] can be `null` if the parameter does not have the |
| 8433 * corresponding attribute. The [returnType] can be `null` if no return type | 8734 * corresponding attribute. The [returnType] can be `null` if no return type |
| 8434 * was specified. | 8735 * was specified. |
| 8435 */ | 8736 */ |
| 8436 FunctionTypedFormalParameter(Comment comment, List<Annotation> metadata, | 8737 FunctionTypedFormalParameter( |
| 8437 TypeName returnType, SimpleIdentifier identifier, | 8738 Comment comment, |
| 8438 TypeParameterList typeParameters, FormalParameterList parameters) | 8739 List<Annotation> metadata, |
| 8740 TypeName returnType, |
| 8741 SimpleIdentifier identifier, |
| 8742 TypeParameterList typeParameters, |
| 8743 FormalParameterList parameters) |
| 8439 : super(comment, metadata, identifier) { | 8744 : super(comment, metadata, identifier) { |
| 8440 _returnType = _becomeParentOf(returnType); | 8745 _returnType = _becomeParentOf(returnType); |
| 8441 _typeParameters = _becomeParentOf(typeParameters); | 8746 _typeParameters = _becomeParentOf(typeParameters); |
| 8442 _parameters = _becomeParentOf(parameters); | 8747 _parameters = _becomeParentOf(parameters); |
| 8443 } | 8748 } |
| 8444 | 8749 |
| 8445 @override | 8750 @override |
| 8446 Token get beginToken { | 8751 Token get beginToken { |
| 8447 if (_returnType != null) { | 8752 if (_returnType != null) { |
| 8448 return _returnType.beginToken; | 8753 return _returnType.beginToken; |
| (...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9085 /** | 9390 /** |
| 9086 * The statement that is executed if the condition evaluates to `false`, or | 9391 * The statement that is executed if the condition evaluates to `false`, or |
| 9087 * `null` if there is no else statement. | 9392 * `null` if there is no else statement. |
| 9088 */ | 9393 */ |
| 9089 Statement _elseStatement; | 9394 Statement _elseStatement; |
| 9090 | 9395 |
| 9091 /** | 9396 /** |
| 9092 * Initialize a newly created if statement. The [elseKeyword] and | 9397 * Initialize a newly created if statement. The [elseKeyword] and |
| 9093 * [elseStatement] can be `null` if there is no else clause. | 9398 * [elseStatement] can be `null` if there is no else clause. |
| 9094 */ | 9399 */ |
| 9095 IfStatement(this.ifKeyword, this.leftParenthesis, Expression condition, | 9400 IfStatement( |
| 9096 this.rightParenthesis, Statement thenStatement, this.elseKeyword, | 9401 this.ifKeyword, |
| 9402 this.leftParenthesis, |
| 9403 Expression condition, |
| 9404 this.rightParenthesis, |
| 9405 Statement thenStatement, |
| 9406 this.elseKeyword, |
| 9097 Statement elseStatement) { | 9407 Statement elseStatement) { |
| 9098 _condition = _becomeParentOf(condition); | 9408 _condition = _becomeParentOf(condition); |
| 9099 _thenStatement = _becomeParentOf(thenStatement); | 9409 _thenStatement = _becomeParentOf(thenStatement); |
| 9100 _elseStatement = _becomeParentOf(elseStatement); | 9410 _elseStatement = _becomeParentOf(elseStatement); |
| 9101 } | 9411 } |
| 9102 | 9412 |
| 9103 @override | 9413 @override |
| 9104 Token get beginToken => ifKeyword; | 9414 Token get beginToken => ifKeyword; |
| 9105 | 9415 |
| 9106 @override | 9416 @override |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9240 } | 9550 } |
| 9241 | 9551 |
| 9242 /** | 9552 /** |
| 9243 * An import directive. | 9553 * An import directive. |
| 9244 * | 9554 * |
| 9245 * > importDirective ::= | 9555 * > importDirective ::= |
| 9246 * > [Annotation] 'import' [StringLiteral] ('as' identifier)? [Combinator]*
';' | 9556 * > [Annotation] 'import' [StringLiteral] ('as' identifier)? [Combinator]*
';' |
| 9247 * > | [Annotation] 'import' [StringLiteral] 'deferred' 'as' identifier [Combi
nator]* ';' | 9557 * > | [Annotation] 'import' [StringLiteral] 'deferred' 'as' identifier [Combi
nator]* ';' |
| 9248 */ | 9558 */ |
| 9249 class ImportDirective extends NamespaceDirective { | 9559 class ImportDirective extends NamespaceDirective { |
| 9250 static Comparator<ImportDirective> COMPARATOR = (ImportDirective import1, | 9560 static Comparator<ImportDirective> COMPARATOR = |
| 9251 ImportDirective import2) { | 9561 (ImportDirective import1, ImportDirective import2) { |
| 9252 // | 9562 // |
| 9253 // uri | 9563 // uri |
| 9254 // | 9564 // |
| 9255 StringLiteral uri1 = import1.uri; | 9565 StringLiteral uri1 = import1.uri; |
| 9256 StringLiteral uri2 = import2.uri; | 9566 StringLiteral uri2 = import2.uri; |
| 9257 String uriStr1 = uri1.stringValue; | 9567 String uriStr1 = uri1.stringValue; |
| 9258 String uriStr2 = uri2.stringValue; | 9568 String uriStr2 = uri2.stringValue; |
| 9259 if (uriStr1 != null || uriStr2 != null) { | 9569 if (uriStr1 != null || uriStr2 != null) { |
| 9260 if (uriStr1 == null) { | 9570 if (uriStr1 == null) { |
| 9261 return -1; | 9571 return -1; |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9360 SimpleIdentifier _prefix; | 9670 SimpleIdentifier _prefix; |
| 9361 | 9671 |
| 9362 /** | 9672 /** |
| 9363 * Initialize a newly created import directive. Either or both of the | 9673 * Initialize a newly created import directive. Either or both of the |
| 9364 * [comment] and [metadata] can be `null` if the function does not have the | 9674 * [comment] and [metadata] can be `null` if the function does not have the |
| 9365 * corresponding attribute. The [deferredKeyword] can be `null` if the import | 9675 * corresponding attribute. The [deferredKeyword] can be `null` if the import |
| 9366 * is not deferred. The [asKeyword] and [prefix] can be `null` if the import | 9676 * is not deferred. The [asKeyword] and [prefix] can be `null` if the import |
| 9367 * does not specify a prefix. The list of [combinators] can be `null` if there | 9677 * does not specify a prefix. The list of [combinators] can be `null` if there |
| 9368 * are no combinators. | 9678 * are no combinators. |
| 9369 */ | 9679 */ |
| 9370 ImportDirective(Comment comment, List<Annotation> metadata, Token keyword, | 9680 ImportDirective( |
| 9371 StringLiteral libraryUri, this.deferredKeyword, this.asKeyword, | 9681 Comment comment, |
| 9372 SimpleIdentifier prefix, List<Combinator> combinators, Token semicolon) | 9682 List<Annotation> metadata, |
| 9683 Token keyword, |
| 9684 StringLiteral libraryUri, |
| 9685 this.deferredKeyword, |
| 9686 this.asKeyword, |
| 9687 SimpleIdentifier prefix, |
| 9688 List<Combinator> combinators, |
| 9689 Token semicolon) |
| 9373 : super(comment, metadata, keyword, libraryUri, combinators, semicolon) { | 9690 : super(comment, metadata, keyword, libraryUri, combinators, semicolon) { |
| 9374 _prefix = _becomeParentOf(prefix); | 9691 _prefix = _becomeParentOf(prefix); |
| 9375 } | 9692 } |
| 9376 | 9693 |
| 9377 /** | 9694 /** |
| 9378 * The token representing the 'as' token, or `null` if the imported names are | 9695 * The token representing the 'as' token, or `null` if the imported names are |
| 9379 * not prefixed. | 9696 * not prefixed. |
| 9380 */ | 9697 */ |
| 9381 @deprecated // Use "this.asKeyword" | 9698 @deprecated // Use "this.asKeyword" |
| 9382 Token get asToken => asKeyword; | 9699 Token get asToken => asKeyword; |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9477 * mapping of old tokens to new tokens. | 9794 * mapping of old tokens to new tokens. |
| 9478 */ | 9795 */ |
| 9479 IncrementalAstCloner(this._oldNode, this._newNode, this._tokenMap); | 9796 IncrementalAstCloner(this._oldNode, this._newNode, this._tokenMap); |
| 9480 | 9797 |
| 9481 @override | 9798 @override |
| 9482 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => | 9799 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => |
| 9483 new AdjacentStrings(_cloneNodeList(node.strings)); | 9800 new AdjacentStrings(_cloneNodeList(node.strings)); |
| 9484 | 9801 |
| 9485 @override | 9802 @override |
| 9486 Annotation visitAnnotation(Annotation node) { | 9803 Annotation visitAnnotation(Annotation node) { |
| 9487 Annotation copy = new Annotation(_mapToken(node.atSign), | 9804 Annotation copy = new Annotation( |
| 9488 _cloneNode(node.name), _mapToken(node.period), | 9805 _mapToken(node.atSign), |
| 9489 _cloneNode(node.constructorName), _cloneNode(node.arguments)); | 9806 _cloneNode(node.name), |
| 9807 _mapToken(node.period), |
| 9808 _cloneNode(node.constructorName), |
| 9809 _cloneNode(node.arguments)); |
| 9490 copy.element = node.element; | 9810 copy.element = node.element; |
| 9491 return copy; | 9811 return copy; |
| 9492 } | 9812 } |
| 9493 | 9813 |
| 9494 @override | 9814 @override |
| 9495 ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList( | 9815 ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList( |
| 9496 _mapToken(node.leftParenthesis), _cloneNodeList(node.arguments), | 9816 _mapToken(node.leftParenthesis), |
| 9817 _cloneNodeList(node.arguments), |
| 9497 _mapToken(node.rightParenthesis)); | 9818 _mapToken(node.rightParenthesis)); |
| 9498 | 9819 |
| 9499 @override | 9820 @override |
| 9500 AsExpression visitAsExpression(AsExpression node) { | 9821 AsExpression visitAsExpression(AsExpression node) { |
| 9501 AsExpression copy = new AsExpression(_cloneNode(node.expression), | 9822 AsExpression copy = new AsExpression(_cloneNode(node.expression), |
| 9502 _mapToken(node.asOperator), _cloneNode(node.type)); | 9823 _mapToken(node.asOperator), _cloneNode(node.type)); |
| 9503 copy.propagatedType = node.propagatedType; | 9824 copy.propagatedType = node.propagatedType; |
| 9504 copy.staticType = node.staticType; | 9825 copy.staticType = node.staticType; |
| 9505 return copy; | 9826 return copy; |
| 9506 } | 9827 } |
| 9507 | 9828 |
| 9508 @override | 9829 @override |
| 9509 AstNode visitAssertStatement(AssertStatement node) => new AssertStatement( | 9830 AstNode visitAssertStatement(AssertStatement node) => |
| 9510 _mapToken(node.assertKeyword), _mapToken(node.leftParenthesis), | 9831 new AssertStatement.withOptionalMessage( |
| 9511 _cloneNode(node.condition), _mapToken(node.rightParenthesis), | 9832 _mapToken(node.assertKeyword), |
| 9512 _mapToken(node.semicolon)); | 9833 _mapToken(node.leftParenthesis), |
| 9834 _cloneNode(node.condition), |
| 9835 _mapToken(node.comma), |
| 9836 _cloneNode(node.message), |
| 9837 _mapToken(node.rightParenthesis), |
| 9838 _mapToken(node.semicolon)); |
| 9513 | 9839 |
| 9514 @override | 9840 @override |
| 9515 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) { | 9841 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) { |
| 9516 AssignmentExpression copy = new AssignmentExpression( | 9842 AssignmentExpression copy = new AssignmentExpression( |
| 9517 _cloneNode(node.leftHandSide), _mapToken(node.operator), | 9843 _cloneNode(node.leftHandSide), |
| 9844 _mapToken(node.operator), |
| 9518 _cloneNode(node.rightHandSide)); | 9845 _cloneNode(node.rightHandSide)); |
| 9519 copy.propagatedElement = node.propagatedElement; | 9846 copy.propagatedElement = node.propagatedElement; |
| 9520 copy.propagatedType = node.propagatedType; | 9847 copy.propagatedType = node.propagatedType; |
| 9521 copy.staticElement = node.staticElement; | 9848 copy.staticElement = node.staticElement; |
| 9522 copy.staticType = node.staticType; | 9849 copy.staticType = node.staticType; |
| 9523 return copy; | 9850 return copy; |
| 9524 } | 9851 } |
| 9525 | 9852 |
| 9526 @override | 9853 @override |
| 9527 AwaitExpression visitAwaitExpression(AwaitExpression node) => | 9854 AwaitExpression visitAwaitExpression(AwaitExpression node) => |
| 9528 new AwaitExpression( | 9855 new AwaitExpression( |
| 9529 _mapToken(node.awaitKeyword), _cloneNode(node.expression)); | 9856 _mapToken(node.awaitKeyword), _cloneNode(node.expression)); |
| 9530 | 9857 |
| 9531 @override | 9858 @override |
| 9532 BinaryExpression visitBinaryExpression(BinaryExpression node) { | 9859 BinaryExpression visitBinaryExpression(BinaryExpression node) { |
| 9533 BinaryExpression copy = new BinaryExpression(_cloneNode(node.leftOperand), | 9860 BinaryExpression copy = new BinaryExpression(_cloneNode(node.leftOperand), |
| 9534 _mapToken(node.operator), _cloneNode(node.rightOperand)); | 9861 _mapToken(node.operator), _cloneNode(node.rightOperand)); |
| 9535 copy.propagatedElement = node.propagatedElement; | 9862 copy.propagatedElement = node.propagatedElement; |
| 9536 copy.propagatedType = node.propagatedType; | 9863 copy.propagatedType = node.propagatedType; |
| 9537 copy.staticElement = node.staticElement; | 9864 copy.staticElement = node.staticElement; |
| 9538 copy.staticType = node.staticType; | 9865 copy.staticType = node.staticType; |
| 9539 return copy; | 9866 return copy; |
| 9540 } | 9867 } |
| 9541 | 9868 |
| 9542 @override | 9869 @override |
| 9543 Block visitBlock(Block node) => new Block(_mapToken(node.leftBracket), | 9870 Block visitBlock(Block node) => new Block(_mapToken(node.leftBracket), |
| 9544 _cloneNodeList(node.statements), _mapToken(node.rightBracket)); | 9871 _cloneNodeList(node.statements), _mapToken(node.rightBracket)); |
| 9545 | 9872 |
| 9546 @override | 9873 @override |
| 9547 BlockFunctionBody visitBlockFunctionBody( | 9874 BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) => |
| 9548 BlockFunctionBody node) => new BlockFunctionBody( | 9875 new BlockFunctionBody(_mapToken(node.keyword), _mapToken(node.star), |
| 9549 _mapToken(node.keyword), _mapToken(node.star), _cloneNode(node.block)); | 9876 _cloneNode(node.block)); |
| 9550 | 9877 |
| 9551 @override | 9878 @override |
| 9552 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) { | 9879 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) { |
| 9553 BooleanLiteral copy = | 9880 BooleanLiteral copy = |
| 9554 new BooleanLiteral(_mapToken(node.literal), node.value); | 9881 new BooleanLiteral(_mapToken(node.literal), node.value); |
| 9555 copy.propagatedType = node.propagatedType; | 9882 copy.propagatedType = node.propagatedType; |
| 9556 copy.staticType = node.staticType; | 9883 copy.staticType = node.staticType; |
| 9557 return copy; | 9884 return copy; |
| 9558 } | 9885 } |
| 9559 | 9886 |
| 9560 @override | 9887 @override |
| 9561 BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement( | 9888 BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement( |
| 9562 _mapToken(node.breakKeyword), _cloneNode(node.label), | 9889 _mapToken(node.breakKeyword), |
| 9890 _cloneNode(node.label), |
| 9563 _mapToken(node.semicolon)); | 9891 _mapToken(node.semicolon)); |
| 9564 | 9892 |
| 9565 @override | 9893 @override |
| 9566 CascadeExpression visitCascadeExpression(CascadeExpression node) { | 9894 CascadeExpression visitCascadeExpression(CascadeExpression node) { |
| 9567 CascadeExpression copy = new CascadeExpression( | 9895 CascadeExpression copy = new CascadeExpression( |
| 9568 _cloneNode(node.target), _cloneNodeList(node.cascadeSections)); | 9896 _cloneNode(node.target), _cloneNodeList(node.cascadeSections)); |
| 9569 copy.propagatedType = node.propagatedType; | 9897 copy.propagatedType = node.propagatedType; |
| 9570 copy.staticType = node.staticType; | 9898 copy.staticType = node.staticType; |
| 9571 return copy; | 9899 return copy; |
| 9572 } | 9900 } |
| 9573 | 9901 |
| 9574 @override | 9902 @override |
| 9575 CatchClause visitCatchClause(CatchClause node) => new CatchClause( | 9903 CatchClause visitCatchClause(CatchClause node) => new CatchClause( |
| 9576 _mapToken(node.onKeyword), _cloneNode(node.exceptionType), | 9904 _mapToken(node.onKeyword), |
| 9577 _mapToken(node.catchKeyword), _mapToken(node.leftParenthesis), | 9905 _cloneNode(node.exceptionType), |
| 9578 _cloneNode(node.exceptionParameter), _mapToken(node.comma), | 9906 _mapToken(node.catchKeyword), |
| 9579 _cloneNode(node.stackTraceParameter), _mapToken(node.rightParenthesis), | 9907 _mapToken(node.leftParenthesis), |
| 9908 _cloneNode(node.exceptionParameter), |
| 9909 _mapToken(node.comma), |
| 9910 _cloneNode(node.stackTraceParameter), |
| 9911 _mapToken(node.rightParenthesis), |
| 9580 _cloneNode(node.body)); | 9912 _cloneNode(node.body)); |
| 9581 | 9913 |
| 9582 @override | 9914 @override |
| 9583 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { | 9915 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { |
| 9584 ClassDeclaration copy = new ClassDeclaration( | 9916 ClassDeclaration copy = new ClassDeclaration( |
| 9585 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 9917 _cloneNode(node.documentationComment), |
| 9586 _mapToken(node.abstractKeyword), _mapToken(node.classKeyword), | 9918 _cloneNodeList(node.metadata), |
| 9587 _cloneNode(node.name), _cloneNode(node.typeParameters), | 9919 _mapToken(node.abstractKeyword), |
| 9588 _cloneNode(node.extendsClause), _cloneNode(node.withClause), | 9920 _mapToken(node.classKeyword), |
| 9589 _cloneNode(node.implementsClause), _mapToken(node.leftBracket), | 9921 _cloneNode(node.name), |
| 9590 _cloneNodeList(node.members), _mapToken(node.rightBracket)); | 9922 _cloneNode(node.typeParameters), |
| 9923 _cloneNode(node.extendsClause), |
| 9924 _cloneNode(node.withClause), |
| 9925 _cloneNode(node.implementsClause), |
| 9926 _mapToken(node.leftBracket), |
| 9927 _cloneNodeList(node.members), |
| 9928 _mapToken(node.rightBracket)); |
| 9591 copy.nativeClause = _cloneNode(node.nativeClause); | 9929 copy.nativeClause = _cloneNode(node.nativeClause); |
| 9592 return copy; | 9930 return copy; |
| 9593 } | 9931 } |
| 9594 | 9932 |
| 9595 @override | 9933 @override |
| 9596 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => new ClassTypeAlias( | 9934 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => new ClassTypeAlias( |
| 9597 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 9935 _cloneNode(node.documentationComment), |
| 9598 _mapToken(node.typedefKeyword), _cloneNode(node.name), | 9936 _cloneNodeList(node.metadata), |
| 9599 _cloneNode(node.typeParameters), _mapToken(node.equals), | 9937 _mapToken(node.typedefKeyword), |
| 9600 _mapToken(node.abstractKeyword), _cloneNode(node.superclass), | 9938 _cloneNode(node.name), |
| 9601 _cloneNode(node.withClause), _cloneNode(node.implementsClause), | 9939 _cloneNode(node.typeParameters), |
| 9940 _mapToken(node.equals), |
| 9941 _mapToken(node.abstractKeyword), |
| 9942 _cloneNode(node.superclass), |
| 9943 _cloneNode(node.withClause), |
| 9944 _cloneNode(node.implementsClause), |
| 9602 _mapToken(node.semicolon)); | 9945 _mapToken(node.semicolon)); |
| 9603 | 9946 |
| 9604 @override | 9947 @override |
| 9605 Comment visitComment(Comment node) { | 9948 Comment visitComment(Comment node) { |
| 9606 if (node.isDocumentation) { | 9949 if (node.isDocumentation) { |
| 9607 return Comment.createDocumentationCommentWithReferences( | 9950 return Comment.createDocumentationCommentWithReferences( |
| 9608 _mapTokens(node.tokens), _cloneNodeList(node.references)); | 9951 _mapTokens(node.tokens), _cloneNodeList(node.references)); |
| 9609 } else if (node.isBlock) { | 9952 } else if (node.isBlock) { |
| 9610 return Comment.createBlockComment(_mapTokens(node.tokens)); | 9953 return Comment.createBlockComment(_mapTokens(node.tokens)); |
| 9611 } | 9954 } |
| 9612 return Comment.createEndOfLineComment(_mapTokens(node.tokens)); | 9955 return Comment.createEndOfLineComment(_mapTokens(node.tokens)); |
| 9613 } | 9956 } |
| 9614 | 9957 |
| 9615 @override | 9958 @override |
| 9616 CommentReference visitCommentReference(CommentReference node) => | 9959 CommentReference visitCommentReference(CommentReference node) => |
| 9617 new CommentReference( | 9960 new CommentReference( |
| 9618 _mapToken(node.newKeyword), _cloneNode(node.identifier)); | 9961 _mapToken(node.newKeyword), _cloneNode(node.identifier)); |
| 9619 | 9962 |
| 9620 @override | 9963 @override |
| 9621 CompilationUnit visitCompilationUnit(CompilationUnit node) { | 9964 CompilationUnit visitCompilationUnit(CompilationUnit node) { |
| 9622 CompilationUnit copy = new CompilationUnit(_mapToken(node.beginToken), | 9965 CompilationUnit copy = new CompilationUnit( |
| 9623 _cloneNode(node.scriptTag), _cloneNodeList(node.directives), | 9966 _mapToken(node.beginToken), |
| 9624 _cloneNodeList(node.declarations), _mapToken(node.endToken)); | 9967 _cloneNode(node.scriptTag), |
| 9968 _cloneNodeList(node.directives), |
| 9969 _cloneNodeList(node.declarations), |
| 9970 _mapToken(node.endToken)); |
| 9625 copy.lineInfo = node.lineInfo; | 9971 copy.lineInfo = node.lineInfo; |
| 9626 copy.element = node.element; | 9972 copy.element = node.element; |
| 9627 return copy; | 9973 return copy; |
| 9628 } | 9974 } |
| 9629 | 9975 |
| 9630 @override | 9976 @override |
| 9631 ConditionalExpression visitConditionalExpression(ConditionalExpression node) { | 9977 ConditionalExpression visitConditionalExpression(ConditionalExpression node) { |
| 9632 ConditionalExpression copy = new ConditionalExpression( | 9978 ConditionalExpression copy = new ConditionalExpression( |
| 9633 _cloneNode(node.condition), _mapToken(node.question), | 9979 _cloneNode(node.condition), |
| 9634 _cloneNode(node.thenExpression), _mapToken(node.colon), | 9980 _mapToken(node.question), |
| 9981 _cloneNode(node.thenExpression), |
| 9982 _mapToken(node.colon), |
| 9635 _cloneNode(node.elseExpression)); | 9983 _cloneNode(node.elseExpression)); |
| 9636 copy.propagatedType = node.propagatedType; | 9984 copy.propagatedType = node.propagatedType; |
| 9637 copy.staticType = node.staticType; | 9985 copy.staticType = node.staticType; |
| 9638 return copy; | 9986 return copy; |
| 9639 } | 9987 } |
| 9640 | 9988 |
| 9641 @override | 9989 @override |
| 9642 ConstructorDeclaration visitConstructorDeclaration( | 9990 ConstructorDeclaration visitConstructorDeclaration( |
| 9643 ConstructorDeclaration node) { | 9991 ConstructorDeclaration node) { |
| 9644 ConstructorDeclaration copy = new ConstructorDeclaration( | 9992 ConstructorDeclaration copy = new ConstructorDeclaration( |
| 9645 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 9993 _cloneNode(node.documentationComment), |
| 9646 _mapToken(node.externalKeyword), _mapToken(node.constKeyword), | 9994 _cloneNodeList(node.metadata), |
| 9647 _mapToken(node.factoryKeyword), _cloneNode(node.returnType), | 9995 _mapToken(node.externalKeyword), |
| 9648 _mapToken(node.period), _cloneNode(node.name), | 9996 _mapToken(node.constKeyword), |
| 9649 _cloneNode(node.parameters), _mapToken(node.separator), | 9997 _mapToken(node.factoryKeyword), |
| 9998 _cloneNode(node.returnType), |
| 9999 _mapToken(node.period), |
| 10000 _cloneNode(node.name), |
| 10001 _cloneNode(node.parameters), |
| 10002 _mapToken(node.separator), |
| 9650 _cloneNodeList(node.initializers), | 10003 _cloneNodeList(node.initializers), |
| 9651 _cloneNode(node.redirectedConstructor), _cloneNode(node.body)); | 10004 _cloneNode(node.redirectedConstructor), |
| 10005 _cloneNode(node.body)); |
| 9652 copy.element = node.element; | 10006 copy.element = node.element; |
| 9653 return copy; | 10007 return copy; |
| 9654 } | 10008 } |
| 9655 | 10009 |
| 9656 @override | 10010 @override |
| 9657 ConstructorFieldInitializer visitConstructorFieldInitializer( | 10011 ConstructorFieldInitializer visitConstructorFieldInitializer( |
| 9658 ConstructorFieldInitializer node) => new ConstructorFieldInitializer( | 10012 ConstructorFieldInitializer node) => |
| 9659 _mapToken(node.thisKeyword), _mapToken(node.period), | 10013 new ConstructorFieldInitializer( |
| 9660 _cloneNode(node.fieldName), _mapToken(node.equals), | 10014 _mapToken(node.thisKeyword), |
| 9661 _cloneNode(node.expression)); | 10015 _mapToken(node.period), |
| 10016 _cloneNode(node.fieldName), |
| 10017 _mapToken(node.equals), |
| 10018 _cloneNode(node.expression)); |
| 9662 | 10019 |
| 9663 @override | 10020 @override |
| 9664 ConstructorName visitConstructorName(ConstructorName node) { | 10021 ConstructorName visitConstructorName(ConstructorName node) { |
| 9665 ConstructorName copy = new ConstructorName( | 10022 ConstructorName copy = new ConstructorName( |
| 9666 _cloneNode(node.type), _mapToken(node.period), _cloneNode(node.name)); | 10023 _cloneNode(node.type), _mapToken(node.period), _cloneNode(node.name)); |
| 9667 copy.staticElement = node.staticElement; | 10024 copy.staticElement = node.staticElement; |
| 9668 return copy; | 10025 return copy; |
| 9669 } | 10026 } |
| 9670 | 10027 |
| 9671 @override | 10028 @override |
| 9672 ContinueStatement visitContinueStatement(ContinueStatement node) => | 10029 ContinueStatement visitContinueStatement(ContinueStatement node) => |
| 9673 new ContinueStatement(_mapToken(node.continueKeyword), | 10030 new ContinueStatement(_mapToken(node.continueKeyword), |
| 9674 _cloneNode(node.label), _mapToken(node.semicolon)); | 10031 _cloneNode(node.label), _mapToken(node.semicolon)); |
| 9675 | 10032 |
| 9676 @override | 10033 @override |
| 9677 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => | 10034 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => |
| 9678 new DeclaredIdentifier(_cloneNode(node.documentationComment), | 10035 new DeclaredIdentifier( |
| 9679 _cloneNodeList(node.metadata), _mapToken(node.keyword), | 10036 _cloneNode(node.documentationComment), |
| 9680 _cloneNode(node.type), _cloneNode(node.identifier)); | 10037 _cloneNodeList(node.metadata), |
| 10038 _mapToken(node.keyword), |
| 10039 _cloneNode(node.type), |
| 10040 _cloneNode(node.identifier)); |
| 9681 | 10041 |
| 9682 @override | 10042 @override |
| 9683 DefaultFormalParameter visitDefaultFormalParameter( | 10043 DefaultFormalParameter visitDefaultFormalParameter( |
| 9684 DefaultFormalParameter node) => new DefaultFormalParameter( | 10044 DefaultFormalParameter node) => |
| 9685 _cloneNode(node.parameter), node.kind, _mapToken(node.separator), | 10045 new DefaultFormalParameter(_cloneNode(node.parameter), node.kind, |
| 9686 _cloneNode(node.defaultValue)); | 10046 _mapToken(node.separator), _cloneNode(node.defaultValue)); |
| 9687 | 10047 |
| 9688 @override | 10048 @override |
| 9689 DoStatement visitDoStatement(DoStatement node) => new DoStatement( | 10049 DoStatement visitDoStatement(DoStatement node) => new DoStatement( |
| 9690 _mapToken(node.doKeyword), _cloneNode(node.body), | 10050 _mapToken(node.doKeyword), |
| 9691 _mapToken(node.whileKeyword), _mapToken(node.leftParenthesis), | 10051 _cloneNode(node.body), |
| 9692 _cloneNode(node.condition), _mapToken(node.rightParenthesis), | 10052 _mapToken(node.whileKeyword), |
| 10053 _mapToken(node.leftParenthesis), |
| 10054 _cloneNode(node.condition), |
| 10055 _mapToken(node.rightParenthesis), |
| 9693 _mapToken(node.semicolon)); | 10056 _mapToken(node.semicolon)); |
| 9694 | 10057 |
| 9695 @override | 10058 @override |
| 9696 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) { | 10059 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) { |
| 9697 DoubleLiteral copy = new DoubleLiteral(_mapToken(node.literal), node.value); | 10060 DoubleLiteral copy = new DoubleLiteral(_mapToken(node.literal), node.value); |
| 9698 copy.propagatedType = node.propagatedType; | 10061 copy.propagatedType = node.propagatedType; |
| 9699 copy.staticType = node.staticType; | 10062 copy.staticType = node.staticType; |
| 9700 return copy; | 10063 return copy; |
| 9701 } | 10064 } |
| 9702 | 10065 |
| 9703 @override | 10066 @override |
| 9704 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => | 10067 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => |
| 9705 new EmptyFunctionBody(_mapToken(node.semicolon)); | 10068 new EmptyFunctionBody(_mapToken(node.semicolon)); |
| 9706 | 10069 |
| 9707 @override | 10070 @override |
| 9708 EmptyStatement visitEmptyStatement(EmptyStatement node) => | 10071 EmptyStatement visitEmptyStatement(EmptyStatement node) => |
| 9709 new EmptyStatement(_mapToken(node.semicolon)); | 10072 new EmptyStatement(_mapToken(node.semicolon)); |
| 9710 | 10073 |
| 9711 @override | 10074 @override |
| 9712 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => | 10075 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => |
| 9713 new EnumConstantDeclaration(_cloneNode(node.documentationComment), | 10076 new EnumConstantDeclaration(_cloneNode(node.documentationComment), |
| 9714 _cloneNodeList(node.metadata), _cloneNode(node.name)); | 10077 _cloneNodeList(node.metadata), _cloneNode(node.name)); |
| 9715 | 10078 |
| 9716 @override | 10079 @override |
| 9717 AstNode visitEnumDeclaration(EnumDeclaration node) => new EnumDeclaration( | 10080 AstNode visitEnumDeclaration(EnumDeclaration node) => new EnumDeclaration( |
| 9718 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10081 _cloneNode(node.documentationComment), |
| 9719 _mapToken(node.enumKeyword), _cloneNode(node.name), | 10082 _cloneNodeList(node.metadata), |
| 9720 _mapToken(node.leftBracket), _cloneNodeList(node.constants), | 10083 _mapToken(node.enumKeyword), |
| 10084 _cloneNode(node.name), |
| 10085 _mapToken(node.leftBracket), |
| 10086 _cloneNodeList(node.constants), |
| 9721 _mapToken(node.rightBracket)); | 10087 _mapToken(node.rightBracket)); |
| 9722 | 10088 |
| 9723 @override | 10089 @override |
| 9724 ExportDirective visitExportDirective(ExportDirective node) { | 10090 ExportDirective visitExportDirective(ExportDirective node) { |
| 9725 ExportDirective copy = new ExportDirective( | 10091 ExportDirective copy = new ExportDirective( |
| 9726 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10092 _cloneNode(node.documentationComment), |
| 9727 _mapToken(node.keyword), _cloneNode(node.uri), | 10093 _cloneNodeList(node.metadata), |
| 9728 _cloneNodeList(node.combinators), _mapToken(node.semicolon)); | 10094 _mapToken(node.keyword), |
| 10095 _cloneNode(node.uri), |
| 10096 _cloneNodeList(node.combinators), |
| 10097 _mapToken(node.semicolon)); |
| 9729 copy.element = node.element; | 10098 copy.element = node.element; |
| 9730 return copy; | 10099 return copy; |
| 9731 } | 10100 } |
| 9732 | 10101 |
| 9733 @override | 10102 @override |
| 9734 ExpressionFunctionBody visitExpressionFunctionBody( | 10103 ExpressionFunctionBody visitExpressionFunctionBody( |
| 9735 ExpressionFunctionBody node) => new ExpressionFunctionBody( | 10104 ExpressionFunctionBody node) => |
| 9736 _mapToken(node.keyword), _mapToken(node.functionDefinition), | 10105 new ExpressionFunctionBody( |
| 9737 _cloneNode(node.expression), _mapToken(node.semicolon)); | 10106 _mapToken(node.keyword), |
| 10107 _mapToken(node.functionDefinition), |
| 10108 _cloneNode(node.expression), |
| 10109 _mapToken(node.semicolon)); |
| 9738 | 10110 |
| 9739 @override | 10111 @override |
| 9740 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => | 10112 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => |
| 9741 new ExpressionStatement( | 10113 new ExpressionStatement( |
| 9742 _cloneNode(node.expression), _mapToken(node.semicolon)); | 10114 _cloneNode(node.expression), _mapToken(node.semicolon)); |
| 9743 | 10115 |
| 9744 @override | 10116 @override |
| 9745 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause( | 10117 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause( |
| 9746 _mapToken(node.extendsKeyword), _cloneNode(node.superclass)); | 10118 _mapToken(node.extendsKeyword), _cloneNode(node.superclass)); |
| 9747 | 10119 |
| 9748 @override | 10120 @override |
| 9749 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => | 10121 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => |
| 9750 new FieldDeclaration(_cloneNode(node.documentationComment), | 10122 new FieldDeclaration( |
| 9751 _cloneNodeList(node.metadata), _mapToken(node.staticKeyword), | 10123 _cloneNode(node.documentationComment), |
| 9752 _cloneNode(node.fields), _mapToken(node.semicolon)); | 10124 _cloneNodeList(node.metadata), |
| 10125 _mapToken(node.staticKeyword), |
| 10126 _cloneNode(node.fields), |
| 10127 _mapToken(node.semicolon)); |
| 9753 | 10128 |
| 9754 @override | 10129 @override |
| 9755 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => | 10130 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => |
| 9756 new FieldFormalParameter(_cloneNode(node.documentationComment), | 10131 new FieldFormalParameter( |
| 9757 _cloneNodeList(node.metadata), _mapToken(node.keyword), | 10132 _cloneNode(node.documentationComment), |
| 9758 _cloneNode(node.type), _mapToken(node.thisKeyword), | 10133 _cloneNodeList(node.metadata), |
| 9759 _mapToken(node.period), _cloneNode(node.identifier), | 10134 _mapToken(node.keyword), |
| 9760 _cloneNode(node.typeParameters), _cloneNode(node.parameters)); | 10135 _cloneNode(node.type), |
| 10136 _mapToken(node.thisKeyword), |
| 10137 _mapToken(node.period), |
| 10138 _cloneNode(node.identifier), |
| 10139 _cloneNode(node.typeParameters), |
| 10140 _cloneNode(node.parameters)); |
| 9761 | 10141 |
| 9762 @override | 10142 @override |
| 9763 ForEachStatement visitForEachStatement(ForEachStatement node) { | 10143 ForEachStatement visitForEachStatement(ForEachStatement node) { |
| 9764 DeclaredIdentifier loopVariable = node.loopVariable; | 10144 DeclaredIdentifier loopVariable = node.loopVariable; |
| 9765 if (loopVariable == null) { | 10145 if (loopVariable == null) { |
| 9766 return new ForEachStatement.withReference(_mapToken(node.awaitKeyword), | 10146 return new ForEachStatement.withReference( |
| 9767 _mapToken(node.forKeyword), _mapToken(node.leftParenthesis), | 10147 _mapToken(node.awaitKeyword), |
| 9768 _cloneNode(node.identifier), _mapToken(node.inKeyword), | 10148 _mapToken(node.forKeyword), |
| 9769 _cloneNode(node.iterable), _mapToken(node.rightParenthesis), | 10149 _mapToken(node.leftParenthesis), |
| 10150 _cloneNode(node.identifier), |
| 10151 _mapToken(node.inKeyword), |
| 10152 _cloneNode(node.iterable), |
| 10153 _mapToken(node.rightParenthesis), |
| 9770 _cloneNode(node.body)); | 10154 _cloneNode(node.body)); |
| 9771 } | 10155 } |
| 9772 return new ForEachStatement.withDeclaration(_mapToken(node.awaitKeyword), | 10156 return new ForEachStatement.withDeclaration( |
| 9773 _mapToken(node.forKeyword), _mapToken(node.leftParenthesis), | 10157 _mapToken(node.awaitKeyword), |
| 9774 _cloneNode(loopVariable), _mapToken(node.inKeyword), | 10158 _mapToken(node.forKeyword), |
| 9775 _cloneNode(node.iterable), _mapToken(node.rightParenthesis), | 10159 _mapToken(node.leftParenthesis), |
| 10160 _cloneNode(loopVariable), |
| 10161 _mapToken(node.inKeyword), |
| 10162 _cloneNode(node.iterable), |
| 10163 _mapToken(node.rightParenthesis), |
| 9776 _cloneNode(node.body)); | 10164 _cloneNode(node.body)); |
| 9777 } | 10165 } |
| 9778 | 10166 |
| 9779 @override | 10167 @override |
| 9780 FormalParameterList visitFormalParameterList(FormalParameterList node) => | 10168 FormalParameterList visitFormalParameterList(FormalParameterList node) => |
| 9781 new FormalParameterList(_mapToken(node.leftParenthesis), | 10169 new FormalParameterList( |
| 9782 _cloneNodeList(node.parameters), _mapToken(node.leftDelimiter), | 10170 _mapToken(node.leftParenthesis), |
| 9783 _mapToken(node.rightDelimiter), _mapToken(node.rightParenthesis)); | 10171 _cloneNodeList(node.parameters), |
| 10172 _mapToken(node.leftDelimiter), |
| 10173 _mapToken(node.rightDelimiter), |
| 10174 _mapToken(node.rightParenthesis)); |
| 9784 | 10175 |
| 9785 @override | 10176 @override |
| 9786 ForStatement visitForStatement(ForStatement node) => new ForStatement( | 10177 ForStatement visitForStatement(ForStatement node) => new ForStatement( |
| 9787 _mapToken(node.forKeyword), _mapToken(node.leftParenthesis), | 10178 _mapToken(node.forKeyword), |
| 9788 _cloneNode(node.variables), _cloneNode(node.initialization), | 10179 _mapToken(node.leftParenthesis), |
| 9789 _mapToken(node.leftSeparator), _cloneNode(node.condition), | 10180 _cloneNode(node.variables), |
| 9790 _mapToken(node.rightSeparator), _cloneNodeList(node.updaters), | 10181 _cloneNode(node.initialization), |
| 9791 _mapToken(node.rightParenthesis), _cloneNode(node.body)); | 10182 _mapToken(node.leftSeparator), |
| 10183 _cloneNode(node.condition), |
| 10184 _mapToken(node.rightSeparator), |
| 10185 _cloneNodeList(node.updaters), |
| 10186 _mapToken(node.rightParenthesis), |
| 10187 _cloneNode(node.body)); |
| 9792 | 10188 |
| 9793 @override | 10189 @override |
| 9794 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => | 10190 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => |
| 9795 new FunctionDeclaration(_cloneNode(node.documentationComment), | 10191 new FunctionDeclaration( |
| 9796 _cloneNodeList(node.metadata), _mapToken(node.externalKeyword), | 10192 _cloneNode(node.documentationComment), |
| 9797 _cloneNode(node.returnType), _mapToken(node.propertyKeyword), | 10193 _cloneNodeList(node.metadata), |
| 9798 _cloneNode(node.name), _cloneNode(node.functionExpression)); | 10194 _mapToken(node.externalKeyword), |
| 10195 _cloneNode(node.returnType), |
| 10196 _mapToken(node.propertyKeyword), |
| 10197 _cloneNode(node.name), |
| 10198 _cloneNode(node.functionExpression)); |
| 9799 | 10199 |
| 9800 @override | 10200 @override |
| 9801 FunctionDeclarationStatement visitFunctionDeclarationStatement( | 10201 FunctionDeclarationStatement visitFunctionDeclarationStatement( |
| 9802 FunctionDeclarationStatement node) => | 10202 FunctionDeclarationStatement node) => |
| 9803 new FunctionDeclarationStatement(_cloneNode(node.functionDeclaration)); | 10203 new FunctionDeclarationStatement(_cloneNode(node.functionDeclaration)); |
| 9804 | 10204 |
| 9805 @override | 10205 @override |
| 9806 FunctionExpression visitFunctionExpression(FunctionExpression node) { | 10206 FunctionExpression visitFunctionExpression(FunctionExpression node) { |
| 9807 FunctionExpression copy = new FunctionExpression( | 10207 FunctionExpression copy = new FunctionExpression( |
| 9808 _cloneNode(node.typeParameters), _cloneNode(node.parameters), | 10208 _cloneNode(node.typeParameters), |
| 10209 _cloneNode(node.parameters), |
| 9809 _cloneNode(node.body)); | 10210 _cloneNode(node.body)); |
| 9810 copy.element = node.element; | 10211 copy.element = node.element; |
| 9811 copy.propagatedType = node.propagatedType; | 10212 copy.propagatedType = node.propagatedType; |
| 9812 copy.staticType = node.staticType; | 10213 copy.staticType = node.staticType; |
| 9813 return copy; | 10214 return copy; |
| 9814 } | 10215 } |
| 9815 | 10216 |
| 9816 @override | 10217 @override |
| 9817 FunctionExpressionInvocation visitFunctionExpressionInvocation( | 10218 FunctionExpressionInvocation visitFunctionExpressionInvocation( |
| 9818 FunctionExpressionInvocation node) { | 10219 FunctionExpressionInvocation node) { |
| 9819 FunctionExpressionInvocation copy = new FunctionExpressionInvocation( | 10220 FunctionExpressionInvocation copy = new FunctionExpressionInvocation( |
| 9820 _cloneNode(node.function), _cloneNode(node.typeArguments), | 10221 _cloneNode(node.function), |
| 10222 _cloneNode(node.typeArguments), |
| 9821 _cloneNode(node.argumentList)); | 10223 _cloneNode(node.argumentList)); |
| 9822 copy.propagatedElement = node.propagatedElement; | 10224 copy.propagatedElement = node.propagatedElement; |
| 9823 copy.propagatedType = node.propagatedType; | 10225 copy.propagatedType = node.propagatedType; |
| 9824 copy.staticElement = node.staticElement; | 10226 copy.staticElement = node.staticElement; |
| 9825 copy.staticType = node.staticType; | 10227 copy.staticType = node.staticType; |
| 9826 return copy; | 10228 return copy; |
| 9827 } | 10229 } |
| 9828 | 10230 |
| 9829 @override | 10231 @override |
| 9830 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => | 10232 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => |
| 9831 new FunctionTypeAlias(_cloneNode(node.documentationComment), | 10233 new FunctionTypeAlias( |
| 9832 _cloneNodeList(node.metadata), _mapToken(node.typedefKeyword), | 10234 _cloneNode(node.documentationComment), |
| 9833 _cloneNode(node.returnType), _cloneNode(node.name), | 10235 _cloneNodeList(node.metadata), |
| 9834 _cloneNode(node.typeParameters), _cloneNode(node.parameters), | 10236 _mapToken(node.typedefKeyword), |
| 10237 _cloneNode(node.returnType), |
| 10238 _cloneNode(node.name), |
| 10239 _cloneNode(node.typeParameters), |
| 10240 _cloneNode(node.parameters), |
| 9835 _mapToken(node.semicolon)); | 10241 _mapToken(node.semicolon)); |
| 9836 | 10242 |
| 9837 @override | 10243 @override |
| 9838 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( | 10244 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( |
| 9839 FunctionTypedFormalParameter node) => new FunctionTypedFormalParameter( | 10245 FunctionTypedFormalParameter node) => |
| 9840 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10246 new FunctionTypedFormalParameter( |
| 9841 _cloneNode(node.returnType), _cloneNode(node.identifier), | 10247 _cloneNode(node.documentationComment), |
| 9842 _cloneNode(node.typeParameters), _cloneNode(node.parameters)); | 10248 _cloneNodeList(node.metadata), |
| 10249 _cloneNode(node.returnType), |
| 10250 _cloneNode(node.identifier), |
| 10251 _cloneNode(node.typeParameters), |
| 10252 _cloneNode(node.parameters)); |
| 9843 | 10253 |
| 9844 @override | 10254 @override |
| 9845 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( | 10255 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( |
| 9846 _mapToken(node.keyword), _cloneNodeList(node.hiddenNames)); | 10256 _mapToken(node.keyword), _cloneNodeList(node.hiddenNames)); |
| 9847 | 10257 |
| 9848 @override | 10258 @override |
| 9849 IfStatement visitIfStatement(IfStatement node) => new IfStatement( | 10259 IfStatement visitIfStatement(IfStatement node) => new IfStatement( |
| 9850 _mapToken(node.ifKeyword), _mapToken(node.leftParenthesis), | 10260 _mapToken(node.ifKeyword), |
| 9851 _cloneNode(node.condition), _mapToken(node.rightParenthesis), | 10261 _mapToken(node.leftParenthesis), |
| 9852 _cloneNode(node.thenStatement), _mapToken(node.elseKeyword), | 10262 _cloneNode(node.condition), |
| 10263 _mapToken(node.rightParenthesis), |
| 10264 _cloneNode(node.thenStatement), |
| 10265 _mapToken(node.elseKeyword), |
| 9853 _cloneNode(node.elseStatement)); | 10266 _cloneNode(node.elseStatement)); |
| 9854 | 10267 |
| 9855 @override | 10268 @override |
| 9856 ImplementsClause visitImplementsClause(ImplementsClause node) => | 10269 ImplementsClause visitImplementsClause(ImplementsClause node) => |
| 9857 new ImplementsClause( | 10270 new ImplementsClause( |
| 9858 _mapToken(node.implementsKeyword), _cloneNodeList(node.interfaces)); | 10271 _mapToken(node.implementsKeyword), _cloneNodeList(node.interfaces)); |
| 9859 | 10272 |
| 9860 @override | 10273 @override |
| 9861 ImportDirective visitImportDirective(ImportDirective node) => | 10274 ImportDirective visitImportDirective(ImportDirective node) => |
| 9862 new ImportDirective(_cloneNode(node.documentationComment), | 10275 new ImportDirective( |
| 9863 _cloneNodeList(node.metadata), _mapToken(node.keyword), | 10276 _cloneNode(node.documentationComment), |
| 9864 _cloneNode(node.uri), _mapToken(node.deferredKeyword), | 10277 _cloneNodeList(node.metadata), |
| 9865 _mapToken(node.asKeyword), _cloneNode(node.prefix), | 10278 _mapToken(node.keyword), |
| 9866 _cloneNodeList(node.combinators), _mapToken(node.semicolon)); | 10279 _cloneNode(node.uri), |
| 10280 _mapToken(node.deferredKeyword), |
| 10281 _mapToken(node.asKeyword), |
| 10282 _cloneNode(node.prefix), |
| 10283 _cloneNodeList(node.combinators), |
| 10284 _mapToken(node.semicolon)); |
| 9867 | 10285 |
| 9868 @override | 10286 @override |
| 9869 IndexExpression visitIndexExpression(IndexExpression node) { | 10287 IndexExpression visitIndexExpression(IndexExpression node) { |
| 9870 Token period = _mapToken(node.period); | 10288 Token period = _mapToken(node.period); |
| 9871 IndexExpression copy; | 10289 IndexExpression copy; |
| 9872 if (period == null) { | 10290 if (period == null) { |
| 9873 copy = new IndexExpression.forTarget(_cloneNode(node.target), | 10291 copy = new IndexExpression.forTarget( |
| 9874 _mapToken(node.leftBracket), _cloneNode(node.index), | 10292 _cloneNode(node.target), |
| 10293 _mapToken(node.leftBracket), |
| 10294 _cloneNode(node.index), |
| 9875 _mapToken(node.rightBracket)); | 10295 _mapToken(node.rightBracket)); |
| 9876 } else { | 10296 } else { |
| 9877 copy = new IndexExpression.forCascade(period, _mapToken(node.leftBracket), | 10297 copy = new IndexExpression.forCascade(period, _mapToken(node.leftBracket), |
| 9878 _cloneNode(node.index), _mapToken(node.rightBracket)); | 10298 _cloneNode(node.index), _mapToken(node.rightBracket)); |
| 9879 } | 10299 } |
| 9880 copy.auxiliaryElements = node.auxiliaryElements; | 10300 copy.auxiliaryElements = node.auxiliaryElements; |
| 9881 copy.propagatedElement = node.propagatedElement; | 10301 copy.propagatedElement = node.propagatedElement; |
| 9882 copy.propagatedType = node.propagatedType; | 10302 copy.propagatedType = node.propagatedType; |
| 9883 copy.staticElement = node.staticElement; | 10303 copy.staticElement = node.staticElement; |
| 9884 copy.staticType = node.staticType; | 10304 copy.staticType = node.staticType; |
| 9885 return copy; | 10305 return copy; |
| 9886 } | 10306 } |
| 9887 | 10307 |
| 9888 @override | 10308 @override |
| 9889 InstanceCreationExpression visitInstanceCreationExpression( | 10309 InstanceCreationExpression visitInstanceCreationExpression( |
| 9890 InstanceCreationExpression node) { | 10310 InstanceCreationExpression node) { |
| 9891 InstanceCreationExpression copy = new InstanceCreationExpression( | 10311 InstanceCreationExpression copy = new InstanceCreationExpression( |
| 9892 _mapToken(node.keyword), _cloneNode(node.constructorName), | 10312 _mapToken(node.keyword), |
| 10313 _cloneNode(node.constructorName), |
| 9893 _cloneNode(node.argumentList)); | 10314 _cloneNode(node.argumentList)); |
| 9894 copy.propagatedType = node.propagatedType; | 10315 copy.propagatedType = node.propagatedType; |
| 9895 copy.staticElement = node.staticElement; | 10316 copy.staticElement = node.staticElement; |
| 9896 copy.staticType = node.staticType; | 10317 copy.staticType = node.staticType; |
| 9897 return copy; | 10318 return copy; |
| 9898 } | 10319 } |
| 9899 | 10320 |
| 9900 @override | 10321 @override |
| 9901 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) { | 10322 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) { |
| 9902 IntegerLiteral copy = | 10323 IntegerLiteral copy = |
| 9903 new IntegerLiteral(_mapToken(node.literal), node.value); | 10324 new IntegerLiteral(_mapToken(node.literal), node.value); |
| 9904 copy.propagatedType = node.propagatedType; | 10325 copy.propagatedType = node.propagatedType; |
| 9905 copy.staticType = node.staticType; | 10326 copy.staticType = node.staticType; |
| 9906 return copy; | 10327 return copy; |
| 9907 } | 10328 } |
| 9908 | 10329 |
| 9909 @override | 10330 @override |
| 9910 InterpolationExpression visitInterpolationExpression( | 10331 InterpolationExpression visitInterpolationExpression( |
| 9911 InterpolationExpression node) => new InterpolationExpression( | 10332 InterpolationExpression node) => |
| 9912 _mapToken(node.leftBracket), _cloneNode(node.expression), | 10333 new InterpolationExpression(_mapToken(node.leftBracket), |
| 9913 _mapToken(node.rightBracket)); | 10334 _cloneNode(node.expression), _mapToken(node.rightBracket)); |
| 9914 | 10335 |
| 9915 @override | 10336 @override |
| 9916 InterpolationString visitInterpolationString(InterpolationString node) => | 10337 InterpolationString visitInterpolationString(InterpolationString node) => |
| 9917 new InterpolationString(_mapToken(node.contents), node.value); | 10338 new InterpolationString(_mapToken(node.contents), node.value); |
| 9918 | 10339 |
| 9919 @override | 10340 @override |
| 9920 IsExpression visitIsExpression(IsExpression node) { | 10341 IsExpression visitIsExpression(IsExpression node) { |
| 9921 IsExpression copy = new IsExpression(_cloneNode(node.expression), | 10342 IsExpression copy = new IsExpression( |
| 9922 _mapToken(node.isOperator), _mapToken(node.notOperator), | 10343 _cloneNode(node.expression), |
| 10344 _mapToken(node.isOperator), |
| 10345 _mapToken(node.notOperator), |
| 9923 _cloneNode(node.type)); | 10346 _cloneNode(node.type)); |
| 9924 copy.propagatedType = node.propagatedType; | 10347 copy.propagatedType = node.propagatedType; |
| 9925 copy.staticType = node.staticType; | 10348 copy.staticType = node.staticType; |
| 9926 return copy; | 10349 return copy; |
| 9927 } | 10350 } |
| 9928 | 10351 |
| 9929 @override | 10352 @override |
| 9930 Label visitLabel(Label node) => | 10353 Label visitLabel(Label node) => |
| 9931 new Label(_cloneNode(node.label), _mapToken(node.colon)); | 10354 new Label(_cloneNode(node.label), _mapToken(node.colon)); |
| 9932 | 10355 |
| 9933 @override | 10356 @override |
| 9934 LabeledStatement visitLabeledStatement(LabeledStatement node) => | 10357 LabeledStatement visitLabeledStatement(LabeledStatement node) => |
| 9935 new LabeledStatement( | 10358 new LabeledStatement( |
| 9936 _cloneNodeList(node.labels), _cloneNode(node.statement)); | 10359 _cloneNodeList(node.labels), _cloneNode(node.statement)); |
| 9937 | 10360 |
| 9938 @override | 10361 @override |
| 9939 LibraryDirective visitLibraryDirective(LibraryDirective node) => | 10362 LibraryDirective visitLibraryDirective(LibraryDirective node) => |
| 9940 new LibraryDirective(_cloneNode(node.documentationComment), | 10363 new LibraryDirective( |
| 9941 _cloneNodeList(node.metadata), _mapToken(node.libraryKeyword), | 10364 _cloneNode(node.documentationComment), |
| 9942 _cloneNode(node.name), _mapToken(node.semicolon)); | 10365 _cloneNodeList(node.metadata), |
| 10366 _mapToken(node.libraryKeyword), |
| 10367 _cloneNode(node.name), |
| 10368 _mapToken(node.semicolon)); |
| 9943 | 10369 |
| 9944 @override | 10370 @override |
| 9945 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) { | 10371 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) { |
| 9946 LibraryIdentifier copy = | 10372 LibraryIdentifier copy = |
| 9947 new LibraryIdentifier(_cloneNodeList(node.components)); | 10373 new LibraryIdentifier(_cloneNodeList(node.components)); |
| 9948 copy.propagatedType = node.propagatedType; | 10374 copy.propagatedType = node.propagatedType; |
| 9949 copy.staticType = node.staticType; | 10375 copy.staticType = node.staticType; |
| 9950 return copy; | 10376 return copy; |
| 9951 } | 10377 } |
| 9952 | 10378 |
| 9953 @override | 10379 @override |
| 9954 ListLiteral visitListLiteral(ListLiteral node) { | 10380 ListLiteral visitListLiteral(ListLiteral node) { |
| 9955 ListLiteral copy = new ListLiteral(_mapToken(node.constKeyword), | 10381 ListLiteral copy = new ListLiteral( |
| 9956 _cloneNode(node.typeArguments), _mapToken(node.leftBracket), | 10382 _mapToken(node.constKeyword), |
| 9957 _cloneNodeList(node.elements), _mapToken(node.rightBracket)); | 10383 _cloneNode(node.typeArguments), |
| 10384 _mapToken(node.leftBracket), |
| 10385 _cloneNodeList(node.elements), |
| 10386 _mapToken(node.rightBracket)); |
| 9958 copy.propagatedType = node.propagatedType; | 10387 copy.propagatedType = node.propagatedType; |
| 9959 copy.staticType = node.staticType; | 10388 copy.staticType = node.staticType; |
| 9960 return copy; | 10389 return copy; |
| 9961 } | 10390 } |
| 9962 | 10391 |
| 9963 @override | 10392 @override |
| 9964 MapLiteral visitMapLiteral(MapLiteral node) { | 10393 MapLiteral visitMapLiteral(MapLiteral node) { |
| 9965 MapLiteral copy = new MapLiteral(_mapToken(node.constKeyword), | 10394 MapLiteral copy = new MapLiteral( |
| 9966 _cloneNode(node.typeArguments), _mapToken(node.leftBracket), | 10395 _mapToken(node.constKeyword), |
| 9967 _cloneNodeList(node.entries), _mapToken(node.rightBracket)); | 10396 _cloneNode(node.typeArguments), |
| 10397 _mapToken(node.leftBracket), |
| 10398 _cloneNodeList(node.entries), |
| 10399 _mapToken(node.rightBracket)); |
| 9968 copy.propagatedType = node.propagatedType; | 10400 copy.propagatedType = node.propagatedType; |
| 9969 copy.staticType = node.staticType; | 10401 copy.staticType = node.staticType; |
| 9970 return copy; | 10402 return copy; |
| 9971 } | 10403 } |
| 9972 | 10404 |
| 9973 @override | 10405 @override |
| 9974 MapLiteralEntry visitMapLiteralEntry( | 10406 MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) => |
| 9975 MapLiteralEntry node) => new MapLiteralEntry( | 10407 new MapLiteralEntry(_cloneNode(node.key), _mapToken(node.separator), |
| 9976 _cloneNode(node.key), _mapToken(node.separator), _cloneNode(node.value)); | 10408 _cloneNode(node.value)); |
| 9977 | 10409 |
| 9978 @override | 10410 @override |
| 9979 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => | 10411 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => |
| 9980 new MethodDeclaration(_cloneNode(node.documentationComment), | 10412 new MethodDeclaration( |
| 9981 _cloneNodeList(node.metadata), _mapToken(node.externalKeyword), | 10413 _cloneNode(node.documentationComment), |
| 9982 _mapToken(node.modifierKeyword), _cloneNode(node.returnType), | 10414 _cloneNodeList(node.metadata), |
| 9983 _mapToken(node.propertyKeyword), _mapToken(node.operatorKeyword), | 10415 _mapToken(node.externalKeyword), |
| 9984 _cloneNode(node.name), _cloneNode(node._typeParameters), | 10416 _mapToken(node.modifierKeyword), |
| 9985 _cloneNode(node.parameters), _cloneNode(node.body)); | 10417 _cloneNode(node.returnType), |
| 10418 _mapToken(node.propertyKeyword), |
| 10419 _mapToken(node.operatorKeyword), |
| 10420 _cloneNode(node.name), |
| 10421 _cloneNode(node._typeParameters), |
| 10422 _cloneNode(node.parameters), |
| 10423 _cloneNode(node.body)); |
| 9986 | 10424 |
| 9987 @override | 10425 @override |
| 9988 MethodInvocation visitMethodInvocation(MethodInvocation node) { | 10426 MethodInvocation visitMethodInvocation(MethodInvocation node) { |
| 9989 MethodInvocation copy = new MethodInvocation(_cloneNode(node.target), | 10427 MethodInvocation copy = new MethodInvocation( |
| 9990 _mapToken(node.operator), _cloneNode(node.methodName), | 10428 _cloneNode(node.target), |
| 9991 _cloneNode(node.typeArguments), _cloneNode(node.argumentList)); | 10429 _mapToken(node.operator), |
| 10430 _cloneNode(node.methodName), |
| 10431 _cloneNode(node.typeArguments), |
| 10432 _cloneNode(node.argumentList)); |
| 9992 copy.propagatedType = node.propagatedType; | 10433 copy.propagatedType = node.propagatedType; |
| 9993 copy.staticType = node.staticType; | 10434 copy.staticType = node.staticType; |
| 9994 return copy; | 10435 return copy; |
| 9995 } | 10436 } |
| 9996 | 10437 |
| 9997 @override | 10438 @override |
| 9998 NamedExpression visitNamedExpression(NamedExpression node) { | 10439 NamedExpression visitNamedExpression(NamedExpression node) { |
| 9999 NamedExpression copy = | 10440 NamedExpression copy = |
| 10000 new NamedExpression(_cloneNode(node.name), _cloneNode(node.expression)); | 10441 new NamedExpression(_cloneNode(node.name), _cloneNode(node.expression)); |
| 10001 copy.propagatedType = node.propagatedType; | 10442 copy.propagatedType = node.propagatedType; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 10017 NullLiteral copy = new NullLiteral(_mapToken(node.literal)); | 10458 NullLiteral copy = new NullLiteral(_mapToken(node.literal)); |
| 10018 copy.propagatedType = node.propagatedType; | 10459 copy.propagatedType = node.propagatedType; |
| 10019 copy.staticType = node.staticType; | 10460 copy.staticType = node.staticType; |
| 10020 return copy; | 10461 return copy; |
| 10021 } | 10462 } |
| 10022 | 10463 |
| 10023 @override | 10464 @override |
| 10024 ParenthesizedExpression visitParenthesizedExpression( | 10465 ParenthesizedExpression visitParenthesizedExpression( |
| 10025 ParenthesizedExpression node) { | 10466 ParenthesizedExpression node) { |
| 10026 ParenthesizedExpression copy = new ParenthesizedExpression( | 10467 ParenthesizedExpression copy = new ParenthesizedExpression( |
| 10027 _mapToken(node.leftParenthesis), _cloneNode(node.expression), | 10468 _mapToken(node.leftParenthesis), |
| 10469 _cloneNode(node.expression), |
| 10028 _mapToken(node.rightParenthesis)); | 10470 _mapToken(node.rightParenthesis)); |
| 10029 copy.propagatedType = node.propagatedType; | 10471 copy.propagatedType = node.propagatedType; |
| 10030 copy.staticType = node.staticType; | 10472 copy.staticType = node.staticType; |
| 10031 return copy; | 10473 return copy; |
| 10032 } | 10474 } |
| 10033 | 10475 |
| 10034 @override | 10476 @override |
| 10035 PartDirective visitPartDirective(PartDirective node) { | 10477 PartDirective visitPartDirective(PartDirective node) { |
| 10036 PartDirective copy = new PartDirective( | 10478 PartDirective copy = new PartDirective( |
| 10037 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10479 _cloneNode(node.documentationComment), |
| 10038 _mapToken(node.partKeyword), _cloneNode(node.uri), | 10480 _cloneNodeList(node.metadata), |
| 10481 _mapToken(node.partKeyword), |
| 10482 _cloneNode(node.uri), |
| 10039 _mapToken(node.semicolon)); | 10483 _mapToken(node.semicolon)); |
| 10040 copy.element = node.element; | 10484 copy.element = node.element; |
| 10041 return copy; | 10485 return copy; |
| 10042 } | 10486 } |
| 10043 | 10487 |
| 10044 @override | 10488 @override |
| 10045 PartOfDirective visitPartOfDirective(PartOfDirective node) { | 10489 PartOfDirective visitPartOfDirective(PartOfDirective node) { |
| 10046 PartOfDirective copy = new PartOfDirective( | 10490 PartOfDirective copy = new PartOfDirective( |
| 10047 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10491 _cloneNode(node.documentationComment), |
| 10048 _mapToken(node.partKeyword), _mapToken(node.ofKeyword), | 10492 _cloneNodeList(node.metadata), |
| 10049 _cloneNode(node.libraryName), _mapToken(node.semicolon)); | 10493 _mapToken(node.partKeyword), |
| 10494 _mapToken(node.ofKeyword), |
| 10495 _cloneNode(node.libraryName), |
| 10496 _mapToken(node.semicolon)); |
| 10050 copy.element = node.element; | 10497 copy.element = node.element; |
| 10051 return copy; | 10498 return copy; |
| 10052 } | 10499 } |
| 10053 | 10500 |
| 10054 @override | 10501 @override |
| 10055 PostfixExpression visitPostfixExpression(PostfixExpression node) { | 10502 PostfixExpression visitPostfixExpression(PostfixExpression node) { |
| 10056 PostfixExpression copy = new PostfixExpression( | 10503 PostfixExpression copy = new PostfixExpression( |
| 10057 _cloneNode(node.operand), _mapToken(node.operator)); | 10504 _cloneNode(node.operand), _mapToken(node.operator)); |
| 10058 copy.propagatedElement = node.propagatedElement; | 10505 copy.propagatedElement = node.propagatedElement; |
| 10059 copy.propagatedType = node.propagatedType; | 10506 copy.propagatedType = node.propagatedType; |
| (...skipping 28 matching lines...) Expand all Loading... |
| 10088 _mapToken(node.operator), _cloneNode(node.propertyName)); | 10535 _mapToken(node.operator), _cloneNode(node.propertyName)); |
| 10089 copy.propagatedType = node.propagatedType; | 10536 copy.propagatedType = node.propagatedType; |
| 10090 copy.staticType = node.staticType; | 10537 copy.staticType = node.staticType; |
| 10091 return copy; | 10538 return copy; |
| 10092 } | 10539 } |
| 10093 | 10540 |
| 10094 @override | 10541 @override |
| 10095 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( | 10542 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( |
| 10096 RedirectingConstructorInvocation node) { | 10543 RedirectingConstructorInvocation node) { |
| 10097 RedirectingConstructorInvocation copy = | 10544 RedirectingConstructorInvocation copy = |
| 10098 new RedirectingConstructorInvocation(_mapToken(node.thisKeyword), | 10545 new RedirectingConstructorInvocation( |
| 10099 _mapToken(node.period), _cloneNode(node.constructorName), | 10546 _mapToken(node.thisKeyword), |
| 10547 _mapToken(node.period), |
| 10548 _cloneNode(node.constructorName), |
| 10100 _cloneNode(node.argumentList)); | 10549 _cloneNode(node.argumentList)); |
| 10101 copy.staticElement = node.staticElement; | 10550 copy.staticElement = node.staticElement; |
| 10102 return copy; | 10551 return copy; |
| 10103 } | 10552 } |
| 10104 | 10553 |
| 10105 @override | 10554 @override |
| 10106 RethrowExpression visitRethrowExpression(RethrowExpression node) { | 10555 RethrowExpression visitRethrowExpression(RethrowExpression node) { |
| 10107 RethrowExpression copy = | 10556 RethrowExpression copy = |
| 10108 new RethrowExpression(_mapToken(node.rethrowKeyword)); | 10557 new RethrowExpression(_mapToken(node.rethrowKeyword)); |
| 10109 copy.propagatedType = node.propagatedType; | 10558 copy.propagatedType = node.propagatedType; |
| 10110 copy.staticType = node.staticType; | 10559 copy.staticType = node.staticType; |
| 10111 return copy; | 10560 return copy; |
| 10112 } | 10561 } |
| 10113 | 10562 |
| 10114 @override | 10563 @override |
| 10115 ReturnStatement visitReturnStatement(ReturnStatement node) => | 10564 ReturnStatement visitReturnStatement(ReturnStatement node) => |
| 10116 new ReturnStatement(_mapToken(node.returnKeyword), | 10565 new ReturnStatement(_mapToken(node.returnKeyword), |
| 10117 _cloneNode(node.expression), _mapToken(node.semicolon)); | 10566 _cloneNode(node.expression), _mapToken(node.semicolon)); |
| 10118 | 10567 |
| 10119 @override | 10568 @override |
| 10120 ScriptTag visitScriptTag(ScriptTag node) => | 10569 ScriptTag visitScriptTag(ScriptTag node) => |
| 10121 new ScriptTag(_mapToken(node.scriptTag)); | 10570 new ScriptTag(_mapToken(node.scriptTag)); |
| 10122 | 10571 |
| 10123 @override | 10572 @override |
| 10124 ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator( | 10573 ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator( |
| 10125 _mapToken(node.keyword), _cloneNodeList(node.shownNames)); | 10574 _mapToken(node.keyword), _cloneNodeList(node.shownNames)); |
| 10126 | 10575 |
| 10127 @override | 10576 @override |
| 10128 SimpleFormalParameter visitSimpleFormalParameter( | 10577 SimpleFormalParameter visitSimpleFormalParameter( |
| 10129 SimpleFormalParameter node) => new SimpleFormalParameter( | 10578 SimpleFormalParameter node) => |
| 10130 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10579 new SimpleFormalParameter( |
| 10131 _mapToken(node.keyword), _cloneNode(node.type), | 10580 _cloneNode(node.documentationComment), |
| 10132 _cloneNode(node.identifier)); | 10581 _cloneNodeList(node.metadata), |
| 10582 _mapToken(node.keyword), |
| 10583 _cloneNode(node.type), |
| 10584 _cloneNode(node.identifier)); |
| 10133 | 10585 |
| 10134 @override | 10586 @override |
| 10135 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) { | 10587 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) { |
| 10136 Token mappedToken = _mapToken(node.token); | 10588 Token mappedToken = _mapToken(node.token); |
| 10137 if (mappedToken == null) { | 10589 if (mappedToken == null) { |
| 10138 // This only happens for SimpleIdentifiers created by the parser as part | 10590 // This only happens for SimpleIdentifiers created by the parser as part |
| 10139 // of scanning documentation comments (the tokens for those identifiers | 10591 // of scanning documentation comments (the tokens for those identifiers |
| 10140 // are not in the original token stream and hence do not get copied). | 10592 // are not in the original token stream and hence do not get copied). |
| 10141 // This extra check can be removed if the scanner is changed to scan | 10593 // This extra check can be removed if the scanner is changed to scan |
| 10142 // documentation comments for the parser. | 10594 // documentation comments for the parser. |
| (...skipping 23 matching lines...) Expand all Loading... |
| 10166 new StringInterpolation(_cloneNodeList(node.elements)); | 10618 new StringInterpolation(_cloneNodeList(node.elements)); |
| 10167 copy.propagatedType = node.propagatedType; | 10619 copy.propagatedType = node.propagatedType; |
| 10168 copy.staticType = node.staticType; | 10620 copy.staticType = node.staticType; |
| 10169 return copy; | 10621 return copy; |
| 10170 } | 10622 } |
| 10171 | 10623 |
| 10172 @override | 10624 @override |
| 10173 SuperConstructorInvocation visitSuperConstructorInvocation( | 10625 SuperConstructorInvocation visitSuperConstructorInvocation( |
| 10174 SuperConstructorInvocation node) { | 10626 SuperConstructorInvocation node) { |
| 10175 SuperConstructorInvocation copy = new SuperConstructorInvocation( | 10627 SuperConstructorInvocation copy = new SuperConstructorInvocation( |
| 10176 _mapToken(node.superKeyword), _mapToken(node.period), | 10628 _mapToken(node.superKeyword), |
| 10177 _cloneNode(node.constructorName), _cloneNode(node.argumentList)); | 10629 _mapToken(node.period), |
| 10630 _cloneNode(node.constructorName), |
| 10631 _cloneNode(node.argumentList)); |
| 10178 copy.staticElement = node.staticElement; | 10632 copy.staticElement = node.staticElement; |
| 10179 return copy; | 10633 return copy; |
| 10180 } | 10634 } |
| 10181 | 10635 |
| 10182 @override | 10636 @override |
| 10183 SuperExpression visitSuperExpression(SuperExpression node) { | 10637 SuperExpression visitSuperExpression(SuperExpression node) { |
| 10184 SuperExpression copy = new SuperExpression(_mapToken(node.superKeyword)); | 10638 SuperExpression copy = new SuperExpression(_mapToken(node.superKeyword)); |
| 10185 copy.propagatedType = node.propagatedType; | 10639 copy.propagatedType = node.propagatedType; |
| 10186 copy.staticType = node.staticType; | 10640 copy.staticType = node.staticType; |
| 10187 return copy; | 10641 return copy; |
| 10188 } | 10642 } |
| 10189 | 10643 |
| 10190 @override | 10644 @override |
| 10191 SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase( | 10645 SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase( |
| 10192 _cloneNodeList(node.labels), _mapToken(node.keyword), | 10646 _cloneNodeList(node.labels), |
| 10193 _cloneNode(node.expression), _mapToken(node.colon), | 10647 _mapToken(node.keyword), |
| 10648 _cloneNode(node.expression), |
| 10649 _mapToken(node.colon), |
| 10194 _cloneNodeList(node.statements)); | 10650 _cloneNodeList(node.statements)); |
| 10195 | 10651 |
| 10196 @override | 10652 @override |
| 10197 SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault( | 10653 SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault( |
| 10198 _cloneNodeList(node.labels), _mapToken(node.keyword), | 10654 _cloneNodeList(node.labels), |
| 10199 _mapToken(node.colon), _cloneNodeList(node.statements)); | 10655 _mapToken(node.keyword), |
| 10656 _mapToken(node.colon), |
| 10657 _cloneNodeList(node.statements)); |
| 10200 | 10658 |
| 10201 @override | 10659 @override |
| 10202 SwitchStatement visitSwitchStatement(SwitchStatement node) => | 10660 SwitchStatement visitSwitchStatement(SwitchStatement node) => |
| 10203 new SwitchStatement(_mapToken(node.switchKeyword), | 10661 new SwitchStatement( |
| 10204 _mapToken(node.leftParenthesis), _cloneNode(node.expression), | 10662 _mapToken(node.switchKeyword), |
| 10205 _mapToken(node.rightParenthesis), _mapToken(node.leftBracket), | 10663 _mapToken(node.leftParenthesis), |
| 10206 _cloneNodeList(node.members), _mapToken(node.rightBracket)); | 10664 _cloneNode(node.expression), |
| 10665 _mapToken(node.rightParenthesis), |
| 10666 _mapToken(node.leftBracket), |
| 10667 _cloneNodeList(node.members), |
| 10668 _mapToken(node.rightBracket)); |
| 10207 | 10669 |
| 10208 @override | 10670 @override |
| 10209 AstNode visitSymbolLiteral(SymbolLiteral node) { | 10671 AstNode visitSymbolLiteral(SymbolLiteral node) { |
| 10210 SymbolLiteral copy = new SymbolLiteral( | 10672 SymbolLiteral copy = new SymbolLiteral( |
| 10211 _mapToken(node.poundSign), _mapTokens(node.components)); | 10673 _mapToken(node.poundSign), _mapTokens(node.components)); |
| 10212 copy.propagatedType = node.propagatedType; | 10674 copy.propagatedType = node.propagatedType; |
| 10213 copy.staticType = node.staticType; | 10675 copy.staticType = node.staticType; |
| 10214 return copy; | 10676 return copy; |
| 10215 } | 10677 } |
| 10216 | 10678 |
| 10217 @override | 10679 @override |
| 10218 ThisExpression visitThisExpression(ThisExpression node) { | 10680 ThisExpression visitThisExpression(ThisExpression node) { |
| 10219 ThisExpression copy = new ThisExpression(_mapToken(node.thisKeyword)); | 10681 ThisExpression copy = new ThisExpression(_mapToken(node.thisKeyword)); |
| 10220 copy.propagatedType = node.propagatedType; | 10682 copy.propagatedType = node.propagatedType; |
| 10221 copy.staticType = node.staticType; | 10683 copy.staticType = node.staticType; |
| 10222 return copy; | 10684 return copy; |
| 10223 } | 10685 } |
| 10224 | 10686 |
| 10225 @override | 10687 @override |
| 10226 ThrowExpression visitThrowExpression(ThrowExpression node) { | 10688 ThrowExpression visitThrowExpression(ThrowExpression node) { |
| 10227 ThrowExpression copy = new ThrowExpression( | 10689 ThrowExpression copy = new ThrowExpression( |
| 10228 _mapToken(node.throwKeyword), _cloneNode(node.expression)); | 10690 _mapToken(node.throwKeyword), _cloneNode(node.expression)); |
| 10229 copy.propagatedType = node.propagatedType; | 10691 copy.propagatedType = node.propagatedType; |
| 10230 copy.staticType = node.staticType; | 10692 copy.staticType = node.staticType; |
| 10231 return copy; | 10693 return copy; |
| 10232 } | 10694 } |
| 10233 | 10695 |
| 10234 @override | 10696 @override |
| 10235 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( | 10697 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( |
| 10236 TopLevelVariableDeclaration node) => new TopLevelVariableDeclaration( | 10698 TopLevelVariableDeclaration node) => |
| 10237 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10699 new TopLevelVariableDeclaration( |
| 10238 _cloneNode(node.variables), _mapToken(node.semicolon)); | 10700 _cloneNode(node.documentationComment), |
| 10701 _cloneNodeList(node.metadata), |
| 10702 _cloneNode(node.variables), |
| 10703 _mapToken(node.semicolon)); |
| 10239 | 10704 |
| 10240 @override | 10705 @override |
| 10241 TryStatement visitTryStatement(TryStatement node) => new TryStatement( | 10706 TryStatement visitTryStatement(TryStatement node) => new TryStatement( |
| 10242 _mapToken(node.tryKeyword), _cloneNode(node.body), | 10707 _mapToken(node.tryKeyword), |
| 10243 _cloneNodeList(node.catchClauses), _mapToken(node.finallyKeyword), | 10708 _cloneNode(node.body), |
| 10709 _cloneNodeList(node.catchClauses), |
| 10710 _mapToken(node.finallyKeyword), |
| 10244 _cloneNode(node.finallyBlock)); | 10711 _cloneNode(node.finallyBlock)); |
| 10245 | 10712 |
| 10246 @override | 10713 @override |
| 10247 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => | 10714 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => |
| 10248 new TypeArgumentList(_mapToken(node.leftBracket), | 10715 new TypeArgumentList(_mapToken(node.leftBracket), |
| 10249 _cloneNodeList(node.arguments), _mapToken(node.rightBracket)); | 10716 _cloneNodeList(node.arguments), _mapToken(node.rightBracket)); |
| 10250 | 10717 |
| 10251 @override | 10718 @override |
| 10252 TypeName visitTypeName(TypeName node) { | 10719 TypeName visitTypeName(TypeName node) { |
| 10253 TypeName copy = | 10720 TypeName copy = |
| 10254 new TypeName(_cloneNode(node.name), _cloneNode(node.typeArguments)); | 10721 new TypeName(_cloneNode(node.name), _cloneNode(node.typeArguments)); |
| 10255 copy.type = node.type; | 10722 copy.type = node.type; |
| 10256 return copy; | 10723 return copy; |
| 10257 } | 10724 } |
| 10258 | 10725 |
| 10259 @override | 10726 @override |
| 10260 TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter( | 10727 TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter( |
| 10261 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10728 _cloneNode(node.documentationComment), |
| 10262 _cloneNode(node.name), _mapToken(node.extendsKeyword), | 10729 _cloneNodeList(node.metadata), |
| 10730 _cloneNode(node.name), |
| 10731 _mapToken(node.extendsKeyword), |
| 10263 _cloneNode(node.bound)); | 10732 _cloneNode(node.bound)); |
| 10264 | 10733 |
| 10265 @override | 10734 @override |
| 10266 TypeParameterList visitTypeParameterList(TypeParameterList node) => | 10735 TypeParameterList visitTypeParameterList(TypeParameterList node) => |
| 10267 new TypeParameterList(_mapToken(node.leftBracket), | 10736 new TypeParameterList(_mapToken(node.leftBracket), |
| 10268 _cloneNodeList(node.typeParameters), _mapToken(node.rightBracket)); | 10737 _cloneNodeList(node.typeParameters), _mapToken(node.rightBracket)); |
| 10269 | 10738 |
| 10270 @override | 10739 @override |
| 10271 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => | 10740 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => |
| 10272 new VariableDeclaration(_cloneNode(node.name), _mapToken(node.equals), | 10741 new VariableDeclaration(_cloneNode(node.name), _mapToken(node.equals), |
| 10273 _cloneNode(node.initializer)); | 10742 _cloneNode(node.initializer)); |
| 10274 | 10743 |
| 10275 @override | 10744 @override |
| 10276 VariableDeclarationList visitVariableDeclarationList( | 10745 VariableDeclarationList visitVariableDeclarationList( |
| 10277 VariableDeclarationList node) => new VariableDeclarationList(null, | 10746 VariableDeclarationList node) => |
| 10278 _cloneNodeList(node.metadata), _mapToken(node.keyword), | 10747 new VariableDeclarationList( |
| 10279 _cloneNode(node.type), _cloneNodeList(node.variables)); | 10748 null, |
| 10749 _cloneNodeList(node.metadata), |
| 10750 _mapToken(node.keyword), |
| 10751 _cloneNode(node.type), |
| 10752 _cloneNodeList(node.variables)); |
| 10280 | 10753 |
| 10281 @override | 10754 @override |
| 10282 VariableDeclarationStatement visitVariableDeclarationStatement( | 10755 VariableDeclarationStatement visitVariableDeclarationStatement( |
| 10283 VariableDeclarationStatement node) => new VariableDeclarationStatement( | 10756 VariableDeclarationStatement node) => |
| 10284 _cloneNode(node.variables), _mapToken(node.semicolon)); | 10757 new VariableDeclarationStatement( |
| 10758 _cloneNode(node.variables), _mapToken(node.semicolon)); |
| 10285 | 10759 |
| 10286 @override | 10760 @override |
| 10287 WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement( | 10761 WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement( |
| 10288 _mapToken(node.whileKeyword), _mapToken(node.leftParenthesis), | 10762 _mapToken(node.whileKeyword), |
| 10289 _cloneNode(node.condition), _mapToken(node.rightParenthesis), | 10763 _mapToken(node.leftParenthesis), |
| 10764 _cloneNode(node.condition), |
| 10765 _mapToken(node.rightParenthesis), |
| 10290 _cloneNode(node.body)); | 10766 _cloneNode(node.body)); |
| 10291 | 10767 |
| 10292 @override | 10768 @override |
| 10293 WithClause visitWithClause(WithClause node) => new WithClause( | 10769 WithClause visitWithClause(WithClause node) => new WithClause( |
| 10294 _mapToken(node.withKeyword), _cloneNodeList(node.mixinTypes)); | 10770 _mapToken(node.withKeyword), _cloneNodeList(node.mixinTypes)); |
| 10295 | 10771 |
| 10296 @override | 10772 @override |
| 10297 YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement( | 10773 YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement( |
| 10298 _mapToken(node.yieldKeyword), _mapToken(node.star), | 10774 _mapToken(node.yieldKeyword), |
| 10299 _cloneNode(node.expression), _mapToken(node.semicolon)); | 10775 _mapToken(node.star), |
| 10776 _cloneNode(node.expression), |
| 10777 _mapToken(node.semicolon)); |
| 10300 | 10778 |
| 10301 AstNode _cloneNode(AstNode node) { | 10779 AstNode _cloneNode(AstNode node) { |
| 10302 if (node == null) { | 10780 if (node == null) { |
| 10303 return null; | 10781 return null; |
| 10304 } | 10782 } |
| 10305 if (identical(node, _oldNode)) { | 10783 if (identical(node, _oldNode)) { |
| 10306 return _newNode; | 10784 return _newNode; |
| 10307 } | 10785 } |
| 10308 return node.accept(this) as AstNode; | 10786 return node.accept(this) as AstNode; |
| 10309 } | 10787 } |
| (...skipping 1262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11572 * Initialize a newly created method declaration. Either or both of the | 12050 * Initialize a newly created method declaration. Either or both of the |
| 11573 * [comment] and [metadata] can be `null` if the declaration does not have the | 12051 * [comment] and [metadata] can be `null` if the declaration does not have the |
| 11574 * corresponding attribute. The [externalKeyword] can be `null` if the method | 12052 * corresponding attribute. The [externalKeyword] can be `null` if the method |
| 11575 * is not external. The [modifierKeyword] can be `null` if the method is | 12053 * is not external. The [modifierKeyword] can be `null` if the method is |
| 11576 * neither abstract nor static. The [returnType] can be `null` if no return | 12054 * neither abstract nor static. The [returnType] can be `null` if no return |
| 11577 * type was specified. The [propertyKeyword] can be `null` if the method is | 12055 * type was specified. The [propertyKeyword] can be `null` if the method is |
| 11578 * neither a getter or a setter. The [operatorKeyword] can be `null` if the | 12056 * neither a getter or a setter. The [operatorKeyword] can be `null` if the |
| 11579 * method does not implement an operator. The [parameters] must be `null` if | 12057 * method does not implement an operator. The [parameters] must be `null` if |
| 11580 * this method declares a getter. | 12058 * this method declares a getter. |
| 11581 */ | 12059 */ |
| 11582 MethodDeclaration(Comment comment, List<Annotation> metadata, | 12060 MethodDeclaration( |
| 11583 this.externalKeyword, this.modifierKeyword, TypeName returnType, | 12061 Comment comment, |
| 11584 this.propertyKeyword, this.operatorKeyword, SimpleIdentifier name, | 12062 List<Annotation> metadata, |
| 11585 TypeParameterList typeParameters, FormalParameterList parameters, | 12063 this.externalKeyword, |
| 12064 this.modifierKeyword, |
| 12065 TypeName returnType, |
| 12066 this.propertyKeyword, |
| 12067 this.operatorKeyword, |
| 12068 SimpleIdentifier name, |
| 12069 TypeParameterList typeParameters, |
| 12070 FormalParameterList parameters, |
| 11586 FunctionBody body) | 12071 FunctionBody body) |
| 11587 : super(comment, metadata) { | 12072 : super(comment, metadata) { |
| 11588 _returnType = _becomeParentOf(returnType); | 12073 _returnType = _becomeParentOf(returnType); |
| 11589 _name = _becomeParentOf(name); | 12074 _name = _becomeParentOf(name); |
| 11590 _typeParameters = _becomeParentOf(typeParameters); | 12075 _typeParameters = _becomeParentOf(typeParameters); |
| 11591 _parameters = _becomeParentOf(parameters); | 12076 _parameters = _becomeParentOf(parameters); |
| 11592 _body = _becomeParentOf(body); | 12077 _body = _becomeParentOf(body); |
| 11593 } | 12078 } |
| 11594 | 12079 |
| 11595 /** | 12080 /** |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11779 | 12264 |
| 11780 /** | 12265 /** |
| 11781 * The list of arguments to the method. | 12266 * The list of arguments to the method. |
| 11782 */ | 12267 */ |
| 11783 ArgumentList _argumentList; | 12268 ArgumentList _argumentList; |
| 11784 | 12269 |
| 11785 /** | 12270 /** |
| 11786 * Initialize a newly created method invocation. The [target] and [operator] | 12271 * Initialize a newly created method invocation. The [target] and [operator] |
| 11787 * can be `null` if there is no target. | 12272 * can be `null` if there is no target. |
| 11788 */ | 12273 */ |
| 11789 MethodInvocation(Expression target, this.operator, | 12274 MethodInvocation( |
| 11790 SimpleIdentifier methodName, TypeArgumentList typeArguments, | 12275 Expression target, |
| 12276 this.operator, |
| 12277 SimpleIdentifier methodName, |
| 12278 TypeArgumentList typeArguments, |
| 11791 ArgumentList argumentList) { | 12279 ArgumentList argumentList) { |
| 11792 _target = _becomeParentOf(target); | 12280 _target = _becomeParentOf(target); |
| 11793 _methodName = _becomeParentOf(methodName); | 12281 _methodName = _becomeParentOf(methodName); |
| 11794 _typeArguments = _becomeParentOf(typeArguments); | 12282 _typeArguments = _becomeParentOf(typeArguments); |
| 11795 _argumentList = _becomeParentOf(argumentList); | 12283 _argumentList = _becomeParentOf(argumentList); |
| 11796 } | 12284 } |
| 11797 | 12285 |
| 11798 /** | 12286 /** |
| 11799 * Return the list of arguments to the method. | 12287 * Return the list of arguments to the method. |
| 11800 */ | 12288 */ |
| (...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12580 } | 13068 } |
| 12581 return visitNode(node); | 13069 return visitNode(node); |
| 12582 } | 13070 } |
| 12583 | 13071 |
| 12584 @override | 13072 @override |
| 12585 bool visitAssertStatement(AssertStatement node) { | 13073 bool visitAssertStatement(AssertStatement node) { |
| 12586 if (identical(node.condition, _oldNode)) { | 13074 if (identical(node.condition, _oldNode)) { |
| 12587 node.condition = _newNode as Expression; | 13075 node.condition = _newNode as Expression; |
| 12588 return true; | 13076 return true; |
| 12589 } | 13077 } |
| 13078 if (identical(node._message, _oldNode)) { |
| 13079 node.message = _newNode as Expression; |
| 13080 return true; |
| 13081 } |
| 12590 return visitNode(node); | 13082 return visitNode(node); |
| 12591 } | 13083 } |
| 12592 | 13084 |
| 12593 @override | 13085 @override |
| 12594 bool visitAssignmentExpression(AssignmentExpression node) { | 13086 bool visitAssignmentExpression(AssignmentExpression node) { |
| 12595 if (identical(node.leftHandSide, _oldNode)) { | 13087 if (identical(node.leftHandSide, _oldNode)) { |
| 12596 node.leftHandSide = _newNode as Expression; | 13088 node.leftHandSide = _newNode as Expression; |
| 12597 return true; | 13089 return true; |
| 12598 } else if (identical(node.rightHandSide, _oldNode)) { | 13090 } else if (identical(node.rightHandSide, _oldNode)) { |
| 12599 node.rightHandSide = _newNode as Expression; | 13091 node.rightHandSide = _newNode as Expression; |
| (...skipping 3407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16007 R visitPrefixedIdentifier(PrefixedIdentifier node) => null; | 16499 R visitPrefixedIdentifier(PrefixedIdentifier node) => null; |
| 16008 | 16500 |
| 16009 @override | 16501 @override |
| 16010 R visitPrefixExpression(PrefixExpression node) => null; | 16502 R visitPrefixExpression(PrefixExpression node) => null; |
| 16011 | 16503 |
| 16012 @override | 16504 @override |
| 16013 R visitPropertyAccess(PropertyAccess node) => null; | 16505 R visitPropertyAccess(PropertyAccess node) => null; |
| 16014 | 16506 |
| 16015 @override | 16507 @override |
| 16016 R visitRedirectingConstructorInvocation( | 16508 R visitRedirectingConstructorInvocation( |
| 16017 RedirectingConstructorInvocation node) => null; | 16509 RedirectingConstructorInvocation node) => |
| 16510 null; |
| 16018 | 16511 |
| 16019 @override | 16512 @override |
| 16020 R visitRethrowExpression(RethrowExpression node) => null; | 16513 R visitRethrowExpression(RethrowExpression node) => null; |
| 16021 | 16514 |
| 16022 @override | 16515 @override |
| 16023 R visitReturnStatement(ReturnStatement node) => null; | 16516 R visitReturnStatement(ReturnStatement node) => null; |
| 16024 | 16517 |
| 16025 @override | 16518 @override |
| 16026 R visitScriptTag(ScriptTag node) => null; | 16519 R visitScriptTag(ScriptTag node) => null; |
| 16027 | 16520 |
| (...skipping 1200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 17228 | 17721 |
| 17229 /** | 17722 /** |
| 17230 * The right curly bracket. | 17723 * The right curly bracket. |
| 17231 */ | 17724 */ |
| 17232 Token rightBracket; | 17725 Token rightBracket; |
| 17233 | 17726 |
| 17234 /** | 17727 /** |
| 17235 * Initialize a newly created switch statement. The list of [members] can be | 17728 * Initialize a newly created switch statement. The list of [members] can be |
| 17236 * `null` if there are no switch members. | 17729 * `null` if there are no switch members. |
| 17237 */ | 17730 */ |
| 17238 SwitchStatement(this.switchKeyword, this.leftParenthesis, | 17731 SwitchStatement( |
| 17239 Expression expression, this.rightParenthesis, this.leftBracket, | 17732 this.switchKeyword, |
| 17240 List<SwitchMember> members, this.rightBracket) { | 17733 this.leftParenthesis, |
| 17734 Expression expression, |
| 17735 this.rightParenthesis, |
| 17736 this.leftBracket, |
| 17737 List<SwitchMember> members, |
| 17738 this.rightBracket) { |
| 17241 _expression = _becomeParentOf(expression); | 17739 _expression = _becomeParentOf(expression); |
| 17242 _members = new NodeList<SwitchMember>(this, members); | 17740 _members = new NodeList<SwitchMember>(this, members); |
| 17243 } | 17741 } |
| 17244 | 17742 |
| 17245 @override | 17743 @override |
| 17246 Token get beginToken => switchKeyword; | 17744 Token get beginToken => switchKeyword; |
| 17247 | 17745 |
| 17248 @override | 17746 @override |
| 17249 Iterable get childEntities => new ChildEntities() | 17747 Iterable get childEntities => new ChildEntities() |
| 17250 ..add(switchKeyword) | 17748 ..add(switchKeyword) |
| (...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 17585 _visitNode(node.expression); | 18083 _visitNode(node.expression); |
| 17586 _writer.print(" as "); | 18084 _writer.print(" as "); |
| 17587 _visitNode(node.type); | 18085 _visitNode(node.type); |
| 17588 return null; | 18086 return null; |
| 17589 } | 18087 } |
| 17590 | 18088 |
| 17591 @override | 18089 @override |
| 17592 Object visitAssertStatement(AssertStatement node) { | 18090 Object visitAssertStatement(AssertStatement node) { |
| 17593 _writer.print("assert ("); | 18091 _writer.print("assert ("); |
| 17594 _visitNode(node.condition); | 18092 _visitNode(node.condition); |
| 18093 if (node.message != null) { |
| 18094 _writer.print(', '); |
| 18095 _visitNode(node.message); |
| 18096 } |
| 17595 _writer.print(");"); | 18097 _writer.print(");"); |
| 17596 return null; | 18098 return null; |
| 17597 } | 18099 } |
| 17598 | 18100 |
| 17599 @override | 18101 @override |
| 17600 Object visitAssignmentExpression(AssignmentExpression node) { | 18102 Object visitAssignmentExpression(AssignmentExpression node) { |
| 17601 _visitNode(node.leftHandSide); | 18103 _visitNode(node.leftHandSide); |
| 17602 _writer.print(' '); | 18104 _writer.print(' '); |
| 17603 _writer.print(node.operator.lexeme); | 18105 _writer.print(node.operator.lexeme); |
| 17604 _writer.print(' '); | 18106 _writer.print(' '); |
| (...skipping 1846 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 19451 R visitPrefixedIdentifier(PrefixedIdentifier node) => visitNode(node); | 19953 R visitPrefixedIdentifier(PrefixedIdentifier node) => visitNode(node); |
| 19452 | 19954 |
| 19453 @override | 19955 @override |
| 19454 R visitPrefixExpression(PrefixExpression node) => visitNode(node); | 19956 R visitPrefixExpression(PrefixExpression node) => visitNode(node); |
| 19455 | 19957 |
| 19456 @override | 19958 @override |
| 19457 R visitPropertyAccess(PropertyAccess node) => visitNode(node); | 19959 R visitPropertyAccess(PropertyAccess node) => visitNode(node); |
| 19458 | 19960 |
| 19459 @override | 19961 @override |
| 19460 R visitRedirectingConstructorInvocation( | 19962 R visitRedirectingConstructorInvocation( |
| 19461 RedirectingConstructorInvocation node) => visitNode(node); | 19963 RedirectingConstructorInvocation node) => |
| 19964 visitNode(node); |
| 19462 | 19965 |
| 19463 @override | 19966 @override |
| 19464 R visitRethrowExpression(RethrowExpression node) => visitNode(node); | 19967 R visitRethrowExpression(RethrowExpression node) => visitNode(node); |
| 19465 | 19968 |
| 19466 @override | 19969 @override |
| 19467 R visitReturnStatement(ReturnStatement node) => visitNode(node); | 19970 R visitReturnStatement(ReturnStatement node) => visitNode(node); |
| 19468 | 19971 |
| 19469 @override | 19972 @override |
| 19470 R visitScriptTag(ScriptTag scriptTag) => visitNode(scriptTag); | 19973 R visitScriptTag(ScriptTag scriptTag) => visitNode(scriptTag); |
| 19471 | 19974 |
| (...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 20205 } | 20708 } |
| 20206 | 20709 |
| 20207 @override | 20710 @override |
| 20208 accept(AstVisitor visitor) => visitor.visitYieldStatement(this); | 20711 accept(AstVisitor visitor) => visitor.visitYieldStatement(this); |
| 20209 | 20712 |
| 20210 @override | 20713 @override |
| 20211 void visitChildren(AstVisitor visitor) { | 20714 void visitChildren(AstVisitor visitor) { |
| 20212 _safelyVisitChild(_expression, visitor); | 20715 _safelyVisitChild(_expression, visitor); |
| 20213 } | 20716 } |
| 20214 } | 20717 } |
| OLD | NEW |