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 945 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
956 * A flag indicating whether tokens should be cloned while cloning an AST | 956 * A flag indicating whether tokens should be cloned while cloning an AST |
957 * structure. | 957 * structure. |
958 */ | 958 */ |
959 final bool cloneTokens; | 959 final bool cloneTokens; |
960 | 960 |
961 /** | 961 /** |
962 * Initialize a newly created AST cloner to optionally clone tokens while | 962 * Initialize a newly created AST cloner to optionally clone tokens while |
963 * cloning AST nodes if [cloneTokens] is `true`. | 963 * cloning AST nodes if [cloneTokens] is `true`. |
964 */ | 964 */ |
965 AstCloner( | 965 AstCloner( |
966 [this.cloneTokens = false]); // TODO(brianwilkerson) Change this to be a n
amed parameter. | 966 [this.cloneTokens = |
| 967 false]); // TODO(brianwilkerson) Change this to be a named parameter. |
967 | 968 |
968 /** | 969 /** |
969 * Return a clone of the given [node]. | 970 * Return a clone of the given [node]. |
970 */ | 971 */ |
971 AstNode cloneNode(AstNode node) { | 972 AstNode cloneNode(AstNode node) { |
972 if (node == null) { | 973 if (node == null) { |
973 return null; | 974 return null; |
974 } | 975 } |
975 return node.accept(this) as AstNode; | 976 return node.accept(this) as AstNode; |
976 } | 977 } |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1008 } | 1009 } |
1009 return tokens; | 1010 return tokens; |
1010 } | 1011 } |
1011 | 1012 |
1012 @override | 1013 @override |
1013 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => | 1014 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => |
1014 new AdjacentStrings(cloneNodeList(node.strings)); | 1015 new AdjacentStrings(cloneNodeList(node.strings)); |
1015 | 1016 |
1016 @override | 1017 @override |
1017 Annotation visitAnnotation(Annotation node) => new Annotation( | 1018 Annotation visitAnnotation(Annotation node) => new Annotation( |
1018 cloneToken(node.atSign), cloneNode(node.name), cloneToken(node.period), | 1019 cloneToken(node.atSign), |
1019 cloneNode(node.constructorName), cloneNode(node.arguments)); | 1020 cloneNode(node.name), |
| 1021 cloneToken(node.period), |
| 1022 cloneNode(node.constructorName), |
| 1023 cloneNode(node.arguments)); |
1020 | 1024 |
1021 @override | 1025 @override |
1022 ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList( | 1026 ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList( |
1023 cloneToken(node.leftParenthesis), cloneNodeList(node.arguments), | 1027 cloneToken(node.leftParenthesis), |
| 1028 cloneNodeList(node.arguments), |
1024 cloneToken(node.rightParenthesis)); | 1029 cloneToken(node.rightParenthesis)); |
1025 | 1030 |
1026 @override | 1031 @override |
1027 AsExpression visitAsExpression(AsExpression node) => new AsExpression( | 1032 AsExpression visitAsExpression(AsExpression node) => new AsExpression( |
1028 cloneNode(node.expression), cloneToken(node.asOperator), | 1033 cloneNode(node.expression), |
| 1034 cloneToken(node.asOperator), |
1029 cloneNode(node.type)); | 1035 cloneNode(node.type)); |
1030 | 1036 |
1031 @override | 1037 @override |
1032 AstNode visitAssertStatement(AssertStatement node) => new AssertStatement( | 1038 AstNode visitAssertStatement(AssertStatement node) => new AssertStatement( |
1033 cloneToken(node.assertKeyword), cloneToken(node.leftParenthesis), | 1039 cloneToken(node.assertKeyword), |
1034 cloneNode(node.condition), cloneToken(node.rightParenthesis), | 1040 cloneToken(node.leftParenthesis), |
| 1041 cloneNode(node.condition), |
| 1042 cloneToken(node.rightParenthesis), |
1035 cloneToken(node.semicolon)); | 1043 cloneToken(node.semicolon)); |
1036 | 1044 |
1037 @override | 1045 @override |
1038 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) => | 1046 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) => |
1039 new AssignmentExpression(cloneNode(node.leftHandSide), | 1047 new AssignmentExpression(cloneNode(node.leftHandSide), |
1040 cloneToken(node.operator), cloneNode(node.rightHandSide)); | 1048 cloneToken(node.operator), cloneNode(node.rightHandSide)); |
1041 | 1049 |
1042 @override | 1050 @override |
1043 AwaitExpression visitAwaitExpression(AwaitExpression node) => | 1051 AwaitExpression visitAwaitExpression(AwaitExpression node) => |
1044 new AwaitExpression( | 1052 new AwaitExpression( |
1045 cloneToken(node.awaitKeyword), cloneNode(node.expression)); | 1053 cloneToken(node.awaitKeyword), cloneNode(node.expression)); |
1046 | 1054 |
1047 @override | 1055 @override |
1048 BinaryExpression visitBinaryExpression(BinaryExpression node) => | 1056 BinaryExpression visitBinaryExpression(BinaryExpression node) => |
1049 new BinaryExpression(cloneNode(node.leftOperand), | 1057 new BinaryExpression(cloneNode(node.leftOperand), |
1050 cloneToken(node.operator), cloneNode(node.rightOperand)); | 1058 cloneToken(node.operator), cloneNode(node.rightOperand)); |
1051 | 1059 |
1052 @override | 1060 @override |
1053 Block visitBlock(Block node) => new Block(cloneToken(node.leftBracket), | 1061 Block visitBlock(Block node) => new Block(cloneToken(node.leftBracket), |
1054 cloneNodeList(node.statements), cloneToken(node.rightBracket)); | 1062 cloneNodeList(node.statements), cloneToken(node.rightBracket)); |
1055 | 1063 |
1056 @override | 1064 @override |
1057 BlockFunctionBody visitBlockFunctionBody( | 1065 BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) => |
1058 BlockFunctionBody node) => new BlockFunctionBody( | 1066 new BlockFunctionBody(cloneToken(node.keyword), cloneToken(node.star), |
1059 cloneToken(node.keyword), cloneToken(node.star), cloneNode(node.block)); | 1067 cloneNode(node.block)); |
1060 | 1068 |
1061 @override | 1069 @override |
1062 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) => | 1070 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) => |
1063 new BooleanLiteral(cloneToken(node.literal), node.value); | 1071 new BooleanLiteral(cloneToken(node.literal), node.value); |
1064 | 1072 |
1065 @override | 1073 @override |
1066 BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement( | 1074 BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement( |
1067 cloneToken(node.breakKeyword), cloneNode(node.label), | 1075 cloneToken(node.breakKeyword), |
| 1076 cloneNode(node.label), |
1068 cloneToken(node.semicolon)); | 1077 cloneToken(node.semicolon)); |
1069 | 1078 |
1070 @override | 1079 @override |
1071 CascadeExpression visitCascadeExpression(CascadeExpression node) => | 1080 CascadeExpression visitCascadeExpression(CascadeExpression node) => |
1072 new CascadeExpression( | 1081 new CascadeExpression( |
1073 cloneNode(node.target), cloneNodeList(node.cascadeSections)); | 1082 cloneNode(node.target), cloneNodeList(node.cascadeSections)); |
1074 | 1083 |
1075 @override | 1084 @override |
1076 CatchClause visitCatchClause(CatchClause node) => new CatchClause( | 1085 CatchClause visitCatchClause(CatchClause node) => new CatchClause( |
1077 cloneToken(node.onKeyword), cloneNode(node.exceptionType), | 1086 cloneToken(node.onKeyword), |
1078 cloneToken(node.catchKeyword), cloneToken(node.leftParenthesis), | 1087 cloneNode(node.exceptionType), |
1079 cloneNode(node.exceptionParameter), cloneToken(node.comma), | 1088 cloneToken(node.catchKeyword), |
1080 cloneNode(node.stackTraceParameter), cloneToken(node.rightParenthesis), | 1089 cloneToken(node.leftParenthesis), |
| 1090 cloneNode(node.exceptionParameter), |
| 1091 cloneToken(node.comma), |
| 1092 cloneNode(node.stackTraceParameter), |
| 1093 cloneToken(node.rightParenthesis), |
1081 cloneNode(node.body)); | 1094 cloneNode(node.body)); |
1082 | 1095 |
1083 @override | 1096 @override |
1084 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { | 1097 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { |
1085 ClassDeclaration copy = new ClassDeclaration( | 1098 ClassDeclaration copy = new ClassDeclaration( |
1086 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1099 cloneNode(node.documentationComment), |
1087 cloneToken(node.abstractKeyword), cloneToken(node.classKeyword), | 1100 cloneNodeList(node.metadata), |
1088 cloneNode(node.name), cloneNode(node.typeParameters), | 1101 cloneToken(node.abstractKeyword), |
1089 cloneNode(node.extendsClause), cloneNode(node.withClause), | 1102 cloneToken(node.classKeyword), |
1090 cloneNode(node.implementsClause), cloneToken(node.leftBracket), | 1103 cloneNode(node.name), |
1091 cloneNodeList(node.members), cloneToken(node.rightBracket)); | 1104 cloneNode(node.typeParameters), |
| 1105 cloneNode(node.extendsClause), |
| 1106 cloneNode(node.withClause), |
| 1107 cloneNode(node.implementsClause), |
| 1108 cloneToken(node.leftBracket), |
| 1109 cloneNodeList(node.members), |
| 1110 cloneToken(node.rightBracket)); |
1092 copy.nativeClause = cloneNode(node.nativeClause); | 1111 copy.nativeClause = cloneNode(node.nativeClause); |
1093 return copy; | 1112 return copy; |
1094 } | 1113 } |
1095 | 1114 |
1096 @override | 1115 @override |
1097 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => new ClassTypeAlias( | 1116 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => new ClassTypeAlias( |
1098 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1117 cloneNode(node.documentationComment), |
1099 cloneToken(node.typedefKeyword), cloneNode(node.name), | 1118 cloneNodeList(node.metadata), |
1100 cloneNode(node.typeParameters), cloneToken(node.equals), | 1119 cloneToken(node.typedefKeyword), |
1101 cloneToken(node.abstractKeyword), cloneNode(node.superclass), | 1120 cloneNode(node.name), |
1102 cloneNode(node.withClause), cloneNode(node.implementsClause), | 1121 cloneNode(node.typeParameters), |
| 1122 cloneToken(node.equals), |
| 1123 cloneToken(node.abstractKeyword), |
| 1124 cloneNode(node.superclass), |
| 1125 cloneNode(node.withClause), |
| 1126 cloneNode(node.implementsClause), |
1103 cloneToken(node.semicolon)); | 1127 cloneToken(node.semicolon)); |
1104 | 1128 |
1105 @override | 1129 @override |
1106 Comment visitComment(Comment node) { | 1130 Comment visitComment(Comment node) { |
1107 if (node.isDocumentation) { | 1131 if (node.isDocumentation) { |
1108 return Comment.createDocumentationCommentWithReferences( | 1132 return Comment.createDocumentationCommentWithReferences( |
1109 cloneTokenList(node.tokens), cloneNodeList(node.references)); | 1133 cloneTokenList(node.tokens), cloneNodeList(node.references)); |
1110 } else if (node.isBlock) { | 1134 } else if (node.isBlock) { |
1111 return Comment.createBlockComment(cloneTokenList(node.tokens)); | 1135 return Comment.createBlockComment(cloneTokenList(node.tokens)); |
1112 } | 1136 } |
1113 return Comment.createEndOfLineComment(cloneTokenList(node.tokens)); | 1137 return Comment.createEndOfLineComment(cloneTokenList(node.tokens)); |
1114 } | 1138 } |
1115 | 1139 |
1116 @override | 1140 @override |
1117 CommentReference visitCommentReference(CommentReference node) => | 1141 CommentReference visitCommentReference(CommentReference node) => |
1118 new CommentReference( | 1142 new CommentReference( |
1119 cloneToken(node.newKeyword), cloneNode(node.identifier)); | 1143 cloneToken(node.newKeyword), cloneNode(node.identifier)); |
1120 | 1144 |
1121 @override | 1145 @override |
1122 CompilationUnit visitCompilationUnit(CompilationUnit node) { | 1146 CompilationUnit visitCompilationUnit(CompilationUnit node) { |
1123 CompilationUnit clone = new CompilationUnit(cloneToken(node.beginToken), | 1147 CompilationUnit clone = new CompilationUnit( |
1124 cloneNode(node.scriptTag), cloneNodeList(node.directives), | 1148 cloneToken(node.beginToken), |
1125 cloneNodeList(node.declarations), cloneToken(node.endToken)); | 1149 cloneNode(node.scriptTag), |
| 1150 cloneNodeList(node.directives), |
| 1151 cloneNodeList(node.declarations), |
| 1152 cloneToken(node.endToken)); |
1126 clone.lineInfo = node.lineInfo; | 1153 clone.lineInfo = node.lineInfo; |
1127 return clone; | 1154 return clone; |
1128 } | 1155 } |
1129 | 1156 |
1130 @override | 1157 @override |
1131 ConditionalExpression visitConditionalExpression( | 1158 ConditionalExpression visitConditionalExpression( |
1132 ConditionalExpression node) => new ConditionalExpression( | 1159 ConditionalExpression node) => |
1133 cloneNode(node.condition), cloneToken(node.question), | 1160 new ConditionalExpression( |
1134 cloneNode(node.thenExpression), cloneToken(node.colon), | 1161 cloneNode(node.condition), |
1135 cloneNode(node.elseExpression)); | 1162 cloneToken(node.question), |
| 1163 cloneNode(node.thenExpression), |
| 1164 cloneToken(node.colon), |
| 1165 cloneNode(node.elseExpression)); |
1136 | 1166 |
1137 @override | 1167 @override |
1138 ConstructorDeclaration visitConstructorDeclaration( | 1168 ConstructorDeclaration visitConstructorDeclaration( |
1139 ConstructorDeclaration node) => new ConstructorDeclaration( | 1169 ConstructorDeclaration node) => |
1140 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1170 new ConstructorDeclaration( |
1141 cloneToken(node.externalKeyword), cloneToken(node.constKeyword), | 1171 cloneNode(node.documentationComment), |
1142 cloneToken(node.factoryKeyword), cloneNode(node.returnType), | 1172 cloneNodeList(node.metadata), |
1143 cloneToken(node.period), cloneNode(node.name), cloneNode(node.parameters), | 1173 cloneToken(node.externalKeyword), |
1144 cloneToken(node.separator), cloneNodeList(node.initializers), | 1174 cloneToken(node.constKeyword), |
1145 cloneNode(node.redirectedConstructor), cloneNode(node.body)); | 1175 cloneToken(node.factoryKeyword), |
| 1176 cloneNode(node.returnType), |
| 1177 cloneToken(node.period), |
| 1178 cloneNode(node.name), |
| 1179 cloneNode(node.parameters), |
| 1180 cloneToken(node.separator), |
| 1181 cloneNodeList(node.initializers), |
| 1182 cloneNode(node.redirectedConstructor), |
| 1183 cloneNode(node.body)); |
1146 | 1184 |
1147 @override | 1185 @override |
1148 ConstructorFieldInitializer visitConstructorFieldInitializer( | 1186 ConstructorFieldInitializer visitConstructorFieldInitializer( |
1149 ConstructorFieldInitializer node) => new ConstructorFieldInitializer( | 1187 ConstructorFieldInitializer node) => |
1150 cloneToken(node.thisKeyword), cloneToken(node.period), | 1188 new ConstructorFieldInitializer( |
1151 cloneNode(node.fieldName), cloneToken(node.equals), | 1189 cloneToken(node.thisKeyword), |
1152 cloneNode(node.expression)); | 1190 cloneToken(node.period), |
| 1191 cloneNode(node.fieldName), |
| 1192 cloneToken(node.equals), |
| 1193 cloneNode(node.expression)); |
1153 | 1194 |
1154 @override | 1195 @override |
1155 ConstructorName visitConstructorName(ConstructorName node) => | 1196 ConstructorName visitConstructorName(ConstructorName node) => |
1156 new ConstructorName( | 1197 new ConstructorName( |
1157 cloneNode(node.type), cloneToken(node.period), cloneNode(node.name)); | 1198 cloneNode(node.type), cloneToken(node.period), cloneNode(node.name)); |
1158 | 1199 |
1159 @override | 1200 @override |
1160 ContinueStatement visitContinueStatement(ContinueStatement node) => | 1201 ContinueStatement visitContinueStatement(ContinueStatement node) => |
1161 new ContinueStatement(cloneToken(node.continueKeyword), | 1202 new ContinueStatement(cloneToken(node.continueKeyword), |
1162 cloneNode(node.label), cloneToken(node.semicolon)); | 1203 cloneNode(node.label), cloneToken(node.semicolon)); |
1163 | 1204 |
1164 @override | 1205 @override |
1165 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => | 1206 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => |
1166 new DeclaredIdentifier(cloneNode(node.documentationComment), | 1207 new DeclaredIdentifier( |
1167 cloneNodeList(node.metadata), cloneToken(node.keyword), | 1208 cloneNode(node.documentationComment), |
1168 cloneNode(node.type), cloneNode(node.identifier)); | 1209 cloneNodeList(node.metadata), |
| 1210 cloneToken(node.keyword), |
| 1211 cloneNode(node.type), |
| 1212 cloneNode(node.identifier)); |
1169 | 1213 |
1170 @override | 1214 @override |
1171 DefaultFormalParameter visitDefaultFormalParameter( | 1215 DefaultFormalParameter visitDefaultFormalParameter( |
1172 DefaultFormalParameter node) => new DefaultFormalParameter( | 1216 DefaultFormalParameter node) => |
1173 cloneNode(node.parameter), node.kind, cloneToken(node.separator), | 1217 new DefaultFormalParameter(cloneNode(node.parameter), node.kind, |
1174 cloneNode(node.defaultValue)); | 1218 cloneToken(node.separator), cloneNode(node.defaultValue)); |
1175 | 1219 |
1176 @override | 1220 @override |
1177 DoStatement visitDoStatement(DoStatement node) => new DoStatement( | 1221 DoStatement visitDoStatement(DoStatement node) => new DoStatement( |
1178 cloneToken(node.doKeyword), cloneNode(node.body), | 1222 cloneToken(node.doKeyword), |
1179 cloneToken(node.whileKeyword), cloneToken(node.leftParenthesis), | 1223 cloneNode(node.body), |
1180 cloneNode(node.condition), cloneToken(node.rightParenthesis), | 1224 cloneToken(node.whileKeyword), |
| 1225 cloneToken(node.leftParenthesis), |
| 1226 cloneNode(node.condition), |
| 1227 cloneToken(node.rightParenthesis), |
1181 cloneToken(node.semicolon)); | 1228 cloneToken(node.semicolon)); |
1182 | 1229 |
1183 @override | 1230 @override |
1184 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) => | 1231 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) => |
1185 new DoubleLiteral(cloneToken(node.literal), node.value); | 1232 new DoubleLiteral(cloneToken(node.literal), node.value); |
1186 | 1233 |
1187 @override | 1234 @override |
1188 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => | 1235 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => |
1189 new EmptyFunctionBody(cloneToken(node.semicolon)); | 1236 new EmptyFunctionBody(cloneToken(node.semicolon)); |
1190 | 1237 |
1191 @override | 1238 @override |
1192 EmptyStatement visitEmptyStatement(EmptyStatement node) => | 1239 EmptyStatement visitEmptyStatement(EmptyStatement node) => |
1193 new EmptyStatement(cloneToken(node.semicolon)); | 1240 new EmptyStatement(cloneToken(node.semicolon)); |
1194 | 1241 |
1195 @override | 1242 @override |
1196 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => | 1243 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => |
1197 new EnumConstantDeclaration(cloneNode(node.documentationComment), | 1244 new EnumConstantDeclaration(cloneNode(node.documentationComment), |
1198 cloneNodeList(node.metadata), cloneNode(node.name)); | 1245 cloneNodeList(node.metadata), cloneNode(node.name)); |
1199 | 1246 |
1200 @override | 1247 @override |
1201 EnumDeclaration visitEnumDeclaration(EnumDeclaration node) => | 1248 EnumDeclaration visitEnumDeclaration(EnumDeclaration node) => |
1202 new EnumDeclaration(cloneNode(node.documentationComment), | 1249 new EnumDeclaration( |
1203 cloneNodeList(node.metadata), cloneToken(node.enumKeyword), | 1250 cloneNode(node.documentationComment), |
1204 cloneNode(node.name), cloneToken(node.leftBracket), | 1251 cloneNodeList(node.metadata), |
1205 cloneNodeList(node.constants), cloneToken(node.rightBracket)); | 1252 cloneToken(node.enumKeyword), |
| 1253 cloneNode(node.name), |
| 1254 cloneToken(node.leftBracket), |
| 1255 cloneNodeList(node.constants), |
| 1256 cloneToken(node.rightBracket)); |
1206 | 1257 |
1207 @override | 1258 @override |
1208 ExportDirective visitExportDirective(ExportDirective node) { | 1259 ExportDirective visitExportDirective(ExportDirective node) { |
1209 ExportDirective directive = new ExportDirective( | 1260 ExportDirective directive = new ExportDirective( |
1210 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1261 cloneNode(node.documentationComment), |
1211 cloneToken(node.keyword), cloneNode(node.uri), | 1262 cloneNodeList(node.metadata), |
1212 cloneNodeList(node.combinators), cloneToken(node.semicolon)); | 1263 cloneToken(node.keyword), |
| 1264 cloneNode(node.uri), |
| 1265 cloneNodeList(node.combinators), |
| 1266 cloneToken(node.semicolon)); |
1213 directive.source = node.source; | 1267 directive.source = node.source; |
1214 directive.uriContent = node.uriContent; | 1268 directive.uriContent = node.uriContent; |
1215 return directive; | 1269 return directive; |
1216 } | 1270 } |
1217 | 1271 |
1218 @override | 1272 @override |
1219 ExpressionFunctionBody visitExpressionFunctionBody( | 1273 ExpressionFunctionBody visitExpressionFunctionBody( |
1220 ExpressionFunctionBody node) => new ExpressionFunctionBody( | 1274 ExpressionFunctionBody node) => |
1221 cloneToken(node.keyword), cloneToken(node.functionDefinition), | 1275 new ExpressionFunctionBody( |
1222 cloneNode(node.expression), cloneToken(node.semicolon)); | 1276 cloneToken(node.keyword), |
| 1277 cloneToken(node.functionDefinition), |
| 1278 cloneNode(node.expression), |
| 1279 cloneToken(node.semicolon)); |
1223 | 1280 |
1224 @override | 1281 @override |
1225 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => | 1282 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => |
1226 new ExpressionStatement( | 1283 new ExpressionStatement( |
1227 cloneNode(node.expression), cloneToken(node.semicolon)); | 1284 cloneNode(node.expression), cloneToken(node.semicolon)); |
1228 | 1285 |
1229 @override | 1286 @override |
1230 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause( | 1287 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause( |
1231 cloneToken(node.extendsKeyword), cloneNode(node.superclass)); | 1288 cloneToken(node.extendsKeyword), cloneNode(node.superclass)); |
1232 | 1289 |
1233 @override | 1290 @override |
1234 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => | 1291 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => |
1235 new FieldDeclaration(cloneNode(node.documentationComment), | 1292 new FieldDeclaration( |
1236 cloneNodeList(node.metadata), cloneToken(node.staticKeyword), | 1293 cloneNode(node.documentationComment), |
1237 cloneNode(node.fields), cloneToken(node.semicolon)); | 1294 cloneNodeList(node.metadata), |
| 1295 cloneToken(node.staticKeyword), |
| 1296 cloneNode(node.fields), |
| 1297 cloneToken(node.semicolon)); |
1238 | 1298 |
1239 @override | 1299 @override |
1240 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => | 1300 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => |
1241 new FieldFormalParameter(cloneNode(node.documentationComment), | 1301 new FieldFormalParameter( |
1242 cloneNodeList(node.metadata), cloneToken(node.keyword), | 1302 cloneNode(node.documentationComment), |
1243 cloneNode(node.type), cloneToken(node.thisKeyword), | 1303 cloneNodeList(node.metadata), |
1244 cloneToken(node.period), cloneNode(node.identifier), | 1304 cloneToken(node.keyword), |
1245 cloneNode(node.typeParameters), cloneNode(node.parameters)); | 1305 cloneNode(node.type), |
| 1306 cloneToken(node.thisKeyword), |
| 1307 cloneToken(node.period), |
| 1308 cloneNode(node.identifier), |
| 1309 cloneNode(node.typeParameters), |
| 1310 cloneNode(node.parameters)); |
1246 | 1311 |
1247 @override | 1312 @override |
1248 ForEachStatement visitForEachStatement(ForEachStatement node) { | 1313 ForEachStatement visitForEachStatement(ForEachStatement node) { |
1249 DeclaredIdentifier loopVariable = node.loopVariable; | 1314 DeclaredIdentifier loopVariable = node.loopVariable; |
1250 if (loopVariable == null) { | 1315 if (loopVariable == null) { |
1251 return new ForEachStatement.withReference(cloneToken(node.awaitKeyword), | 1316 return new ForEachStatement.withReference( |
1252 cloneToken(node.forKeyword), cloneToken(node.leftParenthesis), | 1317 cloneToken(node.awaitKeyword), |
1253 cloneNode(node.identifier), cloneToken(node.inKeyword), | 1318 cloneToken(node.forKeyword), |
1254 cloneNode(node.iterable), cloneToken(node.rightParenthesis), | 1319 cloneToken(node.leftParenthesis), |
| 1320 cloneNode(node.identifier), |
| 1321 cloneToken(node.inKeyword), |
| 1322 cloneNode(node.iterable), |
| 1323 cloneToken(node.rightParenthesis), |
1255 cloneNode(node.body)); | 1324 cloneNode(node.body)); |
1256 } | 1325 } |
1257 return new ForEachStatement.withDeclaration(cloneToken(node.awaitKeyword), | 1326 return new ForEachStatement.withDeclaration( |
1258 cloneToken(node.forKeyword), cloneToken(node.leftParenthesis), | 1327 cloneToken(node.awaitKeyword), |
1259 cloneNode(loopVariable), cloneToken(node.inKeyword), | 1328 cloneToken(node.forKeyword), |
1260 cloneNode(node.iterable), cloneToken(node.rightParenthesis), | 1329 cloneToken(node.leftParenthesis), |
| 1330 cloneNode(loopVariable), |
| 1331 cloneToken(node.inKeyword), |
| 1332 cloneNode(node.iterable), |
| 1333 cloneToken(node.rightParenthesis), |
1261 cloneNode(node.body)); | 1334 cloneNode(node.body)); |
1262 } | 1335 } |
1263 | 1336 |
1264 @override | 1337 @override |
1265 FormalParameterList visitFormalParameterList(FormalParameterList node) => | 1338 FormalParameterList visitFormalParameterList(FormalParameterList node) => |
1266 new FormalParameterList(cloneToken(node.leftParenthesis), | 1339 new FormalParameterList( |
1267 cloneNodeList(node.parameters), cloneToken(node.leftDelimiter), | 1340 cloneToken(node.leftParenthesis), |
1268 cloneToken(node.rightDelimiter), cloneToken(node.rightParenthesis)); | 1341 cloneNodeList(node.parameters), |
| 1342 cloneToken(node.leftDelimiter), |
| 1343 cloneToken(node.rightDelimiter), |
| 1344 cloneToken(node.rightParenthesis)); |
1269 | 1345 |
1270 @override | 1346 @override |
1271 ForStatement visitForStatement(ForStatement node) => new ForStatement( | 1347 ForStatement visitForStatement(ForStatement node) => new ForStatement( |
1272 cloneToken(node.forKeyword), cloneToken(node.leftParenthesis), | 1348 cloneToken(node.forKeyword), |
1273 cloneNode(node.variables), cloneNode(node.initialization), | 1349 cloneToken(node.leftParenthesis), |
1274 cloneToken(node.leftSeparator), cloneNode(node.condition), | 1350 cloneNode(node.variables), |
1275 cloneToken(node.rightSeparator), cloneNodeList(node.updaters), | 1351 cloneNode(node.initialization), |
1276 cloneToken(node.rightParenthesis), cloneNode(node.body)); | 1352 cloneToken(node.leftSeparator), |
| 1353 cloneNode(node.condition), |
| 1354 cloneToken(node.rightSeparator), |
| 1355 cloneNodeList(node.updaters), |
| 1356 cloneToken(node.rightParenthesis), |
| 1357 cloneNode(node.body)); |
1277 | 1358 |
1278 @override | 1359 @override |
1279 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => | 1360 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => |
1280 new FunctionDeclaration(cloneNode(node.documentationComment), | 1361 new FunctionDeclaration( |
1281 cloneNodeList(node.metadata), cloneToken(node.externalKeyword), | 1362 cloneNode(node.documentationComment), |
1282 cloneNode(node.returnType), cloneToken(node.propertyKeyword), | 1363 cloneNodeList(node.metadata), |
1283 cloneNode(node.name), cloneNode(node.functionExpression)); | 1364 cloneToken(node.externalKeyword), |
| 1365 cloneNode(node.returnType), |
| 1366 cloneToken(node.propertyKeyword), |
| 1367 cloneNode(node.name), |
| 1368 cloneNode(node.functionExpression)); |
1284 | 1369 |
1285 @override | 1370 @override |
1286 FunctionDeclarationStatement visitFunctionDeclarationStatement( | 1371 FunctionDeclarationStatement visitFunctionDeclarationStatement( |
1287 FunctionDeclarationStatement node) => | 1372 FunctionDeclarationStatement node) => |
1288 new FunctionDeclarationStatement(cloneNode(node.functionDeclaration)); | 1373 new FunctionDeclarationStatement(cloneNode(node.functionDeclaration)); |
1289 | 1374 |
1290 @override | 1375 @override |
1291 FunctionExpression visitFunctionExpression(FunctionExpression node) => | 1376 FunctionExpression visitFunctionExpression(FunctionExpression node) => |
1292 new FunctionExpression(cloneNode(node.typeParameters), | 1377 new FunctionExpression(cloneNode(node.typeParameters), |
1293 cloneNode(node.parameters), cloneNode(node.body)); | 1378 cloneNode(node.parameters), cloneNode(node.body)); |
1294 | 1379 |
1295 @override | 1380 @override |
1296 FunctionExpressionInvocation visitFunctionExpressionInvocation( | 1381 FunctionExpressionInvocation visitFunctionExpressionInvocation( |
1297 FunctionExpressionInvocation node) => new FunctionExpressionInvocation( | 1382 FunctionExpressionInvocation node) => |
1298 cloneNode(node.function), cloneNode(node.typeArguments), | 1383 new FunctionExpressionInvocation(cloneNode(node.function), |
1299 cloneNode(node.argumentList)); | 1384 cloneNode(node.typeArguments), cloneNode(node.argumentList)); |
1300 | 1385 |
1301 @override | 1386 @override |
1302 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => | 1387 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => |
1303 new FunctionTypeAlias(cloneNode(node.documentationComment), | 1388 new FunctionTypeAlias( |
1304 cloneNodeList(node.metadata), cloneToken(node.typedefKeyword), | 1389 cloneNode(node.documentationComment), |
1305 cloneNode(node.returnType), cloneNode(node.name), | 1390 cloneNodeList(node.metadata), |
1306 cloneNode(node.typeParameters), cloneNode(node.parameters), | 1391 cloneToken(node.typedefKeyword), |
| 1392 cloneNode(node.returnType), |
| 1393 cloneNode(node.name), |
| 1394 cloneNode(node.typeParameters), |
| 1395 cloneNode(node.parameters), |
1307 cloneToken(node.semicolon)); | 1396 cloneToken(node.semicolon)); |
1308 | 1397 |
1309 @override | 1398 @override |
1310 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( | 1399 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( |
1311 FunctionTypedFormalParameter node) => new FunctionTypedFormalParameter( | 1400 FunctionTypedFormalParameter node) => |
1312 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1401 new FunctionTypedFormalParameter( |
1313 cloneNode(node.returnType), cloneNode(node.identifier), | 1402 cloneNode(node.documentationComment), |
1314 cloneNode(node.typeParameters), cloneNode(node.parameters)); | 1403 cloneNodeList(node.metadata), |
| 1404 cloneNode(node.returnType), |
| 1405 cloneNode(node.identifier), |
| 1406 cloneNode(node.typeParameters), |
| 1407 cloneNode(node.parameters)); |
1315 | 1408 |
1316 @override | 1409 @override |
1317 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( | 1410 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( |
1318 cloneToken(node.keyword), cloneNodeList(node.hiddenNames)); | 1411 cloneToken(node.keyword), cloneNodeList(node.hiddenNames)); |
1319 | 1412 |
1320 @override | 1413 @override |
1321 IfStatement visitIfStatement(IfStatement node) => new IfStatement( | 1414 IfStatement visitIfStatement(IfStatement node) => new IfStatement( |
1322 cloneToken(node.ifKeyword), cloneToken(node.leftParenthesis), | 1415 cloneToken(node.ifKeyword), |
1323 cloneNode(node.condition), cloneToken(node.rightParenthesis), | 1416 cloneToken(node.leftParenthesis), |
1324 cloneNode(node.thenStatement), cloneToken(node.elseKeyword), | 1417 cloneNode(node.condition), |
| 1418 cloneToken(node.rightParenthesis), |
| 1419 cloneNode(node.thenStatement), |
| 1420 cloneToken(node.elseKeyword), |
1325 cloneNode(node.elseStatement)); | 1421 cloneNode(node.elseStatement)); |
1326 | 1422 |
1327 @override | 1423 @override |
1328 ImplementsClause visitImplementsClause(ImplementsClause node) => | 1424 ImplementsClause visitImplementsClause(ImplementsClause node) => |
1329 new ImplementsClause( | 1425 new ImplementsClause( |
1330 cloneToken(node.implementsKeyword), cloneNodeList(node.interfaces)); | 1426 cloneToken(node.implementsKeyword), cloneNodeList(node.interfaces)); |
1331 | 1427 |
1332 @override | 1428 @override |
1333 ImportDirective visitImportDirective(ImportDirective node) { | 1429 ImportDirective visitImportDirective(ImportDirective node) { |
1334 ImportDirective directive = new ImportDirective( | 1430 ImportDirective directive = new ImportDirective( |
1335 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1431 cloneNode(node.documentationComment), |
1336 cloneToken(node.keyword), cloneNode(node.uri), | 1432 cloneNodeList(node.metadata), |
1337 cloneToken(node.deferredKeyword), cloneToken(node.asKeyword), | 1433 cloneToken(node.keyword), |
1338 cloneNode(node.prefix), cloneNodeList(node.combinators), | 1434 cloneNode(node.uri), |
| 1435 cloneToken(node.deferredKeyword), |
| 1436 cloneToken(node.asKeyword), |
| 1437 cloneNode(node.prefix), |
| 1438 cloneNodeList(node.combinators), |
1339 cloneToken(node.semicolon)); | 1439 cloneToken(node.semicolon)); |
1340 directive.source = node.source; | 1440 directive.source = node.source; |
1341 directive.uriContent = node.uriContent; | 1441 directive.uriContent = node.uriContent; |
1342 return directive; | 1442 return directive; |
1343 } | 1443 } |
1344 | 1444 |
1345 @override | 1445 @override |
1346 IndexExpression visitIndexExpression(IndexExpression node) { | 1446 IndexExpression visitIndexExpression(IndexExpression node) { |
1347 Token period = node.period; | 1447 Token period = node.period; |
1348 if (period == null) { | 1448 if (period == null) { |
1349 return new IndexExpression.forTarget(cloneNode(node.target), | 1449 return new IndexExpression.forTarget( |
1350 cloneToken(node.leftBracket), cloneNode(node.index), | 1450 cloneNode(node.target), |
| 1451 cloneToken(node.leftBracket), |
| 1452 cloneNode(node.index), |
1351 cloneToken(node.rightBracket)); | 1453 cloneToken(node.rightBracket)); |
1352 } else { | 1454 } else { |
1353 return new IndexExpression.forCascade(cloneToken(period), | 1455 return new IndexExpression.forCascade( |
1354 cloneToken(node.leftBracket), cloneNode(node.index), | 1456 cloneToken(period), |
| 1457 cloneToken(node.leftBracket), |
| 1458 cloneNode(node.index), |
1355 cloneToken(node.rightBracket)); | 1459 cloneToken(node.rightBracket)); |
1356 } | 1460 } |
1357 } | 1461 } |
1358 | 1462 |
1359 @override | 1463 @override |
1360 InstanceCreationExpression visitInstanceCreationExpression( | 1464 InstanceCreationExpression visitInstanceCreationExpression( |
1361 InstanceCreationExpression node) => new InstanceCreationExpression( | 1465 InstanceCreationExpression node) => |
1362 cloneToken(node.keyword), cloneNode(node.constructorName), | 1466 new InstanceCreationExpression(cloneToken(node.keyword), |
1363 cloneNode(node.argumentList)); | 1467 cloneNode(node.constructorName), cloneNode(node.argumentList)); |
1364 | 1468 |
1365 @override | 1469 @override |
1366 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) => | 1470 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) => |
1367 new IntegerLiteral(cloneToken(node.literal), node.value); | 1471 new IntegerLiteral(cloneToken(node.literal), node.value); |
1368 | 1472 |
1369 @override | 1473 @override |
1370 InterpolationExpression visitInterpolationExpression( | 1474 InterpolationExpression visitInterpolationExpression( |
1371 InterpolationExpression node) => new InterpolationExpression( | 1475 InterpolationExpression node) => |
1372 cloneToken(node.leftBracket), cloneNode(node.expression), | 1476 new InterpolationExpression(cloneToken(node.leftBracket), |
1373 cloneToken(node.rightBracket)); | 1477 cloneNode(node.expression), cloneToken(node.rightBracket)); |
1374 | 1478 |
1375 @override | 1479 @override |
1376 InterpolationString visitInterpolationString(InterpolationString node) => | 1480 InterpolationString visitInterpolationString(InterpolationString node) => |
1377 new InterpolationString(cloneToken(node.contents), node.value); | 1481 new InterpolationString(cloneToken(node.contents), node.value); |
1378 | 1482 |
1379 @override | 1483 @override |
1380 IsExpression visitIsExpression(IsExpression node) => new IsExpression( | 1484 IsExpression visitIsExpression(IsExpression node) => new IsExpression( |
1381 cloneNode(node.expression), cloneToken(node.isOperator), | 1485 cloneNode(node.expression), |
1382 cloneToken(node.notOperator), cloneNode(node.type)); | 1486 cloneToken(node.isOperator), |
| 1487 cloneToken(node.notOperator), |
| 1488 cloneNode(node.type)); |
1383 | 1489 |
1384 @override | 1490 @override |
1385 Label visitLabel(Label node) => | 1491 Label visitLabel(Label node) => |
1386 new Label(cloneNode(node.label), cloneToken(node.colon)); | 1492 new Label(cloneNode(node.label), cloneToken(node.colon)); |
1387 | 1493 |
1388 @override | 1494 @override |
1389 LabeledStatement visitLabeledStatement(LabeledStatement node) => | 1495 LabeledStatement visitLabeledStatement(LabeledStatement node) => |
1390 new LabeledStatement( | 1496 new LabeledStatement( |
1391 cloneNodeList(node.labels), cloneNode(node.statement)); | 1497 cloneNodeList(node.labels), cloneNode(node.statement)); |
1392 | 1498 |
1393 @override | 1499 @override |
1394 LibraryDirective visitLibraryDirective(LibraryDirective node) => | 1500 LibraryDirective visitLibraryDirective(LibraryDirective node) => |
1395 new LibraryDirective(cloneNode(node.documentationComment), | 1501 new LibraryDirective( |
1396 cloneNodeList(node.metadata), cloneToken(node.libraryKeyword), | 1502 cloneNode(node.documentationComment), |
1397 cloneNode(node.name), cloneToken(node.semicolon)); | 1503 cloneNodeList(node.metadata), |
| 1504 cloneToken(node.libraryKeyword), |
| 1505 cloneNode(node.name), |
| 1506 cloneToken(node.semicolon)); |
1398 | 1507 |
1399 @override | 1508 @override |
1400 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) => | 1509 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) => |
1401 new LibraryIdentifier(cloneNodeList(node.components)); | 1510 new LibraryIdentifier(cloneNodeList(node.components)); |
1402 | 1511 |
1403 @override | 1512 @override |
1404 ListLiteral visitListLiteral(ListLiteral node) => new ListLiteral( | 1513 ListLiteral visitListLiteral(ListLiteral node) => new ListLiteral( |
1405 cloneToken(node.constKeyword), cloneNode(node.typeArguments), | 1514 cloneToken(node.constKeyword), |
1406 cloneToken(node.leftBracket), cloneNodeList(node.elements), | 1515 cloneNode(node.typeArguments), |
| 1516 cloneToken(node.leftBracket), |
| 1517 cloneNodeList(node.elements), |
1407 cloneToken(node.rightBracket)); | 1518 cloneToken(node.rightBracket)); |
1408 | 1519 |
1409 @override | 1520 @override |
1410 MapLiteral visitMapLiteral(MapLiteral node) => new MapLiteral( | 1521 MapLiteral visitMapLiteral(MapLiteral node) => new MapLiteral( |
1411 cloneToken(node.constKeyword), cloneNode(node.typeArguments), | 1522 cloneToken(node.constKeyword), |
1412 cloneToken(node.leftBracket), cloneNodeList(node.entries), | 1523 cloneNode(node.typeArguments), |
| 1524 cloneToken(node.leftBracket), |
| 1525 cloneNodeList(node.entries), |
1413 cloneToken(node.rightBracket)); | 1526 cloneToken(node.rightBracket)); |
1414 | 1527 |
1415 @override | 1528 @override |
1416 MapLiteralEntry visitMapLiteralEntry( | 1529 MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) => |
1417 MapLiteralEntry node) => new MapLiteralEntry( | 1530 new MapLiteralEntry(cloneNode(node.key), cloneToken(node.separator), |
1418 cloneNode(node.key), cloneToken(node.separator), cloneNode(node.value)); | 1531 cloneNode(node.value)); |
1419 | 1532 |
1420 @override | 1533 @override |
1421 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => | 1534 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => |
1422 new MethodDeclaration(cloneNode(node.documentationComment), | 1535 new MethodDeclaration( |
1423 cloneNodeList(node.metadata), cloneToken(node.externalKeyword), | 1536 cloneNode(node.documentationComment), |
1424 cloneToken(node.modifierKeyword), cloneNode(node.returnType), | 1537 cloneNodeList(node.metadata), |
1425 cloneToken(node.propertyKeyword), cloneToken(node.operatorKeyword), | 1538 cloneToken(node.externalKeyword), |
1426 cloneNode(node.name), cloneNode(node.typeParameters), | 1539 cloneToken(node.modifierKeyword), |
1427 cloneNode(node.parameters), cloneNode(node.body)); | 1540 cloneNode(node.returnType), |
| 1541 cloneToken(node.propertyKeyword), |
| 1542 cloneToken(node.operatorKeyword), |
| 1543 cloneNode(node.name), |
| 1544 cloneNode(node.typeParameters), |
| 1545 cloneNode(node.parameters), |
| 1546 cloneNode(node.body)); |
1428 | 1547 |
1429 @override | 1548 @override |
1430 MethodInvocation visitMethodInvocation(MethodInvocation node) => | 1549 MethodInvocation visitMethodInvocation(MethodInvocation node) => |
1431 new MethodInvocation(cloneNode(node.target), cloneToken(node.operator), | 1550 new MethodInvocation( |
1432 cloneNode(node.methodName), cloneNode(node.typeArguments), | 1551 cloneNode(node.target), |
| 1552 cloneToken(node.operator), |
| 1553 cloneNode(node.methodName), |
| 1554 cloneNode(node.typeArguments), |
1433 cloneNode(node.argumentList)); | 1555 cloneNode(node.argumentList)); |
1434 | 1556 |
1435 @override | 1557 @override |
1436 NamedExpression visitNamedExpression(NamedExpression node) => | 1558 NamedExpression visitNamedExpression(NamedExpression node) => |
1437 new NamedExpression(cloneNode(node.name), cloneNode(node.expression)); | 1559 new NamedExpression(cloneNode(node.name), cloneNode(node.expression)); |
1438 | 1560 |
1439 @override | 1561 @override |
1440 AstNode visitNativeClause(NativeClause node) => | 1562 AstNode visitNativeClause(NativeClause node) => |
1441 new NativeClause(cloneToken(node.nativeKeyword), cloneNode(node.name)); | 1563 new NativeClause(cloneToken(node.nativeKeyword), cloneNode(node.name)); |
1442 | 1564 |
1443 @override | 1565 @override |
1444 NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) => | 1566 NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) => |
1445 new NativeFunctionBody(cloneToken(node.nativeKeyword), | 1567 new NativeFunctionBody(cloneToken(node.nativeKeyword), |
1446 cloneNode(node.stringLiteral), cloneToken(node.semicolon)); | 1568 cloneNode(node.stringLiteral), cloneToken(node.semicolon)); |
1447 | 1569 |
1448 @override | 1570 @override |
1449 NullLiteral visitNullLiteral(NullLiteral node) => | 1571 NullLiteral visitNullLiteral(NullLiteral node) => |
1450 new NullLiteral(cloneToken(node.literal)); | 1572 new NullLiteral(cloneToken(node.literal)); |
1451 | 1573 |
1452 @override | 1574 @override |
1453 ParenthesizedExpression visitParenthesizedExpression( | 1575 ParenthesizedExpression visitParenthesizedExpression( |
1454 ParenthesizedExpression node) => new ParenthesizedExpression( | 1576 ParenthesizedExpression node) => |
1455 cloneToken(node.leftParenthesis), cloneNode(node.expression), | 1577 new ParenthesizedExpression(cloneToken(node.leftParenthesis), |
1456 cloneToken(node.rightParenthesis)); | 1578 cloneNode(node.expression), cloneToken(node.rightParenthesis)); |
1457 | 1579 |
1458 @override | 1580 @override |
1459 PartDirective visitPartDirective(PartDirective node) { | 1581 PartDirective visitPartDirective(PartDirective node) { |
1460 PartDirective directive = new PartDirective( | 1582 PartDirective directive = new PartDirective( |
1461 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1583 cloneNode(node.documentationComment), |
1462 cloneToken(node.partKeyword), cloneNode(node.uri), | 1584 cloneNodeList(node.metadata), |
| 1585 cloneToken(node.partKeyword), |
| 1586 cloneNode(node.uri), |
1463 cloneToken(node.semicolon)); | 1587 cloneToken(node.semicolon)); |
1464 directive.source = node.source; | 1588 directive.source = node.source; |
1465 directive.uriContent = node.uriContent; | 1589 directive.uriContent = node.uriContent; |
1466 return directive; | 1590 return directive; |
1467 } | 1591 } |
1468 | 1592 |
1469 @override | 1593 @override |
1470 PartOfDirective visitPartOfDirective(PartOfDirective node) => | 1594 PartOfDirective visitPartOfDirective(PartOfDirective node) => |
1471 new PartOfDirective(cloneNode(node.documentationComment), | 1595 new PartOfDirective( |
1472 cloneNodeList(node.metadata), cloneToken(node.partKeyword), | 1596 cloneNode(node.documentationComment), |
1473 cloneToken(node.ofKeyword), cloneNode(node.libraryName), | 1597 cloneNodeList(node.metadata), |
| 1598 cloneToken(node.partKeyword), |
| 1599 cloneToken(node.ofKeyword), |
| 1600 cloneNode(node.libraryName), |
1474 cloneToken(node.semicolon)); | 1601 cloneToken(node.semicolon)); |
1475 | 1602 |
1476 @override | 1603 @override |
1477 PostfixExpression visitPostfixExpression(PostfixExpression node) => | 1604 PostfixExpression visitPostfixExpression(PostfixExpression node) => |
1478 new PostfixExpression(cloneNode(node.operand), cloneToken(node.operator)); | 1605 new PostfixExpression(cloneNode(node.operand), cloneToken(node.operator)); |
1479 | 1606 |
1480 @override | 1607 @override |
1481 PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node) => | 1608 PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node) => |
1482 new PrefixedIdentifier(cloneNode(node.prefix), cloneToken(node.period), | 1609 new PrefixedIdentifier(cloneNode(node.prefix), cloneToken(node.period), |
1483 cloneNode(node.identifier)); | 1610 cloneNode(node.identifier)); |
1484 | 1611 |
1485 @override | 1612 @override |
1486 PrefixExpression visitPrefixExpression(PrefixExpression node) => | 1613 PrefixExpression visitPrefixExpression(PrefixExpression node) => |
1487 new PrefixExpression(cloneToken(node.operator), cloneNode(node.operand)); | 1614 new PrefixExpression(cloneToken(node.operator), cloneNode(node.operand)); |
1488 | 1615 |
1489 @override | 1616 @override |
1490 PropertyAccess visitPropertyAccess(PropertyAccess node) => new PropertyAccess( | 1617 PropertyAccess visitPropertyAccess(PropertyAccess node) => new PropertyAccess( |
1491 cloneNode(node.target), cloneToken(node.operator), | 1618 cloneNode(node.target), |
| 1619 cloneToken(node.operator), |
1492 cloneNode(node.propertyName)); | 1620 cloneNode(node.propertyName)); |
1493 | 1621 |
1494 @override | 1622 @override |
1495 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( | 1623 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( |
1496 RedirectingConstructorInvocation node) => | 1624 RedirectingConstructorInvocation node) => |
1497 new RedirectingConstructorInvocation(cloneToken(node.thisKeyword), | 1625 new RedirectingConstructorInvocation( |
1498 cloneToken(node.period), cloneNode(node.constructorName), | 1626 cloneToken(node.thisKeyword), |
| 1627 cloneToken(node.period), |
| 1628 cloneNode(node.constructorName), |
1499 cloneNode(node.argumentList)); | 1629 cloneNode(node.argumentList)); |
1500 | 1630 |
1501 @override | 1631 @override |
1502 RethrowExpression visitRethrowExpression(RethrowExpression node) => | 1632 RethrowExpression visitRethrowExpression(RethrowExpression node) => |
1503 new RethrowExpression(cloneToken(node.rethrowKeyword)); | 1633 new RethrowExpression(cloneToken(node.rethrowKeyword)); |
1504 | 1634 |
1505 @override | 1635 @override |
1506 ReturnStatement visitReturnStatement(ReturnStatement node) => | 1636 ReturnStatement visitReturnStatement(ReturnStatement node) => |
1507 new ReturnStatement(cloneToken(node.returnKeyword), | 1637 new ReturnStatement(cloneToken(node.returnKeyword), |
1508 cloneNode(node.expression), cloneToken(node.semicolon)); | 1638 cloneNode(node.expression), cloneToken(node.semicolon)); |
1509 | 1639 |
1510 @override | 1640 @override |
1511 ScriptTag visitScriptTag(ScriptTag node) => | 1641 ScriptTag visitScriptTag(ScriptTag node) => |
1512 new ScriptTag(cloneToken(node.scriptTag)); | 1642 new ScriptTag(cloneToken(node.scriptTag)); |
1513 | 1643 |
1514 @override | 1644 @override |
1515 ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator( | 1645 ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator( |
1516 cloneToken(node.keyword), cloneNodeList(node.shownNames)); | 1646 cloneToken(node.keyword), cloneNodeList(node.shownNames)); |
1517 | 1647 |
1518 @override | 1648 @override |
1519 SimpleFormalParameter visitSimpleFormalParameter( | 1649 SimpleFormalParameter visitSimpleFormalParameter( |
1520 SimpleFormalParameter node) => new SimpleFormalParameter( | 1650 SimpleFormalParameter node) => |
1521 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1651 new SimpleFormalParameter( |
1522 cloneToken(node.keyword), cloneNode(node.type), | 1652 cloneNode(node.documentationComment), |
1523 cloneNode(node.identifier)); | 1653 cloneNodeList(node.metadata), |
| 1654 cloneToken(node.keyword), |
| 1655 cloneNode(node.type), |
| 1656 cloneNode(node.identifier)); |
1524 | 1657 |
1525 @override | 1658 @override |
1526 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) => | 1659 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) => |
1527 new SimpleIdentifier(cloneToken(node.token)); | 1660 new SimpleIdentifier(cloneToken(node.token)); |
1528 | 1661 |
1529 @override | 1662 @override |
1530 SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node) => | 1663 SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node) => |
1531 new SimpleStringLiteral(cloneToken(node.literal), node.value); | 1664 new SimpleStringLiteral(cloneToken(node.literal), node.value); |
1532 | 1665 |
1533 @override | 1666 @override |
1534 StringInterpolation visitStringInterpolation(StringInterpolation node) => | 1667 StringInterpolation visitStringInterpolation(StringInterpolation node) => |
1535 new StringInterpolation(cloneNodeList(node.elements)); | 1668 new StringInterpolation(cloneNodeList(node.elements)); |
1536 | 1669 |
1537 @override | 1670 @override |
1538 SuperConstructorInvocation visitSuperConstructorInvocation( | 1671 SuperConstructorInvocation visitSuperConstructorInvocation( |
1539 SuperConstructorInvocation node) => new SuperConstructorInvocation( | 1672 SuperConstructorInvocation node) => |
1540 cloneToken(node.superKeyword), cloneToken(node.period), | 1673 new SuperConstructorInvocation( |
1541 cloneNode(node.constructorName), cloneNode(node.argumentList)); | 1674 cloneToken(node.superKeyword), |
| 1675 cloneToken(node.period), |
| 1676 cloneNode(node.constructorName), |
| 1677 cloneNode(node.argumentList)); |
1542 | 1678 |
1543 @override | 1679 @override |
1544 SuperExpression visitSuperExpression(SuperExpression node) => | 1680 SuperExpression visitSuperExpression(SuperExpression node) => |
1545 new SuperExpression(cloneToken(node.superKeyword)); | 1681 new SuperExpression(cloneToken(node.superKeyword)); |
1546 | 1682 |
1547 @override | 1683 @override |
1548 SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase( | 1684 SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase( |
1549 cloneNodeList(node.labels), cloneToken(node.keyword), | 1685 cloneNodeList(node.labels), |
1550 cloneNode(node.expression), cloneToken(node.colon), | 1686 cloneToken(node.keyword), |
| 1687 cloneNode(node.expression), |
| 1688 cloneToken(node.colon), |
1551 cloneNodeList(node.statements)); | 1689 cloneNodeList(node.statements)); |
1552 | 1690 |
1553 @override | 1691 @override |
1554 SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault( | 1692 SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault( |
1555 cloneNodeList(node.labels), cloneToken(node.keyword), | 1693 cloneNodeList(node.labels), |
1556 cloneToken(node.colon), cloneNodeList(node.statements)); | 1694 cloneToken(node.keyword), |
| 1695 cloneToken(node.colon), |
| 1696 cloneNodeList(node.statements)); |
1557 | 1697 |
1558 @override | 1698 @override |
1559 SwitchStatement visitSwitchStatement(SwitchStatement node) => | 1699 SwitchStatement visitSwitchStatement(SwitchStatement node) => |
1560 new SwitchStatement(cloneToken(node.switchKeyword), | 1700 new SwitchStatement( |
1561 cloneToken(node.leftParenthesis), cloneNode(node.expression), | 1701 cloneToken(node.switchKeyword), |
1562 cloneToken(node.rightParenthesis), cloneToken(node.leftBracket), | 1702 cloneToken(node.leftParenthesis), |
1563 cloneNodeList(node.members), cloneToken(node.rightBracket)); | 1703 cloneNode(node.expression), |
| 1704 cloneToken(node.rightParenthesis), |
| 1705 cloneToken(node.leftBracket), |
| 1706 cloneNodeList(node.members), |
| 1707 cloneToken(node.rightBracket)); |
1564 | 1708 |
1565 @override | 1709 @override |
1566 SymbolLiteral visitSymbolLiteral(SymbolLiteral node) => new SymbolLiteral( | 1710 SymbolLiteral visitSymbolLiteral(SymbolLiteral node) => new SymbolLiteral( |
1567 cloneToken(node.poundSign), cloneTokenList(node.components)); | 1711 cloneToken(node.poundSign), cloneTokenList(node.components)); |
1568 | 1712 |
1569 @override | 1713 @override |
1570 ThisExpression visitThisExpression(ThisExpression node) => | 1714 ThisExpression visitThisExpression(ThisExpression node) => |
1571 new ThisExpression(cloneToken(node.thisKeyword)); | 1715 new ThisExpression(cloneToken(node.thisKeyword)); |
1572 | 1716 |
1573 @override | 1717 @override |
1574 ThrowExpression visitThrowExpression(ThrowExpression node) => | 1718 ThrowExpression visitThrowExpression(ThrowExpression node) => |
1575 new ThrowExpression( | 1719 new ThrowExpression( |
1576 cloneToken(node.throwKeyword), cloneNode(node.expression)); | 1720 cloneToken(node.throwKeyword), cloneNode(node.expression)); |
1577 | 1721 |
1578 @override | 1722 @override |
1579 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( | 1723 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( |
1580 TopLevelVariableDeclaration node) => new TopLevelVariableDeclaration( | 1724 TopLevelVariableDeclaration node) => |
1581 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1725 new TopLevelVariableDeclaration( |
1582 cloneNode(node.variables), cloneToken(node.semicolon)); | 1726 cloneNode(node.documentationComment), |
| 1727 cloneNodeList(node.metadata), |
| 1728 cloneNode(node.variables), |
| 1729 cloneToken(node.semicolon)); |
1583 | 1730 |
1584 @override | 1731 @override |
1585 TryStatement visitTryStatement(TryStatement node) => new TryStatement( | 1732 TryStatement visitTryStatement(TryStatement node) => new TryStatement( |
1586 cloneToken(node.tryKeyword), cloneNode(node.body), | 1733 cloneToken(node.tryKeyword), |
1587 cloneNodeList(node.catchClauses), cloneToken(node.finallyKeyword), | 1734 cloneNode(node.body), |
| 1735 cloneNodeList(node.catchClauses), |
| 1736 cloneToken(node.finallyKeyword), |
1588 cloneNode(node.finallyBlock)); | 1737 cloneNode(node.finallyBlock)); |
1589 | 1738 |
1590 @override | 1739 @override |
1591 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => | 1740 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => |
1592 new TypeArgumentList(cloneToken(node.leftBracket), | 1741 new TypeArgumentList(cloneToken(node.leftBracket), |
1593 cloneNodeList(node.arguments), cloneToken(node.rightBracket)); | 1742 cloneNodeList(node.arguments), cloneToken(node.rightBracket)); |
1594 | 1743 |
1595 @override | 1744 @override |
1596 TypeName visitTypeName(TypeName node) => | 1745 TypeName visitTypeName(TypeName node) => |
1597 new TypeName(cloneNode(node.name), cloneNode(node.typeArguments)); | 1746 new TypeName(cloneNode(node.name), cloneNode(node.typeArguments)); |
1598 | 1747 |
1599 @override | 1748 @override |
1600 TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter( | 1749 TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter( |
1601 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1750 cloneNode(node.documentationComment), |
1602 cloneNode(node.name), cloneToken(node.extendsKeyword), | 1751 cloneNodeList(node.metadata), |
| 1752 cloneNode(node.name), |
| 1753 cloneToken(node.extendsKeyword), |
1603 cloneNode(node.bound)); | 1754 cloneNode(node.bound)); |
1604 | 1755 |
1605 @override | 1756 @override |
1606 TypeParameterList visitTypeParameterList(TypeParameterList node) => | 1757 TypeParameterList visitTypeParameterList(TypeParameterList node) => |
1607 new TypeParameterList(cloneToken(node.leftBracket), | 1758 new TypeParameterList(cloneToken(node.leftBracket), |
1608 cloneNodeList(node.typeParameters), cloneToken(node.rightBracket)); | 1759 cloneNodeList(node.typeParameters), cloneToken(node.rightBracket)); |
1609 | 1760 |
1610 @override | 1761 @override |
1611 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => | 1762 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => |
1612 new VariableDeclaration(cloneNode(node.name), cloneToken(node.equals), | 1763 new VariableDeclaration(cloneNode(node.name), cloneToken(node.equals), |
1613 cloneNode(node.initializer)); | 1764 cloneNode(node.initializer)); |
1614 | 1765 |
1615 @override | 1766 @override |
1616 VariableDeclarationList visitVariableDeclarationList( | 1767 VariableDeclarationList visitVariableDeclarationList( |
1617 VariableDeclarationList node) => new VariableDeclarationList( | 1768 VariableDeclarationList node) => |
1618 cloneNode(node.documentationComment), cloneNodeList(node.metadata), | 1769 new VariableDeclarationList( |
1619 cloneToken(node.keyword), cloneNode(node.type), | 1770 cloneNode(node.documentationComment), |
1620 cloneNodeList(node.variables)); | 1771 cloneNodeList(node.metadata), |
| 1772 cloneToken(node.keyword), |
| 1773 cloneNode(node.type), |
| 1774 cloneNodeList(node.variables)); |
1621 | 1775 |
1622 @override | 1776 @override |
1623 VariableDeclarationStatement visitVariableDeclarationStatement( | 1777 VariableDeclarationStatement visitVariableDeclarationStatement( |
1624 VariableDeclarationStatement node) => new VariableDeclarationStatement( | 1778 VariableDeclarationStatement node) => |
1625 cloneNode(node.variables), cloneToken(node.semicolon)); | 1779 new VariableDeclarationStatement( |
| 1780 cloneNode(node.variables), cloneToken(node.semicolon)); |
1626 | 1781 |
1627 @override | 1782 @override |
1628 WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement( | 1783 WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement( |
1629 cloneToken(node.whileKeyword), cloneToken(node.leftParenthesis), | 1784 cloneToken(node.whileKeyword), |
1630 cloneNode(node.condition), cloneToken(node.rightParenthesis), | 1785 cloneToken(node.leftParenthesis), |
| 1786 cloneNode(node.condition), |
| 1787 cloneToken(node.rightParenthesis), |
1631 cloneNode(node.body)); | 1788 cloneNode(node.body)); |
1632 | 1789 |
1633 @override | 1790 @override |
1634 WithClause visitWithClause(WithClause node) => new WithClause( | 1791 WithClause visitWithClause(WithClause node) => new WithClause( |
1635 cloneToken(node.withKeyword), cloneNodeList(node.mixinTypes)); | 1792 cloneToken(node.withKeyword), cloneNodeList(node.mixinTypes)); |
1636 | 1793 |
1637 @override | 1794 @override |
1638 YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement( | 1795 YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement( |
1639 cloneToken(node.yieldKeyword), cloneToken(node.star), | 1796 cloneToken(node.yieldKeyword), |
1640 cloneNode(node.expression), cloneToken(node.semicolon)); | 1797 cloneToken(node.star), |
| 1798 cloneNode(node.expression), |
| 1799 cloneToken(node.semicolon)); |
1641 | 1800 |
1642 /** | 1801 /** |
1643 * Return a clone of the given [node]. | 1802 * Return a clone of the given [node]. |
1644 */ | 1803 */ |
1645 static AstNode clone(AstNode node) { | 1804 static AstNode clone(AstNode node) { |
1646 return node.accept(new AstCloner()); | 1805 return node.accept(new AstCloner()); |
1647 } | 1806 } |
1648 } | 1807 } |
1649 | 1808 |
1650 /** | 1809 /** |
(...skipping 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2719 */ | 2878 */ |
2720 static const List<AstNode> EMPTY_LIST = const <AstNode>[]; | 2879 static const List<AstNode> EMPTY_LIST = const <AstNode>[]; |
2721 | 2880 |
2722 /** | 2881 /** |
2723 * A comparator that can be used to sort AST nodes in lexical order. In other | 2882 * 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 | 2883 * 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 | 2884 * 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 | 2885 * the same offset, and a positive value if the offset of the first node is |
2727 * greater than the offset of the second node. | 2886 * greater than the offset of the second node. |
2728 */ | 2887 */ |
2729 static Comparator<AstNode> LEXICAL_ORDER = | 2888 static Comparator<AstNode> LEXICAL_ORDER = (AstNode first, AstNode second) => |
2730 (AstNode first, AstNode second) => first.offset - second.offset; | 2889 first.offset - second.offset; |
2731 | 2890 |
2732 /** | 2891 /** |
2733 * The parent of the node, or `null` if the node is the root of an AST | 2892 * The parent of the node, or `null` if the node is the root of an AST |
2734 * structure. | 2893 * structure. |
2735 */ | 2894 */ |
2736 AstNode _parent; | 2895 AstNode _parent; |
2737 | 2896 |
2738 /** | 2897 /** |
2739 * A table mapping the names of properties to their values, or `null` if this | 2898 * A table mapping the names of properties to their values, or `null` if this |
2740 * node does not have any properties associated with it. | 2899 * 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. | 4003 * The body of the catch block. |
3845 */ | 4004 */ |
3846 Block _body; | 4005 Block _body; |
3847 | 4006 |
3848 /** | 4007 /** |
3849 * Initialize a newly created catch clause. The [onKeyword] and | 4008 * Initialize a newly created catch clause. The [onKeyword] and |
3850 * [exceptionType] can be `null` if the clause will catch all exceptions. The | 4009 * [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 | 4010 * [comma] and [stackTraceParameter] can be `null` if the stack trace is not |
3852 * referencable within the body. | 4011 * referencable within the body. |
3853 */ | 4012 */ |
3854 CatchClause(this.onKeyword, TypeName exceptionType, this.catchKeyword, | 4013 CatchClause( |
3855 this.leftParenthesis, SimpleIdentifier exceptionParameter, this.comma, | 4014 this.onKeyword, |
3856 SimpleIdentifier stackTraceParameter, this.rightParenthesis, Block body) { | 4015 TypeName exceptionType, |
| 4016 this.catchKeyword, |
| 4017 this.leftParenthesis, |
| 4018 SimpleIdentifier exceptionParameter, |
| 4019 this.comma, |
| 4020 SimpleIdentifier stackTraceParameter, |
| 4021 this.rightParenthesis, |
| 4022 Block body) { |
3857 _exceptionType = _becomeParentOf(exceptionType); | 4023 _exceptionType = _becomeParentOf(exceptionType); |
3858 _exceptionParameter = _becomeParentOf(exceptionParameter); | 4024 _exceptionParameter = _becomeParentOf(exceptionParameter); |
3859 _stackTraceParameter = _becomeParentOf(stackTraceParameter); | 4025 _stackTraceParameter = _becomeParentOf(stackTraceParameter); |
3860 _body = _becomeParentOf(body); | 4026 _body = _becomeParentOf(body); |
3861 } | 4027 } |
3862 | 4028 |
3863 @override | 4029 @override |
3864 Token get beginToken { | 4030 Token get beginToken { |
3865 if (onKeyword != null) { | 4031 if (onKeyword != null) { |
3866 return onKeyword; | 4032 return onKeyword; |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4049 /** | 4215 /** |
4050 * Initialize a newly created class declaration. Either or both of the | 4216 * 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 | 4217 * [comment] and [metadata] can be `null` if the class does not have the |
4052 * corresponding attribute. The [abstractKeyword] can be `null` if the class | 4218 * corresponding attribute. The [abstractKeyword] can be `null` if the class |
4053 * is not abstract. The [typeParameters] can be `null` if the class does not | 4219 * 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], | 4220 * have any type parameters. Any or all of the [extendsClause], [withClause], |
4055 * and [implementsClause] can be `null` if the class does not have the | 4221 * 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 | 4222 * corresponding clause. The list of [members] can be `null` if the class does |
4057 * not have any members. | 4223 * not have any members. |
4058 */ | 4224 */ |
4059 ClassDeclaration(Comment comment, List<Annotation> metadata, | 4225 ClassDeclaration( |
4060 this.abstractKeyword, this.classKeyword, SimpleIdentifier name, | 4226 Comment comment, |
4061 TypeParameterList typeParameters, ExtendsClause extendsClause, | 4227 List<Annotation> metadata, |
4062 WithClause withClause, ImplementsClause implementsClause, | 4228 this.abstractKeyword, |
4063 this.leftBracket, List<ClassMember> members, this.rightBracket) | 4229 this.classKeyword, |
| 4230 SimpleIdentifier name, |
| 4231 TypeParameterList typeParameters, |
| 4232 ExtendsClause extendsClause, |
| 4233 WithClause withClause, |
| 4234 ImplementsClause implementsClause, |
| 4235 this.leftBracket, |
| 4236 List<ClassMember> members, |
| 4237 this.rightBracket) |
4064 : super(comment, metadata, name) { | 4238 : super(comment, metadata, name) { |
4065 _typeParameters = _becomeParentOf(typeParameters); | 4239 _typeParameters = _becomeParentOf(typeParameters); |
4066 _extendsClause = _becomeParentOf(extendsClause); | 4240 _extendsClause = _becomeParentOf(extendsClause); |
4067 _withClause = _becomeParentOf(withClause); | 4241 _withClause = _becomeParentOf(withClause); |
4068 _implementsClause = _becomeParentOf(implementsClause); | 4242 _implementsClause = _becomeParentOf(implementsClause); |
4069 _members = new NodeList<ClassMember>(this, members); | 4243 _members = new NodeList<ClassMember>(this, members); |
4070 } | 4244 } |
4071 | 4245 |
4072 @override | 4246 @override |
4073 Iterable get childEntities => super._childEntities | 4247 Iterable get childEntities => super._childEntities |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4305 ImplementsClause _implementsClause; | 4479 ImplementsClause _implementsClause; |
4306 | 4480 |
4307 /** | 4481 /** |
4308 * Initialize a newly created class type alias. Either or both of the | 4482 * 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 | 4483 * [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 | 4484 * have the corresponding attribute. The [typeParameters] can be `null` if the |
4311 * class does not have any type parameters. The [abstractKeyword] can be | 4485 * class does not have any type parameters. The [abstractKeyword] can be |
4312 * `null` if the class is not abstract. The [implementsClause] can be `null` | 4486 * `null` if the class is not abstract. The [implementsClause] can be `null` |
4313 * if the class does not implement any interfaces. | 4487 * if the class does not implement any interfaces. |
4314 */ | 4488 */ |
4315 ClassTypeAlias(Comment comment, List<Annotation> metadata, Token keyword, | 4489 ClassTypeAlias( |
4316 SimpleIdentifier name, TypeParameterList typeParameters, this.equals, | 4490 Comment comment, |
4317 this.abstractKeyword, TypeName superclass, WithClause withClause, | 4491 List<Annotation> metadata, |
4318 ImplementsClause implementsClause, Token semicolon) | 4492 Token keyword, |
| 4493 SimpleIdentifier name, |
| 4494 TypeParameterList typeParameters, |
| 4495 this.equals, |
| 4496 this.abstractKeyword, |
| 4497 TypeName superclass, |
| 4498 WithClause withClause, |
| 4499 ImplementsClause implementsClause, |
| 4500 Token semicolon) |
4319 : super(comment, metadata, keyword, name, semicolon) { | 4501 : super(comment, metadata, keyword, name, semicolon) { |
4320 _typeParameters = _becomeParentOf(typeParameters); | 4502 _typeParameters = _becomeParentOf(typeParameters); |
4321 _superclass = _becomeParentOf(superclass); | 4503 _superclass = _becomeParentOf(superclass); |
4322 _withClause = _becomeParentOf(withClause); | 4504 _withClause = _becomeParentOf(withClause); |
4323 _implementsClause = _becomeParentOf(implementsClause); | 4505 _implementsClause = _becomeParentOf(implementsClause); |
4324 } | 4506 } |
4325 | 4507 |
4326 @override | 4508 @override |
4327 Iterable get childEntities => super._childEntities | 4509 Iterable get childEntities => super._childEntities |
4328 ..add(typedefKeyword) | 4510 ..add(typedefKeyword) |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4695 */ | 4877 */ |
4696 LineInfo lineInfo; | 4878 LineInfo lineInfo; |
4697 | 4879 |
4698 /** | 4880 /** |
4699 * Initialize a newly created compilation unit to have the given directives | 4881 * 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 | 4882 * 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 | 4883 * 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 | 4884 * are no directives in the compilation unit. The list of [declarations] can |
4703 * be `null` if there are no declarations in the compilation unit. | 4885 * be `null` if there are no declarations in the compilation unit. |
4704 */ | 4886 */ |
4705 CompilationUnit(this.beginToken, ScriptTag scriptTag, | 4887 CompilationUnit( |
4706 List<Directive> directives, List<CompilationUnitMember> declarations, | 4888 this.beginToken, |
| 4889 ScriptTag scriptTag, |
| 4890 List<Directive> directives, |
| 4891 List<CompilationUnitMember> declarations, |
4707 this.endToken) { | 4892 this.endToken) { |
4708 _scriptTag = _becomeParentOf(scriptTag); | 4893 _scriptTag = _becomeParentOf(scriptTag); |
4709 _directives = new NodeList<Directive>(this, directives); | 4894 _directives = new NodeList<Directive>(this, directives); |
4710 _declarations = new NodeList<CompilationUnitMember>(this, declarations); | 4895 _declarations = new NodeList<CompilationUnitMember>(this, declarations); |
4711 } | 4896 } |
4712 | 4897 |
4713 @override | 4898 @override |
4714 Iterable get childEntities { | 4899 Iterable get childEntities { |
4715 ChildEntities result = new ChildEntities()..add(_scriptTag); | 4900 ChildEntities result = new ChildEntities()..add(_scriptTag); |
4716 if (_directivesAreBeforeDeclarations) { | 4901 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 | 5552 * 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 | 5553 * 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 | 5554 * 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 | 5555 * [separator] can be `null` if the constructor does not have any initializers |
5371 * and does not redirect to a different constructor. The list of | 5556 * and does not redirect to a different constructor. The list of |
5372 * [initializers] can be `null` if the constructor does not have any | 5557 * [initializers] can be `null` if the constructor does not have any |
5373 * initializers. The [redirectedConstructor] can be `null` if the constructor | 5558 * initializers. The [redirectedConstructor] can be `null` if the constructor |
5374 * does not redirect to a different constructor. The [body] can be `null` if | 5559 * does not redirect to a different constructor. The [body] can be `null` if |
5375 * the constructor does not have a body. | 5560 * the constructor does not have a body. |
5376 */ | 5561 */ |
5377 ConstructorDeclaration(Comment comment, List<Annotation> metadata, | 5562 ConstructorDeclaration( |
5378 this.externalKeyword, this.constKeyword, this.factoryKeyword, | 5563 Comment comment, |
5379 Identifier returnType, this.period, SimpleIdentifier name, | 5564 List<Annotation> metadata, |
5380 FormalParameterList parameters, this.separator, | 5565 this.externalKeyword, |
| 5566 this.constKeyword, |
| 5567 this.factoryKeyword, |
| 5568 Identifier returnType, |
| 5569 this.period, |
| 5570 SimpleIdentifier name, |
| 5571 FormalParameterList parameters, |
| 5572 this.separator, |
5381 List<ConstructorInitializer> initializers, | 5573 List<ConstructorInitializer> initializers, |
5382 ConstructorName redirectedConstructor, FunctionBody body) | 5574 ConstructorName redirectedConstructor, |
| 5575 FunctionBody body) |
5383 : super(comment, metadata) { | 5576 : super(comment, metadata) { |
5384 _returnType = _becomeParentOf(returnType); | 5577 _returnType = _becomeParentOf(returnType); |
5385 _name = _becomeParentOf(name); | 5578 _name = _becomeParentOf(name); |
5386 _parameters = _becomeParentOf(parameters); | 5579 _parameters = _becomeParentOf(parameters); |
5387 _initializers = new NodeList<ConstructorInitializer>(this, initializers); | 5580 _initializers = new NodeList<ConstructorInitializer>(this, initializers); |
5388 _redirectedConstructor = _becomeParentOf(redirectedConstructor); | 5581 _redirectedConstructor = _becomeParentOf(redirectedConstructor); |
5389 _body = _becomeParentOf(body); | 5582 _body = _becomeParentOf(body); |
5390 } | 5583 } |
5391 | 5584 |
5392 /** | 5585 /** |
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6153 Token rightParenthesis; | 6346 Token rightParenthesis; |
6154 | 6347 |
6155 /** | 6348 /** |
6156 * The semicolon terminating the statement. | 6349 * The semicolon terminating the statement. |
6157 */ | 6350 */ |
6158 Token semicolon; | 6351 Token semicolon; |
6159 | 6352 |
6160 /** | 6353 /** |
6161 * Initialize a newly created do loop. | 6354 * Initialize a newly created do loop. |
6162 */ | 6355 */ |
6163 DoStatement(this.doKeyword, Statement body, this.whileKeyword, | 6356 DoStatement( |
6164 this.leftParenthesis, Expression condition, this.rightParenthesis, | 6357 this.doKeyword, |
| 6358 Statement body, |
| 6359 this.whileKeyword, |
| 6360 this.leftParenthesis, |
| 6361 Expression condition, |
| 6362 this.rightParenthesis, |
6165 this.semicolon) { | 6363 this.semicolon) { |
6166 _body = _becomeParentOf(body); | 6364 _body = _becomeParentOf(body); |
6167 _condition = _becomeParentOf(condition); | 6365 _condition = _becomeParentOf(condition); |
6168 } | 6366 } |
6169 | 6367 |
6170 @override | 6368 @override |
6171 Token get beginToken => doKeyword; | 6369 Token get beginToken => doKeyword; |
6172 | 6370 |
6173 /** | 6371 /** |
6174 * Return the body of the loop. | 6372 * Return the body of the loop. |
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6560 * The right curly bracket. | 6758 * The right curly bracket. |
6561 */ | 6759 */ |
6562 Token rightBracket; | 6760 Token rightBracket; |
6563 | 6761 |
6564 /** | 6762 /** |
6565 * Initialize a newly created enumeration declaration. Either or both of the | 6763 * 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 | 6764 * [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 | 6765 * corresponding attribute. The list of [constants] must contain at least one |
6568 * value. | 6766 * value. |
6569 */ | 6767 */ |
6570 EnumDeclaration(Comment comment, List<Annotation> metadata, this.enumKeyword, | 6768 EnumDeclaration( |
6571 SimpleIdentifier name, this.leftBracket, | 6769 Comment comment, |
6572 List<EnumConstantDeclaration> constants, this.rightBracket) | 6770 List<Annotation> metadata, |
| 6771 this.enumKeyword, |
| 6772 SimpleIdentifier name, |
| 6773 this.leftBracket, |
| 6774 List<EnumConstantDeclaration> constants, |
| 6775 this.rightBracket) |
6573 : super(comment, metadata, name) { | 6776 : super(comment, metadata, name) { |
6574 _constants = new NodeList<EnumConstantDeclaration>(this, constants); | 6777 _constants = new NodeList<EnumConstantDeclaration>(this, constants); |
6575 } | 6778 } |
6576 | 6779 |
6577 @override | 6780 @override |
6578 // TODO(brianwilkerson) Add commas? | 6781 // TODO(brianwilkerson) Add commas? |
6579 Iterable get childEntities => super._childEntities | 6782 Iterable get childEntities => super._childEntities |
6580 ..add(enumKeyword) | 6783 ..add(enumKeyword) |
6581 ..add(_name) | 6784 ..add(_name) |
6582 ..add(leftBracket) | 6785 ..add(leftBracket) |
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7177 | 7380 |
7178 /** | 7381 /** |
7179 * Initialize a newly created formal parameter. Either or both of the | 7382 * 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 | 7383 * [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. | 7384 * 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 | 7385 * 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 | 7386 * [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 | 7387 * [parameters] can be `null` if this is not a function-typed field formal |
7185 * parameter. | 7388 * parameter. |
7186 */ | 7389 */ |
7187 FieldFormalParameter(Comment comment, List<Annotation> metadata, this.keyword, | 7390 FieldFormalParameter( |
7188 TypeName type, this.thisKeyword, this.period, SimpleIdentifier identifier, | 7391 Comment comment, |
7189 TypeParameterList typeParameters, FormalParameterList parameters) | 7392 List<Annotation> metadata, |
| 7393 this.keyword, |
| 7394 TypeName type, |
| 7395 this.thisKeyword, |
| 7396 this.period, |
| 7397 SimpleIdentifier identifier, |
| 7398 TypeParameterList typeParameters, |
| 7399 FormalParameterList parameters) |
7190 : super(comment, metadata, identifier) { | 7400 : super(comment, metadata, identifier) { |
7191 _type = _becomeParentOf(type); | 7401 _type = _becomeParentOf(type); |
7192 _typeParameters = _becomeParentOf(typeParameters); | 7402 _typeParameters = _becomeParentOf(typeParameters); |
7193 _parameters = _becomeParentOf(parameters); | 7403 _parameters = _becomeParentOf(parameters); |
7194 } | 7404 } |
7195 | 7405 |
7196 @override | 7406 @override |
7197 Token get beginToken { | 7407 Token get beginToken { |
7198 if (keyword != null) { | 7408 if (keyword != null) { |
7199 return keyword; | 7409 return keyword; |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7351 /** | 7561 /** |
7352 * The body of the loop. | 7562 * The body of the loop. |
7353 */ | 7563 */ |
7354 Statement _body; | 7564 Statement _body; |
7355 | 7565 |
7356 /** | 7566 /** |
7357 * Initialize a newly created for-each statement. The [awaitKeyword] can be | 7567 * Initialize a newly created for-each statement. The [awaitKeyword] can be |
7358 * `null` if this is not an asynchronous for loop. | 7568 * `null` if this is not an asynchronous for loop. |
7359 */ | 7569 */ |
7360 @deprecated // Use new ForEachStatement.withDeclaration(...) | 7570 @deprecated // Use new ForEachStatement.withDeclaration(...) |
7361 ForEachStatement.con1(this.awaitKeyword, this.forKeyword, | 7571 ForEachStatement.con1( |
7362 this.leftParenthesis, DeclaredIdentifier loopVariable, this.inKeyword, | 7572 this.awaitKeyword, |
7363 Expression iterator, this.rightParenthesis, Statement body) { | 7573 this.forKeyword, |
| 7574 this.leftParenthesis, |
| 7575 DeclaredIdentifier loopVariable, |
| 7576 this.inKeyword, |
| 7577 Expression iterator, |
| 7578 this.rightParenthesis, |
| 7579 Statement body) { |
7364 _loopVariable = _becomeParentOf(loopVariable); | 7580 _loopVariable = _becomeParentOf(loopVariable); |
7365 _iterable = _becomeParentOf(iterator); | 7581 _iterable = _becomeParentOf(iterator); |
7366 _body = _becomeParentOf(body); | 7582 _body = _becomeParentOf(body); |
7367 } | 7583 } |
7368 | 7584 |
7369 /** | 7585 /** |
7370 * Initialize a newly created for-each statement. The [awaitKeyword] can be | 7586 * Initialize a newly created for-each statement. The [awaitKeyword] can be |
7371 * `null` if this is not an asynchronous for loop. | 7587 * `null` if this is not an asynchronous for loop. |
7372 */ | 7588 */ |
7373 @deprecated // Use new ForEachStatement.withReference(...) | 7589 @deprecated // Use new ForEachStatement.withReference(...) |
7374 ForEachStatement.con2(this.awaitKeyword, this.forKeyword, | 7590 ForEachStatement.con2( |
7375 this.leftParenthesis, SimpleIdentifier identifier, this.inKeyword, | 7591 this.awaitKeyword, |
7376 Expression iterator, this.rightParenthesis, Statement body) { | 7592 this.forKeyword, |
| 7593 this.leftParenthesis, |
| 7594 SimpleIdentifier identifier, |
| 7595 this.inKeyword, |
| 7596 Expression iterator, |
| 7597 this.rightParenthesis, |
| 7598 Statement body) { |
7377 _identifier = _becomeParentOf(identifier); | 7599 _identifier = _becomeParentOf(identifier); |
7378 _iterable = _becomeParentOf(iterator); | 7600 _iterable = _becomeParentOf(iterator); |
7379 _body = _becomeParentOf(body); | 7601 _body = _becomeParentOf(body); |
7380 } | 7602 } |
7381 | 7603 |
7382 /** | 7604 /** |
7383 * Initialize a newly created for-each statement whose loop control variable | 7605 * Initialize a newly created for-each statement whose loop control variable |
7384 * is declared internally (in the for-loop part). The [awaitKeyword] can be | 7606 * is declared internally (in the for-loop part). The [awaitKeyword] can be |
7385 * `null` if this is not an asynchronous for loop. | 7607 * `null` if this is not an asynchronous for loop. |
7386 */ | 7608 */ |
7387 ForEachStatement.withDeclaration(this.awaitKeyword, this.forKeyword, | 7609 ForEachStatement.withDeclaration( |
7388 this.leftParenthesis, DeclaredIdentifier loopVariable, this.inKeyword, | 7610 this.awaitKeyword, |
7389 Expression iterator, this.rightParenthesis, Statement body) { | 7611 this.forKeyword, |
| 7612 this.leftParenthesis, |
| 7613 DeclaredIdentifier loopVariable, |
| 7614 this.inKeyword, |
| 7615 Expression iterator, |
| 7616 this.rightParenthesis, |
| 7617 Statement body) { |
7390 _loopVariable = _becomeParentOf(loopVariable); | 7618 _loopVariable = _becomeParentOf(loopVariable); |
7391 _iterable = _becomeParentOf(iterator); | 7619 _iterable = _becomeParentOf(iterator); |
7392 _body = _becomeParentOf(body); | 7620 _body = _becomeParentOf(body); |
7393 } | 7621 } |
7394 | 7622 |
7395 /** | 7623 /** |
7396 * Initialize a newly created for-each statement whose loop control variable | 7624 * 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 | 7625 * is declared outside the for loop. The [awaitKeyword] can be `null` if this |
7398 * is not an asynchronous for loop. | 7626 * is not an asynchronous for loop. |
7399 */ | 7627 */ |
7400 ForEachStatement.withReference(this.awaitKeyword, this.forKeyword, | 7628 ForEachStatement.withReference( |
7401 this.leftParenthesis, SimpleIdentifier identifier, this.inKeyword, | 7629 this.awaitKeyword, |
7402 Expression iterator, this.rightParenthesis, Statement body) { | 7630 this.forKeyword, |
| 7631 this.leftParenthesis, |
| 7632 SimpleIdentifier identifier, |
| 7633 this.inKeyword, |
| 7634 Expression iterator, |
| 7635 this.rightParenthesis, |
| 7636 Statement body) { |
7403 _identifier = _becomeParentOf(identifier); | 7637 _identifier = _becomeParentOf(identifier); |
7404 _iterable = _becomeParentOf(iterator); | 7638 _iterable = _becomeParentOf(iterator); |
7405 _body = _becomeParentOf(body); | 7639 _body = _becomeParentOf(body); |
7406 } | 7640 } |
7407 | 7641 |
7408 @override | 7642 @override |
7409 Token get beginToken => forKeyword; | 7643 Token get beginToken => forKeyword; |
7410 | 7644 |
7411 /** | 7645 /** |
7412 * Return the body of the loop. | 7646 * 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. | 7957 * The body of the loop. |
7724 */ | 7958 */ |
7725 Statement _body; | 7959 Statement _body; |
7726 | 7960 |
7727 /** | 7961 /** |
7728 * Initialize a newly created for statement. Either the [variableList] or the | 7962 * Initialize a newly created for statement. Either the [variableList] or the |
7729 * [initialization] must be `null`. Either the [condition] and the list of | 7963 * [initialization] must be `null`. Either the [condition] and the list of |
7730 * [updaters] can be `null` if the loop does not have the corresponding | 7964 * [updaters] can be `null` if the loop does not have the corresponding |
7731 * attribute. | 7965 * attribute. |
7732 */ | 7966 */ |
7733 ForStatement(this.forKeyword, this.leftParenthesis, | 7967 ForStatement( |
7734 VariableDeclarationList variableList, Expression initialization, | 7968 this.forKeyword, |
7735 this.leftSeparator, Expression condition, this.rightSeparator, | 7969 this.leftParenthesis, |
7736 List<Expression> updaters, this.rightParenthesis, Statement body) { | 7970 VariableDeclarationList variableList, |
| 7971 Expression initialization, |
| 7972 this.leftSeparator, |
| 7973 Expression condition, |
| 7974 this.rightSeparator, |
| 7975 List<Expression> updaters, |
| 7976 this.rightParenthesis, |
| 7977 Statement body) { |
7737 _variableList = _becomeParentOf(variableList); | 7978 _variableList = _becomeParentOf(variableList); |
7738 _initialization = _becomeParentOf(initialization); | 7979 _initialization = _becomeParentOf(initialization); |
7739 _condition = _becomeParentOf(condition); | 7980 _condition = _becomeParentOf(condition); |
7740 _updaters = new NodeList<Expression>(this, updaters); | 7981 _updaters = new NodeList<Expression>(this, updaters); |
7741 _body = _becomeParentOf(body); | 7982 _body = _becomeParentOf(body); |
7742 } | 7983 } |
7743 | 7984 |
7744 @override | 7985 @override |
7745 Token get beginToken => forKeyword; | 7986 Token get beginToken => forKeyword; |
7746 | 7987 |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7901 FunctionExpression _functionExpression; | 8142 FunctionExpression _functionExpression; |
7902 | 8143 |
7903 /** | 8144 /** |
7904 * Initialize a newly created function declaration. Either or both of the | 8145 * 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 | 8146 * [comment] and [metadata] can be `null` if the function does not have the |
7906 * corresponding attribute. The [externalKeyword] can be `null` if the | 8147 * corresponding attribute. The [externalKeyword] can be `null` if the |
7907 * function is not an external function. The [returnType] can be `null` if no | 8148 * 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 | 8149 * return type was specified. The [propertyKeyword] can be `null` if the |
7909 * function is neither a getter or a setter. | 8150 * function is neither a getter or a setter. |
7910 */ | 8151 */ |
7911 FunctionDeclaration(Comment comment, List<Annotation> metadata, | 8152 FunctionDeclaration( |
7912 this.externalKeyword, TypeName returnType, this.propertyKeyword, | 8153 Comment comment, |
7913 SimpleIdentifier name, FunctionExpression functionExpression) | 8154 List<Annotation> metadata, |
| 8155 this.externalKeyword, |
| 8156 TypeName returnType, |
| 8157 this.propertyKeyword, |
| 8158 SimpleIdentifier name, |
| 8159 FunctionExpression functionExpression) |
7914 : super(comment, metadata, name) { | 8160 : super(comment, metadata, name) { |
7915 _returnType = _becomeParentOf(returnType); | 8161 _returnType = _becomeParentOf(returnType); |
7916 _functionExpression = _becomeParentOf(functionExpression); | 8162 _functionExpression = _becomeParentOf(functionExpression); |
7917 } | 8163 } |
7918 | 8164 |
7919 @override | 8165 @override |
7920 Iterable get childEntities => super._childEntities | 8166 Iterable get childEntities => super._childEntities |
7921 ..add(externalKeyword) | 8167 ..add(externalKeyword) |
7922 ..add(_returnType) | 8168 ..add(_returnType) |
7923 ..add(propertyKeyword) | 8169 ..add(propertyKeyword) |
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8319 */ | 8565 */ |
8320 FormalParameterList _parameters; | 8566 FormalParameterList _parameters; |
8321 | 8567 |
8322 /** | 8568 /** |
8323 * Initialize a newly created function type alias. Either or both of the | 8569 * 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 | 8570 * [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 | 8571 * corresponding attribute. The [returnType] can be `null` if no return type |
8326 * was specified. The [typeParameters] can be `null` if the function has no | 8572 * was specified. The [typeParameters] can be `null` if the function has no |
8327 * type parameters. | 8573 * type parameters. |
8328 */ | 8574 */ |
8329 FunctionTypeAlias(Comment comment, List<Annotation> metadata, Token keyword, | 8575 FunctionTypeAlias( |
8330 TypeName returnType, SimpleIdentifier name, | 8576 Comment comment, |
8331 TypeParameterList typeParameters, FormalParameterList parameters, | 8577 List<Annotation> metadata, |
| 8578 Token keyword, |
| 8579 TypeName returnType, |
| 8580 SimpleIdentifier name, |
| 8581 TypeParameterList typeParameters, |
| 8582 FormalParameterList parameters, |
8332 Token semicolon) | 8583 Token semicolon) |
8333 : super(comment, metadata, keyword, name, semicolon) { | 8584 : super(comment, metadata, keyword, name, semicolon) { |
8334 _returnType = _becomeParentOf(returnType); | 8585 _returnType = _becomeParentOf(returnType); |
8335 _typeParameters = _becomeParentOf(typeParameters); | 8586 _typeParameters = _becomeParentOf(typeParameters); |
8336 _parameters = _becomeParentOf(parameters); | 8587 _parameters = _becomeParentOf(parameters); |
8337 } | 8588 } |
8338 | 8589 |
8339 @override | 8590 @override |
8340 Iterable get childEntities => super._childEntities | 8591 Iterable get childEntities => super._childEntities |
8341 ..add(typedefKeyword) | 8592 ..add(typedefKeyword) |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8426 * The parameters of the function-typed parameter. | 8677 * The parameters of the function-typed parameter. |
8427 */ | 8678 */ |
8428 FormalParameterList _parameters; | 8679 FormalParameterList _parameters; |
8429 | 8680 |
8430 /** | 8681 /** |
8431 * Initialize a newly created formal parameter. Either or both of the | 8682 * 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 | 8683 * [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 | 8684 * corresponding attribute. The [returnType] can be `null` if no return type |
8434 * was specified. | 8685 * was specified. |
8435 */ | 8686 */ |
8436 FunctionTypedFormalParameter(Comment comment, List<Annotation> metadata, | 8687 FunctionTypedFormalParameter( |
8437 TypeName returnType, SimpleIdentifier identifier, | 8688 Comment comment, |
8438 TypeParameterList typeParameters, FormalParameterList parameters) | 8689 List<Annotation> metadata, |
| 8690 TypeName returnType, |
| 8691 SimpleIdentifier identifier, |
| 8692 TypeParameterList typeParameters, |
| 8693 FormalParameterList parameters) |
8439 : super(comment, metadata, identifier) { | 8694 : super(comment, metadata, identifier) { |
8440 _returnType = _becomeParentOf(returnType); | 8695 _returnType = _becomeParentOf(returnType); |
8441 _typeParameters = _becomeParentOf(typeParameters); | 8696 _typeParameters = _becomeParentOf(typeParameters); |
8442 _parameters = _becomeParentOf(parameters); | 8697 _parameters = _becomeParentOf(parameters); |
8443 } | 8698 } |
8444 | 8699 |
8445 @override | 8700 @override |
8446 Token get beginToken { | 8701 Token get beginToken { |
8447 if (_returnType != null) { | 8702 if (_returnType != null) { |
8448 return _returnType.beginToken; | 8703 return _returnType.beginToken; |
(...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9085 /** | 9340 /** |
9086 * The statement that is executed if the condition evaluates to `false`, or | 9341 * The statement that is executed if the condition evaluates to `false`, or |
9087 * `null` if there is no else statement. | 9342 * `null` if there is no else statement. |
9088 */ | 9343 */ |
9089 Statement _elseStatement; | 9344 Statement _elseStatement; |
9090 | 9345 |
9091 /** | 9346 /** |
9092 * Initialize a newly created if statement. The [elseKeyword] and | 9347 * Initialize a newly created if statement. The [elseKeyword] and |
9093 * [elseStatement] can be `null` if there is no else clause. | 9348 * [elseStatement] can be `null` if there is no else clause. |
9094 */ | 9349 */ |
9095 IfStatement(this.ifKeyword, this.leftParenthesis, Expression condition, | 9350 IfStatement( |
9096 this.rightParenthesis, Statement thenStatement, this.elseKeyword, | 9351 this.ifKeyword, |
| 9352 this.leftParenthesis, |
| 9353 Expression condition, |
| 9354 this.rightParenthesis, |
| 9355 Statement thenStatement, |
| 9356 this.elseKeyword, |
9097 Statement elseStatement) { | 9357 Statement elseStatement) { |
9098 _condition = _becomeParentOf(condition); | 9358 _condition = _becomeParentOf(condition); |
9099 _thenStatement = _becomeParentOf(thenStatement); | 9359 _thenStatement = _becomeParentOf(thenStatement); |
9100 _elseStatement = _becomeParentOf(elseStatement); | 9360 _elseStatement = _becomeParentOf(elseStatement); |
9101 } | 9361 } |
9102 | 9362 |
9103 @override | 9363 @override |
9104 Token get beginToken => ifKeyword; | 9364 Token get beginToken => ifKeyword; |
9105 | 9365 |
9106 @override | 9366 @override |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9240 } | 9500 } |
9241 | 9501 |
9242 /** | 9502 /** |
9243 * An import directive. | 9503 * An import directive. |
9244 * | 9504 * |
9245 * > importDirective ::= | 9505 * > importDirective ::= |
9246 * > [Annotation] 'import' [StringLiteral] ('as' identifier)? [Combinator]*
';' | 9506 * > [Annotation] 'import' [StringLiteral] ('as' identifier)? [Combinator]*
';' |
9247 * > | [Annotation] 'import' [StringLiteral] 'deferred' 'as' identifier [Combi
nator]* ';' | 9507 * > | [Annotation] 'import' [StringLiteral] 'deferred' 'as' identifier [Combi
nator]* ';' |
9248 */ | 9508 */ |
9249 class ImportDirective extends NamespaceDirective { | 9509 class ImportDirective extends NamespaceDirective { |
9250 static Comparator<ImportDirective> COMPARATOR = (ImportDirective import1, | 9510 static Comparator<ImportDirective> COMPARATOR = |
9251 ImportDirective import2) { | 9511 (ImportDirective import1, ImportDirective import2) { |
9252 // | 9512 // |
9253 // uri | 9513 // uri |
9254 // | 9514 // |
9255 StringLiteral uri1 = import1.uri; | 9515 StringLiteral uri1 = import1.uri; |
9256 StringLiteral uri2 = import2.uri; | 9516 StringLiteral uri2 = import2.uri; |
9257 String uriStr1 = uri1.stringValue; | 9517 String uriStr1 = uri1.stringValue; |
9258 String uriStr2 = uri2.stringValue; | 9518 String uriStr2 = uri2.stringValue; |
9259 if (uriStr1 != null || uriStr2 != null) { | 9519 if (uriStr1 != null || uriStr2 != null) { |
9260 if (uriStr1 == null) { | 9520 if (uriStr1 == null) { |
9261 return -1; | 9521 return -1; |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9360 SimpleIdentifier _prefix; | 9620 SimpleIdentifier _prefix; |
9361 | 9621 |
9362 /** | 9622 /** |
9363 * Initialize a newly created import directive. Either or both of the | 9623 * 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 | 9624 * [comment] and [metadata] can be `null` if the function does not have the |
9365 * corresponding attribute. The [deferredKeyword] can be `null` if the import | 9625 * corresponding attribute. The [deferredKeyword] can be `null` if the import |
9366 * is not deferred. The [asKeyword] and [prefix] can be `null` if the import | 9626 * 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 | 9627 * does not specify a prefix. The list of [combinators] can be `null` if there |
9368 * are no combinators. | 9628 * are no combinators. |
9369 */ | 9629 */ |
9370 ImportDirective(Comment comment, List<Annotation> metadata, Token keyword, | 9630 ImportDirective( |
9371 StringLiteral libraryUri, this.deferredKeyword, this.asKeyword, | 9631 Comment comment, |
9372 SimpleIdentifier prefix, List<Combinator> combinators, Token semicolon) | 9632 List<Annotation> metadata, |
| 9633 Token keyword, |
| 9634 StringLiteral libraryUri, |
| 9635 this.deferredKeyword, |
| 9636 this.asKeyword, |
| 9637 SimpleIdentifier prefix, |
| 9638 List<Combinator> combinators, |
| 9639 Token semicolon) |
9373 : super(comment, metadata, keyword, libraryUri, combinators, semicolon) { | 9640 : super(comment, metadata, keyword, libraryUri, combinators, semicolon) { |
9374 _prefix = _becomeParentOf(prefix); | 9641 _prefix = _becomeParentOf(prefix); |
9375 } | 9642 } |
9376 | 9643 |
9377 /** | 9644 /** |
9378 * The token representing the 'as' token, or `null` if the imported names are | 9645 * The token representing the 'as' token, or `null` if the imported names are |
9379 * not prefixed. | 9646 * not prefixed. |
9380 */ | 9647 */ |
9381 @deprecated // Use "this.asKeyword" | 9648 @deprecated // Use "this.asKeyword" |
9382 Token get asToken => asKeyword; | 9649 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. | 9744 * mapping of old tokens to new tokens. |
9478 */ | 9745 */ |
9479 IncrementalAstCloner(this._oldNode, this._newNode, this._tokenMap); | 9746 IncrementalAstCloner(this._oldNode, this._newNode, this._tokenMap); |
9480 | 9747 |
9481 @override | 9748 @override |
9482 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => | 9749 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => |
9483 new AdjacentStrings(_cloneNodeList(node.strings)); | 9750 new AdjacentStrings(_cloneNodeList(node.strings)); |
9484 | 9751 |
9485 @override | 9752 @override |
9486 Annotation visitAnnotation(Annotation node) { | 9753 Annotation visitAnnotation(Annotation node) { |
9487 Annotation copy = new Annotation(_mapToken(node.atSign), | 9754 Annotation copy = new Annotation( |
9488 _cloneNode(node.name), _mapToken(node.period), | 9755 _mapToken(node.atSign), |
9489 _cloneNode(node.constructorName), _cloneNode(node.arguments)); | 9756 _cloneNode(node.name), |
| 9757 _mapToken(node.period), |
| 9758 _cloneNode(node.constructorName), |
| 9759 _cloneNode(node.arguments)); |
9490 copy.element = node.element; | 9760 copy.element = node.element; |
9491 return copy; | 9761 return copy; |
9492 } | 9762 } |
9493 | 9763 |
9494 @override | 9764 @override |
9495 ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList( | 9765 ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList( |
9496 _mapToken(node.leftParenthesis), _cloneNodeList(node.arguments), | 9766 _mapToken(node.leftParenthesis), |
| 9767 _cloneNodeList(node.arguments), |
9497 _mapToken(node.rightParenthesis)); | 9768 _mapToken(node.rightParenthesis)); |
9498 | 9769 |
9499 @override | 9770 @override |
9500 AsExpression visitAsExpression(AsExpression node) { | 9771 AsExpression visitAsExpression(AsExpression node) { |
9501 AsExpression copy = new AsExpression(_cloneNode(node.expression), | 9772 AsExpression copy = new AsExpression(_cloneNode(node.expression), |
9502 _mapToken(node.asOperator), _cloneNode(node.type)); | 9773 _mapToken(node.asOperator), _cloneNode(node.type)); |
9503 copy.propagatedType = node.propagatedType; | 9774 copy.propagatedType = node.propagatedType; |
9504 copy.staticType = node.staticType; | 9775 copy.staticType = node.staticType; |
9505 return copy; | 9776 return copy; |
9506 } | 9777 } |
9507 | 9778 |
9508 @override | 9779 @override |
9509 AstNode visitAssertStatement(AssertStatement node) => new AssertStatement( | 9780 AstNode visitAssertStatement(AssertStatement node) => new AssertStatement( |
9510 _mapToken(node.assertKeyword), _mapToken(node.leftParenthesis), | 9781 _mapToken(node.assertKeyword), |
9511 _cloneNode(node.condition), _mapToken(node.rightParenthesis), | 9782 _mapToken(node.leftParenthesis), |
| 9783 _cloneNode(node.condition), |
| 9784 _mapToken(node.rightParenthesis), |
9512 _mapToken(node.semicolon)); | 9785 _mapToken(node.semicolon)); |
9513 | 9786 |
9514 @override | 9787 @override |
9515 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) { | 9788 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) { |
9516 AssignmentExpression copy = new AssignmentExpression( | 9789 AssignmentExpression copy = new AssignmentExpression( |
9517 _cloneNode(node.leftHandSide), _mapToken(node.operator), | 9790 _cloneNode(node.leftHandSide), |
| 9791 _mapToken(node.operator), |
9518 _cloneNode(node.rightHandSide)); | 9792 _cloneNode(node.rightHandSide)); |
9519 copy.propagatedElement = node.propagatedElement; | 9793 copy.propagatedElement = node.propagatedElement; |
9520 copy.propagatedType = node.propagatedType; | 9794 copy.propagatedType = node.propagatedType; |
9521 copy.staticElement = node.staticElement; | 9795 copy.staticElement = node.staticElement; |
9522 copy.staticType = node.staticType; | 9796 copy.staticType = node.staticType; |
9523 return copy; | 9797 return copy; |
9524 } | 9798 } |
9525 | 9799 |
9526 @override | 9800 @override |
9527 AwaitExpression visitAwaitExpression(AwaitExpression node) => | 9801 AwaitExpression visitAwaitExpression(AwaitExpression node) => |
9528 new AwaitExpression( | 9802 new AwaitExpression( |
9529 _mapToken(node.awaitKeyword), _cloneNode(node.expression)); | 9803 _mapToken(node.awaitKeyword), _cloneNode(node.expression)); |
9530 | 9804 |
9531 @override | 9805 @override |
9532 BinaryExpression visitBinaryExpression(BinaryExpression node) { | 9806 BinaryExpression visitBinaryExpression(BinaryExpression node) { |
9533 BinaryExpression copy = new BinaryExpression(_cloneNode(node.leftOperand), | 9807 BinaryExpression copy = new BinaryExpression(_cloneNode(node.leftOperand), |
9534 _mapToken(node.operator), _cloneNode(node.rightOperand)); | 9808 _mapToken(node.operator), _cloneNode(node.rightOperand)); |
9535 copy.propagatedElement = node.propagatedElement; | 9809 copy.propagatedElement = node.propagatedElement; |
9536 copy.propagatedType = node.propagatedType; | 9810 copy.propagatedType = node.propagatedType; |
9537 copy.staticElement = node.staticElement; | 9811 copy.staticElement = node.staticElement; |
9538 copy.staticType = node.staticType; | 9812 copy.staticType = node.staticType; |
9539 return copy; | 9813 return copy; |
9540 } | 9814 } |
9541 | 9815 |
9542 @override | 9816 @override |
9543 Block visitBlock(Block node) => new Block(_mapToken(node.leftBracket), | 9817 Block visitBlock(Block node) => new Block(_mapToken(node.leftBracket), |
9544 _cloneNodeList(node.statements), _mapToken(node.rightBracket)); | 9818 _cloneNodeList(node.statements), _mapToken(node.rightBracket)); |
9545 | 9819 |
9546 @override | 9820 @override |
9547 BlockFunctionBody visitBlockFunctionBody( | 9821 BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) => |
9548 BlockFunctionBody node) => new BlockFunctionBody( | 9822 new BlockFunctionBody(_mapToken(node.keyword), _mapToken(node.star), |
9549 _mapToken(node.keyword), _mapToken(node.star), _cloneNode(node.block)); | 9823 _cloneNode(node.block)); |
9550 | 9824 |
9551 @override | 9825 @override |
9552 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) { | 9826 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) { |
9553 BooleanLiteral copy = | 9827 BooleanLiteral copy = |
9554 new BooleanLiteral(_mapToken(node.literal), node.value); | 9828 new BooleanLiteral(_mapToken(node.literal), node.value); |
9555 copy.propagatedType = node.propagatedType; | 9829 copy.propagatedType = node.propagatedType; |
9556 copy.staticType = node.staticType; | 9830 copy.staticType = node.staticType; |
9557 return copy; | 9831 return copy; |
9558 } | 9832 } |
9559 | 9833 |
9560 @override | 9834 @override |
9561 BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement( | 9835 BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement( |
9562 _mapToken(node.breakKeyword), _cloneNode(node.label), | 9836 _mapToken(node.breakKeyword), |
| 9837 _cloneNode(node.label), |
9563 _mapToken(node.semicolon)); | 9838 _mapToken(node.semicolon)); |
9564 | 9839 |
9565 @override | 9840 @override |
9566 CascadeExpression visitCascadeExpression(CascadeExpression node) { | 9841 CascadeExpression visitCascadeExpression(CascadeExpression node) { |
9567 CascadeExpression copy = new CascadeExpression( | 9842 CascadeExpression copy = new CascadeExpression( |
9568 _cloneNode(node.target), _cloneNodeList(node.cascadeSections)); | 9843 _cloneNode(node.target), _cloneNodeList(node.cascadeSections)); |
9569 copy.propagatedType = node.propagatedType; | 9844 copy.propagatedType = node.propagatedType; |
9570 copy.staticType = node.staticType; | 9845 copy.staticType = node.staticType; |
9571 return copy; | 9846 return copy; |
9572 } | 9847 } |
9573 | 9848 |
9574 @override | 9849 @override |
9575 CatchClause visitCatchClause(CatchClause node) => new CatchClause( | 9850 CatchClause visitCatchClause(CatchClause node) => new CatchClause( |
9576 _mapToken(node.onKeyword), _cloneNode(node.exceptionType), | 9851 _mapToken(node.onKeyword), |
9577 _mapToken(node.catchKeyword), _mapToken(node.leftParenthesis), | 9852 _cloneNode(node.exceptionType), |
9578 _cloneNode(node.exceptionParameter), _mapToken(node.comma), | 9853 _mapToken(node.catchKeyword), |
9579 _cloneNode(node.stackTraceParameter), _mapToken(node.rightParenthesis), | 9854 _mapToken(node.leftParenthesis), |
| 9855 _cloneNode(node.exceptionParameter), |
| 9856 _mapToken(node.comma), |
| 9857 _cloneNode(node.stackTraceParameter), |
| 9858 _mapToken(node.rightParenthesis), |
9580 _cloneNode(node.body)); | 9859 _cloneNode(node.body)); |
9581 | 9860 |
9582 @override | 9861 @override |
9583 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { | 9862 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { |
9584 ClassDeclaration copy = new ClassDeclaration( | 9863 ClassDeclaration copy = new ClassDeclaration( |
9585 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 9864 _cloneNode(node.documentationComment), |
9586 _mapToken(node.abstractKeyword), _mapToken(node.classKeyword), | 9865 _cloneNodeList(node.metadata), |
9587 _cloneNode(node.name), _cloneNode(node.typeParameters), | 9866 _mapToken(node.abstractKeyword), |
9588 _cloneNode(node.extendsClause), _cloneNode(node.withClause), | 9867 _mapToken(node.classKeyword), |
9589 _cloneNode(node.implementsClause), _mapToken(node.leftBracket), | 9868 _cloneNode(node.name), |
9590 _cloneNodeList(node.members), _mapToken(node.rightBracket)); | 9869 _cloneNode(node.typeParameters), |
| 9870 _cloneNode(node.extendsClause), |
| 9871 _cloneNode(node.withClause), |
| 9872 _cloneNode(node.implementsClause), |
| 9873 _mapToken(node.leftBracket), |
| 9874 _cloneNodeList(node.members), |
| 9875 _mapToken(node.rightBracket)); |
9591 copy.nativeClause = _cloneNode(node.nativeClause); | 9876 copy.nativeClause = _cloneNode(node.nativeClause); |
9592 return copy; | 9877 return copy; |
9593 } | 9878 } |
9594 | 9879 |
9595 @override | 9880 @override |
9596 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => new ClassTypeAlias( | 9881 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => new ClassTypeAlias( |
9597 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 9882 _cloneNode(node.documentationComment), |
9598 _mapToken(node.typedefKeyword), _cloneNode(node.name), | 9883 _cloneNodeList(node.metadata), |
9599 _cloneNode(node.typeParameters), _mapToken(node.equals), | 9884 _mapToken(node.typedefKeyword), |
9600 _mapToken(node.abstractKeyword), _cloneNode(node.superclass), | 9885 _cloneNode(node.name), |
9601 _cloneNode(node.withClause), _cloneNode(node.implementsClause), | 9886 _cloneNode(node.typeParameters), |
| 9887 _mapToken(node.equals), |
| 9888 _mapToken(node.abstractKeyword), |
| 9889 _cloneNode(node.superclass), |
| 9890 _cloneNode(node.withClause), |
| 9891 _cloneNode(node.implementsClause), |
9602 _mapToken(node.semicolon)); | 9892 _mapToken(node.semicolon)); |
9603 | 9893 |
9604 @override | 9894 @override |
9605 Comment visitComment(Comment node) { | 9895 Comment visitComment(Comment node) { |
9606 if (node.isDocumentation) { | 9896 if (node.isDocumentation) { |
9607 return Comment.createDocumentationCommentWithReferences( | 9897 return Comment.createDocumentationCommentWithReferences( |
9608 _mapTokens(node.tokens), _cloneNodeList(node.references)); | 9898 _mapTokens(node.tokens), _cloneNodeList(node.references)); |
9609 } else if (node.isBlock) { | 9899 } else if (node.isBlock) { |
9610 return Comment.createBlockComment(_mapTokens(node.tokens)); | 9900 return Comment.createBlockComment(_mapTokens(node.tokens)); |
9611 } | 9901 } |
9612 return Comment.createEndOfLineComment(_mapTokens(node.tokens)); | 9902 return Comment.createEndOfLineComment(_mapTokens(node.tokens)); |
9613 } | 9903 } |
9614 | 9904 |
9615 @override | 9905 @override |
9616 CommentReference visitCommentReference(CommentReference node) => | 9906 CommentReference visitCommentReference(CommentReference node) => |
9617 new CommentReference( | 9907 new CommentReference( |
9618 _mapToken(node.newKeyword), _cloneNode(node.identifier)); | 9908 _mapToken(node.newKeyword), _cloneNode(node.identifier)); |
9619 | 9909 |
9620 @override | 9910 @override |
9621 CompilationUnit visitCompilationUnit(CompilationUnit node) { | 9911 CompilationUnit visitCompilationUnit(CompilationUnit node) { |
9622 CompilationUnit copy = new CompilationUnit(_mapToken(node.beginToken), | 9912 CompilationUnit copy = new CompilationUnit( |
9623 _cloneNode(node.scriptTag), _cloneNodeList(node.directives), | 9913 _mapToken(node.beginToken), |
9624 _cloneNodeList(node.declarations), _mapToken(node.endToken)); | 9914 _cloneNode(node.scriptTag), |
| 9915 _cloneNodeList(node.directives), |
| 9916 _cloneNodeList(node.declarations), |
| 9917 _mapToken(node.endToken)); |
9625 copy.lineInfo = node.lineInfo; | 9918 copy.lineInfo = node.lineInfo; |
9626 copy.element = node.element; | 9919 copy.element = node.element; |
9627 return copy; | 9920 return copy; |
9628 } | 9921 } |
9629 | 9922 |
9630 @override | 9923 @override |
9631 ConditionalExpression visitConditionalExpression(ConditionalExpression node) { | 9924 ConditionalExpression visitConditionalExpression(ConditionalExpression node) { |
9632 ConditionalExpression copy = new ConditionalExpression( | 9925 ConditionalExpression copy = new ConditionalExpression( |
9633 _cloneNode(node.condition), _mapToken(node.question), | 9926 _cloneNode(node.condition), |
9634 _cloneNode(node.thenExpression), _mapToken(node.colon), | 9927 _mapToken(node.question), |
| 9928 _cloneNode(node.thenExpression), |
| 9929 _mapToken(node.colon), |
9635 _cloneNode(node.elseExpression)); | 9930 _cloneNode(node.elseExpression)); |
9636 copy.propagatedType = node.propagatedType; | 9931 copy.propagatedType = node.propagatedType; |
9637 copy.staticType = node.staticType; | 9932 copy.staticType = node.staticType; |
9638 return copy; | 9933 return copy; |
9639 } | 9934 } |
9640 | 9935 |
9641 @override | 9936 @override |
9642 ConstructorDeclaration visitConstructorDeclaration( | 9937 ConstructorDeclaration visitConstructorDeclaration( |
9643 ConstructorDeclaration node) { | 9938 ConstructorDeclaration node) { |
9644 ConstructorDeclaration copy = new ConstructorDeclaration( | 9939 ConstructorDeclaration copy = new ConstructorDeclaration( |
9645 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 9940 _cloneNode(node.documentationComment), |
9646 _mapToken(node.externalKeyword), _mapToken(node.constKeyword), | 9941 _cloneNodeList(node.metadata), |
9647 _mapToken(node.factoryKeyword), _cloneNode(node.returnType), | 9942 _mapToken(node.externalKeyword), |
9648 _mapToken(node.period), _cloneNode(node.name), | 9943 _mapToken(node.constKeyword), |
9649 _cloneNode(node.parameters), _mapToken(node.separator), | 9944 _mapToken(node.factoryKeyword), |
| 9945 _cloneNode(node.returnType), |
| 9946 _mapToken(node.period), |
| 9947 _cloneNode(node.name), |
| 9948 _cloneNode(node.parameters), |
| 9949 _mapToken(node.separator), |
9650 _cloneNodeList(node.initializers), | 9950 _cloneNodeList(node.initializers), |
9651 _cloneNode(node.redirectedConstructor), _cloneNode(node.body)); | 9951 _cloneNode(node.redirectedConstructor), |
| 9952 _cloneNode(node.body)); |
9652 copy.element = node.element; | 9953 copy.element = node.element; |
9653 return copy; | 9954 return copy; |
9654 } | 9955 } |
9655 | 9956 |
9656 @override | 9957 @override |
9657 ConstructorFieldInitializer visitConstructorFieldInitializer( | 9958 ConstructorFieldInitializer visitConstructorFieldInitializer( |
9658 ConstructorFieldInitializer node) => new ConstructorFieldInitializer( | 9959 ConstructorFieldInitializer node) => |
9659 _mapToken(node.thisKeyword), _mapToken(node.period), | 9960 new ConstructorFieldInitializer( |
9660 _cloneNode(node.fieldName), _mapToken(node.equals), | 9961 _mapToken(node.thisKeyword), |
9661 _cloneNode(node.expression)); | 9962 _mapToken(node.period), |
| 9963 _cloneNode(node.fieldName), |
| 9964 _mapToken(node.equals), |
| 9965 _cloneNode(node.expression)); |
9662 | 9966 |
9663 @override | 9967 @override |
9664 ConstructorName visitConstructorName(ConstructorName node) { | 9968 ConstructorName visitConstructorName(ConstructorName node) { |
9665 ConstructorName copy = new ConstructorName( | 9969 ConstructorName copy = new ConstructorName( |
9666 _cloneNode(node.type), _mapToken(node.period), _cloneNode(node.name)); | 9970 _cloneNode(node.type), _mapToken(node.period), _cloneNode(node.name)); |
9667 copy.staticElement = node.staticElement; | 9971 copy.staticElement = node.staticElement; |
9668 return copy; | 9972 return copy; |
9669 } | 9973 } |
9670 | 9974 |
9671 @override | 9975 @override |
9672 ContinueStatement visitContinueStatement(ContinueStatement node) => | 9976 ContinueStatement visitContinueStatement(ContinueStatement node) => |
9673 new ContinueStatement(_mapToken(node.continueKeyword), | 9977 new ContinueStatement(_mapToken(node.continueKeyword), |
9674 _cloneNode(node.label), _mapToken(node.semicolon)); | 9978 _cloneNode(node.label), _mapToken(node.semicolon)); |
9675 | 9979 |
9676 @override | 9980 @override |
9677 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => | 9981 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => |
9678 new DeclaredIdentifier(_cloneNode(node.documentationComment), | 9982 new DeclaredIdentifier( |
9679 _cloneNodeList(node.metadata), _mapToken(node.keyword), | 9983 _cloneNode(node.documentationComment), |
9680 _cloneNode(node.type), _cloneNode(node.identifier)); | 9984 _cloneNodeList(node.metadata), |
| 9985 _mapToken(node.keyword), |
| 9986 _cloneNode(node.type), |
| 9987 _cloneNode(node.identifier)); |
9681 | 9988 |
9682 @override | 9989 @override |
9683 DefaultFormalParameter visitDefaultFormalParameter( | 9990 DefaultFormalParameter visitDefaultFormalParameter( |
9684 DefaultFormalParameter node) => new DefaultFormalParameter( | 9991 DefaultFormalParameter node) => |
9685 _cloneNode(node.parameter), node.kind, _mapToken(node.separator), | 9992 new DefaultFormalParameter(_cloneNode(node.parameter), node.kind, |
9686 _cloneNode(node.defaultValue)); | 9993 _mapToken(node.separator), _cloneNode(node.defaultValue)); |
9687 | 9994 |
9688 @override | 9995 @override |
9689 DoStatement visitDoStatement(DoStatement node) => new DoStatement( | 9996 DoStatement visitDoStatement(DoStatement node) => new DoStatement( |
9690 _mapToken(node.doKeyword), _cloneNode(node.body), | 9997 _mapToken(node.doKeyword), |
9691 _mapToken(node.whileKeyword), _mapToken(node.leftParenthesis), | 9998 _cloneNode(node.body), |
9692 _cloneNode(node.condition), _mapToken(node.rightParenthesis), | 9999 _mapToken(node.whileKeyword), |
| 10000 _mapToken(node.leftParenthesis), |
| 10001 _cloneNode(node.condition), |
| 10002 _mapToken(node.rightParenthesis), |
9693 _mapToken(node.semicolon)); | 10003 _mapToken(node.semicolon)); |
9694 | 10004 |
9695 @override | 10005 @override |
9696 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) { | 10006 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) { |
9697 DoubleLiteral copy = new DoubleLiteral(_mapToken(node.literal), node.value); | 10007 DoubleLiteral copy = new DoubleLiteral(_mapToken(node.literal), node.value); |
9698 copy.propagatedType = node.propagatedType; | 10008 copy.propagatedType = node.propagatedType; |
9699 copy.staticType = node.staticType; | 10009 copy.staticType = node.staticType; |
9700 return copy; | 10010 return copy; |
9701 } | 10011 } |
9702 | 10012 |
9703 @override | 10013 @override |
9704 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => | 10014 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => |
9705 new EmptyFunctionBody(_mapToken(node.semicolon)); | 10015 new EmptyFunctionBody(_mapToken(node.semicolon)); |
9706 | 10016 |
9707 @override | 10017 @override |
9708 EmptyStatement visitEmptyStatement(EmptyStatement node) => | 10018 EmptyStatement visitEmptyStatement(EmptyStatement node) => |
9709 new EmptyStatement(_mapToken(node.semicolon)); | 10019 new EmptyStatement(_mapToken(node.semicolon)); |
9710 | 10020 |
9711 @override | 10021 @override |
9712 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => | 10022 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => |
9713 new EnumConstantDeclaration(_cloneNode(node.documentationComment), | 10023 new EnumConstantDeclaration(_cloneNode(node.documentationComment), |
9714 _cloneNodeList(node.metadata), _cloneNode(node.name)); | 10024 _cloneNodeList(node.metadata), _cloneNode(node.name)); |
9715 | 10025 |
9716 @override | 10026 @override |
9717 AstNode visitEnumDeclaration(EnumDeclaration node) => new EnumDeclaration( | 10027 AstNode visitEnumDeclaration(EnumDeclaration node) => new EnumDeclaration( |
9718 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10028 _cloneNode(node.documentationComment), |
9719 _mapToken(node.enumKeyword), _cloneNode(node.name), | 10029 _cloneNodeList(node.metadata), |
9720 _mapToken(node.leftBracket), _cloneNodeList(node.constants), | 10030 _mapToken(node.enumKeyword), |
| 10031 _cloneNode(node.name), |
| 10032 _mapToken(node.leftBracket), |
| 10033 _cloneNodeList(node.constants), |
9721 _mapToken(node.rightBracket)); | 10034 _mapToken(node.rightBracket)); |
9722 | 10035 |
9723 @override | 10036 @override |
9724 ExportDirective visitExportDirective(ExportDirective node) { | 10037 ExportDirective visitExportDirective(ExportDirective node) { |
9725 ExportDirective copy = new ExportDirective( | 10038 ExportDirective copy = new ExportDirective( |
9726 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10039 _cloneNode(node.documentationComment), |
9727 _mapToken(node.keyword), _cloneNode(node.uri), | 10040 _cloneNodeList(node.metadata), |
9728 _cloneNodeList(node.combinators), _mapToken(node.semicolon)); | 10041 _mapToken(node.keyword), |
| 10042 _cloneNode(node.uri), |
| 10043 _cloneNodeList(node.combinators), |
| 10044 _mapToken(node.semicolon)); |
9729 copy.element = node.element; | 10045 copy.element = node.element; |
9730 return copy; | 10046 return copy; |
9731 } | 10047 } |
9732 | 10048 |
9733 @override | 10049 @override |
9734 ExpressionFunctionBody visitExpressionFunctionBody( | 10050 ExpressionFunctionBody visitExpressionFunctionBody( |
9735 ExpressionFunctionBody node) => new ExpressionFunctionBody( | 10051 ExpressionFunctionBody node) => |
9736 _mapToken(node.keyword), _mapToken(node.functionDefinition), | 10052 new ExpressionFunctionBody( |
9737 _cloneNode(node.expression), _mapToken(node.semicolon)); | 10053 _mapToken(node.keyword), |
| 10054 _mapToken(node.functionDefinition), |
| 10055 _cloneNode(node.expression), |
| 10056 _mapToken(node.semicolon)); |
9738 | 10057 |
9739 @override | 10058 @override |
9740 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => | 10059 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => |
9741 new ExpressionStatement( | 10060 new ExpressionStatement( |
9742 _cloneNode(node.expression), _mapToken(node.semicolon)); | 10061 _cloneNode(node.expression), _mapToken(node.semicolon)); |
9743 | 10062 |
9744 @override | 10063 @override |
9745 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause( | 10064 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause( |
9746 _mapToken(node.extendsKeyword), _cloneNode(node.superclass)); | 10065 _mapToken(node.extendsKeyword), _cloneNode(node.superclass)); |
9747 | 10066 |
9748 @override | 10067 @override |
9749 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => | 10068 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => |
9750 new FieldDeclaration(_cloneNode(node.documentationComment), | 10069 new FieldDeclaration( |
9751 _cloneNodeList(node.metadata), _mapToken(node.staticKeyword), | 10070 _cloneNode(node.documentationComment), |
9752 _cloneNode(node.fields), _mapToken(node.semicolon)); | 10071 _cloneNodeList(node.metadata), |
| 10072 _mapToken(node.staticKeyword), |
| 10073 _cloneNode(node.fields), |
| 10074 _mapToken(node.semicolon)); |
9753 | 10075 |
9754 @override | 10076 @override |
9755 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => | 10077 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => |
9756 new FieldFormalParameter(_cloneNode(node.documentationComment), | 10078 new FieldFormalParameter( |
9757 _cloneNodeList(node.metadata), _mapToken(node.keyword), | 10079 _cloneNode(node.documentationComment), |
9758 _cloneNode(node.type), _mapToken(node.thisKeyword), | 10080 _cloneNodeList(node.metadata), |
9759 _mapToken(node.period), _cloneNode(node.identifier), | 10081 _mapToken(node.keyword), |
9760 _cloneNode(node.typeParameters), _cloneNode(node.parameters)); | 10082 _cloneNode(node.type), |
| 10083 _mapToken(node.thisKeyword), |
| 10084 _mapToken(node.period), |
| 10085 _cloneNode(node.identifier), |
| 10086 _cloneNode(node.typeParameters), |
| 10087 _cloneNode(node.parameters)); |
9761 | 10088 |
9762 @override | 10089 @override |
9763 ForEachStatement visitForEachStatement(ForEachStatement node) { | 10090 ForEachStatement visitForEachStatement(ForEachStatement node) { |
9764 DeclaredIdentifier loopVariable = node.loopVariable; | 10091 DeclaredIdentifier loopVariable = node.loopVariable; |
9765 if (loopVariable == null) { | 10092 if (loopVariable == null) { |
9766 return new ForEachStatement.withReference(_mapToken(node.awaitKeyword), | 10093 return new ForEachStatement.withReference( |
9767 _mapToken(node.forKeyword), _mapToken(node.leftParenthesis), | 10094 _mapToken(node.awaitKeyword), |
9768 _cloneNode(node.identifier), _mapToken(node.inKeyword), | 10095 _mapToken(node.forKeyword), |
9769 _cloneNode(node.iterable), _mapToken(node.rightParenthesis), | 10096 _mapToken(node.leftParenthesis), |
| 10097 _cloneNode(node.identifier), |
| 10098 _mapToken(node.inKeyword), |
| 10099 _cloneNode(node.iterable), |
| 10100 _mapToken(node.rightParenthesis), |
9770 _cloneNode(node.body)); | 10101 _cloneNode(node.body)); |
9771 } | 10102 } |
9772 return new ForEachStatement.withDeclaration(_mapToken(node.awaitKeyword), | 10103 return new ForEachStatement.withDeclaration( |
9773 _mapToken(node.forKeyword), _mapToken(node.leftParenthesis), | 10104 _mapToken(node.awaitKeyword), |
9774 _cloneNode(loopVariable), _mapToken(node.inKeyword), | 10105 _mapToken(node.forKeyword), |
9775 _cloneNode(node.iterable), _mapToken(node.rightParenthesis), | 10106 _mapToken(node.leftParenthesis), |
| 10107 _cloneNode(loopVariable), |
| 10108 _mapToken(node.inKeyword), |
| 10109 _cloneNode(node.iterable), |
| 10110 _mapToken(node.rightParenthesis), |
9776 _cloneNode(node.body)); | 10111 _cloneNode(node.body)); |
9777 } | 10112 } |
9778 | 10113 |
9779 @override | 10114 @override |
9780 FormalParameterList visitFormalParameterList(FormalParameterList node) => | 10115 FormalParameterList visitFormalParameterList(FormalParameterList node) => |
9781 new FormalParameterList(_mapToken(node.leftParenthesis), | 10116 new FormalParameterList( |
9782 _cloneNodeList(node.parameters), _mapToken(node.leftDelimiter), | 10117 _mapToken(node.leftParenthesis), |
9783 _mapToken(node.rightDelimiter), _mapToken(node.rightParenthesis)); | 10118 _cloneNodeList(node.parameters), |
| 10119 _mapToken(node.leftDelimiter), |
| 10120 _mapToken(node.rightDelimiter), |
| 10121 _mapToken(node.rightParenthesis)); |
9784 | 10122 |
9785 @override | 10123 @override |
9786 ForStatement visitForStatement(ForStatement node) => new ForStatement( | 10124 ForStatement visitForStatement(ForStatement node) => new ForStatement( |
9787 _mapToken(node.forKeyword), _mapToken(node.leftParenthesis), | 10125 _mapToken(node.forKeyword), |
9788 _cloneNode(node.variables), _cloneNode(node.initialization), | 10126 _mapToken(node.leftParenthesis), |
9789 _mapToken(node.leftSeparator), _cloneNode(node.condition), | 10127 _cloneNode(node.variables), |
9790 _mapToken(node.rightSeparator), _cloneNodeList(node.updaters), | 10128 _cloneNode(node.initialization), |
9791 _mapToken(node.rightParenthesis), _cloneNode(node.body)); | 10129 _mapToken(node.leftSeparator), |
| 10130 _cloneNode(node.condition), |
| 10131 _mapToken(node.rightSeparator), |
| 10132 _cloneNodeList(node.updaters), |
| 10133 _mapToken(node.rightParenthesis), |
| 10134 _cloneNode(node.body)); |
9792 | 10135 |
9793 @override | 10136 @override |
9794 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => | 10137 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => |
9795 new FunctionDeclaration(_cloneNode(node.documentationComment), | 10138 new FunctionDeclaration( |
9796 _cloneNodeList(node.metadata), _mapToken(node.externalKeyword), | 10139 _cloneNode(node.documentationComment), |
9797 _cloneNode(node.returnType), _mapToken(node.propertyKeyword), | 10140 _cloneNodeList(node.metadata), |
9798 _cloneNode(node.name), _cloneNode(node.functionExpression)); | 10141 _mapToken(node.externalKeyword), |
| 10142 _cloneNode(node.returnType), |
| 10143 _mapToken(node.propertyKeyword), |
| 10144 _cloneNode(node.name), |
| 10145 _cloneNode(node.functionExpression)); |
9799 | 10146 |
9800 @override | 10147 @override |
9801 FunctionDeclarationStatement visitFunctionDeclarationStatement( | 10148 FunctionDeclarationStatement visitFunctionDeclarationStatement( |
9802 FunctionDeclarationStatement node) => | 10149 FunctionDeclarationStatement node) => |
9803 new FunctionDeclarationStatement(_cloneNode(node.functionDeclaration)); | 10150 new FunctionDeclarationStatement(_cloneNode(node.functionDeclaration)); |
9804 | 10151 |
9805 @override | 10152 @override |
9806 FunctionExpression visitFunctionExpression(FunctionExpression node) { | 10153 FunctionExpression visitFunctionExpression(FunctionExpression node) { |
9807 FunctionExpression copy = new FunctionExpression( | 10154 FunctionExpression copy = new FunctionExpression( |
9808 _cloneNode(node.typeParameters), _cloneNode(node.parameters), | 10155 _cloneNode(node.typeParameters), |
| 10156 _cloneNode(node.parameters), |
9809 _cloneNode(node.body)); | 10157 _cloneNode(node.body)); |
9810 copy.element = node.element; | 10158 copy.element = node.element; |
9811 copy.propagatedType = node.propagatedType; | 10159 copy.propagatedType = node.propagatedType; |
9812 copy.staticType = node.staticType; | 10160 copy.staticType = node.staticType; |
9813 return copy; | 10161 return copy; |
9814 } | 10162 } |
9815 | 10163 |
9816 @override | 10164 @override |
9817 FunctionExpressionInvocation visitFunctionExpressionInvocation( | 10165 FunctionExpressionInvocation visitFunctionExpressionInvocation( |
9818 FunctionExpressionInvocation node) { | 10166 FunctionExpressionInvocation node) { |
9819 FunctionExpressionInvocation copy = new FunctionExpressionInvocation( | 10167 FunctionExpressionInvocation copy = new FunctionExpressionInvocation( |
9820 _cloneNode(node.function), _cloneNode(node.typeArguments), | 10168 _cloneNode(node.function), |
| 10169 _cloneNode(node.typeArguments), |
9821 _cloneNode(node.argumentList)); | 10170 _cloneNode(node.argumentList)); |
9822 copy.propagatedElement = node.propagatedElement; | 10171 copy.propagatedElement = node.propagatedElement; |
9823 copy.propagatedType = node.propagatedType; | 10172 copy.propagatedType = node.propagatedType; |
9824 copy.staticElement = node.staticElement; | 10173 copy.staticElement = node.staticElement; |
9825 copy.staticType = node.staticType; | 10174 copy.staticType = node.staticType; |
9826 return copy; | 10175 return copy; |
9827 } | 10176 } |
9828 | 10177 |
9829 @override | 10178 @override |
9830 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => | 10179 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => |
9831 new FunctionTypeAlias(_cloneNode(node.documentationComment), | 10180 new FunctionTypeAlias( |
9832 _cloneNodeList(node.metadata), _mapToken(node.typedefKeyword), | 10181 _cloneNode(node.documentationComment), |
9833 _cloneNode(node.returnType), _cloneNode(node.name), | 10182 _cloneNodeList(node.metadata), |
9834 _cloneNode(node.typeParameters), _cloneNode(node.parameters), | 10183 _mapToken(node.typedefKeyword), |
| 10184 _cloneNode(node.returnType), |
| 10185 _cloneNode(node.name), |
| 10186 _cloneNode(node.typeParameters), |
| 10187 _cloneNode(node.parameters), |
9835 _mapToken(node.semicolon)); | 10188 _mapToken(node.semicolon)); |
9836 | 10189 |
9837 @override | 10190 @override |
9838 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( | 10191 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( |
9839 FunctionTypedFormalParameter node) => new FunctionTypedFormalParameter( | 10192 FunctionTypedFormalParameter node) => |
9840 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10193 new FunctionTypedFormalParameter( |
9841 _cloneNode(node.returnType), _cloneNode(node.identifier), | 10194 _cloneNode(node.documentationComment), |
9842 _cloneNode(node.typeParameters), _cloneNode(node.parameters)); | 10195 _cloneNodeList(node.metadata), |
| 10196 _cloneNode(node.returnType), |
| 10197 _cloneNode(node.identifier), |
| 10198 _cloneNode(node.typeParameters), |
| 10199 _cloneNode(node.parameters)); |
9843 | 10200 |
9844 @override | 10201 @override |
9845 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( | 10202 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( |
9846 _mapToken(node.keyword), _cloneNodeList(node.hiddenNames)); | 10203 _mapToken(node.keyword), _cloneNodeList(node.hiddenNames)); |
9847 | 10204 |
9848 @override | 10205 @override |
9849 IfStatement visitIfStatement(IfStatement node) => new IfStatement( | 10206 IfStatement visitIfStatement(IfStatement node) => new IfStatement( |
9850 _mapToken(node.ifKeyword), _mapToken(node.leftParenthesis), | 10207 _mapToken(node.ifKeyword), |
9851 _cloneNode(node.condition), _mapToken(node.rightParenthesis), | 10208 _mapToken(node.leftParenthesis), |
9852 _cloneNode(node.thenStatement), _mapToken(node.elseKeyword), | 10209 _cloneNode(node.condition), |
| 10210 _mapToken(node.rightParenthesis), |
| 10211 _cloneNode(node.thenStatement), |
| 10212 _mapToken(node.elseKeyword), |
9853 _cloneNode(node.elseStatement)); | 10213 _cloneNode(node.elseStatement)); |
9854 | 10214 |
9855 @override | 10215 @override |
9856 ImplementsClause visitImplementsClause(ImplementsClause node) => | 10216 ImplementsClause visitImplementsClause(ImplementsClause node) => |
9857 new ImplementsClause( | 10217 new ImplementsClause( |
9858 _mapToken(node.implementsKeyword), _cloneNodeList(node.interfaces)); | 10218 _mapToken(node.implementsKeyword), _cloneNodeList(node.interfaces)); |
9859 | 10219 |
9860 @override | 10220 @override |
9861 ImportDirective visitImportDirective(ImportDirective node) => | 10221 ImportDirective visitImportDirective(ImportDirective node) => |
9862 new ImportDirective(_cloneNode(node.documentationComment), | 10222 new ImportDirective( |
9863 _cloneNodeList(node.metadata), _mapToken(node.keyword), | 10223 _cloneNode(node.documentationComment), |
9864 _cloneNode(node.uri), _mapToken(node.deferredKeyword), | 10224 _cloneNodeList(node.metadata), |
9865 _mapToken(node.asKeyword), _cloneNode(node.prefix), | 10225 _mapToken(node.keyword), |
9866 _cloneNodeList(node.combinators), _mapToken(node.semicolon)); | 10226 _cloneNode(node.uri), |
| 10227 _mapToken(node.deferredKeyword), |
| 10228 _mapToken(node.asKeyword), |
| 10229 _cloneNode(node.prefix), |
| 10230 _cloneNodeList(node.combinators), |
| 10231 _mapToken(node.semicolon)); |
9867 | 10232 |
9868 @override | 10233 @override |
9869 IndexExpression visitIndexExpression(IndexExpression node) { | 10234 IndexExpression visitIndexExpression(IndexExpression node) { |
9870 Token period = _mapToken(node.period); | 10235 Token period = _mapToken(node.period); |
9871 IndexExpression copy; | 10236 IndexExpression copy; |
9872 if (period == null) { | 10237 if (period == null) { |
9873 copy = new IndexExpression.forTarget(_cloneNode(node.target), | 10238 copy = new IndexExpression.forTarget( |
9874 _mapToken(node.leftBracket), _cloneNode(node.index), | 10239 _cloneNode(node.target), |
| 10240 _mapToken(node.leftBracket), |
| 10241 _cloneNode(node.index), |
9875 _mapToken(node.rightBracket)); | 10242 _mapToken(node.rightBracket)); |
9876 } else { | 10243 } else { |
9877 copy = new IndexExpression.forCascade(period, _mapToken(node.leftBracket), | 10244 copy = new IndexExpression.forCascade(period, _mapToken(node.leftBracket), |
9878 _cloneNode(node.index), _mapToken(node.rightBracket)); | 10245 _cloneNode(node.index), _mapToken(node.rightBracket)); |
9879 } | 10246 } |
9880 copy.auxiliaryElements = node.auxiliaryElements; | 10247 copy.auxiliaryElements = node.auxiliaryElements; |
9881 copy.propagatedElement = node.propagatedElement; | 10248 copy.propagatedElement = node.propagatedElement; |
9882 copy.propagatedType = node.propagatedType; | 10249 copy.propagatedType = node.propagatedType; |
9883 copy.staticElement = node.staticElement; | 10250 copy.staticElement = node.staticElement; |
9884 copy.staticType = node.staticType; | 10251 copy.staticType = node.staticType; |
9885 return copy; | 10252 return copy; |
9886 } | 10253 } |
9887 | 10254 |
9888 @override | 10255 @override |
9889 InstanceCreationExpression visitInstanceCreationExpression( | 10256 InstanceCreationExpression visitInstanceCreationExpression( |
9890 InstanceCreationExpression node) { | 10257 InstanceCreationExpression node) { |
9891 InstanceCreationExpression copy = new InstanceCreationExpression( | 10258 InstanceCreationExpression copy = new InstanceCreationExpression( |
9892 _mapToken(node.keyword), _cloneNode(node.constructorName), | 10259 _mapToken(node.keyword), |
| 10260 _cloneNode(node.constructorName), |
9893 _cloneNode(node.argumentList)); | 10261 _cloneNode(node.argumentList)); |
9894 copy.propagatedType = node.propagatedType; | 10262 copy.propagatedType = node.propagatedType; |
9895 copy.staticElement = node.staticElement; | 10263 copy.staticElement = node.staticElement; |
9896 copy.staticType = node.staticType; | 10264 copy.staticType = node.staticType; |
9897 return copy; | 10265 return copy; |
9898 } | 10266 } |
9899 | 10267 |
9900 @override | 10268 @override |
9901 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) { | 10269 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) { |
9902 IntegerLiteral copy = | 10270 IntegerLiteral copy = |
9903 new IntegerLiteral(_mapToken(node.literal), node.value); | 10271 new IntegerLiteral(_mapToken(node.literal), node.value); |
9904 copy.propagatedType = node.propagatedType; | 10272 copy.propagatedType = node.propagatedType; |
9905 copy.staticType = node.staticType; | 10273 copy.staticType = node.staticType; |
9906 return copy; | 10274 return copy; |
9907 } | 10275 } |
9908 | 10276 |
9909 @override | 10277 @override |
9910 InterpolationExpression visitInterpolationExpression( | 10278 InterpolationExpression visitInterpolationExpression( |
9911 InterpolationExpression node) => new InterpolationExpression( | 10279 InterpolationExpression node) => |
9912 _mapToken(node.leftBracket), _cloneNode(node.expression), | 10280 new InterpolationExpression(_mapToken(node.leftBracket), |
9913 _mapToken(node.rightBracket)); | 10281 _cloneNode(node.expression), _mapToken(node.rightBracket)); |
9914 | 10282 |
9915 @override | 10283 @override |
9916 InterpolationString visitInterpolationString(InterpolationString node) => | 10284 InterpolationString visitInterpolationString(InterpolationString node) => |
9917 new InterpolationString(_mapToken(node.contents), node.value); | 10285 new InterpolationString(_mapToken(node.contents), node.value); |
9918 | 10286 |
9919 @override | 10287 @override |
9920 IsExpression visitIsExpression(IsExpression node) { | 10288 IsExpression visitIsExpression(IsExpression node) { |
9921 IsExpression copy = new IsExpression(_cloneNode(node.expression), | 10289 IsExpression copy = new IsExpression( |
9922 _mapToken(node.isOperator), _mapToken(node.notOperator), | 10290 _cloneNode(node.expression), |
| 10291 _mapToken(node.isOperator), |
| 10292 _mapToken(node.notOperator), |
9923 _cloneNode(node.type)); | 10293 _cloneNode(node.type)); |
9924 copy.propagatedType = node.propagatedType; | 10294 copy.propagatedType = node.propagatedType; |
9925 copy.staticType = node.staticType; | 10295 copy.staticType = node.staticType; |
9926 return copy; | 10296 return copy; |
9927 } | 10297 } |
9928 | 10298 |
9929 @override | 10299 @override |
9930 Label visitLabel(Label node) => | 10300 Label visitLabel(Label node) => |
9931 new Label(_cloneNode(node.label), _mapToken(node.colon)); | 10301 new Label(_cloneNode(node.label), _mapToken(node.colon)); |
9932 | 10302 |
9933 @override | 10303 @override |
9934 LabeledStatement visitLabeledStatement(LabeledStatement node) => | 10304 LabeledStatement visitLabeledStatement(LabeledStatement node) => |
9935 new LabeledStatement( | 10305 new LabeledStatement( |
9936 _cloneNodeList(node.labels), _cloneNode(node.statement)); | 10306 _cloneNodeList(node.labels), _cloneNode(node.statement)); |
9937 | 10307 |
9938 @override | 10308 @override |
9939 LibraryDirective visitLibraryDirective(LibraryDirective node) => | 10309 LibraryDirective visitLibraryDirective(LibraryDirective node) => |
9940 new LibraryDirective(_cloneNode(node.documentationComment), | 10310 new LibraryDirective( |
9941 _cloneNodeList(node.metadata), _mapToken(node.libraryKeyword), | 10311 _cloneNode(node.documentationComment), |
9942 _cloneNode(node.name), _mapToken(node.semicolon)); | 10312 _cloneNodeList(node.metadata), |
| 10313 _mapToken(node.libraryKeyword), |
| 10314 _cloneNode(node.name), |
| 10315 _mapToken(node.semicolon)); |
9943 | 10316 |
9944 @override | 10317 @override |
9945 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) { | 10318 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) { |
9946 LibraryIdentifier copy = | 10319 LibraryIdentifier copy = |
9947 new LibraryIdentifier(_cloneNodeList(node.components)); | 10320 new LibraryIdentifier(_cloneNodeList(node.components)); |
9948 copy.propagatedType = node.propagatedType; | 10321 copy.propagatedType = node.propagatedType; |
9949 copy.staticType = node.staticType; | 10322 copy.staticType = node.staticType; |
9950 return copy; | 10323 return copy; |
9951 } | 10324 } |
9952 | 10325 |
9953 @override | 10326 @override |
9954 ListLiteral visitListLiteral(ListLiteral node) { | 10327 ListLiteral visitListLiteral(ListLiteral node) { |
9955 ListLiteral copy = new ListLiteral(_mapToken(node.constKeyword), | 10328 ListLiteral copy = new ListLiteral( |
9956 _cloneNode(node.typeArguments), _mapToken(node.leftBracket), | 10329 _mapToken(node.constKeyword), |
9957 _cloneNodeList(node.elements), _mapToken(node.rightBracket)); | 10330 _cloneNode(node.typeArguments), |
| 10331 _mapToken(node.leftBracket), |
| 10332 _cloneNodeList(node.elements), |
| 10333 _mapToken(node.rightBracket)); |
9958 copy.propagatedType = node.propagatedType; | 10334 copy.propagatedType = node.propagatedType; |
9959 copy.staticType = node.staticType; | 10335 copy.staticType = node.staticType; |
9960 return copy; | 10336 return copy; |
9961 } | 10337 } |
9962 | 10338 |
9963 @override | 10339 @override |
9964 MapLiteral visitMapLiteral(MapLiteral node) { | 10340 MapLiteral visitMapLiteral(MapLiteral node) { |
9965 MapLiteral copy = new MapLiteral(_mapToken(node.constKeyword), | 10341 MapLiteral copy = new MapLiteral( |
9966 _cloneNode(node.typeArguments), _mapToken(node.leftBracket), | 10342 _mapToken(node.constKeyword), |
9967 _cloneNodeList(node.entries), _mapToken(node.rightBracket)); | 10343 _cloneNode(node.typeArguments), |
| 10344 _mapToken(node.leftBracket), |
| 10345 _cloneNodeList(node.entries), |
| 10346 _mapToken(node.rightBracket)); |
9968 copy.propagatedType = node.propagatedType; | 10347 copy.propagatedType = node.propagatedType; |
9969 copy.staticType = node.staticType; | 10348 copy.staticType = node.staticType; |
9970 return copy; | 10349 return copy; |
9971 } | 10350 } |
9972 | 10351 |
9973 @override | 10352 @override |
9974 MapLiteralEntry visitMapLiteralEntry( | 10353 MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) => |
9975 MapLiteralEntry node) => new MapLiteralEntry( | 10354 new MapLiteralEntry(_cloneNode(node.key), _mapToken(node.separator), |
9976 _cloneNode(node.key), _mapToken(node.separator), _cloneNode(node.value)); | 10355 _cloneNode(node.value)); |
9977 | 10356 |
9978 @override | 10357 @override |
9979 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => | 10358 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => |
9980 new MethodDeclaration(_cloneNode(node.documentationComment), | 10359 new MethodDeclaration( |
9981 _cloneNodeList(node.metadata), _mapToken(node.externalKeyword), | 10360 _cloneNode(node.documentationComment), |
9982 _mapToken(node.modifierKeyword), _cloneNode(node.returnType), | 10361 _cloneNodeList(node.metadata), |
9983 _mapToken(node.propertyKeyword), _mapToken(node.operatorKeyword), | 10362 _mapToken(node.externalKeyword), |
9984 _cloneNode(node.name), _cloneNode(node._typeParameters), | 10363 _mapToken(node.modifierKeyword), |
9985 _cloneNode(node.parameters), _cloneNode(node.body)); | 10364 _cloneNode(node.returnType), |
| 10365 _mapToken(node.propertyKeyword), |
| 10366 _mapToken(node.operatorKeyword), |
| 10367 _cloneNode(node.name), |
| 10368 _cloneNode(node._typeParameters), |
| 10369 _cloneNode(node.parameters), |
| 10370 _cloneNode(node.body)); |
9986 | 10371 |
9987 @override | 10372 @override |
9988 MethodInvocation visitMethodInvocation(MethodInvocation node) { | 10373 MethodInvocation visitMethodInvocation(MethodInvocation node) { |
9989 MethodInvocation copy = new MethodInvocation(_cloneNode(node.target), | 10374 MethodInvocation copy = new MethodInvocation( |
9990 _mapToken(node.operator), _cloneNode(node.methodName), | 10375 _cloneNode(node.target), |
9991 _cloneNode(node.typeArguments), _cloneNode(node.argumentList)); | 10376 _mapToken(node.operator), |
| 10377 _cloneNode(node.methodName), |
| 10378 _cloneNode(node.typeArguments), |
| 10379 _cloneNode(node.argumentList)); |
9992 copy.propagatedType = node.propagatedType; | 10380 copy.propagatedType = node.propagatedType; |
9993 copy.staticType = node.staticType; | 10381 copy.staticType = node.staticType; |
9994 return copy; | 10382 return copy; |
9995 } | 10383 } |
9996 | 10384 |
9997 @override | 10385 @override |
9998 NamedExpression visitNamedExpression(NamedExpression node) { | 10386 NamedExpression visitNamedExpression(NamedExpression node) { |
9999 NamedExpression copy = | 10387 NamedExpression copy = |
10000 new NamedExpression(_cloneNode(node.name), _cloneNode(node.expression)); | 10388 new NamedExpression(_cloneNode(node.name), _cloneNode(node.expression)); |
10001 copy.propagatedType = node.propagatedType; | 10389 copy.propagatedType = node.propagatedType; |
(...skipping 15 matching lines...) Expand all Loading... |
10017 NullLiteral copy = new NullLiteral(_mapToken(node.literal)); | 10405 NullLiteral copy = new NullLiteral(_mapToken(node.literal)); |
10018 copy.propagatedType = node.propagatedType; | 10406 copy.propagatedType = node.propagatedType; |
10019 copy.staticType = node.staticType; | 10407 copy.staticType = node.staticType; |
10020 return copy; | 10408 return copy; |
10021 } | 10409 } |
10022 | 10410 |
10023 @override | 10411 @override |
10024 ParenthesizedExpression visitParenthesizedExpression( | 10412 ParenthesizedExpression visitParenthesizedExpression( |
10025 ParenthesizedExpression node) { | 10413 ParenthesizedExpression node) { |
10026 ParenthesizedExpression copy = new ParenthesizedExpression( | 10414 ParenthesizedExpression copy = new ParenthesizedExpression( |
10027 _mapToken(node.leftParenthesis), _cloneNode(node.expression), | 10415 _mapToken(node.leftParenthesis), |
| 10416 _cloneNode(node.expression), |
10028 _mapToken(node.rightParenthesis)); | 10417 _mapToken(node.rightParenthesis)); |
10029 copy.propagatedType = node.propagatedType; | 10418 copy.propagatedType = node.propagatedType; |
10030 copy.staticType = node.staticType; | 10419 copy.staticType = node.staticType; |
10031 return copy; | 10420 return copy; |
10032 } | 10421 } |
10033 | 10422 |
10034 @override | 10423 @override |
10035 PartDirective visitPartDirective(PartDirective node) { | 10424 PartDirective visitPartDirective(PartDirective node) { |
10036 PartDirective copy = new PartDirective( | 10425 PartDirective copy = new PartDirective( |
10037 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10426 _cloneNode(node.documentationComment), |
10038 _mapToken(node.partKeyword), _cloneNode(node.uri), | 10427 _cloneNodeList(node.metadata), |
| 10428 _mapToken(node.partKeyword), |
| 10429 _cloneNode(node.uri), |
10039 _mapToken(node.semicolon)); | 10430 _mapToken(node.semicolon)); |
10040 copy.element = node.element; | 10431 copy.element = node.element; |
10041 return copy; | 10432 return copy; |
10042 } | 10433 } |
10043 | 10434 |
10044 @override | 10435 @override |
10045 PartOfDirective visitPartOfDirective(PartOfDirective node) { | 10436 PartOfDirective visitPartOfDirective(PartOfDirective node) { |
10046 PartOfDirective copy = new PartOfDirective( | 10437 PartOfDirective copy = new PartOfDirective( |
10047 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10438 _cloneNode(node.documentationComment), |
10048 _mapToken(node.partKeyword), _mapToken(node.ofKeyword), | 10439 _cloneNodeList(node.metadata), |
10049 _cloneNode(node.libraryName), _mapToken(node.semicolon)); | 10440 _mapToken(node.partKeyword), |
| 10441 _mapToken(node.ofKeyword), |
| 10442 _cloneNode(node.libraryName), |
| 10443 _mapToken(node.semicolon)); |
10050 copy.element = node.element; | 10444 copy.element = node.element; |
10051 return copy; | 10445 return copy; |
10052 } | 10446 } |
10053 | 10447 |
10054 @override | 10448 @override |
10055 PostfixExpression visitPostfixExpression(PostfixExpression node) { | 10449 PostfixExpression visitPostfixExpression(PostfixExpression node) { |
10056 PostfixExpression copy = new PostfixExpression( | 10450 PostfixExpression copy = new PostfixExpression( |
10057 _cloneNode(node.operand), _mapToken(node.operator)); | 10451 _cloneNode(node.operand), _mapToken(node.operator)); |
10058 copy.propagatedElement = node.propagatedElement; | 10452 copy.propagatedElement = node.propagatedElement; |
10059 copy.propagatedType = node.propagatedType; | 10453 copy.propagatedType = node.propagatedType; |
(...skipping 28 matching lines...) Expand all Loading... |
10088 _mapToken(node.operator), _cloneNode(node.propertyName)); | 10482 _mapToken(node.operator), _cloneNode(node.propertyName)); |
10089 copy.propagatedType = node.propagatedType; | 10483 copy.propagatedType = node.propagatedType; |
10090 copy.staticType = node.staticType; | 10484 copy.staticType = node.staticType; |
10091 return copy; | 10485 return copy; |
10092 } | 10486 } |
10093 | 10487 |
10094 @override | 10488 @override |
10095 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( | 10489 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( |
10096 RedirectingConstructorInvocation node) { | 10490 RedirectingConstructorInvocation node) { |
10097 RedirectingConstructorInvocation copy = | 10491 RedirectingConstructorInvocation copy = |
10098 new RedirectingConstructorInvocation(_mapToken(node.thisKeyword), | 10492 new RedirectingConstructorInvocation( |
10099 _mapToken(node.period), _cloneNode(node.constructorName), | 10493 _mapToken(node.thisKeyword), |
| 10494 _mapToken(node.period), |
| 10495 _cloneNode(node.constructorName), |
10100 _cloneNode(node.argumentList)); | 10496 _cloneNode(node.argumentList)); |
10101 copy.staticElement = node.staticElement; | 10497 copy.staticElement = node.staticElement; |
10102 return copy; | 10498 return copy; |
10103 } | 10499 } |
10104 | 10500 |
10105 @override | 10501 @override |
10106 RethrowExpression visitRethrowExpression(RethrowExpression node) { | 10502 RethrowExpression visitRethrowExpression(RethrowExpression node) { |
10107 RethrowExpression copy = | 10503 RethrowExpression copy = |
10108 new RethrowExpression(_mapToken(node.rethrowKeyword)); | 10504 new RethrowExpression(_mapToken(node.rethrowKeyword)); |
10109 copy.propagatedType = node.propagatedType; | 10505 copy.propagatedType = node.propagatedType; |
10110 copy.staticType = node.staticType; | 10506 copy.staticType = node.staticType; |
10111 return copy; | 10507 return copy; |
10112 } | 10508 } |
10113 | 10509 |
10114 @override | 10510 @override |
10115 ReturnStatement visitReturnStatement(ReturnStatement node) => | 10511 ReturnStatement visitReturnStatement(ReturnStatement node) => |
10116 new ReturnStatement(_mapToken(node.returnKeyword), | 10512 new ReturnStatement(_mapToken(node.returnKeyword), |
10117 _cloneNode(node.expression), _mapToken(node.semicolon)); | 10513 _cloneNode(node.expression), _mapToken(node.semicolon)); |
10118 | 10514 |
10119 @override | 10515 @override |
10120 ScriptTag visitScriptTag(ScriptTag node) => | 10516 ScriptTag visitScriptTag(ScriptTag node) => |
10121 new ScriptTag(_mapToken(node.scriptTag)); | 10517 new ScriptTag(_mapToken(node.scriptTag)); |
10122 | 10518 |
10123 @override | 10519 @override |
10124 ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator( | 10520 ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator( |
10125 _mapToken(node.keyword), _cloneNodeList(node.shownNames)); | 10521 _mapToken(node.keyword), _cloneNodeList(node.shownNames)); |
10126 | 10522 |
10127 @override | 10523 @override |
10128 SimpleFormalParameter visitSimpleFormalParameter( | 10524 SimpleFormalParameter visitSimpleFormalParameter( |
10129 SimpleFormalParameter node) => new SimpleFormalParameter( | 10525 SimpleFormalParameter node) => |
10130 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10526 new SimpleFormalParameter( |
10131 _mapToken(node.keyword), _cloneNode(node.type), | 10527 _cloneNode(node.documentationComment), |
10132 _cloneNode(node.identifier)); | 10528 _cloneNodeList(node.metadata), |
| 10529 _mapToken(node.keyword), |
| 10530 _cloneNode(node.type), |
| 10531 _cloneNode(node.identifier)); |
10133 | 10532 |
10134 @override | 10533 @override |
10135 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) { | 10534 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) { |
10136 Token mappedToken = _mapToken(node.token); | 10535 Token mappedToken = _mapToken(node.token); |
10137 if (mappedToken == null) { | 10536 if (mappedToken == null) { |
10138 // This only happens for SimpleIdentifiers created by the parser as part | 10537 // This only happens for SimpleIdentifiers created by the parser as part |
10139 // of scanning documentation comments (the tokens for those identifiers | 10538 // of scanning documentation comments (the tokens for those identifiers |
10140 // are not in the original token stream and hence do not get copied). | 10539 // 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 | 10540 // This extra check can be removed if the scanner is changed to scan |
10142 // documentation comments for the parser. | 10541 // documentation comments for the parser. |
(...skipping 23 matching lines...) Expand all Loading... |
10166 new StringInterpolation(_cloneNodeList(node.elements)); | 10565 new StringInterpolation(_cloneNodeList(node.elements)); |
10167 copy.propagatedType = node.propagatedType; | 10566 copy.propagatedType = node.propagatedType; |
10168 copy.staticType = node.staticType; | 10567 copy.staticType = node.staticType; |
10169 return copy; | 10568 return copy; |
10170 } | 10569 } |
10171 | 10570 |
10172 @override | 10571 @override |
10173 SuperConstructorInvocation visitSuperConstructorInvocation( | 10572 SuperConstructorInvocation visitSuperConstructorInvocation( |
10174 SuperConstructorInvocation node) { | 10573 SuperConstructorInvocation node) { |
10175 SuperConstructorInvocation copy = new SuperConstructorInvocation( | 10574 SuperConstructorInvocation copy = new SuperConstructorInvocation( |
10176 _mapToken(node.superKeyword), _mapToken(node.period), | 10575 _mapToken(node.superKeyword), |
10177 _cloneNode(node.constructorName), _cloneNode(node.argumentList)); | 10576 _mapToken(node.period), |
| 10577 _cloneNode(node.constructorName), |
| 10578 _cloneNode(node.argumentList)); |
10178 copy.staticElement = node.staticElement; | 10579 copy.staticElement = node.staticElement; |
10179 return copy; | 10580 return copy; |
10180 } | 10581 } |
10181 | 10582 |
10182 @override | 10583 @override |
10183 SuperExpression visitSuperExpression(SuperExpression node) { | 10584 SuperExpression visitSuperExpression(SuperExpression node) { |
10184 SuperExpression copy = new SuperExpression(_mapToken(node.superKeyword)); | 10585 SuperExpression copy = new SuperExpression(_mapToken(node.superKeyword)); |
10185 copy.propagatedType = node.propagatedType; | 10586 copy.propagatedType = node.propagatedType; |
10186 copy.staticType = node.staticType; | 10587 copy.staticType = node.staticType; |
10187 return copy; | 10588 return copy; |
10188 } | 10589 } |
10189 | 10590 |
10190 @override | 10591 @override |
10191 SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase( | 10592 SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase( |
10192 _cloneNodeList(node.labels), _mapToken(node.keyword), | 10593 _cloneNodeList(node.labels), |
10193 _cloneNode(node.expression), _mapToken(node.colon), | 10594 _mapToken(node.keyword), |
| 10595 _cloneNode(node.expression), |
| 10596 _mapToken(node.colon), |
10194 _cloneNodeList(node.statements)); | 10597 _cloneNodeList(node.statements)); |
10195 | 10598 |
10196 @override | 10599 @override |
10197 SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault( | 10600 SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault( |
10198 _cloneNodeList(node.labels), _mapToken(node.keyword), | 10601 _cloneNodeList(node.labels), |
10199 _mapToken(node.colon), _cloneNodeList(node.statements)); | 10602 _mapToken(node.keyword), |
| 10603 _mapToken(node.colon), |
| 10604 _cloneNodeList(node.statements)); |
10200 | 10605 |
10201 @override | 10606 @override |
10202 SwitchStatement visitSwitchStatement(SwitchStatement node) => | 10607 SwitchStatement visitSwitchStatement(SwitchStatement node) => |
10203 new SwitchStatement(_mapToken(node.switchKeyword), | 10608 new SwitchStatement( |
10204 _mapToken(node.leftParenthesis), _cloneNode(node.expression), | 10609 _mapToken(node.switchKeyword), |
10205 _mapToken(node.rightParenthesis), _mapToken(node.leftBracket), | 10610 _mapToken(node.leftParenthesis), |
10206 _cloneNodeList(node.members), _mapToken(node.rightBracket)); | 10611 _cloneNode(node.expression), |
| 10612 _mapToken(node.rightParenthesis), |
| 10613 _mapToken(node.leftBracket), |
| 10614 _cloneNodeList(node.members), |
| 10615 _mapToken(node.rightBracket)); |
10207 | 10616 |
10208 @override | 10617 @override |
10209 AstNode visitSymbolLiteral(SymbolLiteral node) { | 10618 AstNode visitSymbolLiteral(SymbolLiteral node) { |
10210 SymbolLiteral copy = new SymbolLiteral( | 10619 SymbolLiteral copy = new SymbolLiteral( |
10211 _mapToken(node.poundSign), _mapTokens(node.components)); | 10620 _mapToken(node.poundSign), _mapTokens(node.components)); |
10212 copy.propagatedType = node.propagatedType; | 10621 copy.propagatedType = node.propagatedType; |
10213 copy.staticType = node.staticType; | 10622 copy.staticType = node.staticType; |
10214 return copy; | 10623 return copy; |
10215 } | 10624 } |
10216 | 10625 |
10217 @override | 10626 @override |
10218 ThisExpression visitThisExpression(ThisExpression node) { | 10627 ThisExpression visitThisExpression(ThisExpression node) { |
10219 ThisExpression copy = new ThisExpression(_mapToken(node.thisKeyword)); | 10628 ThisExpression copy = new ThisExpression(_mapToken(node.thisKeyword)); |
10220 copy.propagatedType = node.propagatedType; | 10629 copy.propagatedType = node.propagatedType; |
10221 copy.staticType = node.staticType; | 10630 copy.staticType = node.staticType; |
10222 return copy; | 10631 return copy; |
10223 } | 10632 } |
10224 | 10633 |
10225 @override | 10634 @override |
10226 ThrowExpression visitThrowExpression(ThrowExpression node) { | 10635 ThrowExpression visitThrowExpression(ThrowExpression node) { |
10227 ThrowExpression copy = new ThrowExpression( | 10636 ThrowExpression copy = new ThrowExpression( |
10228 _mapToken(node.throwKeyword), _cloneNode(node.expression)); | 10637 _mapToken(node.throwKeyword), _cloneNode(node.expression)); |
10229 copy.propagatedType = node.propagatedType; | 10638 copy.propagatedType = node.propagatedType; |
10230 copy.staticType = node.staticType; | 10639 copy.staticType = node.staticType; |
10231 return copy; | 10640 return copy; |
10232 } | 10641 } |
10233 | 10642 |
10234 @override | 10643 @override |
10235 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( | 10644 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( |
10236 TopLevelVariableDeclaration node) => new TopLevelVariableDeclaration( | 10645 TopLevelVariableDeclaration node) => |
10237 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10646 new TopLevelVariableDeclaration( |
10238 _cloneNode(node.variables), _mapToken(node.semicolon)); | 10647 _cloneNode(node.documentationComment), |
| 10648 _cloneNodeList(node.metadata), |
| 10649 _cloneNode(node.variables), |
| 10650 _mapToken(node.semicolon)); |
10239 | 10651 |
10240 @override | 10652 @override |
10241 TryStatement visitTryStatement(TryStatement node) => new TryStatement( | 10653 TryStatement visitTryStatement(TryStatement node) => new TryStatement( |
10242 _mapToken(node.tryKeyword), _cloneNode(node.body), | 10654 _mapToken(node.tryKeyword), |
10243 _cloneNodeList(node.catchClauses), _mapToken(node.finallyKeyword), | 10655 _cloneNode(node.body), |
| 10656 _cloneNodeList(node.catchClauses), |
| 10657 _mapToken(node.finallyKeyword), |
10244 _cloneNode(node.finallyBlock)); | 10658 _cloneNode(node.finallyBlock)); |
10245 | 10659 |
10246 @override | 10660 @override |
10247 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => | 10661 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => |
10248 new TypeArgumentList(_mapToken(node.leftBracket), | 10662 new TypeArgumentList(_mapToken(node.leftBracket), |
10249 _cloneNodeList(node.arguments), _mapToken(node.rightBracket)); | 10663 _cloneNodeList(node.arguments), _mapToken(node.rightBracket)); |
10250 | 10664 |
10251 @override | 10665 @override |
10252 TypeName visitTypeName(TypeName node) { | 10666 TypeName visitTypeName(TypeName node) { |
10253 TypeName copy = | 10667 TypeName copy = |
10254 new TypeName(_cloneNode(node.name), _cloneNode(node.typeArguments)); | 10668 new TypeName(_cloneNode(node.name), _cloneNode(node.typeArguments)); |
10255 copy.type = node.type; | 10669 copy.type = node.type; |
10256 return copy; | 10670 return copy; |
10257 } | 10671 } |
10258 | 10672 |
10259 @override | 10673 @override |
10260 TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter( | 10674 TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter( |
10261 _cloneNode(node.documentationComment), _cloneNodeList(node.metadata), | 10675 _cloneNode(node.documentationComment), |
10262 _cloneNode(node.name), _mapToken(node.extendsKeyword), | 10676 _cloneNodeList(node.metadata), |
| 10677 _cloneNode(node.name), |
| 10678 _mapToken(node.extendsKeyword), |
10263 _cloneNode(node.bound)); | 10679 _cloneNode(node.bound)); |
10264 | 10680 |
10265 @override | 10681 @override |
10266 TypeParameterList visitTypeParameterList(TypeParameterList node) => | 10682 TypeParameterList visitTypeParameterList(TypeParameterList node) => |
10267 new TypeParameterList(_mapToken(node.leftBracket), | 10683 new TypeParameterList(_mapToken(node.leftBracket), |
10268 _cloneNodeList(node.typeParameters), _mapToken(node.rightBracket)); | 10684 _cloneNodeList(node.typeParameters), _mapToken(node.rightBracket)); |
10269 | 10685 |
10270 @override | 10686 @override |
10271 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => | 10687 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => |
10272 new VariableDeclaration(_cloneNode(node.name), _mapToken(node.equals), | 10688 new VariableDeclaration(_cloneNode(node.name), _mapToken(node.equals), |
10273 _cloneNode(node.initializer)); | 10689 _cloneNode(node.initializer)); |
10274 | 10690 |
10275 @override | 10691 @override |
10276 VariableDeclarationList visitVariableDeclarationList( | 10692 VariableDeclarationList visitVariableDeclarationList( |
10277 VariableDeclarationList node) => new VariableDeclarationList(null, | 10693 VariableDeclarationList node) => |
10278 _cloneNodeList(node.metadata), _mapToken(node.keyword), | 10694 new VariableDeclarationList( |
10279 _cloneNode(node.type), _cloneNodeList(node.variables)); | 10695 null, |
| 10696 _cloneNodeList(node.metadata), |
| 10697 _mapToken(node.keyword), |
| 10698 _cloneNode(node.type), |
| 10699 _cloneNodeList(node.variables)); |
10280 | 10700 |
10281 @override | 10701 @override |
10282 VariableDeclarationStatement visitVariableDeclarationStatement( | 10702 VariableDeclarationStatement visitVariableDeclarationStatement( |
10283 VariableDeclarationStatement node) => new VariableDeclarationStatement( | 10703 VariableDeclarationStatement node) => |
10284 _cloneNode(node.variables), _mapToken(node.semicolon)); | 10704 new VariableDeclarationStatement( |
| 10705 _cloneNode(node.variables), _mapToken(node.semicolon)); |
10285 | 10706 |
10286 @override | 10707 @override |
10287 WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement( | 10708 WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement( |
10288 _mapToken(node.whileKeyword), _mapToken(node.leftParenthesis), | 10709 _mapToken(node.whileKeyword), |
10289 _cloneNode(node.condition), _mapToken(node.rightParenthesis), | 10710 _mapToken(node.leftParenthesis), |
| 10711 _cloneNode(node.condition), |
| 10712 _mapToken(node.rightParenthesis), |
10290 _cloneNode(node.body)); | 10713 _cloneNode(node.body)); |
10291 | 10714 |
10292 @override | 10715 @override |
10293 WithClause visitWithClause(WithClause node) => new WithClause( | 10716 WithClause visitWithClause(WithClause node) => new WithClause( |
10294 _mapToken(node.withKeyword), _cloneNodeList(node.mixinTypes)); | 10717 _mapToken(node.withKeyword), _cloneNodeList(node.mixinTypes)); |
10295 | 10718 |
10296 @override | 10719 @override |
10297 YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement( | 10720 YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement( |
10298 _mapToken(node.yieldKeyword), _mapToken(node.star), | 10721 _mapToken(node.yieldKeyword), |
10299 _cloneNode(node.expression), _mapToken(node.semicolon)); | 10722 _mapToken(node.star), |
| 10723 _cloneNode(node.expression), |
| 10724 _mapToken(node.semicolon)); |
10300 | 10725 |
10301 AstNode _cloneNode(AstNode node) { | 10726 AstNode _cloneNode(AstNode node) { |
10302 if (node == null) { | 10727 if (node == null) { |
10303 return null; | 10728 return null; |
10304 } | 10729 } |
10305 if (identical(node, _oldNode)) { | 10730 if (identical(node, _oldNode)) { |
10306 return _newNode; | 10731 return _newNode; |
10307 } | 10732 } |
10308 return node.accept(this) as AstNode; | 10733 return node.accept(this) as AstNode; |
10309 } | 10734 } |
(...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 | 11997 * 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 | 11998 * [comment] and [metadata] can be `null` if the declaration does not have the |
11574 * corresponding attribute. The [externalKeyword] can be `null` if the method | 11999 * corresponding attribute. The [externalKeyword] can be `null` if the method |
11575 * is not external. The [modifierKeyword] can be `null` if the method is | 12000 * 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 | 12001 * 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 | 12002 * 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 | 12003 * 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 | 12004 * method does not implement an operator. The [parameters] must be `null` if |
11580 * this method declares a getter. | 12005 * this method declares a getter. |
11581 */ | 12006 */ |
11582 MethodDeclaration(Comment comment, List<Annotation> metadata, | 12007 MethodDeclaration( |
11583 this.externalKeyword, this.modifierKeyword, TypeName returnType, | 12008 Comment comment, |
11584 this.propertyKeyword, this.operatorKeyword, SimpleIdentifier name, | 12009 List<Annotation> metadata, |
11585 TypeParameterList typeParameters, FormalParameterList parameters, | 12010 this.externalKeyword, |
| 12011 this.modifierKeyword, |
| 12012 TypeName returnType, |
| 12013 this.propertyKeyword, |
| 12014 this.operatorKeyword, |
| 12015 SimpleIdentifier name, |
| 12016 TypeParameterList typeParameters, |
| 12017 FormalParameterList parameters, |
11586 FunctionBody body) | 12018 FunctionBody body) |
11587 : super(comment, metadata) { | 12019 : super(comment, metadata) { |
11588 _returnType = _becomeParentOf(returnType); | 12020 _returnType = _becomeParentOf(returnType); |
11589 _name = _becomeParentOf(name); | 12021 _name = _becomeParentOf(name); |
11590 _typeParameters = _becomeParentOf(typeParameters); | 12022 _typeParameters = _becomeParentOf(typeParameters); |
11591 _parameters = _becomeParentOf(parameters); | 12023 _parameters = _becomeParentOf(parameters); |
11592 _body = _becomeParentOf(body); | 12024 _body = _becomeParentOf(body); |
11593 } | 12025 } |
11594 | 12026 |
11595 /** | 12027 /** |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11779 | 12211 |
11780 /** | 12212 /** |
11781 * The list of arguments to the method. | 12213 * The list of arguments to the method. |
11782 */ | 12214 */ |
11783 ArgumentList _argumentList; | 12215 ArgumentList _argumentList; |
11784 | 12216 |
11785 /** | 12217 /** |
11786 * Initialize a newly created method invocation. The [target] and [operator] | 12218 * Initialize a newly created method invocation. The [target] and [operator] |
11787 * can be `null` if there is no target. | 12219 * can be `null` if there is no target. |
11788 */ | 12220 */ |
11789 MethodInvocation(Expression target, this.operator, | 12221 MethodInvocation( |
11790 SimpleIdentifier methodName, TypeArgumentList typeArguments, | 12222 Expression target, |
| 12223 this.operator, |
| 12224 SimpleIdentifier methodName, |
| 12225 TypeArgumentList typeArguments, |
11791 ArgumentList argumentList) { | 12226 ArgumentList argumentList) { |
11792 _target = _becomeParentOf(target); | 12227 _target = _becomeParentOf(target); |
11793 _methodName = _becomeParentOf(methodName); | 12228 _methodName = _becomeParentOf(methodName); |
11794 _typeArguments = _becomeParentOf(typeArguments); | 12229 _typeArguments = _becomeParentOf(typeArguments); |
11795 _argumentList = _becomeParentOf(argumentList); | 12230 _argumentList = _becomeParentOf(argumentList); |
11796 } | 12231 } |
11797 | 12232 |
11798 /** | 12233 /** |
11799 * Return the list of arguments to the method. | 12234 * Return the list of arguments to the method. |
11800 */ | 12235 */ |
(...skipping 4206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16007 R visitPrefixedIdentifier(PrefixedIdentifier node) => null; | 16442 R visitPrefixedIdentifier(PrefixedIdentifier node) => null; |
16008 | 16443 |
16009 @override | 16444 @override |
16010 R visitPrefixExpression(PrefixExpression node) => null; | 16445 R visitPrefixExpression(PrefixExpression node) => null; |
16011 | 16446 |
16012 @override | 16447 @override |
16013 R visitPropertyAccess(PropertyAccess node) => null; | 16448 R visitPropertyAccess(PropertyAccess node) => null; |
16014 | 16449 |
16015 @override | 16450 @override |
16016 R visitRedirectingConstructorInvocation( | 16451 R visitRedirectingConstructorInvocation( |
16017 RedirectingConstructorInvocation node) => null; | 16452 RedirectingConstructorInvocation node) => |
| 16453 null; |
16018 | 16454 |
16019 @override | 16455 @override |
16020 R visitRethrowExpression(RethrowExpression node) => null; | 16456 R visitRethrowExpression(RethrowExpression node) => null; |
16021 | 16457 |
16022 @override | 16458 @override |
16023 R visitReturnStatement(ReturnStatement node) => null; | 16459 R visitReturnStatement(ReturnStatement node) => null; |
16024 | 16460 |
16025 @override | 16461 @override |
16026 R visitScriptTag(ScriptTag node) => null; | 16462 R visitScriptTag(ScriptTag node) => null; |
16027 | 16463 |
(...skipping 1200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
17228 | 17664 |
17229 /** | 17665 /** |
17230 * The right curly bracket. | 17666 * The right curly bracket. |
17231 */ | 17667 */ |
17232 Token rightBracket; | 17668 Token rightBracket; |
17233 | 17669 |
17234 /** | 17670 /** |
17235 * Initialize a newly created switch statement. The list of [members] can be | 17671 * Initialize a newly created switch statement. The list of [members] can be |
17236 * `null` if there are no switch members. | 17672 * `null` if there are no switch members. |
17237 */ | 17673 */ |
17238 SwitchStatement(this.switchKeyword, this.leftParenthesis, | 17674 SwitchStatement( |
17239 Expression expression, this.rightParenthesis, this.leftBracket, | 17675 this.switchKeyword, |
17240 List<SwitchMember> members, this.rightBracket) { | 17676 this.leftParenthesis, |
| 17677 Expression expression, |
| 17678 this.rightParenthesis, |
| 17679 this.leftBracket, |
| 17680 List<SwitchMember> members, |
| 17681 this.rightBracket) { |
17241 _expression = _becomeParentOf(expression); | 17682 _expression = _becomeParentOf(expression); |
17242 _members = new NodeList<SwitchMember>(this, members); | 17683 _members = new NodeList<SwitchMember>(this, members); |
17243 } | 17684 } |
17244 | 17685 |
17245 @override | 17686 @override |
17246 Token get beginToken => switchKeyword; | 17687 Token get beginToken => switchKeyword; |
17247 | 17688 |
17248 @override | 17689 @override |
17249 Iterable get childEntities => new ChildEntities() | 17690 Iterable get childEntities => new ChildEntities() |
17250 ..add(switchKeyword) | 17691 ..add(switchKeyword) |
(...skipping 2200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
19451 R visitPrefixedIdentifier(PrefixedIdentifier node) => visitNode(node); | 19892 R visitPrefixedIdentifier(PrefixedIdentifier node) => visitNode(node); |
19452 | 19893 |
19453 @override | 19894 @override |
19454 R visitPrefixExpression(PrefixExpression node) => visitNode(node); | 19895 R visitPrefixExpression(PrefixExpression node) => visitNode(node); |
19455 | 19896 |
19456 @override | 19897 @override |
19457 R visitPropertyAccess(PropertyAccess node) => visitNode(node); | 19898 R visitPropertyAccess(PropertyAccess node) => visitNode(node); |
19458 | 19899 |
19459 @override | 19900 @override |
19460 R visitRedirectingConstructorInvocation( | 19901 R visitRedirectingConstructorInvocation( |
19461 RedirectingConstructorInvocation node) => visitNode(node); | 19902 RedirectingConstructorInvocation node) => |
| 19903 visitNode(node); |
19462 | 19904 |
19463 @override | 19905 @override |
19464 R visitRethrowExpression(RethrowExpression node) => visitNode(node); | 19906 R visitRethrowExpression(RethrowExpression node) => visitNode(node); |
19465 | 19907 |
19466 @override | 19908 @override |
19467 R visitReturnStatement(ReturnStatement node) => visitNode(node); | 19909 R visitReturnStatement(ReturnStatement node) => visitNode(node); |
19468 | 19910 |
19469 @override | 19911 @override |
19470 R visitScriptTag(ScriptTag scriptTag) => visitNode(scriptTag); | 19912 R visitScriptTag(ScriptTag scriptTag) => visitNode(scriptTag); |
19471 | 19913 |
(...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
20205 } | 20647 } |
20206 | 20648 |
20207 @override | 20649 @override |
20208 accept(AstVisitor visitor) => visitor.visitYieldStatement(this); | 20650 accept(AstVisitor visitor) => visitor.visitYieldStatement(this); |
20209 | 20651 |
20210 @override | 20652 @override |
20211 void visitChildren(AstVisitor visitor) { | 20653 void visitChildren(AstVisitor visitor) { |
20212 _safelyVisitChild(_expression, visitor); | 20654 _safelyVisitChild(_expression, visitor); |
20213 } | 20655 } |
20214 } | 20656 } |
OLD | NEW |