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 analyzer.src.dart.ast.utilities; | 5 library analyzer.src.dart.ast.utilities; |
6 | 6 |
7 import 'dart:collection'; | 7 import 'dart:collection'; |
8 | 8 |
9 import 'package:analyzer/dart/ast/ast.dart'; | 9 import 'package:analyzer/dart/ast/ast.dart'; |
10 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; | |
11 import 'package:analyzer/dart/ast/token.dart'; | 10 import 'package:analyzer/dart/ast/token.dart'; |
12 import 'package:analyzer/dart/ast/visitor.dart'; | 11 import 'package:analyzer/dart/ast/visitor.dart'; |
13 import 'package:analyzer/dart/element/element.dart'; | 12 import 'package:analyzer/dart/element/element.dart'; |
14 import 'package:analyzer/exception/exception.dart'; | 13 import 'package:analyzer/exception/exception.dart'; |
15 import 'package:analyzer/src/dart/ast/ast.dart'; | 14 import 'package:analyzer/src/dart/ast/ast.dart'; |
16 import 'package:analyzer/src/dart/ast/token.dart'; | 15 import 'package:analyzer/src/dart/ast/token.dart'; |
17 import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine; | 16 import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine; |
18 import 'package:analyzer/src/generated/java_core.dart'; | 17 import 'package:analyzer/src/generated/java_core.dart'; |
19 import 'package:analyzer/src/generated/utilities_collection.dart' show TokenMap; | 18 import 'package:analyzer/src/generated/utilities_collection.dart' show TokenMap; |
20 import 'package:analyzer/src/generated/utilities_dart.dart'; | 19 import 'package:analyzer/src/generated/utilities_dart.dart'; |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 */ | 113 */ |
115 List<Token> cloneTokenList(List<Token> tokens) { | 114 List<Token> cloneTokenList(List<Token> tokens) { |
116 if (cloneTokens) { | 115 if (cloneTokens) { |
117 return tokens.map(cloneToken).toList(); | 116 return tokens.map(cloneToken).toList(); |
118 } | 117 } |
119 return tokens; | 118 return tokens; |
120 } | 119 } |
121 | 120 |
122 @override | 121 @override |
123 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => | 122 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => |
124 astFactory.adjacentStrings(cloneNodeList(node.strings)); | 123 new AdjacentStrings(cloneNodeList(node.strings)); |
125 | 124 |
126 @override | 125 @override |
127 Annotation visitAnnotation(Annotation node) => astFactory.annotation( | 126 Annotation visitAnnotation(Annotation node) => new Annotation( |
128 cloneToken(node.atSign), | 127 cloneToken(node.atSign), |
129 cloneNode(node.name), | 128 cloneNode(node.name), |
130 cloneToken(node.period), | 129 cloneToken(node.period), |
131 cloneNode(node.constructorName), | 130 cloneNode(node.constructorName), |
132 cloneNode(node.arguments)); | 131 cloneNode(node.arguments)); |
133 | 132 |
134 @override | 133 @override |
135 ArgumentList visitArgumentList(ArgumentList node) => astFactory.argumentList( | 134 ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList( |
136 cloneToken(node.leftParenthesis), | 135 cloneToken(node.leftParenthesis), |
137 cloneNodeList(node.arguments), | 136 cloneNodeList(node.arguments), |
138 cloneToken(node.rightParenthesis)); | 137 cloneToken(node.rightParenthesis)); |
139 | 138 |
140 @override | 139 @override |
141 AsExpression visitAsExpression(AsExpression node) => astFactory.asExpression( | 140 AsExpression visitAsExpression(AsExpression node) => new AsExpression( |
142 cloneNode(node.expression), | 141 cloneNode(node.expression), |
143 cloneToken(node.asOperator), | 142 cloneToken(node.asOperator), |
144 cloneNode(node.type)); | 143 cloneNode(node.type)); |
145 | 144 |
146 @override | 145 @override |
147 AstNode visitAssertInitializer(AssertInitializer node) => | 146 AstNode visitAssertInitializer(AssertInitializer node) => |
148 astFactory.assertInitializer( | 147 new AssertInitializer( |
149 cloneToken(node.assertKeyword), | 148 cloneToken(node.assertKeyword), |
150 cloneToken(node.leftParenthesis), | 149 cloneToken(node.leftParenthesis), |
151 cloneNode(node.condition), | 150 cloneNode(node.condition), |
152 cloneToken(node.comma), | 151 cloneToken(node.comma), |
153 cloneNode(node.message), | 152 cloneNode(node.message), |
154 cloneToken(node.rightParenthesis)); | 153 cloneToken(node.rightParenthesis)); |
155 | 154 |
156 @override | 155 @override |
157 AstNode visitAssertStatement(AssertStatement node) => | 156 AstNode visitAssertStatement(AssertStatement node) => new AssertStatement( |
158 astFactory.assertStatement( | 157 cloneToken(node.assertKeyword), |
159 cloneToken(node.assertKeyword), | 158 cloneToken(node.leftParenthesis), |
160 cloneToken(node.leftParenthesis), | 159 cloneNode(node.condition), |
161 cloneNode(node.condition), | 160 cloneToken(node.comma), |
162 cloneToken(node.comma), | 161 cloneNode(node.message), |
163 cloneNode(node.message), | 162 cloneToken(node.rightParenthesis), |
164 cloneToken(node.rightParenthesis), | 163 cloneToken(node.semicolon)); |
165 cloneToken(node.semicolon)); | |
166 | 164 |
167 @override | 165 @override |
168 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) => | 166 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) => |
169 astFactory.assignmentExpression(cloneNode(node.leftHandSide), | 167 new AssignmentExpression(cloneNode(node.leftHandSide), |
170 cloneToken(node.operator), cloneNode(node.rightHandSide)); | 168 cloneToken(node.operator), cloneNode(node.rightHandSide)); |
171 | 169 |
172 @override | 170 @override |
173 AwaitExpression visitAwaitExpression(AwaitExpression node) => | 171 AwaitExpression visitAwaitExpression(AwaitExpression node) => |
174 astFactory.awaitExpression( | 172 new AwaitExpression( |
175 cloneToken(node.awaitKeyword), cloneNode(node.expression)); | 173 cloneToken(node.awaitKeyword), cloneNode(node.expression)); |
176 | 174 |
177 @override | 175 @override |
178 BinaryExpression visitBinaryExpression(BinaryExpression node) => | 176 BinaryExpression visitBinaryExpression(BinaryExpression node) => |
179 astFactory.binaryExpression(cloneNode(node.leftOperand), | 177 new BinaryExpression(cloneNode(node.leftOperand), |
180 cloneToken(node.operator), cloneNode(node.rightOperand)); | 178 cloneToken(node.operator), cloneNode(node.rightOperand)); |
181 | 179 |
182 @override | 180 @override |
183 Block visitBlock(Block node) => astFactory.block(cloneToken(node.leftBracket), | 181 Block visitBlock(Block node) => new Block(cloneToken(node.leftBracket), |
184 cloneNodeList(node.statements), cloneToken(node.rightBracket)); | 182 cloneNodeList(node.statements), cloneToken(node.rightBracket)); |
185 | 183 |
186 @override | 184 @override |
187 BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) => | 185 BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) => |
188 astFactory.blockFunctionBody(cloneToken(node.keyword), | 186 new BlockFunctionBody(cloneToken(node.keyword), cloneToken(node.star), |
189 cloneToken(node.star), cloneNode(node.block)); | 187 cloneNode(node.block)); |
190 | 188 |
191 @override | 189 @override |
192 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) => | 190 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) => |
193 astFactory.booleanLiteral(cloneToken(node.literal), node.value); | 191 new BooleanLiteral(cloneToken(node.literal), node.value); |
194 | 192 |
195 @override | 193 @override |
196 BreakStatement visitBreakStatement(BreakStatement node) => | 194 BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement( |
197 astFactory.breakStatement(cloneToken(node.breakKeyword), | 195 cloneToken(node.breakKeyword), |
198 cloneNode(node.label), cloneToken(node.semicolon)); | 196 cloneNode(node.label), |
| 197 cloneToken(node.semicolon)); |
199 | 198 |
200 @override | 199 @override |
201 CascadeExpression visitCascadeExpression(CascadeExpression node) => | 200 CascadeExpression visitCascadeExpression(CascadeExpression node) => |
202 astFactory.cascadeExpression( | 201 new CascadeExpression( |
203 cloneNode(node.target), cloneNodeList(node.cascadeSections)); | 202 cloneNode(node.target), cloneNodeList(node.cascadeSections)); |
204 | 203 |
205 @override | 204 @override |
206 CatchClause visitCatchClause(CatchClause node) => astFactory.catchClause( | 205 CatchClause visitCatchClause(CatchClause node) => new CatchClause( |
207 cloneToken(node.onKeyword), | 206 cloneToken(node.onKeyword), |
208 cloneNode(node.exceptionType), | 207 cloneNode(node.exceptionType), |
209 cloneToken(node.catchKeyword), | 208 cloneToken(node.catchKeyword), |
210 cloneToken(node.leftParenthesis), | 209 cloneToken(node.leftParenthesis), |
211 cloneNode(node.exceptionParameter), | 210 cloneNode(node.exceptionParameter), |
212 cloneToken(node.comma), | 211 cloneToken(node.comma), |
213 cloneNode(node.stackTraceParameter), | 212 cloneNode(node.stackTraceParameter), |
214 cloneToken(node.rightParenthesis), | 213 cloneToken(node.rightParenthesis), |
215 cloneNode(node.body)); | 214 cloneNode(node.body)); |
216 | 215 |
217 @override | 216 @override |
218 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { | 217 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { |
219 ClassDeclaration copy = astFactory.classDeclaration( | 218 ClassDeclaration copy = new ClassDeclaration( |
220 cloneNode(node.documentationComment), | 219 cloneNode(node.documentationComment), |
221 cloneNodeList(node.metadata), | 220 cloneNodeList(node.metadata), |
222 cloneToken(node.abstractKeyword), | 221 cloneToken(node.abstractKeyword), |
223 cloneToken(node.classKeyword), | 222 cloneToken(node.classKeyword), |
224 cloneNode(node.name), | 223 cloneNode(node.name), |
225 cloneNode(node.typeParameters), | 224 cloneNode(node.typeParameters), |
226 cloneNode(node.extendsClause), | 225 cloneNode(node.extendsClause), |
227 cloneNode(node.withClause), | 226 cloneNode(node.withClause), |
228 cloneNode(node.implementsClause), | 227 cloneNode(node.implementsClause), |
229 cloneToken(node.leftBracket), | 228 cloneToken(node.leftBracket), |
230 cloneNodeList(node.members), | 229 cloneNodeList(node.members), |
231 cloneToken(node.rightBracket)); | 230 cloneToken(node.rightBracket)); |
232 copy.nativeClause = cloneNode(node.nativeClause); | 231 copy.nativeClause = cloneNode(node.nativeClause); |
233 return copy; | 232 return copy; |
234 } | 233 } |
235 | 234 |
236 @override | 235 @override |
237 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) { | 236 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) { |
238 cloneToken(node.abstractKeyword); | 237 cloneToken(node.abstractKeyword); |
239 return astFactory.classTypeAlias( | 238 return new ClassTypeAlias( |
240 cloneNode(node.documentationComment), | 239 cloneNode(node.documentationComment), |
241 cloneNodeList(node.metadata), | 240 cloneNodeList(node.metadata), |
242 cloneToken(node.typedefKeyword), | 241 cloneToken(node.typedefKeyword), |
243 cloneNode(node.name), | 242 cloneNode(node.name), |
244 cloneNode(node.typeParameters), | 243 cloneNode(node.typeParameters), |
245 cloneToken(node.equals), | 244 cloneToken(node.equals), |
246 cloneToken(node.abstractKeyword), | 245 cloneToken(node.abstractKeyword), |
247 cloneNode(node.superclass), | 246 cloneNode(node.superclass), |
248 cloneNode(node.withClause), | 247 cloneNode(node.withClause), |
249 cloneNode(node.implementsClause), | 248 cloneNode(node.implementsClause), |
250 cloneToken(node.semicolon)); | 249 cloneToken(node.semicolon)); |
251 } | 250 } |
252 | 251 |
253 @override | 252 @override |
254 Comment visitComment(Comment node) { | 253 Comment visitComment(Comment node) { |
255 if (node.isDocumentation) { | 254 if (node.isDocumentation) { |
256 return astFactory.documentationComment( | 255 return Comment.createDocumentationCommentWithReferences( |
257 cloneTokenList(node.tokens), cloneNodeList(node.references)); | 256 cloneTokenList(node.tokens), cloneNodeList(node.references)); |
258 } else if (node.isBlock) { | 257 } else if (node.isBlock) { |
259 return astFactory.blockComment(cloneTokenList(node.tokens)); | 258 return Comment.createBlockComment(cloneTokenList(node.tokens)); |
260 } | 259 } |
261 return astFactory.endOfLineComment(cloneTokenList(node.tokens)); | 260 return Comment.createEndOfLineComment(cloneTokenList(node.tokens)); |
262 } | 261 } |
263 | 262 |
264 @override | 263 @override |
265 CommentReference visitCommentReference(CommentReference node) => | 264 CommentReference visitCommentReference(CommentReference node) => |
266 astFactory.commentReference( | 265 new CommentReference( |
267 cloneToken(node.newKeyword), cloneNode(node.identifier)); | 266 cloneToken(node.newKeyword), cloneNode(node.identifier)); |
268 | 267 |
269 @override | 268 @override |
270 CompilationUnit visitCompilationUnit(CompilationUnit node) { | 269 CompilationUnit visitCompilationUnit(CompilationUnit node) { |
271 CompilationUnit clone = astFactory.compilationUnit( | 270 CompilationUnit clone = new CompilationUnit( |
272 cloneToken(node.beginToken), | 271 cloneToken(node.beginToken), |
273 cloneNode(node.scriptTag), | 272 cloneNode(node.scriptTag), |
274 cloneNodeList(node.directives), | 273 cloneNodeList(node.directives), |
275 cloneNodeList(node.declarations), | 274 cloneNodeList(node.declarations), |
276 cloneToken(node.endToken)); | 275 cloneToken(node.endToken)); |
277 clone.lineInfo = node.lineInfo; | 276 clone.lineInfo = node.lineInfo; |
278 return clone; | 277 return clone; |
279 } | 278 } |
280 | 279 |
281 @override | 280 @override |
282 ConditionalExpression visitConditionalExpression( | 281 ConditionalExpression visitConditionalExpression( |
283 ConditionalExpression node) => | 282 ConditionalExpression node) => |
284 astFactory.conditionalExpression( | 283 new ConditionalExpression( |
285 cloneNode(node.condition), | 284 cloneNode(node.condition), |
286 cloneToken(node.question), | 285 cloneToken(node.question), |
287 cloneNode(node.thenExpression), | 286 cloneNode(node.thenExpression), |
288 cloneToken(node.colon), | 287 cloneToken(node.colon), |
289 cloneNode(node.elseExpression)); | 288 cloneNode(node.elseExpression)); |
290 | 289 |
291 @override | 290 @override |
292 Configuration visitConfiguration(Configuration node) => | 291 Configuration visitConfiguration(Configuration node) => new Configuration( |
293 astFactory.configuration( | 292 cloneToken(node.ifKeyword), |
294 cloneToken(node.ifKeyword), | 293 cloneToken(node.leftParenthesis), |
295 cloneToken(node.leftParenthesis), | 294 cloneNode(node.name), |
296 cloneNode(node.name), | 295 cloneToken(node.equalToken), |
297 cloneToken(node.equalToken), | 296 cloneNode(node.value), |
298 cloneNode(node.value), | 297 cloneToken(node.rightParenthesis), |
299 cloneToken(node.rightParenthesis), | 298 cloneNode(node.uri)); |
300 cloneNode(node.uri)); | |
301 | 299 |
302 @override | 300 @override |
303 ConstructorDeclaration visitConstructorDeclaration( | 301 ConstructorDeclaration visitConstructorDeclaration( |
304 ConstructorDeclaration node) => | 302 ConstructorDeclaration node) => |
305 astFactory.constructorDeclaration( | 303 new ConstructorDeclaration( |
306 cloneNode(node.documentationComment), | 304 cloneNode(node.documentationComment), |
307 cloneNodeList(node.metadata), | 305 cloneNodeList(node.metadata), |
308 cloneToken(node.externalKeyword), | 306 cloneToken(node.externalKeyword), |
309 cloneToken(node.constKeyword), | 307 cloneToken(node.constKeyword), |
310 cloneToken(node.factoryKeyword), | 308 cloneToken(node.factoryKeyword), |
311 cloneNode(node.returnType), | 309 cloneNode(node.returnType), |
312 cloneToken(node.period), | 310 cloneToken(node.period), |
313 cloneNode(node.name), | 311 cloneNode(node.name), |
314 cloneNode(node.parameters), | 312 cloneNode(node.parameters), |
315 cloneToken(node.separator), | 313 cloneToken(node.separator), |
316 cloneNodeList(node.initializers), | 314 cloneNodeList(node.initializers), |
317 cloneNode(node.redirectedConstructor), | 315 cloneNode(node.redirectedConstructor), |
318 cloneNode(node.body)); | 316 cloneNode(node.body)); |
319 | 317 |
320 @override | 318 @override |
321 ConstructorFieldInitializer visitConstructorFieldInitializer( | 319 ConstructorFieldInitializer visitConstructorFieldInitializer( |
322 ConstructorFieldInitializer node) => | 320 ConstructorFieldInitializer node) => |
323 astFactory.constructorFieldInitializer( | 321 new ConstructorFieldInitializer( |
324 cloneToken(node.thisKeyword), | 322 cloneToken(node.thisKeyword), |
325 cloneToken(node.period), | 323 cloneToken(node.period), |
326 cloneNode(node.fieldName), | 324 cloneNode(node.fieldName), |
327 cloneToken(node.equals), | 325 cloneToken(node.equals), |
328 cloneNode(node.expression)); | 326 cloneNode(node.expression)); |
329 | 327 |
330 @override | 328 @override |
331 ConstructorName visitConstructorName(ConstructorName node) => | 329 ConstructorName visitConstructorName(ConstructorName node) => |
332 astFactory.constructorName( | 330 new ConstructorName( |
333 cloneNode(node.type), cloneToken(node.period), cloneNode(node.name)); | 331 cloneNode(node.type), cloneToken(node.period), cloneNode(node.name)); |
334 | 332 |
335 @override | 333 @override |
336 ContinueStatement visitContinueStatement(ContinueStatement node) => | 334 ContinueStatement visitContinueStatement(ContinueStatement node) => |
337 astFactory.continueStatement(cloneToken(node.continueKeyword), | 335 new ContinueStatement(cloneToken(node.continueKeyword), |
338 cloneNode(node.label), cloneToken(node.semicolon)); | 336 cloneNode(node.label), cloneToken(node.semicolon)); |
339 | 337 |
340 @override | 338 @override |
341 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => | 339 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => |
342 astFactory.declaredIdentifier( | 340 new DeclaredIdentifier( |
343 cloneNode(node.documentationComment), | 341 cloneNode(node.documentationComment), |
344 cloneNodeList(node.metadata), | 342 cloneNodeList(node.metadata), |
345 cloneToken(node.keyword), | 343 cloneToken(node.keyword), |
346 cloneNode(node.type), | 344 cloneNode(node.type), |
347 cloneNode(node.identifier)); | 345 cloneNode(node.identifier)); |
348 | 346 |
349 @override | 347 @override |
350 DefaultFormalParameter visitDefaultFormalParameter( | 348 DefaultFormalParameter visitDefaultFormalParameter( |
351 DefaultFormalParameter node) => | 349 DefaultFormalParameter node) => |
352 astFactory.defaultFormalParameter(cloneNode(node.parameter), node.kind, | 350 new DefaultFormalParameter(cloneNode(node.parameter), node.kind, |
353 cloneToken(node.separator), cloneNode(node.defaultValue)); | 351 cloneToken(node.separator), cloneNode(node.defaultValue)); |
354 | 352 |
355 @override | 353 @override |
356 DoStatement visitDoStatement(DoStatement node) => astFactory.doStatement( | 354 DoStatement visitDoStatement(DoStatement node) => new DoStatement( |
357 cloneToken(node.doKeyword), | 355 cloneToken(node.doKeyword), |
358 cloneNode(node.body), | 356 cloneNode(node.body), |
359 cloneToken(node.whileKeyword), | 357 cloneToken(node.whileKeyword), |
360 cloneToken(node.leftParenthesis), | 358 cloneToken(node.leftParenthesis), |
361 cloneNode(node.condition), | 359 cloneNode(node.condition), |
362 cloneToken(node.rightParenthesis), | 360 cloneToken(node.rightParenthesis), |
363 cloneToken(node.semicolon)); | 361 cloneToken(node.semicolon)); |
364 | 362 |
365 @override | 363 @override |
366 DottedName visitDottedName(DottedName node) => | 364 DottedName visitDottedName(DottedName node) => |
367 astFactory.dottedName(cloneNodeList(node.components)); | 365 new DottedName(cloneNodeList(node.components)); |
368 | 366 |
369 @override | 367 @override |
370 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) => | 368 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) => |
371 astFactory.doubleLiteral(cloneToken(node.literal), node.value); | 369 new DoubleLiteral(cloneToken(node.literal), node.value); |
372 | 370 |
373 @override | 371 @override |
374 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => | 372 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => |
375 astFactory.emptyFunctionBody(cloneToken(node.semicolon)); | 373 new EmptyFunctionBody(cloneToken(node.semicolon)); |
376 | 374 |
377 @override | 375 @override |
378 EmptyStatement visitEmptyStatement(EmptyStatement node) => | 376 EmptyStatement visitEmptyStatement(EmptyStatement node) => |
379 astFactory.emptyStatement(cloneToken(node.semicolon)); | 377 new EmptyStatement(cloneToken(node.semicolon)); |
380 | 378 |
381 @override | 379 @override |
382 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => | 380 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => |
383 astFactory.enumConstantDeclaration(cloneNode(node.documentationComment), | 381 new EnumConstantDeclaration(cloneNode(node.documentationComment), |
384 cloneNodeList(node.metadata), cloneNode(node.name)); | 382 cloneNodeList(node.metadata), cloneNode(node.name)); |
385 | 383 |
386 @override | 384 @override |
387 EnumDeclaration visitEnumDeclaration(EnumDeclaration node) => | 385 EnumDeclaration visitEnumDeclaration(EnumDeclaration node) => |
388 astFactory.enumDeclaration( | 386 new EnumDeclaration( |
389 cloneNode(node.documentationComment), | 387 cloneNode(node.documentationComment), |
390 cloneNodeList(node.metadata), | 388 cloneNodeList(node.metadata), |
391 cloneToken(node.enumKeyword), | 389 cloneToken(node.enumKeyword), |
392 cloneNode(node.name), | 390 cloneNode(node.name), |
393 cloneToken(node.leftBracket), | 391 cloneToken(node.leftBracket), |
394 cloneNodeList(node.constants), | 392 cloneNodeList(node.constants), |
395 cloneToken(node.rightBracket)); | 393 cloneToken(node.rightBracket)); |
396 | 394 |
397 @override | 395 @override |
398 ExportDirective visitExportDirective(ExportDirective node) { | 396 ExportDirective visitExportDirective(ExportDirective node) { |
399 ExportDirectiveImpl directive = astFactory.exportDirective( | 397 ExportDirectiveImpl directive = new ExportDirective( |
400 cloneNode(node.documentationComment), | 398 cloneNode(node.documentationComment), |
401 cloneNodeList(node.metadata), | 399 cloneNodeList(node.metadata), |
402 cloneToken(node.keyword), | 400 cloneToken(node.keyword), |
403 cloneNode(node.uri), | 401 cloneNode(node.uri), |
404 cloneNodeList(node.configurations), | 402 cloneNodeList(node.configurations), |
405 cloneNodeList(node.combinators), | 403 cloneNodeList(node.combinators), |
406 cloneToken(node.semicolon)); | 404 cloneToken(node.semicolon)); |
407 directive.selectedUriContent = node.selectedUriContent; | 405 directive.selectedUriContent = node.selectedUriContent; |
408 directive.selectedSource = node.selectedSource; | 406 directive.selectedSource = node.selectedSource; |
409 directive.uriSource = node.uriSource; | 407 directive.uriSource = node.uriSource; |
410 directive.uriContent = node.uriContent; | 408 directive.uriContent = node.uriContent; |
411 return directive; | 409 return directive; |
412 } | 410 } |
413 | 411 |
414 @override | 412 @override |
415 ExpressionFunctionBody visitExpressionFunctionBody( | 413 ExpressionFunctionBody visitExpressionFunctionBody( |
416 ExpressionFunctionBody node) => | 414 ExpressionFunctionBody node) => |
417 astFactory.expressionFunctionBody( | 415 new ExpressionFunctionBody( |
418 cloneToken(node.keyword), | 416 cloneToken(node.keyword), |
419 cloneToken(node.functionDefinition), | 417 cloneToken(node.functionDefinition), |
420 cloneNode(node.expression), | 418 cloneNode(node.expression), |
421 cloneToken(node.semicolon)); | 419 cloneToken(node.semicolon)); |
422 | 420 |
423 @override | 421 @override |
424 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => | 422 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => |
425 astFactory.expressionStatement( | 423 new ExpressionStatement( |
426 cloneNode(node.expression), cloneToken(node.semicolon)); | 424 cloneNode(node.expression), cloneToken(node.semicolon)); |
427 | 425 |
428 @override | 426 @override |
429 ExtendsClause visitExtendsClause(ExtendsClause node) => | 427 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause( |
430 astFactory.extendsClause( | 428 cloneToken(node.extendsKeyword), cloneNode(node.superclass)); |
431 cloneToken(node.extendsKeyword), cloneNode(node.superclass)); | |
432 | 429 |
433 @override | 430 @override |
434 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => | 431 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => |
435 astFactory.fieldDeclaration( | 432 new FieldDeclaration( |
436 cloneNode(node.documentationComment), | 433 cloneNode(node.documentationComment), |
437 cloneNodeList(node.metadata), | 434 cloneNodeList(node.metadata), |
438 cloneToken(node.staticKeyword), | 435 cloneToken(node.staticKeyword), |
439 cloneNode(node.fields), | 436 cloneNode(node.fields), |
440 cloneToken(node.semicolon)); | 437 cloneToken(node.semicolon)); |
441 | 438 |
442 @override | 439 @override |
443 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => | 440 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => |
444 astFactory.fieldFormalParameter( | 441 new FieldFormalParameter( |
445 cloneNode(node.documentationComment), | 442 cloneNode(node.documentationComment), |
446 cloneNodeList(node.metadata), | 443 cloneNodeList(node.metadata), |
447 cloneToken(node.keyword), | 444 cloneToken(node.keyword), |
448 cloneNode(node.type), | 445 cloneNode(node.type), |
449 cloneToken(node.thisKeyword), | 446 cloneToken(node.thisKeyword), |
450 cloneToken(node.period), | 447 cloneToken(node.period), |
451 cloneNode(node.identifier), | 448 cloneNode(node.identifier), |
452 cloneNode(node.typeParameters), | 449 cloneNode(node.typeParameters), |
453 cloneNode(node.parameters)); | 450 cloneNode(node.parameters)); |
454 | 451 |
455 @override | 452 @override |
456 ForEachStatement visitForEachStatement(ForEachStatement node) { | 453 ForEachStatement visitForEachStatement(ForEachStatement node) { |
457 DeclaredIdentifier loopVariable = node.loopVariable; | 454 DeclaredIdentifier loopVariable = node.loopVariable; |
458 if (loopVariable == null) { | 455 if (loopVariable == null) { |
459 return astFactory.forEachStatementWithReference( | 456 return new ForEachStatement.withReference( |
460 cloneToken(node.awaitKeyword), | 457 cloneToken(node.awaitKeyword), |
461 cloneToken(node.forKeyword), | 458 cloneToken(node.forKeyword), |
462 cloneToken(node.leftParenthesis), | 459 cloneToken(node.leftParenthesis), |
463 cloneNode(node.identifier), | 460 cloneNode(node.identifier), |
464 cloneToken(node.inKeyword), | 461 cloneToken(node.inKeyword), |
465 cloneNode(node.iterable), | 462 cloneNode(node.iterable), |
466 cloneToken(node.rightParenthesis), | 463 cloneToken(node.rightParenthesis), |
467 cloneNode(node.body)); | 464 cloneNode(node.body)); |
468 } | 465 } |
469 return astFactory.forEachStatementWithDeclaration( | 466 return new ForEachStatement.withDeclaration( |
470 cloneToken(node.awaitKeyword), | 467 cloneToken(node.awaitKeyword), |
471 cloneToken(node.forKeyword), | 468 cloneToken(node.forKeyword), |
472 cloneToken(node.leftParenthesis), | 469 cloneToken(node.leftParenthesis), |
473 cloneNode(loopVariable), | 470 cloneNode(loopVariable), |
474 cloneToken(node.inKeyword), | 471 cloneToken(node.inKeyword), |
475 cloneNode(node.iterable), | 472 cloneNode(node.iterable), |
476 cloneToken(node.rightParenthesis), | 473 cloneToken(node.rightParenthesis), |
477 cloneNode(node.body)); | 474 cloneNode(node.body)); |
478 } | 475 } |
479 | 476 |
480 @override | 477 @override |
481 FormalParameterList visitFormalParameterList(FormalParameterList node) => | 478 FormalParameterList visitFormalParameterList(FormalParameterList node) => |
482 astFactory.formalParameterList( | 479 new FormalParameterList( |
483 cloneToken(node.leftParenthesis), | 480 cloneToken(node.leftParenthesis), |
484 cloneNodeList(node.parameters), | 481 cloneNodeList(node.parameters), |
485 cloneToken(node.leftDelimiter), | 482 cloneToken(node.leftDelimiter), |
486 cloneToken(node.rightDelimiter), | 483 cloneToken(node.rightDelimiter), |
487 cloneToken(node.rightParenthesis)); | 484 cloneToken(node.rightParenthesis)); |
488 | 485 |
489 @override | 486 @override |
490 ForStatement visitForStatement(ForStatement node) => astFactory.forStatement( | 487 ForStatement visitForStatement(ForStatement node) => new ForStatement( |
491 cloneToken(node.forKeyword), | 488 cloneToken(node.forKeyword), |
492 cloneToken(node.leftParenthesis), | 489 cloneToken(node.leftParenthesis), |
493 cloneNode(node.variables), | 490 cloneNode(node.variables), |
494 cloneNode(node.initialization), | 491 cloneNode(node.initialization), |
495 cloneToken(node.leftSeparator), | 492 cloneToken(node.leftSeparator), |
496 cloneNode(node.condition), | 493 cloneNode(node.condition), |
497 cloneToken(node.rightSeparator), | 494 cloneToken(node.rightSeparator), |
498 cloneNodeList(node.updaters), | 495 cloneNodeList(node.updaters), |
499 cloneToken(node.rightParenthesis), | 496 cloneToken(node.rightParenthesis), |
500 cloneNode(node.body)); | 497 cloneNode(node.body)); |
501 | 498 |
502 @override | 499 @override |
503 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => | 500 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => |
504 astFactory.functionDeclaration( | 501 new FunctionDeclaration( |
505 cloneNode(node.documentationComment), | 502 cloneNode(node.documentationComment), |
506 cloneNodeList(node.metadata), | 503 cloneNodeList(node.metadata), |
507 cloneToken(node.externalKeyword), | 504 cloneToken(node.externalKeyword), |
508 cloneNode(node.returnType), | 505 cloneNode(node.returnType), |
509 cloneToken(node.propertyKeyword), | 506 cloneToken(node.propertyKeyword), |
510 cloneNode(node.name), | 507 cloneNode(node.name), |
511 cloneNode(node.functionExpression)); | 508 cloneNode(node.functionExpression)); |
512 | 509 |
513 @override | 510 @override |
514 FunctionDeclarationStatement visitFunctionDeclarationStatement( | 511 FunctionDeclarationStatement visitFunctionDeclarationStatement( |
515 FunctionDeclarationStatement node) => | 512 FunctionDeclarationStatement node) => |
516 astFactory | 513 new FunctionDeclarationStatement(cloneNode(node.functionDeclaration)); |
517 .functionDeclarationStatement(cloneNode(node.functionDeclaration)); | |
518 | 514 |
519 @override | 515 @override |
520 FunctionExpression visitFunctionExpression(FunctionExpression node) => | 516 FunctionExpression visitFunctionExpression(FunctionExpression node) => |
521 astFactory.functionExpression(cloneNode(node.typeParameters), | 517 new FunctionExpression(cloneNode(node.typeParameters), |
522 cloneNode(node.parameters), cloneNode(node.body)); | 518 cloneNode(node.parameters), cloneNode(node.body)); |
523 | 519 |
524 @override | 520 @override |
525 FunctionExpressionInvocation visitFunctionExpressionInvocation( | 521 FunctionExpressionInvocation visitFunctionExpressionInvocation( |
526 FunctionExpressionInvocation node) => | 522 FunctionExpressionInvocation node) => |
527 astFactory.functionExpressionInvocation(cloneNode(node.function), | 523 new FunctionExpressionInvocation(cloneNode(node.function), |
528 cloneNode(node.typeArguments), cloneNode(node.argumentList)); | 524 cloneNode(node.typeArguments), cloneNode(node.argumentList)); |
529 | 525 |
530 @override | 526 @override |
531 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => | 527 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => |
532 astFactory.functionTypeAlias( | 528 new FunctionTypeAlias( |
533 cloneNode(node.documentationComment), | 529 cloneNode(node.documentationComment), |
534 cloneNodeList(node.metadata), | 530 cloneNodeList(node.metadata), |
535 cloneToken(node.typedefKeyword), | 531 cloneToken(node.typedefKeyword), |
536 cloneNode(node.returnType), | 532 cloneNode(node.returnType), |
537 cloneNode(node.name), | 533 cloneNode(node.name), |
538 cloneNode(node.typeParameters), | 534 cloneNode(node.typeParameters), |
539 cloneNode(node.parameters), | 535 cloneNode(node.parameters), |
540 cloneToken(node.semicolon)); | 536 cloneToken(node.semicolon)); |
541 | 537 |
542 @override | 538 @override |
543 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( | 539 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( |
544 FunctionTypedFormalParameter node) => | 540 FunctionTypedFormalParameter node) => |
545 astFactory.functionTypedFormalParameter( | 541 new FunctionTypedFormalParameter( |
546 cloneNode(node.documentationComment), | 542 cloneNode(node.documentationComment), |
547 cloneNodeList(node.metadata), | 543 cloneNodeList(node.metadata), |
548 cloneNode(node.returnType), | 544 cloneNode(node.returnType), |
549 cloneNode(node.identifier), | 545 cloneNode(node.identifier), |
550 cloneNode(node.typeParameters), | 546 cloneNode(node.typeParameters), |
551 cloneNode(node.parameters)); | 547 cloneNode(node.parameters)); |
552 | 548 |
553 @override | 549 @override |
554 HideCombinator visitHideCombinator(HideCombinator node) => | 550 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( |
555 astFactory.hideCombinator( | 551 cloneToken(node.keyword), cloneNodeList(node.hiddenNames)); |
556 cloneToken(node.keyword), cloneNodeList(node.hiddenNames)); | |
557 | 552 |
558 @override | 553 @override |
559 IfStatement visitIfStatement(IfStatement node) => astFactory.ifStatement( | 554 IfStatement visitIfStatement(IfStatement node) => new IfStatement( |
560 cloneToken(node.ifKeyword), | 555 cloneToken(node.ifKeyword), |
561 cloneToken(node.leftParenthesis), | 556 cloneToken(node.leftParenthesis), |
562 cloneNode(node.condition), | 557 cloneNode(node.condition), |
563 cloneToken(node.rightParenthesis), | 558 cloneToken(node.rightParenthesis), |
564 cloneNode(node.thenStatement), | 559 cloneNode(node.thenStatement), |
565 cloneToken(node.elseKeyword), | 560 cloneToken(node.elseKeyword), |
566 cloneNode(node.elseStatement)); | 561 cloneNode(node.elseStatement)); |
567 | 562 |
568 @override | 563 @override |
569 ImplementsClause visitImplementsClause(ImplementsClause node) => | 564 ImplementsClause visitImplementsClause(ImplementsClause node) => |
570 astFactory.implementsClause( | 565 new ImplementsClause( |
571 cloneToken(node.implementsKeyword), cloneNodeList(node.interfaces)); | 566 cloneToken(node.implementsKeyword), cloneNodeList(node.interfaces)); |
572 | 567 |
573 @override | 568 @override |
574 ImportDirective visitImportDirective(ImportDirective node) { | 569 ImportDirective visitImportDirective(ImportDirective node) { |
575 ImportDirectiveImpl directive = astFactory.importDirective( | 570 ImportDirectiveImpl directive = new ImportDirective( |
576 cloneNode(node.documentationComment), | 571 cloneNode(node.documentationComment), |
577 cloneNodeList(node.metadata), | 572 cloneNodeList(node.metadata), |
578 cloneToken(node.keyword), | 573 cloneToken(node.keyword), |
579 cloneNode(node.uri), | 574 cloneNode(node.uri), |
580 cloneNodeList(node.configurations), | 575 cloneNodeList(node.configurations), |
581 cloneToken(node.deferredKeyword), | 576 cloneToken(node.deferredKeyword), |
582 cloneToken(node.asKeyword), | 577 cloneToken(node.asKeyword), |
583 cloneNode(node.prefix), | 578 cloneNode(node.prefix), |
584 cloneNodeList(node.combinators), | 579 cloneNodeList(node.combinators), |
585 cloneToken(node.semicolon)); | 580 cloneToken(node.semicolon)); |
586 directive.selectedUriContent = node.selectedUriContent; | 581 directive.selectedUriContent = node.selectedUriContent; |
587 directive.selectedSource = node.selectedSource; | 582 directive.selectedSource = node.selectedSource; |
588 directive.uriSource = node.uriSource; | 583 directive.uriSource = node.uriSource; |
589 directive.uriContent = node.uriContent; | 584 directive.uriContent = node.uriContent; |
590 return directive; | 585 return directive; |
591 } | 586 } |
592 | 587 |
593 @override | 588 @override |
594 IndexExpression visitIndexExpression(IndexExpression node) { | 589 IndexExpression visitIndexExpression(IndexExpression node) { |
595 Token period = node.period; | 590 Token period = node.period; |
596 if (period == null) { | 591 if (period == null) { |
597 return astFactory.indexExpressionForTarget( | 592 return new IndexExpression.forTarget( |
598 cloneNode(node.target), | 593 cloneNode(node.target), |
599 cloneToken(node.leftBracket), | 594 cloneToken(node.leftBracket), |
600 cloneNode(node.index), | 595 cloneNode(node.index), |
601 cloneToken(node.rightBracket)); | 596 cloneToken(node.rightBracket)); |
602 } else { | 597 } else { |
603 return astFactory.indexExpressionForCascade( | 598 return new IndexExpression.forCascade( |
604 cloneToken(period), | 599 cloneToken(period), |
605 cloneToken(node.leftBracket), | 600 cloneToken(node.leftBracket), |
606 cloneNode(node.index), | 601 cloneNode(node.index), |
607 cloneToken(node.rightBracket)); | 602 cloneToken(node.rightBracket)); |
608 } | 603 } |
609 } | 604 } |
610 | 605 |
611 @override | 606 @override |
612 InstanceCreationExpression visitInstanceCreationExpression( | 607 InstanceCreationExpression visitInstanceCreationExpression( |
613 InstanceCreationExpression node) => | 608 InstanceCreationExpression node) => |
614 astFactory.instanceCreationExpression(cloneToken(node.keyword), | 609 new InstanceCreationExpression(cloneToken(node.keyword), |
615 cloneNode(node.constructorName), cloneNode(node.argumentList)); | 610 cloneNode(node.constructorName), cloneNode(node.argumentList)); |
616 | 611 |
617 @override | 612 @override |
618 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) => | 613 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) => |
619 astFactory.integerLiteral(cloneToken(node.literal), node.value); | 614 new IntegerLiteral(cloneToken(node.literal), node.value); |
620 | 615 |
621 @override | 616 @override |
622 InterpolationExpression visitInterpolationExpression( | 617 InterpolationExpression visitInterpolationExpression( |
623 InterpolationExpression node) => | 618 InterpolationExpression node) => |
624 astFactory.interpolationExpression(cloneToken(node.leftBracket), | 619 new InterpolationExpression(cloneToken(node.leftBracket), |
625 cloneNode(node.expression), cloneToken(node.rightBracket)); | 620 cloneNode(node.expression), cloneToken(node.rightBracket)); |
626 | 621 |
627 @override | 622 @override |
628 InterpolationString visitInterpolationString(InterpolationString node) => | 623 InterpolationString visitInterpolationString(InterpolationString node) => |
629 astFactory.interpolationString(cloneToken(node.contents), node.value); | 624 new InterpolationString(cloneToken(node.contents), node.value); |
630 | 625 |
631 @override | 626 @override |
632 IsExpression visitIsExpression(IsExpression node) => astFactory.isExpression( | 627 IsExpression visitIsExpression(IsExpression node) => new IsExpression( |
633 cloneNode(node.expression), | 628 cloneNode(node.expression), |
634 cloneToken(node.isOperator), | 629 cloneToken(node.isOperator), |
635 cloneToken(node.notOperator), | 630 cloneToken(node.notOperator), |
636 cloneNode(node.type)); | 631 cloneNode(node.type)); |
637 | 632 |
638 @override | 633 @override |
639 Label visitLabel(Label node) => | 634 Label visitLabel(Label node) => |
640 astFactory.label(cloneNode(node.label), cloneToken(node.colon)); | 635 new Label(cloneNode(node.label), cloneToken(node.colon)); |
641 | 636 |
642 @override | 637 @override |
643 LabeledStatement visitLabeledStatement(LabeledStatement node) => astFactory | 638 LabeledStatement visitLabeledStatement(LabeledStatement node) => |
644 .labeledStatement(cloneNodeList(node.labels), cloneNode(node.statement)); | 639 new LabeledStatement( |
| 640 cloneNodeList(node.labels), cloneNode(node.statement)); |
645 | 641 |
646 @override | 642 @override |
647 LibraryDirective visitLibraryDirective(LibraryDirective node) => | 643 LibraryDirective visitLibraryDirective(LibraryDirective node) => |
648 astFactory.libraryDirective( | 644 new LibraryDirective( |
649 cloneNode(node.documentationComment), | 645 cloneNode(node.documentationComment), |
650 cloneNodeList(node.metadata), | 646 cloneNodeList(node.metadata), |
651 cloneToken(node.libraryKeyword), | 647 cloneToken(node.libraryKeyword), |
652 cloneNode(node.name), | 648 cloneNode(node.name), |
653 cloneToken(node.semicolon)); | 649 cloneToken(node.semicolon)); |
654 | 650 |
655 @override | 651 @override |
656 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) => | 652 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) => |
657 astFactory.libraryIdentifier(cloneNodeList(node.components)); | 653 new LibraryIdentifier(cloneNodeList(node.components)); |
658 | 654 |
659 @override | 655 @override |
660 ListLiteral visitListLiteral(ListLiteral node) => astFactory.listLiteral( | 656 ListLiteral visitListLiteral(ListLiteral node) => new ListLiteral( |
661 cloneToken(node.constKeyword), | 657 cloneToken(node.constKeyword), |
662 cloneNode(node.typeArguments), | 658 cloneNode(node.typeArguments), |
663 cloneToken(node.leftBracket), | 659 cloneToken(node.leftBracket), |
664 cloneNodeList(node.elements), | 660 cloneNodeList(node.elements), |
665 cloneToken(node.rightBracket)); | 661 cloneToken(node.rightBracket)); |
666 | 662 |
667 @override | 663 @override |
668 MapLiteral visitMapLiteral(MapLiteral node) => astFactory.mapLiteral( | 664 MapLiteral visitMapLiteral(MapLiteral node) => new MapLiteral( |
669 cloneToken(node.constKeyword), | 665 cloneToken(node.constKeyword), |
670 cloneNode(node.typeArguments), | 666 cloneNode(node.typeArguments), |
671 cloneToken(node.leftBracket), | 667 cloneToken(node.leftBracket), |
672 cloneNodeList(node.entries), | 668 cloneNodeList(node.entries), |
673 cloneToken(node.rightBracket)); | 669 cloneToken(node.rightBracket)); |
674 | 670 |
675 @override | 671 @override |
676 MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) => | 672 MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) => |
677 astFactory.mapLiteralEntry(cloneNode(node.key), | 673 new MapLiteralEntry(cloneNode(node.key), cloneToken(node.separator), |
678 cloneToken(node.separator), cloneNode(node.value)); | 674 cloneNode(node.value)); |
679 | 675 |
680 @override | 676 @override |
681 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => | 677 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => |
682 astFactory.methodDeclaration( | 678 new MethodDeclaration( |
683 cloneNode(node.documentationComment), | 679 cloneNode(node.documentationComment), |
684 cloneNodeList(node.metadata), | 680 cloneNodeList(node.metadata), |
685 cloneToken(node.externalKeyword), | 681 cloneToken(node.externalKeyword), |
686 cloneToken(node.modifierKeyword), | 682 cloneToken(node.modifierKeyword), |
687 cloneNode(node.returnType), | 683 cloneNode(node.returnType), |
688 cloneToken(node.propertyKeyword), | 684 cloneToken(node.propertyKeyword), |
689 cloneToken(node.operatorKeyword), | 685 cloneToken(node.operatorKeyword), |
690 cloneNode(node.name), | 686 cloneNode(node.name), |
691 cloneNode(node.typeParameters), | 687 cloneNode(node.typeParameters), |
692 cloneNode(node.parameters), | 688 cloneNode(node.parameters), |
693 cloneNode(node.body)); | 689 cloneNode(node.body)); |
694 | 690 |
695 @override | 691 @override |
696 MethodInvocation visitMethodInvocation(MethodInvocation node) => | 692 MethodInvocation visitMethodInvocation(MethodInvocation node) => |
697 astFactory.methodInvocation( | 693 new MethodInvocation( |
698 cloneNode(node.target), | 694 cloneNode(node.target), |
699 cloneToken(node.operator), | 695 cloneToken(node.operator), |
700 cloneNode(node.methodName), | 696 cloneNode(node.methodName), |
701 cloneNode(node.typeArguments), | 697 cloneNode(node.typeArguments), |
702 cloneNode(node.argumentList)); | 698 cloneNode(node.argumentList)); |
703 | 699 |
704 @override | 700 @override |
705 NamedExpression visitNamedExpression(NamedExpression node) => astFactory | 701 NamedExpression visitNamedExpression(NamedExpression node) => |
706 .namedExpression(cloneNode(node.name), cloneNode(node.expression)); | 702 new NamedExpression(cloneNode(node.name), cloneNode(node.expression)); |
707 | 703 |
708 @override | 704 @override |
709 AstNode visitNativeClause(NativeClause node) => astFactory.nativeClause( | 705 AstNode visitNativeClause(NativeClause node) => |
710 cloneToken(node.nativeKeyword), cloneNode(node.name)); | 706 new NativeClause(cloneToken(node.nativeKeyword), cloneNode(node.name)); |
711 | 707 |
712 @override | 708 @override |
713 NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) => | 709 NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) => |
714 astFactory.nativeFunctionBody(cloneToken(node.nativeKeyword), | 710 new NativeFunctionBody(cloneToken(node.nativeKeyword), |
715 cloneNode(node.stringLiteral), cloneToken(node.semicolon)); | 711 cloneNode(node.stringLiteral), cloneToken(node.semicolon)); |
716 | 712 |
717 @override | 713 @override |
718 NullLiteral visitNullLiteral(NullLiteral node) => | 714 NullLiteral visitNullLiteral(NullLiteral node) => |
719 astFactory.nullLiteral(cloneToken(node.literal)); | 715 new NullLiteral(cloneToken(node.literal)); |
720 | 716 |
721 @override | 717 @override |
722 ParenthesizedExpression visitParenthesizedExpression( | 718 ParenthesizedExpression visitParenthesizedExpression( |
723 ParenthesizedExpression node) => | 719 ParenthesizedExpression node) => |
724 astFactory.parenthesizedExpression(cloneToken(node.leftParenthesis), | 720 new ParenthesizedExpression(cloneToken(node.leftParenthesis), |
725 cloneNode(node.expression), cloneToken(node.rightParenthesis)); | 721 cloneNode(node.expression), cloneToken(node.rightParenthesis)); |
726 | 722 |
727 @override | 723 @override |
728 PartDirective visitPartDirective(PartDirective node) { | 724 PartDirective visitPartDirective(PartDirective node) { |
729 PartDirective directive = astFactory.partDirective( | 725 PartDirective directive = new PartDirective( |
730 cloneNode(node.documentationComment), | 726 cloneNode(node.documentationComment), |
731 cloneNodeList(node.metadata), | 727 cloneNodeList(node.metadata), |
732 cloneToken(node.partKeyword), | 728 cloneToken(node.partKeyword), |
733 cloneNode(node.uri), | 729 cloneNode(node.uri), |
734 cloneToken(node.semicolon)); | 730 cloneToken(node.semicolon)); |
735 directive.uriSource = node.uriSource; | 731 directive.uriSource = node.uriSource; |
736 directive.uriContent = node.uriContent; | 732 directive.uriContent = node.uriContent; |
737 return directive; | 733 return directive; |
738 } | 734 } |
739 | 735 |
740 @override | 736 @override |
741 PartOfDirective visitPartOfDirective(PartOfDirective node) => | 737 PartOfDirective visitPartOfDirective(PartOfDirective node) => |
742 astFactory.partOfDirective( | 738 new PartOfDirective( |
743 cloneNode(node.documentationComment), | 739 cloneNode(node.documentationComment), |
744 cloneNodeList(node.metadata), | 740 cloneNodeList(node.metadata), |
745 cloneToken(node.partKeyword), | 741 cloneToken(node.partKeyword), |
746 cloneToken(node.ofKeyword), | 742 cloneToken(node.ofKeyword), |
747 cloneNode(node.uri), | 743 cloneNode(node.uri), |
748 cloneNode(node.libraryName), | 744 cloneNode(node.libraryName), |
749 cloneToken(node.semicolon)); | 745 cloneToken(node.semicolon)); |
750 | 746 |
751 @override | 747 @override |
752 PostfixExpression visitPostfixExpression(PostfixExpression node) => astFactory | 748 PostfixExpression visitPostfixExpression(PostfixExpression node) => |
753 .postfixExpression(cloneNode(node.operand), cloneToken(node.operator)); | 749 new PostfixExpression(cloneNode(node.operand), cloneToken(node.operator)); |
754 | 750 |
755 @override | 751 @override |
756 PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node) => | 752 PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node) => |
757 astFactory.prefixedIdentifier(cloneNode(node.prefix), | 753 new PrefixedIdentifier(cloneNode(node.prefix), cloneToken(node.period), |
758 cloneToken(node.period), cloneNode(node.identifier)); | 754 cloneNode(node.identifier)); |
759 | 755 |
760 @override | 756 @override |
761 PrefixExpression visitPrefixExpression(PrefixExpression node) => astFactory | 757 PrefixExpression visitPrefixExpression(PrefixExpression node) => |
762 .prefixExpression(cloneToken(node.operator), cloneNode(node.operand)); | 758 new PrefixExpression(cloneToken(node.operator), cloneNode(node.operand)); |
763 | 759 |
764 @override | 760 @override |
765 PropertyAccess visitPropertyAccess(PropertyAccess node) => | 761 PropertyAccess visitPropertyAccess(PropertyAccess node) => new PropertyAccess( |
766 astFactory.propertyAccess(cloneNode(node.target), | 762 cloneNode(node.target), |
767 cloneToken(node.operator), cloneNode(node.propertyName)); | 763 cloneToken(node.operator), |
| 764 cloneNode(node.propertyName)); |
768 | 765 |
769 @override | 766 @override |
770 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( | 767 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( |
771 RedirectingConstructorInvocation node) => | 768 RedirectingConstructorInvocation node) => |
772 astFactory.redirectingConstructorInvocation( | 769 new RedirectingConstructorInvocation( |
773 cloneToken(node.thisKeyword), | 770 cloneToken(node.thisKeyword), |
774 cloneToken(node.period), | 771 cloneToken(node.period), |
775 cloneNode(node.constructorName), | 772 cloneNode(node.constructorName), |
776 cloneNode(node.argumentList)); | 773 cloneNode(node.argumentList)); |
777 | 774 |
778 @override | 775 @override |
779 RethrowExpression visitRethrowExpression(RethrowExpression node) => | 776 RethrowExpression visitRethrowExpression(RethrowExpression node) => |
780 astFactory.rethrowExpression(cloneToken(node.rethrowKeyword)); | 777 new RethrowExpression(cloneToken(node.rethrowKeyword)); |
781 | 778 |
782 @override | 779 @override |
783 ReturnStatement visitReturnStatement(ReturnStatement node) => | 780 ReturnStatement visitReturnStatement(ReturnStatement node) => |
784 astFactory.returnStatement(cloneToken(node.returnKeyword), | 781 new ReturnStatement(cloneToken(node.returnKeyword), |
785 cloneNode(node.expression), cloneToken(node.semicolon)); | 782 cloneNode(node.expression), cloneToken(node.semicolon)); |
786 | 783 |
787 @override | 784 @override |
788 ScriptTag visitScriptTag(ScriptTag node) => | 785 ScriptTag visitScriptTag(ScriptTag node) => |
789 astFactory.scriptTag(cloneToken(node.scriptTag)); | 786 new ScriptTag(cloneToken(node.scriptTag)); |
790 | 787 |
791 @override | 788 @override |
792 ShowCombinator visitShowCombinator(ShowCombinator node) => astFactory | 789 ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator( |
793 .showCombinator(cloneToken(node.keyword), cloneNodeList(node.shownNames)); | 790 cloneToken(node.keyword), cloneNodeList(node.shownNames)); |
794 | 791 |
795 @override | 792 @override |
796 SimpleFormalParameter visitSimpleFormalParameter( | 793 SimpleFormalParameter visitSimpleFormalParameter( |
797 SimpleFormalParameter node) => | 794 SimpleFormalParameter node) => |
798 astFactory.simpleFormalParameter( | 795 new SimpleFormalParameter( |
799 cloneNode(node.documentationComment), | 796 cloneNode(node.documentationComment), |
800 cloneNodeList(node.metadata), | 797 cloneNodeList(node.metadata), |
801 cloneToken(node.keyword), | 798 cloneToken(node.keyword), |
802 cloneNode(node.type), | 799 cloneNode(node.type), |
803 cloneNode(node.identifier)); | 800 cloneNode(node.identifier)); |
804 | 801 |
805 @override | 802 @override |
806 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) => | 803 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) => |
807 astFactory.simpleIdentifier(cloneToken(node.token), | 804 new SimpleIdentifier(cloneToken(node.token), |
808 isDeclaration: node.inDeclarationContext()); | 805 isDeclaration: node.inDeclarationContext()); |
809 | 806 |
810 @override | 807 @override |
811 SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node) => | 808 SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node) => |
812 astFactory.simpleStringLiteral(cloneToken(node.literal), node.value); | 809 new SimpleStringLiteral(cloneToken(node.literal), node.value); |
813 | 810 |
814 @override | 811 @override |
815 StringInterpolation visitStringInterpolation(StringInterpolation node) => | 812 StringInterpolation visitStringInterpolation(StringInterpolation node) => |
816 astFactory.stringInterpolation(cloneNodeList(node.elements)); | 813 new StringInterpolation(cloneNodeList(node.elements)); |
817 | 814 |
818 @override | 815 @override |
819 SuperConstructorInvocation visitSuperConstructorInvocation( | 816 SuperConstructorInvocation visitSuperConstructorInvocation( |
820 SuperConstructorInvocation node) => | 817 SuperConstructorInvocation node) => |
821 astFactory.superConstructorInvocation( | 818 new SuperConstructorInvocation( |
822 cloneToken(node.superKeyword), | 819 cloneToken(node.superKeyword), |
823 cloneToken(node.period), | 820 cloneToken(node.period), |
824 cloneNode(node.constructorName), | 821 cloneNode(node.constructorName), |
825 cloneNode(node.argumentList)); | 822 cloneNode(node.argumentList)); |
826 | 823 |
827 @override | 824 @override |
828 SuperExpression visitSuperExpression(SuperExpression node) => | 825 SuperExpression visitSuperExpression(SuperExpression node) => |
829 astFactory.superExpression(cloneToken(node.superKeyword)); | 826 new SuperExpression(cloneToken(node.superKeyword)); |
830 | 827 |
831 @override | 828 @override |
832 SwitchCase visitSwitchCase(SwitchCase node) => astFactory.switchCase( | 829 SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase( |
833 cloneNodeList(node.labels), | 830 cloneNodeList(node.labels), |
834 cloneToken(node.keyword), | 831 cloneToken(node.keyword), |
835 cloneNode(node.expression), | 832 cloneNode(node.expression), |
836 cloneToken(node.colon), | 833 cloneToken(node.colon), |
837 cloneNodeList(node.statements)); | 834 cloneNodeList(node.statements)); |
838 | 835 |
839 @override | 836 @override |
840 SwitchDefault visitSwitchDefault(SwitchDefault node) => | 837 SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault( |
841 astFactory.switchDefault( | 838 cloneNodeList(node.labels), |
842 cloneNodeList(node.labels), | 839 cloneToken(node.keyword), |
843 cloneToken(node.keyword), | 840 cloneToken(node.colon), |
844 cloneToken(node.colon), | 841 cloneNodeList(node.statements)); |
845 cloneNodeList(node.statements)); | |
846 | 842 |
847 @override | 843 @override |
848 SwitchStatement visitSwitchStatement(SwitchStatement node) => | 844 SwitchStatement visitSwitchStatement(SwitchStatement node) => |
849 astFactory.switchStatement( | 845 new SwitchStatement( |
850 cloneToken(node.switchKeyword), | 846 cloneToken(node.switchKeyword), |
851 cloneToken(node.leftParenthesis), | 847 cloneToken(node.leftParenthesis), |
852 cloneNode(node.expression), | 848 cloneNode(node.expression), |
853 cloneToken(node.rightParenthesis), | 849 cloneToken(node.rightParenthesis), |
854 cloneToken(node.leftBracket), | 850 cloneToken(node.leftBracket), |
855 cloneNodeList(node.members), | 851 cloneNodeList(node.members), |
856 cloneToken(node.rightBracket)); | 852 cloneToken(node.rightBracket)); |
857 | 853 |
858 @override | 854 @override |
859 SymbolLiteral visitSymbolLiteral(SymbolLiteral node) => | 855 SymbolLiteral visitSymbolLiteral(SymbolLiteral node) => new SymbolLiteral( |
860 astFactory.symbolLiteral( | 856 cloneToken(node.poundSign), cloneTokenList(node.components)); |
861 cloneToken(node.poundSign), cloneTokenList(node.components)); | |
862 | 857 |
863 @override | 858 @override |
864 ThisExpression visitThisExpression(ThisExpression node) => | 859 ThisExpression visitThisExpression(ThisExpression node) => |
865 astFactory.thisExpression(cloneToken(node.thisKeyword)); | 860 new ThisExpression(cloneToken(node.thisKeyword)); |
866 | 861 |
867 @override | 862 @override |
868 ThrowExpression visitThrowExpression(ThrowExpression node) => | 863 ThrowExpression visitThrowExpression(ThrowExpression node) => |
869 astFactory.throwExpression( | 864 new ThrowExpression( |
870 cloneToken(node.throwKeyword), cloneNode(node.expression)); | 865 cloneToken(node.throwKeyword), cloneNode(node.expression)); |
871 | 866 |
872 @override | 867 @override |
873 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( | 868 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( |
874 TopLevelVariableDeclaration node) => | 869 TopLevelVariableDeclaration node) => |
875 astFactory.topLevelVariableDeclaration( | 870 new TopLevelVariableDeclaration( |
876 cloneNode(node.documentationComment), | 871 cloneNode(node.documentationComment), |
877 cloneNodeList(node.metadata), | 872 cloneNodeList(node.metadata), |
878 cloneNode(node.variables), | 873 cloneNode(node.variables), |
879 cloneToken(node.semicolon)); | 874 cloneToken(node.semicolon)); |
880 | 875 |
881 @override | 876 @override |
882 TryStatement visitTryStatement(TryStatement node) => astFactory.tryStatement( | 877 TryStatement visitTryStatement(TryStatement node) => new TryStatement( |
883 cloneToken(node.tryKeyword), | 878 cloneToken(node.tryKeyword), |
884 cloneNode(node.body), | 879 cloneNode(node.body), |
885 cloneNodeList(node.catchClauses), | 880 cloneNodeList(node.catchClauses), |
886 cloneToken(node.finallyKeyword), | 881 cloneToken(node.finallyKeyword), |
887 cloneNode(node.finallyBlock)); | 882 cloneNode(node.finallyBlock)); |
888 | 883 |
889 @override | 884 @override |
890 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => | 885 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => |
891 astFactory.typeArgumentList(cloneToken(node.leftBracket), | 886 new TypeArgumentList(cloneToken(node.leftBracket), |
892 cloneNodeList(node.arguments), cloneToken(node.rightBracket)); | 887 cloneNodeList(node.arguments), cloneToken(node.rightBracket)); |
893 | 888 |
894 @override | 889 @override |
895 TypeName visitTypeName(TypeName node) => | 890 TypeName visitTypeName(TypeName node) => |
896 astFactory.typeName(cloneNode(node.name), cloneNode(node.typeArguments)); | 891 new TypeName(cloneNode(node.name), cloneNode(node.typeArguments)); |
897 | 892 |
898 @override | 893 @override |
899 TypeParameter visitTypeParameter(TypeParameter node) => | 894 TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter( |
900 astFactory.typeParameter( | 895 cloneNode(node.documentationComment), |
901 cloneNode(node.documentationComment), | 896 cloneNodeList(node.metadata), |
902 cloneNodeList(node.metadata), | 897 cloneNode(node.name), |
903 cloneNode(node.name), | 898 cloneToken(node.extendsKeyword), |
904 cloneToken(node.extendsKeyword), | 899 cloneNode(node.bound)); |
905 cloneNode(node.bound)); | |
906 | 900 |
907 @override | 901 @override |
908 TypeParameterList visitTypeParameterList(TypeParameterList node) => | 902 TypeParameterList visitTypeParameterList(TypeParameterList node) => |
909 astFactory.typeParameterList(cloneToken(node.leftBracket), | 903 new TypeParameterList(cloneToken(node.leftBracket), |
910 cloneNodeList(node.typeParameters), cloneToken(node.rightBracket)); | 904 cloneNodeList(node.typeParameters), cloneToken(node.rightBracket)); |
911 | 905 |
912 @override | 906 @override |
913 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => | 907 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => |
914 astFactory.variableDeclaration(cloneNode(node.name), | 908 new VariableDeclaration(cloneNode(node.name), cloneToken(node.equals), |
915 cloneToken(node.equals), cloneNode(node.initializer)); | 909 cloneNode(node.initializer)); |
916 | 910 |
917 @override | 911 @override |
918 VariableDeclarationList visitVariableDeclarationList( | 912 VariableDeclarationList visitVariableDeclarationList( |
919 VariableDeclarationList node) => | 913 VariableDeclarationList node) => |
920 astFactory.variableDeclarationList( | 914 new VariableDeclarationList( |
921 cloneNode(node.documentationComment), | 915 cloneNode(node.documentationComment), |
922 cloneNodeList(node.metadata), | 916 cloneNodeList(node.metadata), |
923 cloneToken(node.keyword), | 917 cloneToken(node.keyword), |
924 cloneNode(node.type), | 918 cloneNode(node.type), |
925 cloneNodeList(node.variables)); | 919 cloneNodeList(node.variables)); |
926 | 920 |
927 @override | 921 @override |
928 VariableDeclarationStatement visitVariableDeclarationStatement( | 922 VariableDeclarationStatement visitVariableDeclarationStatement( |
929 VariableDeclarationStatement node) => | 923 VariableDeclarationStatement node) => |
930 astFactory.variableDeclarationStatement( | 924 new VariableDeclarationStatement( |
931 cloneNode(node.variables), cloneToken(node.semicolon)); | 925 cloneNode(node.variables), cloneToken(node.semicolon)); |
932 | 926 |
933 @override | 927 @override |
934 WhileStatement visitWhileStatement(WhileStatement node) => | 928 WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement( |
935 astFactory.whileStatement( | 929 cloneToken(node.whileKeyword), |
936 cloneToken(node.whileKeyword), | 930 cloneToken(node.leftParenthesis), |
937 cloneToken(node.leftParenthesis), | 931 cloneNode(node.condition), |
938 cloneNode(node.condition), | 932 cloneToken(node.rightParenthesis), |
939 cloneToken(node.rightParenthesis), | 933 cloneNode(node.body)); |
940 cloneNode(node.body)); | |
941 | 934 |
942 @override | 935 @override |
943 WithClause visitWithClause(WithClause node) => astFactory.withClause( | 936 WithClause visitWithClause(WithClause node) => new WithClause( |
944 cloneToken(node.withKeyword), cloneNodeList(node.mixinTypes)); | 937 cloneToken(node.withKeyword), cloneNodeList(node.mixinTypes)); |
945 | 938 |
946 @override | 939 @override |
947 YieldStatement visitYieldStatement(YieldStatement node) => | 940 YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement( |
948 astFactory.yieldStatement( | 941 cloneToken(node.yieldKeyword), |
949 cloneToken(node.yieldKeyword), | 942 cloneToken(node.star), |
950 cloneToken(node.star), | 943 cloneNode(node.expression), |
951 cloneNode(node.expression), | 944 cloneToken(node.semicolon)); |
952 cloneToken(node.semicolon)); | |
953 | 945 |
954 /** | 946 /** |
955 * Clone all token starting from the given [token] up to a token that has | 947 * Clone all token starting from the given [token] up to a token that has |
956 * offset greater then [stopAfter], and put mapping from originals to clones | 948 * offset greater then [stopAfter], and put mapping from originals to clones |
957 * into [_clonedTokens]. | 949 * into [_clonedTokens]. |
958 * | 950 * |
959 * We cannot clone tokens as we visit nodes because not every token is a part | 951 * We cannot clone tokens as we visit nodes because not every token is a part |
960 * of a node, E.g. commas in argument lists are not represented in AST. But | 952 * of a node, E.g. commas in argument lists are not represented in AST. But |
961 * we need to the sequence of tokens that is identical to the original one. | 953 * we need to the sequence of tokens that is identical to the original one. |
962 */ | 954 */ |
(...skipping 1793 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2756 | 2748 |
2757 /** | 2749 /** |
2758 * Construct a new instance that will replace the [oldNode] with the [newNode] | 2750 * Construct a new instance that will replace the [oldNode] with the [newNode] |
2759 * in the process of cloning an existing AST structure. The [tokenMap] is a | 2751 * in the process of cloning an existing AST structure. The [tokenMap] is a |
2760 * mapping of old tokens to new tokens. | 2752 * mapping of old tokens to new tokens. |
2761 */ | 2753 */ |
2762 IncrementalAstCloner(this._oldNode, this._newNode, this._tokenMap); | 2754 IncrementalAstCloner(this._oldNode, this._newNode, this._tokenMap); |
2763 | 2755 |
2764 @override | 2756 @override |
2765 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => | 2757 AdjacentStrings visitAdjacentStrings(AdjacentStrings node) => |
2766 astFactory.adjacentStrings(_cloneNodeList(node.strings)); | 2758 new AdjacentStrings(_cloneNodeList(node.strings)); |
2767 | 2759 |
2768 @override | 2760 @override |
2769 Annotation visitAnnotation(Annotation node) { | 2761 Annotation visitAnnotation(Annotation node) { |
2770 Annotation copy = astFactory.annotation( | 2762 Annotation copy = new Annotation( |
2771 _mapToken(node.atSign), | 2763 _mapToken(node.atSign), |
2772 _cloneNode(node.name), | 2764 _cloneNode(node.name), |
2773 _mapToken(node.period), | 2765 _mapToken(node.period), |
2774 _cloneNode(node.constructorName), | 2766 _cloneNode(node.constructorName), |
2775 _cloneNode(node.arguments)); | 2767 _cloneNode(node.arguments)); |
2776 copy.element = node.element; | 2768 copy.element = node.element; |
2777 return copy; | 2769 return copy; |
2778 } | 2770 } |
2779 | 2771 |
2780 @override | 2772 @override |
2781 ArgumentList visitArgumentList(ArgumentList node) => astFactory.argumentList( | 2773 ArgumentList visitArgumentList(ArgumentList node) => new ArgumentList( |
2782 _mapToken(node.leftParenthesis), | 2774 _mapToken(node.leftParenthesis), |
2783 _cloneNodeList(node.arguments), | 2775 _cloneNodeList(node.arguments), |
2784 _mapToken(node.rightParenthesis)); | 2776 _mapToken(node.rightParenthesis)); |
2785 | 2777 |
2786 @override | 2778 @override |
2787 AsExpression visitAsExpression(AsExpression node) { | 2779 AsExpression visitAsExpression(AsExpression node) { |
2788 AsExpression copy = astFactory.asExpression(_cloneNode(node.expression), | 2780 AsExpression copy = new AsExpression(_cloneNode(node.expression), |
2789 _mapToken(node.asOperator), _cloneNode(node.type)); | 2781 _mapToken(node.asOperator), _cloneNode(node.type)); |
2790 copy.propagatedType = node.propagatedType; | 2782 copy.propagatedType = node.propagatedType; |
2791 copy.staticType = node.staticType; | 2783 copy.staticType = node.staticType; |
2792 return copy; | 2784 return copy; |
2793 } | 2785 } |
2794 | 2786 |
2795 @override | 2787 @override |
2796 AstNode visitAssertInitializer(AssertInitializer node) => | 2788 AstNode visitAssertInitializer(AssertInitializer node) => |
2797 astFactory.assertInitializer( | 2789 new AssertInitializer( |
2798 _mapToken(node.assertKeyword), | 2790 _mapToken(node.assertKeyword), |
2799 _mapToken(node.leftParenthesis), | 2791 _mapToken(node.leftParenthesis), |
2800 _cloneNode(node.condition), | 2792 _cloneNode(node.condition), |
2801 _mapToken(node.comma), | 2793 _mapToken(node.comma), |
2802 _cloneNode(node.message), | 2794 _cloneNode(node.message), |
2803 _mapToken(node.rightParenthesis)); | 2795 _mapToken(node.rightParenthesis)); |
2804 | 2796 |
2805 @override | 2797 @override |
2806 AstNode visitAssertStatement(AssertStatement node) => | 2798 AstNode visitAssertStatement(AssertStatement node) => new AssertStatement( |
2807 astFactory.assertStatement( | 2799 _mapToken(node.assertKeyword), |
2808 _mapToken(node.assertKeyword), | 2800 _mapToken(node.leftParenthesis), |
2809 _mapToken(node.leftParenthesis), | 2801 _cloneNode(node.condition), |
2810 _cloneNode(node.condition), | 2802 _mapToken(node.comma), |
2811 _mapToken(node.comma), | 2803 _cloneNode(node.message), |
2812 _cloneNode(node.message), | 2804 _mapToken(node.rightParenthesis), |
2813 _mapToken(node.rightParenthesis), | 2805 _mapToken(node.semicolon)); |
2814 _mapToken(node.semicolon)); | |
2815 | 2806 |
2816 @override | 2807 @override |
2817 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) { | 2808 AssignmentExpression visitAssignmentExpression(AssignmentExpression node) { |
2818 AssignmentExpression copy = astFactory.assignmentExpression( | 2809 AssignmentExpression copy = new AssignmentExpression( |
2819 _cloneNode(node.leftHandSide), | 2810 _cloneNode(node.leftHandSide), |
2820 _mapToken(node.operator), | 2811 _mapToken(node.operator), |
2821 _cloneNode(node.rightHandSide)); | 2812 _cloneNode(node.rightHandSide)); |
2822 copy.propagatedElement = node.propagatedElement; | 2813 copy.propagatedElement = node.propagatedElement; |
2823 copy.propagatedType = node.propagatedType; | 2814 copy.propagatedType = node.propagatedType; |
2824 copy.staticElement = node.staticElement; | 2815 copy.staticElement = node.staticElement; |
2825 copy.staticType = node.staticType; | 2816 copy.staticType = node.staticType; |
2826 return copy; | 2817 return copy; |
2827 } | 2818 } |
2828 | 2819 |
2829 @override | 2820 @override |
2830 AwaitExpression visitAwaitExpression(AwaitExpression node) => | 2821 AwaitExpression visitAwaitExpression(AwaitExpression node) => |
2831 astFactory.awaitExpression( | 2822 new AwaitExpression( |
2832 _mapToken(node.awaitKeyword), _cloneNode(node.expression)); | 2823 _mapToken(node.awaitKeyword), _cloneNode(node.expression)); |
2833 | 2824 |
2834 @override | 2825 @override |
2835 BinaryExpression visitBinaryExpression(BinaryExpression node) { | 2826 BinaryExpression visitBinaryExpression(BinaryExpression node) { |
2836 BinaryExpression copy = astFactory.binaryExpression( | 2827 BinaryExpression copy = new BinaryExpression(_cloneNode(node.leftOperand), |
2837 _cloneNode(node.leftOperand), | 2828 _mapToken(node.operator), _cloneNode(node.rightOperand)); |
2838 _mapToken(node.operator), | |
2839 _cloneNode(node.rightOperand)); | |
2840 copy.propagatedElement = node.propagatedElement; | 2829 copy.propagatedElement = node.propagatedElement; |
2841 copy.propagatedType = node.propagatedType; | 2830 copy.propagatedType = node.propagatedType; |
2842 copy.staticElement = node.staticElement; | 2831 copy.staticElement = node.staticElement; |
2843 copy.staticType = node.staticType; | 2832 copy.staticType = node.staticType; |
2844 return copy; | 2833 return copy; |
2845 } | 2834 } |
2846 | 2835 |
2847 @override | 2836 @override |
2848 Block visitBlock(Block node) => astFactory.block(_mapToken(node.leftBracket), | 2837 Block visitBlock(Block node) => new Block(_mapToken(node.leftBracket), |
2849 _cloneNodeList(node.statements), _mapToken(node.rightBracket)); | 2838 _cloneNodeList(node.statements), _mapToken(node.rightBracket)); |
2850 | 2839 |
2851 @override | 2840 @override |
2852 BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) => | 2841 BlockFunctionBody visitBlockFunctionBody(BlockFunctionBody node) => |
2853 astFactory.blockFunctionBody(_mapToken(node.keyword), | 2842 new BlockFunctionBody(_mapToken(node.keyword), _mapToken(node.star), |
2854 _mapToken(node.star), _cloneNode(node.block)); | 2843 _cloneNode(node.block)); |
2855 | 2844 |
2856 @override | 2845 @override |
2857 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) { | 2846 BooleanLiteral visitBooleanLiteral(BooleanLiteral node) { |
2858 BooleanLiteral copy = | 2847 BooleanLiteral copy = |
2859 astFactory.booleanLiteral(_mapToken(node.literal), node.value); | 2848 new BooleanLiteral(_mapToken(node.literal), node.value); |
2860 copy.propagatedType = node.propagatedType; | 2849 copy.propagatedType = node.propagatedType; |
2861 copy.staticType = node.staticType; | 2850 copy.staticType = node.staticType; |
2862 return copy; | 2851 return copy; |
2863 } | 2852 } |
2864 | 2853 |
2865 @override | 2854 @override |
2866 BreakStatement visitBreakStatement(BreakStatement node) => | 2855 BreakStatement visitBreakStatement(BreakStatement node) => new BreakStatement( |
2867 astFactory.breakStatement(_mapToken(node.breakKeyword), | 2856 _mapToken(node.breakKeyword), |
2868 _cloneNode(node.label), _mapToken(node.semicolon)); | 2857 _cloneNode(node.label), |
| 2858 _mapToken(node.semicolon)); |
2869 | 2859 |
2870 @override | 2860 @override |
2871 CascadeExpression visitCascadeExpression(CascadeExpression node) { | 2861 CascadeExpression visitCascadeExpression(CascadeExpression node) { |
2872 CascadeExpression copy = astFactory.cascadeExpression( | 2862 CascadeExpression copy = new CascadeExpression( |
2873 _cloneNode(node.target), _cloneNodeList(node.cascadeSections)); | 2863 _cloneNode(node.target), _cloneNodeList(node.cascadeSections)); |
2874 copy.propagatedType = node.propagatedType; | 2864 copy.propagatedType = node.propagatedType; |
2875 copy.staticType = node.staticType; | 2865 copy.staticType = node.staticType; |
2876 return copy; | 2866 return copy; |
2877 } | 2867 } |
2878 | 2868 |
2879 @override | 2869 @override |
2880 CatchClause visitCatchClause(CatchClause node) => astFactory.catchClause( | 2870 CatchClause visitCatchClause(CatchClause node) => new CatchClause( |
2881 _mapToken(node.onKeyword), | 2871 _mapToken(node.onKeyword), |
2882 _cloneNode(node.exceptionType), | 2872 _cloneNode(node.exceptionType), |
2883 _mapToken(node.catchKeyword), | 2873 _mapToken(node.catchKeyword), |
2884 _mapToken(node.leftParenthesis), | 2874 _mapToken(node.leftParenthesis), |
2885 _cloneNode(node.exceptionParameter), | 2875 _cloneNode(node.exceptionParameter), |
2886 _mapToken(node.comma), | 2876 _mapToken(node.comma), |
2887 _cloneNode(node.stackTraceParameter), | 2877 _cloneNode(node.stackTraceParameter), |
2888 _mapToken(node.rightParenthesis), | 2878 _mapToken(node.rightParenthesis), |
2889 _cloneNode(node.body)); | 2879 _cloneNode(node.body)); |
2890 | 2880 |
2891 @override | 2881 @override |
2892 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { | 2882 ClassDeclaration visitClassDeclaration(ClassDeclaration node) { |
2893 ClassDeclaration copy = astFactory.classDeclaration( | 2883 ClassDeclaration copy = new ClassDeclaration( |
2894 _cloneNode(node.documentationComment), | 2884 _cloneNode(node.documentationComment), |
2895 _cloneNodeList(node.metadata), | 2885 _cloneNodeList(node.metadata), |
2896 _mapToken(node.abstractKeyword), | 2886 _mapToken(node.abstractKeyword), |
2897 _mapToken(node.classKeyword), | 2887 _mapToken(node.classKeyword), |
2898 _cloneNode(node.name), | 2888 _cloneNode(node.name), |
2899 _cloneNode(node.typeParameters), | 2889 _cloneNode(node.typeParameters), |
2900 _cloneNode(node.extendsClause), | 2890 _cloneNode(node.extendsClause), |
2901 _cloneNode(node.withClause), | 2891 _cloneNode(node.withClause), |
2902 _cloneNode(node.implementsClause), | 2892 _cloneNode(node.implementsClause), |
2903 _mapToken(node.leftBracket), | 2893 _mapToken(node.leftBracket), |
2904 _cloneNodeList(node.members), | 2894 _cloneNodeList(node.members), |
2905 _mapToken(node.rightBracket)); | 2895 _mapToken(node.rightBracket)); |
2906 copy.nativeClause = _cloneNode(node.nativeClause); | 2896 copy.nativeClause = _cloneNode(node.nativeClause); |
2907 return copy; | 2897 return copy; |
2908 } | 2898 } |
2909 | 2899 |
2910 @override | 2900 @override |
2911 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => | 2901 ClassTypeAlias visitClassTypeAlias(ClassTypeAlias node) => new ClassTypeAlias( |
2912 astFactory.classTypeAlias( | 2902 _cloneNode(node.documentationComment), |
2913 _cloneNode(node.documentationComment), | 2903 _cloneNodeList(node.metadata), |
2914 _cloneNodeList(node.metadata), | 2904 _mapToken(node.typedefKeyword), |
2915 _mapToken(node.typedefKeyword), | 2905 _cloneNode(node.name), |
2916 _cloneNode(node.name), | 2906 _cloneNode(node.typeParameters), |
2917 _cloneNode(node.typeParameters), | 2907 _mapToken(node.equals), |
2918 _mapToken(node.equals), | 2908 _mapToken(node.abstractKeyword), |
2919 _mapToken(node.abstractKeyword), | 2909 _cloneNode(node.superclass), |
2920 _cloneNode(node.superclass), | 2910 _cloneNode(node.withClause), |
2921 _cloneNode(node.withClause), | 2911 _cloneNode(node.implementsClause), |
2922 _cloneNode(node.implementsClause), | 2912 _mapToken(node.semicolon)); |
2923 _mapToken(node.semicolon)); | |
2924 | 2913 |
2925 @override | 2914 @override |
2926 Comment visitComment(Comment node) { | 2915 Comment visitComment(Comment node) { |
2927 if (node.isDocumentation) { | 2916 if (node.isDocumentation) { |
2928 return astFactory.documentationComment( | 2917 return Comment.createDocumentationCommentWithReferences( |
2929 _mapTokens(node.tokens), _cloneNodeList(node.references)); | 2918 _mapTokens(node.tokens), _cloneNodeList(node.references)); |
2930 } else if (node.isBlock) { | 2919 } else if (node.isBlock) { |
2931 return astFactory.blockComment(_mapTokens(node.tokens)); | 2920 return Comment.createBlockComment(_mapTokens(node.tokens)); |
2932 } | 2921 } |
2933 return astFactory.endOfLineComment(_mapTokens(node.tokens)); | 2922 return Comment.createEndOfLineComment(_mapTokens(node.tokens)); |
2934 } | 2923 } |
2935 | 2924 |
2936 @override | 2925 @override |
2937 CommentReference visitCommentReference(CommentReference node) => | 2926 CommentReference visitCommentReference(CommentReference node) => |
2938 astFactory.commentReference( | 2927 new CommentReference( |
2939 _mapToken(node.newKeyword), _cloneNode(node.identifier)); | 2928 _mapToken(node.newKeyword), _cloneNode(node.identifier)); |
2940 | 2929 |
2941 @override | 2930 @override |
2942 CompilationUnit visitCompilationUnit(CompilationUnit node) { | 2931 CompilationUnit visitCompilationUnit(CompilationUnit node) { |
2943 CompilationUnit copy = astFactory.compilationUnit( | 2932 CompilationUnit copy = new CompilationUnit( |
2944 _mapToken(node.beginToken), | 2933 _mapToken(node.beginToken), |
2945 _cloneNode(node.scriptTag), | 2934 _cloneNode(node.scriptTag), |
2946 _cloneNodeList(node.directives), | 2935 _cloneNodeList(node.directives), |
2947 _cloneNodeList(node.declarations), | 2936 _cloneNodeList(node.declarations), |
2948 _mapToken(node.endToken)); | 2937 _mapToken(node.endToken)); |
2949 copy.lineInfo = node.lineInfo; | 2938 copy.lineInfo = node.lineInfo; |
2950 copy.element = node.element; | 2939 copy.element = node.element; |
2951 return copy; | 2940 return copy; |
2952 } | 2941 } |
2953 | 2942 |
2954 @override | 2943 @override |
2955 ConditionalExpression visitConditionalExpression(ConditionalExpression node) { | 2944 ConditionalExpression visitConditionalExpression(ConditionalExpression node) { |
2956 ConditionalExpression copy = astFactory.conditionalExpression( | 2945 ConditionalExpression copy = new ConditionalExpression( |
2957 _cloneNode(node.condition), | 2946 _cloneNode(node.condition), |
2958 _mapToken(node.question), | 2947 _mapToken(node.question), |
2959 _cloneNode(node.thenExpression), | 2948 _cloneNode(node.thenExpression), |
2960 _mapToken(node.colon), | 2949 _mapToken(node.colon), |
2961 _cloneNode(node.elseExpression)); | 2950 _cloneNode(node.elseExpression)); |
2962 copy.propagatedType = node.propagatedType; | 2951 copy.propagatedType = node.propagatedType; |
2963 copy.staticType = node.staticType; | 2952 copy.staticType = node.staticType; |
2964 return copy; | 2953 return copy; |
2965 } | 2954 } |
2966 | 2955 |
2967 @override | 2956 @override |
2968 Configuration visitConfiguration(Configuration node) => | 2957 Configuration visitConfiguration(Configuration node) => new Configuration( |
2969 astFactory.configuration( | 2958 _mapToken(node.ifKeyword), |
2970 _mapToken(node.ifKeyword), | 2959 _mapToken(node.leftParenthesis), |
2971 _mapToken(node.leftParenthesis), | 2960 _cloneNode(node.name), |
2972 _cloneNode(node.name), | 2961 _mapToken(node.equalToken), |
2973 _mapToken(node.equalToken), | 2962 _cloneNode(node.value), |
2974 _cloneNode(node.value), | 2963 _mapToken(node.rightParenthesis), |
2975 _mapToken(node.rightParenthesis), | 2964 _cloneNode(node.uri)); |
2976 _cloneNode(node.uri)); | |
2977 | 2965 |
2978 @override | 2966 @override |
2979 ConstructorDeclaration visitConstructorDeclaration( | 2967 ConstructorDeclaration visitConstructorDeclaration( |
2980 ConstructorDeclaration node) { | 2968 ConstructorDeclaration node) { |
2981 ConstructorDeclaration copy = astFactory.constructorDeclaration( | 2969 ConstructorDeclaration copy = new ConstructorDeclaration( |
2982 _cloneNode(node.documentationComment), | 2970 _cloneNode(node.documentationComment), |
2983 _cloneNodeList(node.metadata), | 2971 _cloneNodeList(node.metadata), |
2984 _mapToken(node.externalKeyword), | 2972 _mapToken(node.externalKeyword), |
2985 _mapToken(node.constKeyword), | 2973 _mapToken(node.constKeyword), |
2986 _mapToken(node.factoryKeyword), | 2974 _mapToken(node.factoryKeyword), |
2987 _cloneNode(node.returnType), | 2975 _cloneNode(node.returnType), |
2988 _mapToken(node.period), | 2976 _mapToken(node.period), |
2989 _cloneNode(node.name), | 2977 _cloneNode(node.name), |
2990 _cloneNode(node.parameters), | 2978 _cloneNode(node.parameters), |
2991 _mapToken(node.separator), | 2979 _mapToken(node.separator), |
2992 _cloneNodeList(node.initializers), | 2980 _cloneNodeList(node.initializers), |
2993 _cloneNode(node.redirectedConstructor), | 2981 _cloneNode(node.redirectedConstructor), |
2994 _cloneNode(node.body)); | 2982 _cloneNode(node.body)); |
2995 copy.element = node.element; | 2983 copy.element = node.element; |
2996 return copy; | 2984 return copy; |
2997 } | 2985 } |
2998 | 2986 |
2999 @override | 2987 @override |
3000 ConstructorFieldInitializer visitConstructorFieldInitializer( | 2988 ConstructorFieldInitializer visitConstructorFieldInitializer( |
3001 ConstructorFieldInitializer node) => | 2989 ConstructorFieldInitializer node) => |
3002 astFactory.constructorFieldInitializer( | 2990 new ConstructorFieldInitializer( |
3003 _mapToken(node.thisKeyword), | 2991 _mapToken(node.thisKeyword), |
3004 _mapToken(node.period), | 2992 _mapToken(node.period), |
3005 _cloneNode(node.fieldName), | 2993 _cloneNode(node.fieldName), |
3006 _mapToken(node.equals), | 2994 _mapToken(node.equals), |
3007 _cloneNode(node.expression)); | 2995 _cloneNode(node.expression)); |
3008 | 2996 |
3009 @override | 2997 @override |
3010 ConstructorName visitConstructorName(ConstructorName node) { | 2998 ConstructorName visitConstructorName(ConstructorName node) { |
3011 ConstructorName copy = astFactory.constructorName( | 2999 ConstructorName copy = new ConstructorName( |
3012 _cloneNode(node.type), _mapToken(node.period), _cloneNode(node.name)); | 3000 _cloneNode(node.type), _mapToken(node.period), _cloneNode(node.name)); |
3013 copy.staticElement = node.staticElement; | 3001 copy.staticElement = node.staticElement; |
3014 return copy; | 3002 return copy; |
3015 } | 3003 } |
3016 | 3004 |
3017 @override | 3005 @override |
3018 ContinueStatement visitContinueStatement(ContinueStatement node) => | 3006 ContinueStatement visitContinueStatement(ContinueStatement node) => |
3019 astFactory.continueStatement(_mapToken(node.continueKeyword), | 3007 new ContinueStatement(_mapToken(node.continueKeyword), |
3020 _cloneNode(node.label), _mapToken(node.semicolon)); | 3008 _cloneNode(node.label), _mapToken(node.semicolon)); |
3021 | 3009 |
3022 @override | 3010 @override |
3023 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => | 3011 DeclaredIdentifier visitDeclaredIdentifier(DeclaredIdentifier node) => |
3024 astFactory.declaredIdentifier( | 3012 new DeclaredIdentifier( |
3025 _cloneNode(node.documentationComment), | 3013 _cloneNode(node.documentationComment), |
3026 _cloneNodeList(node.metadata), | 3014 _cloneNodeList(node.metadata), |
3027 _mapToken(node.keyword), | 3015 _mapToken(node.keyword), |
3028 _cloneNode(node.type), | 3016 _cloneNode(node.type), |
3029 _cloneNode(node.identifier)); | 3017 _cloneNode(node.identifier)); |
3030 | 3018 |
3031 @override | 3019 @override |
3032 DefaultFormalParameter visitDefaultFormalParameter( | 3020 DefaultFormalParameter visitDefaultFormalParameter( |
3033 DefaultFormalParameter node) => | 3021 DefaultFormalParameter node) => |
3034 astFactory.defaultFormalParameter(_cloneNode(node.parameter), node.kind, | 3022 new DefaultFormalParameter(_cloneNode(node.parameter), node.kind, |
3035 _mapToken(node.separator), _cloneNode(node.defaultValue)); | 3023 _mapToken(node.separator), _cloneNode(node.defaultValue)); |
3036 | 3024 |
3037 @override | 3025 @override |
3038 DoStatement visitDoStatement(DoStatement node) => astFactory.doStatement( | 3026 DoStatement visitDoStatement(DoStatement node) => new DoStatement( |
3039 _mapToken(node.doKeyword), | 3027 _mapToken(node.doKeyword), |
3040 _cloneNode(node.body), | 3028 _cloneNode(node.body), |
3041 _mapToken(node.whileKeyword), | 3029 _mapToken(node.whileKeyword), |
3042 _mapToken(node.leftParenthesis), | 3030 _mapToken(node.leftParenthesis), |
3043 _cloneNode(node.condition), | 3031 _cloneNode(node.condition), |
3044 _mapToken(node.rightParenthesis), | 3032 _mapToken(node.rightParenthesis), |
3045 _mapToken(node.semicolon)); | 3033 _mapToken(node.semicolon)); |
3046 | 3034 |
3047 @override | 3035 @override |
3048 DottedName visitDottedName(DottedName node) => | 3036 DottedName visitDottedName(DottedName node) => |
3049 astFactory.dottedName(_cloneNodeList(node.components)); | 3037 new DottedName(_cloneNodeList(node.components)); |
3050 | 3038 |
3051 @override | 3039 @override |
3052 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) { | 3040 DoubleLiteral visitDoubleLiteral(DoubleLiteral node) { |
3053 DoubleLiteral copy = | 3041 DoubleLiteral copy = new DoubleLiteral(_mapToken(node.literal), node.value); |
3054 astFactory.doubleLiteral(_mapToken(node.literal), node.value); | |
3055 copy.propagatedType = node.propagatedType; | 3042 copy.propagatedType = node.propagatedType; |
3056 copy.staticType = node.staticType; | 3043 copy.staticType = node.staticType; |
3057 return copy; | 3044 return copy; |
3058 } | 3045 } |
3059 | 3046 |
3060 @override | 3047 @override |
3061 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => | 3048 EmptyFunctionBody visitEmptyFunctionBody(EmptyFunctionBody node) => |
3062 astFactory.emptyFunctionBody(_mapToken(node.semicolon)); | 3049 new EmptyFunctionBody(_mapToken(node.semicolon)); |
3063 | 3050 |
3064 @override | 3051 @override |
3065 EmptyStatement visitEmptyStatement(EmptyStatement node) => | 3052 EmptyStatement visitEmptyStatement(EmptyStatement node) => |
3066 astFactory.emptyStatement(_mapToken(node.semicolon)); | 3053 new EmptyStatement(_mapToken(node.semicolon)); |
3067 | 3054 |
3068 @override | 3055 @override |
3069 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => | 3056 AstNode visitEnumConstantDeclaration(EnumConstantDeclaration node) => |
3070 astFactory.enumConstantDeclaration(_cloneNode(node.documentationComment), | 3057 new EnumConstantDeclaration(_cloneNode(node.documentationComment), |
3071 _cloneNodeList(node.metadata), _cloneNode(node.name)); | 3058 _cloneNodeList(node.metadata), _cloneNode(node.name)); |
3072 | 3059 |
3073 @override | 3060 @override |
3074 AstNode visitEnumDeclaration(EnumDeclaration node) => | 3061 AstNode visitEnumDeclaration(EnumDeclaration node) => new EnumDeclaration( |
3075 astFactory.enumDeclaration( | 3062 _cloneNode(node.documentationComment), |
3076 _cloneNode(node.documentationComment), | 3063 _cloneNodeList(node.metadata), |
3077 _cloneNodeList(node.metadata), | 3064 _mapToken(node.enumKeyword), |
3078 _mapToken(node.enumKeyword), | 3065 _cloneNode(node.name), |
3079 _cloneNode(node.name), | 3066 _mapToken(node.leftBracket), |
3080 _mapToken(node.leftBracket), | 3067 _cloneNodeList(node.constants), |
3081 _cloneNodeList(node.constants), | 3068 _mapToken(node.rightBracket)); |
3082 _mapToken(node.rightBracket)); | |
3083 | 3069 |
3084 @override | 3070 @override |
3085 ExportDirective visitExportDirective(ExportDirective node) { | 3071 ExportDirective visitExportDirective(ExportDirective node) { |
3086 ExportDirective copy = astFactory.exportDirective( | 3072 ExportDirective copy = new ExportDirective( |
3087 _cloneNode(node.documentationComment), | 3073 _cloneNode(node.documentationComment), |
3088 _cloneNodeList(node.metadata), | 3074 _cloneNodeList(node.metadata), |
3089 _mapToken(node.keyword), | 3075 _mapToken(node.keyword), |
3090 _cloneNode(node.uri), | 3076 _cloneNode(node.uri), |
3091 _cloneNodeList(node.configurations), | 3077 _cloneNodeList(node.configurations), |
3092 _cloneNodeList(node.combinators), | 3078 _cloneNodeList(node.combinators), |
3093 _mapToken(node.semicolon)); | 3079 _mapToken(node.semicolon)); |
3094 copy.element = node.element; | 3080 copy.element = node.element; |
3095 return copy; | 3081 return copy; |
3096 } | 3082 } |
3097 | 3083 |
3098 @override | 3084 @override |
3099 ExpressionFunctionBody visitExpressionFunctionBody( | 3085 ExpressionFunctionBody visitExpressionFunctionBody( |
3100 ExpressionFunctionBody node) => | 3086 ExpressionFunctionBody node) => |
3101 astFactory.expressionFunctionBody( | 3087 new ExpressionFunctionBody( |
3102 _mapToken(node.keyword), | 3088 _mapToken(node.keyword), |
3103 _mapToken(node.functionDefinition), | 3089 _mapToken(node.functionDefinition), |
3104 _cloneNode(node.expression), | 3090 _cloneNode(node.expression), |
3105 _mapToken(node.semicolon)); | 3091 _mapToken(node.semicolon)); |
3106 | 3092 |
3107 @override | 3093 @override |
3108 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => | 3094 ExpressionStatement visitExpressionStatement(ExpressionStatement node) => |
3109 astFactory.expressionStatement( | 3095 new ExpressionStatement( |
3110 _cloneNode(node.expression), _mapToken(node.semicolon)); | 3096 _cloneNode(node.expression), _mapToken(node.semicolon)); |
3111 | 3097 |
3112 @override | 3098 @override |
3113 ExtendsClause visitExtendsClause(ExtendsClause node) => | 3099 ExtendsClause visitExtendsClause(ExtendsClause node) => new ExtendsClause( |
3114 astFactory.extendsClause( | 3100 _mapToken(node.extendsKeyword), _cloneNode(node.superclass)); |
3115 _mapToken(node.extendsKeyword), _cloneNode(node.superclass)); | |
3116 | 3101 |
3117 @override | 3102 @override |
3118 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => | 3103 FieldDeclaration visitFieldDeclaration(FieldDeclaration node) => |
3119 astFactory.fieldDeclaration( | 3104 new FieldDeclaration( |
3120 _cloneNode(node.documentationComment), | 3105 _cloneNode(node.documentationComment), |
3121 _cloneNodeList(node.metadata), | 3106 _cloneNodeList(node.metadata), |
3122 _mapToken(node.staticKeyword), | 3107 _mapToken(node.staticKeyword), |
3123 _cloneNode(node.fields), | 3108 _cloneNode(node.fields), |
3124 _mapToken(node.semicolon)); | 3109 _mapToken(node.semicolon)); |
3125 | 3110 |
3126 @override | 3111 @override |
3127 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => | 3112 FieldFormalParameter visitFieldFormalParameter(FieldFormalParameter node) => |
3128 astFactory.fieldFormalParameter( | 3113 new FieldFormalParameter( |
3129 _cloneNode(node.documentationComment), | 3114 _cloneNode(node.documentationComment), |
3130 _cloneNodeList(node.metadata), | 3115 _cloneNodeList(node.metadata), |
3131 _mapToken(node.keyword), | 3116 _mapToken(node.keyword), |
3132 _cloneNode(node.type), | 3117 _cloneNode(node.type), |
3133 _mapToken(node.thisKeyword), | 3118 _mapToken(node.thisKeyword), |
3134 _mapToken(node.period), | 3119 _mapToken(node.period), |
3135 _cloneNode(node.identifier), | 3120 _cloneNode(node.identifier), |
3136 _cloneNode(node.typeParameters), | 3121 _cloneNode(node.typeParameters), |
3137 _cloneNode(node.parameters)); | 3122 _cloneNode(node.parameters)); |
3138 | 3123 |
3139 @override | 3124 @override |
3140 ForEachStatement visitForEachStatement(ForEachStatement node) { | 3125 ForEachStatement visitForEachStatement(ForEachStatement node) { |
3141 DeclaredIdentifier loopVariable = node.loopVariable; | 3126 DeclaredIdentifier loopVariable = node.loopVariable; |
3142 if (loopVariable == null) { | 3127 if (loopVariable == null) { |
3143 return astFactory.forEachStatementWithReference( | 3128 return new ForEachStatement.withReference( |
3144 _mapToken(node.awaitKeyword), | 3129 _mapToken(node.awaitKeyword), |
3145 _mapToken(node.forKeyword), | 3130 _mapToken(node.forKeyword), |
3146 _mapToken(node.leftParenthesis), | 3131 _mapToken(node.leftParenthesis), |
3147 _cloneNode(node.identifier), | 3132 _cloneNode(node.identifier), |
3148 _mapToken(node.inKeyword), | 3133 _mapToken(node.inKeyword), |
3149 _cloneNode(node.iterable), | 3134 _cloneNode(node.iterable), |
3150 _mapToken(node.rightParenthesis), | 3135 _mapToken(node.rightParenthesis), |
3151 _cloneNode(node.body)); | 3136 _cloneNode(node.body)); |
3152 } | 3137 } |
3153 return astFactory.forEachStatementWithDeclaration( | 3138 return new ForEachStatement.withDeclaration( |
3154 _mapToken(node.awaitKeyword), | 3139 _mapToken(node.awaitKeyword), |
3155 _mapToken(node.forKeyword), | 3140 _mapToken(node.forKeyword), |
3156 _mapToken(node.leftParenthesis), | 3141 _mapToken(node.leftParenthesis), |
3157 _cloneNode(loopVariable), | 3142 _cloneNode(loopVariable), |
3158 _mapToken(node.inKeyword), | 3143 _mapToken(node.inKeyword), |
3159 _cloneNode(node.iterable), | 3144 _cloneNode(node.iterable), |
3160 _mapToken(node.rightParenthesis), | 3145 _mapToken(node.rightParenthesis), |
3161 _cloneNode(node.body)); | 3146 _cloneNode(node.body)); |
3162 } | 3147 } |
3163 | 3148 |
3164 @override | 3149 @override |
3165 FormalParameterList visitFormalParameterList(FormalParameterList node) => | 3150 FormalParameterList visitFormalParameterList(FormalParameterList node) => |
3166 astFactory.formalParameterList( | 3151 new FormalParameterList( |
3167 _mapToken(node.leftParenthesis), | 3152 _mapToken(node.leftParenthesis), |
3168 _cloneNodeList(node.parameters), | 3153 _cloneNodeList(node.parameters), |
3169 _mapToken(node.leftDelimiter), | 3154 _mapToken(node.leftDelimiter), |
3170 _mapToken(node.rightDelimiter), | 3155 _mapToken(node.rightDelimiter), |
3171 _mapToken(node.rightParenthesis)); | 3156 _mapToken(node.rightParenthesis)); |
3172 | 3157 |
3173 @override | 3158 @override |
3174 ForStatement visitForStatement(ForStatement node) => astFactory.forStatement( | 3159 ForStatement visitForStatement(ForStatement node) => new ForStatement( |
3175 _mapToken(node.forKeyword), | 3160 _mapToken(node.forKeyword), |
3176 _mapToken(node.leftParenthesis), | 3161 _mapToken(node.leftParenthesis), |
3177 _cloneNode(node.variables), | 3162 _cloneNode(node.variables), |
3178 _cloneNode(node.initialization), | 3163 _cloneNode(node.initialization), |
3179 _mapToken(node.leftSeparator), | 3164 _mapToken(node.leftSeparator), |
3180 _cloneNode(node.condition), | 3165 _cloneNode(node.condition), |
3181 _mapToken(node.rightSeparator), | 3166 _mapToken(node.rightSeparator), |
3182 _cloneNodeList(node.updaters), | 3167 _cloneNodeList(node.updaters), |
3183 _mapToken(node.rightParenthesis), | 3168 _mapToken(node.rightParenthesis), |
3184 _cloneNode(node.body)); | 3169 _cloneNode(node.body)); |
3185 | 3170 |
3186 @override | 3171 @override |
3187 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => | 3172 FunctionDeclaration visitFunctionDeclaration(FunctionDeclaration node) => |
3188 astFactory.functionDeclaration( | 3173 new FunctionDeclaration( |
3189 _cloneNode(node.documentationComment), | 3174 _cloneNode(node.documentationComment), |
3190 _cloneNodeList(node.metadata), | 3175 _cloneNodeList(node.metadata), |
3191 _mapToken(node.externalKeyword), | 3176 _mapToken(node.externalKeyword), |
3192 _cloneNode(node.returnType), | 3177 _cloneNode(node.returnType), |
3193 _mapToken(node.propertyKeyword), | 3178 _mapToken(node.propertyKeyword), |
3194 _cloneNode(node.name), | 3179 _cloneNode(node.name), |
3195 _cloneNode(node.functionExpression)); | 3180 _cloneNode(node.functionExpression)); |
3196 | 3181 |
3197 @override | 3182 @override |
3198 FunctionDeclarationStatement visitFunctionDeclarationStatement( | 3183 FunctionDeclarationStatement visitFunctionDeclarationStatement( |
3199 FunctionDeclarationStatement node) => | 3184 FunctionDeclarationStatement node) => |
3200 astFactory | 3185 new FunctionDeclarationStatement(_cloneNode(node.functionDeclaration)); |
3201 .functionDeclarationStatement(_cloneNode(node.functionDeclaration)); | |
3202 | 3186 |
3203 @override | 3187 @override |
3204 FunctionExpression visitFunctionExpression(FunctionExpression node) { | 3188 FunctionExpression visitFunctionExpression(FunctionExpression node) { |
3205 FunctionExpression copy = astFactory.functionExpression( | 3189 FunctionExpression copy = new FunctionExpression( |
3206 _cloneNode(node.typeParameters), | 3190 _cloneNode(node.typeParameters), |
3207 _cloneNode(node.parameters), | 3191 _cloneNode(node.parameters), |
3208 _cloneNode(node.body)); | 3192 _cloneNode(node.body)); |
3209 copy.element = node.element; | 3193 copy.element = node.element; |
3210 copy.propagatedType = node.propagatedType; | 3194 copy.propagatedType = node.propagatedType; |
3211 copy.staticType = node.staticType; | 3195 copy.staticType = node.staticType; |
3212 return copy; | 3196 return copy; |
3213 } | 3197 } |
3214 | 3198 |
3215 @override | 3199 @override |
3216 FunctionExpressionInvocation visitFunctionExpressionInvocation( | 3200 FunctionExpressionInvocation visitFunctionExpressionInvocation( |
3217 FunctionExpressionInvocation node) { | 3201 FunctionExpressionInvocation node) { |
3218 FunctionExpressionInvocation copy = astFactory.functionExpressionInvocation( | 3202 FunctionExpressionInvocation copy = new FunctionExpressionInvocation( |
3219 _cloneNode(node.function), | 3203 _cloneNode(node.function), |
3220 _cloneNode(node.typeArguments), | 3204 _cloneNode(node.typeArguments), |
3221 _cloneNode(node.argumentList)); | 3205 _cloneNode(node.argumentList)); |
3222 copy.propagatedElement = node.propagatedElement; | 3206 copy.propagatedElement = node.propagatedElement; |
3223 copy.propagatedType = node.propagatedType; | 3207 copy.propagatedType = node.propagatedType; |
3224 copy.staticElement = node.staticElement; | 3208 copy.staticElement = node.staticElement; |
3225 copy.staticType = node.staticType; | 3209 copy.staticType = node.staticType; |
3226 return copy; | 3210 return copy; |
3227 } | 3211 } |
3228 | 3212 |
3229 @override | 3213 @override |
3230 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => | 3214 FunctionTypeAlias visitFunctionTypeAlias(FunctionTypeAlias node) => |
3231 astFactory.functionTypeAlias( | 3215 new FunctionTypeAlias( |
3232 _cloneNode(node.documentationComment), | 3216 _cloneNode(node.documentationComment), |
3233 _cloneNodeList(node.metadata), | 3217 _cloneNodeList(node.metadata), |
3234 _mapToken(node.typedefKeyword), | 3218 _mapToken(node.typedefKeyword), |
3235 _cloneNode(node.returnType), | 3219 _cloneNode(node.returnType), |
3236 _cloneNode(node.name), | 3220 _cloneNode(node.name), |
3237 _cloneNode(node.typeParameters), | 3221 _cloneNode(node.typeParameters), |
3238 _cloneNode(node.parameters), | 3222 _cloneNode(node.parameters), |
3239 _mapToken(node.semicolon)); | 3223 _mapToken(node.semicolon)); |
3240 | 3224 |
3241 @override | 3225 @override |
3242 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( | 3226 FunctionTypedFormalParameter visitFunctionTypedFormalParameter( |
3243 FunctionTypedFormalParameter node) => | 3227 FunctionTypedFormalParameter node) => |
3244 astFactory.functionTypedFormalParameter( | 3228 new FunctionTypedFormalParameter( |
3245 _cloneNode(node.documentationComment), | 3229 _cloneNode(node.documentationComment), |
3246 _cloneNodeList(node.metadata), | 3230 _cloneNodeList(node.metadata), |
3247 _cloneNode(node.returnType), | 3231 _cloneNode(node.returnType), |
3248 _cloneNode(node.identifier), | 3232 _cloneNode(node.identifier), |
3249 _cloneNode(node.typeParameters), | 3233 _cloneNode(node.typeParameters), |
3250 _cloneNode(node.parameters)); | 3234 _cloneNode(node.parameters)); |
3251 | 3235 |
3252 @override | 3236 @override |
3253 HideCombinator visitHideCombinator(HideCombinator node) => | 3237 HideCombinator visitHideCombinator(HideCombinator node) => new HideCombinator( |
3254 astFactory.hideCombinator( | 3238 _mapToken(node.keyword), _cloneNodeList(node.hiddenNames)); |
3255 _mapToken(node.keyword), _cloneNodeList(node.hiddenNames)); | |
3256 | 3239 |
3257 @override | 3240 @override |
3258 IfStatement visitIfStatement(IfStatement node) => astFactory.ifStatement( | 3241 IfStatement visitIfStatement(IfStatement node) => new IfStatement( |
3259 _mapToken(node.ifKeyword), | 3242 _mapToken(node.ifKeyword), |
3260 _mapToken(node.leftParenthesis), | 3243 _mapToken(node.leftParenthesis), |
3261 _cloneNode(node.condition), | 3244 _cloneNode(node.condition), |
3262 _mapToken(node.rightParenthesis), | 3245 _mapToken(node.rightParenthesis), |
3263 _cloneNode(node.thenStatement), | 3246 _cloneNode(node.thenStatement), |
3264 _mapToken(node.elseKeyword), | 3247 _mapToken(node.elseKeyword), |
3265 _cloneNode(node.elseStatement)); | 3248 _cloneNode(node.elseStatement)); |
3266 | 3249 |
3267 @override | 3250 @override |
3268 ImplementsClause visitImplementsClause(ImplementsClause node) => | 3251 ImplementsClause visitImplementsClause(ImplementsClause node) => |
3269 astFactory.implementsClause( | 3252 new ImplementsClause( |
3270 _mapToken(node.implementsKeyword), _cloneNodeList(node.interfaces)); | 3253 _mapToken(node.implementsKeyword), _cloneNodeList(node.interfaces)); |
3271 | 3254 |
3272 @override | 3255 @override |
3273 ImportDirective visitImportDirective(ImportDirective node) { | 3256 ImportDirective visitImportDirective(ImportDirective node) { |
3274 ImportDirective copy = astFactory.importDirective( | 3257 ImportDirective copy = new ImportDirective( |
3275 _cloneNode(node.documentationComment), | 3258 _cloneNode(node.documentationComment), |
3276 _cloneNodeList(node.metadata), | 3259 _cloneNodeList(node.metadata), |
3277 _mapToken(node.keyword), | 3260 _mapToken(node.keyword), |
3278 _cloneNode(node.uri), | 3261 _cloneNode(node.uri), |
3279 _cloneNodeList(node.configurations), | 3262 _cloneNodeList(node.configurations), |
3280 _mapToken(node.deferredKeyword), | 3263 _mapToken(node.deferredKeyword), |
3281 _mapToken(node.asKeyword), | 3264 _mapToken(node.asKeyword), |
3282 _cloneNode(node.prefix), | 3265 _cloneNode(node.prefix), |
3283 _cloneNodeList(node.combinators), | 3266 _cloneNodeList(node.combinators), |
3284 _mapToken(node.semicolon)); | 3267 _mapToken(node.semicolon)); |
3285 copy.element = node.element; | 3268 copy.element = node.element; |
3286 return copy; | 3269 return copy; |
3287 } | 3270 } |
3288 | 3271 |
3289 @override | 3272 @override |
3290 IndexExpression visitIndexExpression(IndexExpression node) { | 3273 IndexExpression visitIndexExpression(IndexExpression node) { |
3291 Token period = _mapToken(node.period); | 3274 Token period = _mapToken(node.period); |
3292 IndexExpression copy; | 3275 IndexExpression copy; |
3293 if (period == null) { | 3276 if (period == null) { |
3294 copy = astFactory.indexExpressionForTarget( | 3277 copy = new IndexExpression.forTarget( |
3295 _cloneNode(node.target), | 3278 _cloneNode(node.target), |
3296 _mapToken(node.leftBracket), | 3279 _mapToken(node.leftBracket), |
3297 _cloneNode(node.index), | 3280 _cloneNode(node.index), |
3298 _mapToken(node.rightBracket)); | 3281 _mapToken(node.rightBracket)); |
3299 } else { | 3282 } else { |
3300 copy = astFactory.indexExpressionForCascade( | 3283 copy = new IndexExpression.forCascade(period, _mapToken(node.leftBracket), |
3301 period, | 3284 _cloneNode(node.index), _mapToken(node.rightBracket)); |
3302 _mapToken(node.leftBracket), | |
3303 _cloneNode(node.index), | |
3304 _mapToken(node.rightBracket)); | |
3305 } | 3285 } |
3306 copy.auxiliaryElements = node.auxiliaryElements; | 3286 copy.auxiliaryElements = node.auxiliaryElements; |
3307 copy.propagatedElement = node.propagatedElement; | 3287 copy.propagatedElement = node.propagatedElement; |
3308 copy.propagatedType = node.propagatedType; | 3288 copy.propagatedType = node.propagatedType; |
3309 copy.staticElement = node.staticElement; | 3289 copy.staticElement = node.staticElement; |
3310 copy.staticType = node.staticType; | 3290 copy.staticType = node.staticType; |
3311 return copy; | 3291 return copy; |
3312 } | 3292 } |
3313 | 3293 |
3314 @override | 3294 @override |
3315 InstanceCreationExpression visitInstanceCreationExpression( | 3295 InstanceCreationExpression visitInstanceCreationExpression( |
3316 InstanceCreationExpression node) { | 3296 InstanceCreationExpression node) { |
3317 InstanceCreationExpression copy = astFactory.instanceCreationExpression( | 3297 InstanceCreationExpression copy = new InstanceCreationExpression( |
3318 _mapToken(node.keyword), | 3298 _mapToken(node.keyword), |
3319 _cloneNode(node.constructorName), | 3299 _cloneNode(node.constructorName), |
3320 _cloneNode(node.argumentList)); | 3300 _cloneNode(node.argumentList)); |
3321 copy.propagatedType = node.propagatedType; | 3301 copy.propagatedType = node.propagatedType; |
3322 copy.staticElement = node.staticElement; | 3302 copy.staticElement = node.staticElement; |
3323 copy.staticType = node.staticType; | 3303 copy.staticType = node.staticType; |
3324 return copy; | 3304 return copy; |
3325 } | 3305 } |
3326 | 3306 |
3327 @override | 3307 @override |
3328 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) { | 3308 IntegerLiteral visitIntegerLiteral(IntegerLiteral node) { |
3329 IntegerLiteral copy = | 3309 IntegerLiteral copy = |
3330 astFactory.integerLiteral(_mapToken(node.literal), node.value); | 3310 new IntegerLiteral(_mapToken(node.literal), node.value); |
3331 copy.propagatedType = node.propagatedType; | 3311 copy.propagatedType = node.propagatedType; |
3332 copy.staticType = node.staticType; | 3312 copy.staticType = node.staticType; |
3333 return copy; | 3313 return copy; |
3334 } | 3314 } |
3335 | 3315 |
3336 @override | 3316 @override |
3337 InterpolationExpression visitInterpolationExpression( | 3317 InterpolationExpression visitInterpolationExpression( |
3338 InterpolationExpression node) => | 3318 InterpolationExpression node) => |
3339 astFactory.interpolationExpression(_mapToken(node.leftBracket), | 3319 new InterpolationExpression(_mapToken(node.leftBracket), |
3340 _cloneNode(node.expression), _mapToken(node.rightBracket)); | 3320 _cloneNode(node.expression), _mapToken(node.rightBracket)); |
3341 | 3321 |
3342 @override | 3322 @override |
3343 InterpolationString visitInterpolationString(InterpolationString node) => | 3323 InterpolationString visitInterpolationString(InterpolationString node) => |
3344 astFactory.interpolationString(_mapToken(node.contents), node.value); | 3324 new InterpolationString(_mapToken(node.contents), node.value); |
3345 | 3325 |
3346 @override | 3326 @override |
3347 IsExpression visitIsExpression(IsExpression node) { | 3327 IsExpression visitIsExpression(IsExpression node) { |
3348 IsExpression copy = astFactory.isExpression( | 3328 IsExpression copy = new IsExpression( |
3349 _cloneNode(node.expression), | 3329 _cloneNode(node.expression), |
3350 _mapToken(node.isOperator), | 3330 _mapToken(node.isOperator), |
3351 _mapToken(node.notOperator), | 3331 _mapToken(node.notOperator), |
3352 _cloneNode(node.type)); | 3332 _cloneNode(node.type)); |
3353 copy.propagatedType = node.propagatedType; | 3333 copy.propagatedType = node.propagatedType; |
3354 copy.staticType = node.staticType; | 3334 copy.staticType = node.staticType; |
3355 return copy; | 3335 return copy; |
3356 } | 3336 } |
3357 | 3337 |
3358 @override | 3338 @override |
3359 Label visitLabel(Label node) => | 3339 Label visitLabel(Label node) => |
3360 astFactory.label(_cloneNode(node.label), _mapToken(node.colon)); | 3340 new Label(_cloneNode(node.label), _mapToken(node.colon)); |
3361 | 3341 |
3362 @override | 3342 @override |
3363 LabeledStatement visitLabeledStatement(LabeledStatement node) => | 3343 LabeledStatement visitLabeledStatement(LabeledStatement node) => |
3364 astFactory.labeledStatement( | 3344 new LabeledStatement( |
3365 _cloneNodeList(node.labels), _cloneNode(node.statement)); | 3345 _cloneNodeList(node.labels), _cloneNode(node.statement)); |
3366 | 3346 |
3367 @override | 3347 @override |
3368 LibraryDirective visitLibraryDirective(LibraryDirective node) { | 3348 LibraryDirective visitLibraryDirective(LibraryDirective node) { |
3369 LibraryDirective copy = astFactory.libraryDirective( | 3349 LibraryDirective copy = new LibraryDirective( |
3370 _cloneNode(node.documentationComment), | 3350 _cloneNode(node.documentationComment), |
3371 _cloneNodeList(node.metadata), | 3351 _cloneNodeList(node.metadata), |
3372 _mapToken(node.libraryKeyword), | 3352 _mapToken(node.libraryKeyword), |
3373 _cloneNode(node.name), | 3353 _cloneNode(node.name), |
3374 _mapToken(node.semicolon)); | 3354 _mapToken(node.semicolon)); |
3375 copy.element = node.element; | 3355 copy.element = node.element; |
3376 return copy; | 3356 return copy; |
3377 } | 3357 } |
3378 | 3358 |
3379 @override | 3359 @override |
3380 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) { | 3360 LibraryIdentifier visitLibraryIdentifier(LibraryIdentifier node) { |
3381 LibraryIdentifier copy = | 3361 LibraryIdentifier copy = |
3382 astFactory.libraryIdentifier(_cloneNodeList(node.components)); | 3362 new LibraryIdentifier(_cloneNodeList(node.components)); |
3383 copy.propagatedType = node.propagatedType; | 3363 copy.propagatedType = node.propagatedType; |
3384 copy.staticType = node.staticType; | 3364 copy.staticType = node.staticType; |
3385 return copy; | 3365 return copy; |
3386 } | 3366 } |
3387 | 3367 |
3388 @override | 3368 @override |
3389 ListLiteral visitListLiteral(ListLiteral node) { | 3369 ListLiteral visitListLiteral(ListLiteral node) { |
3390 ListLiteral copy = astFactory.listLiteral( | 3370 ListLiteral copy = new ListLiteral( |
3391 _mapToken(node.constKeyword), | 3371 _mapToken(node.constKeyword), |
3392 _cloneNode(node.typeArguments), | 3372 _cloneNode(node.typeArguments), |
3393 _mapToken(node.leftBracket), | 3373 _mapToken(node.leftBracket), |
3394 _cloneNodeList(node.elements), | 3374 _cloneNodeList(node.elements), |
3395 _mapToken(node.rightBracket)); | 3375 _mapToken(node.rightBracket)); |
3396 copy.propagatedType = node.propagatedType; | 3376 copy.propagatedType = node.propagatedType; |
3397 copy.staticType = node.staticType; | 3377 copy.staticType = node.staticType; |
3398 return copy; | 3378 return copy; |
3399 } | 3379 } |
3400 | 3380 |
3401 @override | 3381 @override |
3402 MapLiteral visitMapLiteral(MapLiteral node) { | 3382 MapLiteral visitMapLiteral(MapLiteral node) { |
3403 MapLiteral copy = astFactory.mapLiteral( | 3383 MapLiteral copy = new MapLiteral( |
3404 _mapToken(node.constKeyword), | 3384 _mapToken(node.constKeyword), |
3405 _cloneNode(node.typeArguments), | 3385 _cloneNode(node.typeArguments), |
3406 _mapToken(node.leftBracket), | 3386 _mapToken(node.leftBracket), |
3407 _cloneNodeList(node.entries), | 3387 _cloneNodeList(node.entries), |
3408 _mapToken(node.rightBracket)); | 3388 _mapToken(node.rightBracket)); |
3409 copy.propagatedType = node.propagatedType; | 3389 copy.propagatedType = node.propagatedType; |
3410 copy.staticType = node.staticType; | 3390 copy.staticType = node.staticType; |
3411 return copy; | 3391 return copy; |
3412 } | 3392 } |
3413 | 3393 |
3414 @override | 3394 @override |
3415 MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) => | 3395 MapLiteralEntry visitMapLiteralEntry(MapLiteralEntry node) => |
3416 astFactory.mapLiteralEntry(_cloneNode(node.key), | 3396 new MapLiteralEntry(_cloneNode(node.key), _mapToken(node.separator), |
3417 _mapToken(node.separator), _cloneNode(node.value)); | 3397 _cloneNode(node.value)); |
3418 | 3398 |
3419 @override | 3399 @override |
3420 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => | 3400 MethodDeclaration visitMethodDeclaration(MethodDeclaration node) => |
3421 astFactory.methodDeclaration( | 3401 new MethodDeclaration( |
3422 _cloneNode(node.documentationComment), | 3402 _cloneNode(node.documentationComment), |
3423 _cloneNodeList(node.metadata), | 3403 _cloneNodeList(node.metadata), |
3424 _mapToken(node.externalKeyword), | 3404 _mapToken(node.externalKeyword), |
3425 _mapToken(node.modifierKeyword), | 3405 _mapToken(node.modifierKeyword), |
3426 _cloneNode(node.returnType), | 3406 _cloneNode(node.returnType), |
3427 _mapToken(node.propertyKeyword), | 3407 _mapToken(node.propertyKeyword), |
3428 _mapToken(node.operatorKeyword), | 3408 _mapToken(node.operatorKeyword), |
3429 _cloneNode(node.name), | 3409 _cloneNode(node.name), |
3430 _cloneNode(node.typeParameters), | 3410 _cloneNode(node.typeParameters), |
3431 _cloneNode(node.parameters), | 3411 _cloneNode(node.parameters), |
3432 _cloneNode(node.body)); | 3412 _cloneNode(node.body)); |
3433 | 3413 |
3434 @override | 3414 @override |
3435 MethodInvocation visitMethodInvocation(MethodInvocation node) { | 3415 MethodInvocation visitMethodInvocation(MethodInvocation node) { |
3436 MethodInvocation copy = astFactory.methodInvocation( | 3416 MethodInvocation copy = new MethodInvocation( |
3437 _cloneNode(node.target), | 3417 _cloneNode(node.target), |
3438 _mapToken(node.operator), | 3418 _mapToken(node.operator), |
3439 _cloneNode(node.methodName), | 3419 _cloneNode(node.methodName), |
3440 _cloneNode(node.typeArguments), | 3420 _cloneNode(node.typeArguments), |
3441 _cloneNode(node.argumentList)); | 3421 _cloneNode(node.argumentList)); |
3442 copy.propagatedType = node.propagatedType; | 3422 copy.propagatedType = node.propagatedType; |
3443 copy.staticType = node.staticType; | 3423 copy.staticType = node.staticType; |
3444 return copy; | 3424 return copy; |
3445 } | 3425 } |
3446 | 3426 |
3447 @override | 3427 @override |
3448 NamedExpression visitNamedExpression(NamedExpression node) { | 3428 NamedExpression visitNamedExpression(NamedExpression node) { |
3449 NamedExpression copy = astFactory.namedExpression( | 3429 NamedExpression copy = |
3450 _cloneNode(node.name), _cloneNode(node.expression)); | 3430 new NamedExpression(_cloneNode(node.name), _cloneNode(node.expression)); |
3451 copy.propagatedType = node.propagatedType; | 3431 copy.propagatedType = node.propagatedType; |
3452 copy.staticType = node.staticType; | 3432 copy.staticType = node.staticType; |
3453 return copy; | 3433 return copy; |
3454 } | 3434 } |
3455 | 3435 |
3456 @override | 3436 @override |
3457 AstNode visitNativeClause(NativeClause node) => astFactory.nativeClause( | 3437 AstNode visitNativeClause(NativeClause node) => |
3458 _mapToken(node.nativeKeyword), _cloneNode(node.name)); | 3438 new NativeClause(_mapToken(node.nativeKeyword), _cloneNode(node.name)); |
3459 | 3439 |
3460 @override | 3440 @override |
3461 NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) => | 3441 NativeFunctionBody visitNativeFunctionBody(NativeFunctionBody node) => |
3462 astFactory.nativeFunctionBody(_mapToken(node.nativeKeyword), | 3442 new NativeFunctionBody(_mapToken(node.nativeKeyword), |
3463 _cloneNode(node.stringLiteral), _mapToken(node.semicolon)); | 3443 _cloneNode(node.stringLiteral), _mapToken(node.semicolon)); |
3464 | 3444 |
3465 @override | 3445 @override |
3466 NullLiteral visitNullLiteral(NullLiteral node) { | 3446 NullLiteral visitNullLiteral(NullLiteral node) { |
3467 NullLiteral copy = astFactory.nullLiteral(_mapToken(node.literal)); | 3447 NullLiteral copy = new NullLiteral(_mapToken(node.literal)); |
3468 copy.propagatedType = node.propagatedType; | 3448 copy.propagatedType = node.propagatedType; |
3469 copy.staticType = node.staticType; | 3449 copy.staticType = node.staticType; |
3470 return copy; | 3450 return copy; |
3471 } | 3451 } |
3472 | 3452 |
3473 @override | 3453 @override |
3474 ParenthesizedExpression visitParenthesizedExpression( | 3454 ParenthesizedExpression visitParenthesizedExpression( |
3475 ParenthesizedExpression node) { | 3455 ParenthesizedExpression node) { |
3476 ParenthesizedExpression copy = astFactory.parenthesizedExpression( | 3456 ParenthesizedExpression copy = new ParenthesizedExpression( |
3477 _mapToken(node.leftParenthesis), | 3457 _mapToken(node.leftParenthesis), |
3478 _cloneNode(node.expression), | 3458 _cloneNode(node.expression), |
3479 _mapToken(node.rightParenthesis)); | 3459 _mapToken(node.rightParenthesis)); |
3480 copy.propagatedType = node.propagatedType; | 3460 copy.propagatedType = node.propagatedType; |
3481 copy.staticType = node.staticType; | 3461 copy.staticType = node.staticType; |
3482 return copy; | 3462 return copy; |
3483 } | 3463 } |
3484 | 3464 |
3485 @override | 3465 @override |
3486 PartDirective visitPartDirective(PartDirective node) { | 3466 PartDirective visitPartDirective(PartDirective node) { |
3487 PartDirective copy = astFactory.partDirective( | 3467 PartDirective copy = new PartDirective( |
3488 _cloneNode(node.documentationComment), | 3468 _cloneNode(node.documentationComment), |
3489 _cloneNodeList(node.metadata), | 3469 _cloneNodeList(node.metadata), |
3490 _mapToken(node.partKeyword), | 3470 _mapToken(node.partKeyword), |
3491 _cloneNode(node.uri), | 3471 _cloneNode(node.uri), |
3492 _mapToken(node.semicolon)); | 3472 _mapToken(node.semicolon)); |
3493 copy.element = node.element; | 3473 copy.element = node.element; |
3494 return copy; | 3474 return copy; |
3495 } | 3475 } |
3496 | 3476 |
3497 @override | 3477 @override |
3498 PartOfDirective visitPartOfDirective(PartOfDirective node) { | 3478 PartOfDirective visitPartOfDirective(PartOfDirective node) { |
3499 PartOfDirective copy = astFactory.partOfDirective( | 3479 PartOfDirective copy = new PartOfDirective( |
3500 _cloneNode(node.documentationComment), | 3480 _cloneNode(node.documentationComment), |
3501 _cloneNodeList(node.metadata), | 3481 _cloneNodeList(node.metadata), |
3502 _mapToken(node.partKeyword), | 3482 _mapToken(node.partKeyword), |
3503 _mapToken(node.ofKeyword), | 3483 _mapToken(node.ofKeyword), |
3504 _cloneNode(node.uri), | 3484 _cloneNode(node.uri), |
3505 _cloneNode(node.libraryName), | 3485 _cloneNode(node.libraryName), |
3506 _mapToken(node.semicolon)); | 3486 _mapToken(node.semicolon)); |
3507 copy.element = node.element; | 3487 copy.element = node.element; |
3508 return copy; | 3488 return copy; |
3509 } | 3489 } |
3510 | 3490 |
3511 @override | 3491 @override |
3512 PostfixExpression visitPostfixExpression(PostfixExpression node) { | 3492 PostfixExpression visitPostfixExpression(PostfixExpression node) { |
3513 PostfixExpression copy = astFactory.postfixExpression( | 3493 PostfixExpression copy = new PostfixExpression( |
3514 _cloneNode(node.operand), _mapToken(node.operator)); | 3494 _cloneNode(node.operand), _mapToken(node.operator)); |
3515 copy.propagatedElement = node.propagatedElement; | 3495 copy.propagatedElement = node.propagatedElement; |
3516 copy.propagatedType = node.propagatedType; | 3496 copy.propagatedType = node.propagatedType; |
3517 copy.staticElement = node.staticElement; | 3497 copy.staticElement = node.staticElement; |
3518 copy.staticType = node.staticType; | 3498 copy.staticType = node.staticType; |
3519 return copy; | 3499 return copy; |
3520 } | 3500 } |
3521 | 3501 |
3522 @override | 3502 @override |
3523 PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node) { | 3503 PrefixedIdentifier visitPrefixedIdentifier(PrefixedIdentifier node) { |
3524 PrefixedIdentifier copy = astFactory.prefixedIdentifier( | 3504 PrefixedIdentifier copy = new PrefixedIdentifier(_cloneNode(node.prefix), |
3525 _cloneNode(node.prefix), | 3505 _mapToken(node.period), _cloneNode(node.identifier)); |
3526 _mapToken(node.period), | |
3527 _cloneNode(node.identifier)); | |
3528 copy.propagatedType = node.propagatedType; | 3506 copy.propagatedType = node.propagatedType; |
3529 copy.staticType = node.staticType; | 3507 copy.staticType = node.staticType; |
3530 return copy; | 3508 return copy; |
3531 } | 3509 } |
3532 | 3510 |
3533 @override | 3511 @override |
3534 PrefixExpression visitPrefixExpression(PrefixExpression node) { | 3512 PrefixExpression visitPrefixExpression(PrefixExpression node) { |
3535 PrefixExpression copy = astFactory.prefixExpression( | 3513 PrefixExpression copy = new PrefixExpression( |
3536 _mapToken(node.operator), _cloneNode(node.operand)); | 3514 _mapToken(node.operator), _cloneNode(node.operand)); |
3537 copy.propagatedElement = node.propagatedElement; | 3515 copy.propagatedElement = node.propagatedElement; |
3538 copy.propagatedType = node.propagatedType; | 3516 copy.propagatedType = node.propagatedType; |
3539 copy.staticElement = node.staticElement; | 3517 copy.staticElement = node.staticElement; |
3540 copy.staticType = node.staticType; | 3518 copy.staticType = node.staticType; |
3541 return copy; | 3519 return copy; |
3542 } | 3520 } |
3543 | 3521 |
3544 @override | 3522 @override |
3545 PropertyAccess visitPropertyAccess(PropertyAccess node) { | 3523 PropertyAccess visitPropertyAccess(PropertyAccess node) { |
3546 PropertyAccess copy = astFactory.propertyAccess(_cloneNode(node.target), | 3524 PropertyAccess copy = new PropertyAccess(_cloneNode(node.target), |
3547 _mapToken(node.operator), _cloneNode(node.propertyName)); | 3525 _mapToken(node.operator), _cloneNode(node.propertyName)); |
3548 copy.propagatedType = node.propagatedType; | 3526 copy.propagatedType = node.propagatedType; |
3549 copy.staticType = node.staticType; | 3527 copy.staticType = node.staticType; |
3550 return copy; | 3528 return copy; |
3551 } | 3529 } |
3552 | 3530 |
3553 @override | 3531 @override |
3554 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( | 3532 RedirectingConstructorInvocation visitRedirectingConstructorInvocation( |
3555 RedirectingConstructorInvocation node) { | 3533 RedirectingConstructorInvocation node) { |
3556 RedirectingConstructorInvocation copy = | 3534 RedirectingConstructorInvocation copy = |
3557 astFactory.redirectingConstructorInvocation( | 3535 new RedirectingConstructorInvocation( |
3558 _mapToken(node.thisKeyword), | 3536 _mapToken(node.thisKeyword), |
3559 _mapToken(node.period), | 3537 _mapToken(node.period), |
3560 _cloneNode(node.constructorName), | 3538 _cloneNode(node.constructorName), |
3561 _cloneNode(node.argumentList)); | 3539 _cloneNode(node.argumentList)); |
3562 copy.staticElement = node.staticElement; | 3540 copy.staticElement = node.staticElement; |
3563 return copy; | 3541 return copy; |
3564 } | 3542 } |
3565 | 3543 |
3566 @override | 3544 @override |
3567 RethrowExpression visitRethrowExpression(RethrowExpression node) { | 3545 RethrowExpression visitRethrowExpression(RethrowExpression node) { |
3568 RethrowExpression copy = | 3546 RethrowExpression copy = |
3569 astFactory.rethrowExpression(_mapToken(node.rethrowKeyword)); | 3547 new RethrowExpression(_mapToken(node.rethrowKeyword)); |
3570 copy.propagatedType = node.propagatedType; | 3548 copy.propagatedType = node.propagatedType; |
3571 copy.staticType = node.staticType; | 3549 copy.staticType = node.staticType; |
3572 return copy; | 3550 return copy; |
3573 } | 3551 } |
3574 | 3552 |
3575 @override | 3553 @override |
3576 ReturnStatement visitReturnStatement(ReturnStatement node) => | 3554 ReturnStatement visitReturnStatement(ReturnStatement node) => |
3577 astFactory.returnStatement(_mapToken(node.returnKeyword), | 3555 new ReturnStatement(_mapToken(node.returnKeyword), |
3578 _cloneNode(node.expression), _mapToken(node.semicolon)); | 3556 _cloneNode(node.expression), _mapToken(node.semicolon)); |
3579 | 3557 |
3580 @override | 3558 @override |
3581 ScriptTag visitScriptTag(ScriptTag node) => | 3559 ScriptTag visitScriptTag(ScriptTag node) => |
3582 astFactory.scriptTag(_mapToken(node.scriptTag)); | 3560 new ScriptTag(_mapToken(node.scriptTag)); |
3583 | 3561 |
3584 @override | 3562 @override |
3585 ShowCombinator visitShowCombinator(ShowCombinator node) => astFactory | 3563 ShowCombinator visitShowCombinator(ShowCombinator node) => new ShowCombinator( |
3586 .showCombinator(_mapToken(node.keyword), _cloneNodeList(node.shownNames)); | 3564 _mapToken(node.keyword), _cloneNodeList(node.shownNames)); |
3587 | 3565 |
3588 @override | 3566 @override |
3589 SimpleFormalParameter visitSimpleFormalParameter( | 3567 SimpleFormalParameter visitSimpleFormalParameter( |
3590 SimpleFormalParameter node) => | 3568 SimpleFormalParameter node) => |
3591 astFactory.simpleFormalParameter( | 3569 new SimpleFormalParameter( |
3592 _cloneNode(node.documentationComment), | 3570 _cloneNode(node.documentationComment), |
3593 _cloneNodeList(node.metadata), | 3571 _cloneNodeList(node.metadata), |
3594 _mapToken(node.keyword), | 3572 _mapToken(node.keyword), |
3595 _cloneNode(node.type), | 3573 _cloneNode(node.type), |
3596 _cloneNode(node.identifier)); | 3574 _cloneNode(node.identifier)); |
3597 | 3575 |
3598 @override | 3576 @override |
3599 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) { | 3577 SimpleIdentifier visitSimpleIdentifier(SimpleIdentifier node) { |
3600 Token mappedToken = _mapToken(node.token); | 3578 Token mappedToken = _mapToken(node.token); |
3601 if (mappedToken == null) { | 3579 if (mappedToken == null) { |
3602 // This only happens for SimpleIdentifiers created by the parser as part | 3580 // This only happens for SimpleIdentifiers created by the parser as part |
3603 // of scanning documentation comments (the tokens for those identifiers | 3581 // of scanning documentation comments (the tokens for those identifiers |
3604 // are not in the original token stream and hence do not get copied). | 3582 // are not in the original token stream and hence do not get copied). |
3605 // This extra check can be removed if the scanner is changed to scan | 3583 // This extra check can be removed if the scanner is changed to scan |
3606 // documentation comments for the parser. | 3584 // documentation comments for the parser. |
3607 mappedToken = node.token; | 3585 mappedToken = node.token; |
3608 } | 3586 } |
3609 SimpleIdentifier copy = astFactory.simpleIdentifier(mappedToken, | 3587 SimpleIdentifier copy = new SimpleIdentifier(mappedToken, |
3610 isDeclaration: node.inDeclarationContext()); | 3588 isDeclaration: node.inDeclarationContext()); |
3611 copy.auxiliaryElements = node.auxiliaryElements; | 3589 copy.auxiliaryElements = node.auxiliaryElements; |
3612 copy.propagatedElement = node.propagatedElement; | 3590 copy.propagatedElement = node.propagatedElement; |
3613 copy.propagatedType = node.propagatedType; | 3591 copy.propagatedType = node.propagatedType; |
3614 copy.staticElement = node.staticElement; | 3592 copy.staticElement = node.staticElement; |
3615 copy.staticType = node.staticType; | 3593 copy.staticType = node.staticType; |
3616 return copy; | 3594 return copy; |
3617 } | 3595 } |
3618 | 3596 |
3619 @override | 3597 @override |
3620 SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node) { | 3598 SimpleStringLiteral visitSimpleStringLiteral(SimpleStringLiteral node) { |
3621 SimpleStringLiteral copy = | 3599 SimpleStringLiteral copy = |
3622 astFactory.simpleStringLiteral(_mapToken(node.literal), node.value); | 3600 new SimpleStringLiteral(_mapToken(node.literal), node.value); |
3623 copy.propagatedType = node.propagatedType; | 3601 copy.propagatedType = node.propagatedType; |
3624 copy.staticType = node.staticType; | 3602 copy.staticType = node.staticType; |
3625 return copy; | 3603 return copy; |
3626 } | 3604 } |
3627 | 3605 |
3628 @override | 3606 @override |
3629 StringInterpolation visitStringInterpolation(StringInterpolation node) { | 3607 StringInterpolation visitStringInterpolation(StringInterpolation node) { |
3630 StringInterpolation copy = | 3608 StringInterpolation copy = |
3631 astFactory.stringInterpolation(_cloneNodeList(node.elements)); | 3609 new StringInterpolation(_cloneNodeList(node.elements)); |
3632 copy.propagatedType = node.propagatedType; | 3610 copy.propagatedType = node.propagatedType; |
3633 copy.staticType = node.staticType; | 3611 copy.staticType = node.staticType; |
3634 return copy; | 3612 return copy; |
3635 } | 3613 } |
3636 | 3614 |
3637 @override | 3615 @override |
3638 SuperConstructorInvocation visitSuperConstructorInvocation( | 3616 SuperConstructorInvocation visitSuperConstructorInvocation( |
3639 SuperConstructorInvocation node) { | 3617 SuperConstructorInvocation node) { |
3640 SuperConstructorInvocation copy = astFactory.superConstructorInvocation( | 3618 SuperConstructorInvocation copy = new SuperConstructorInvocation( |
3641 _mapToken(node.superKeyword), | 3619 _mapToken(node.superKeyword), |
3642 _mapToken(node.period), | 3620 _mapToken(node.period), |
3643 _cloneNode(node.constructorName), | 3621 _cloneNode(node.constructorName), |
3644 _cloneNode(node.argumentList)); | 3622 _cloneNode(node.argumentList)); |
3645 copy.staticElement = node.staticElement; | 3623 copy.staticElement = node.staticElement; |
3646 return copy; | 3624 return copy; |
3647 } | 3625 } |
3648 | 3626 |
3649 @override | 3627 @override |
3650 SuperExpression visitSuperExpression(SuperExpression node) { | 3628 SuperExpression visitSuperExpression(SuperExpression node) { |
3651 SuperExpression copy = | 3629 SuperExpression copy = new SuperExpression(_mapToken(node.superKeyword)); |
3652 astFactory.superExpression(_mapToken(node.superKeyword)); | |
3653 copy.propagatedType = node.propagatedType; | 3630 copy.propagatedType = node.propagatedType; |
3654 copy.staticType = node.staticType; | 3631 copy.staticType = node.staticType; |
3655 return copy; | 3632 return copy; |
3656 } | 3633 } |
3657 | 3634 |
3658 @override | 3635 @override |
3659 SwitchCase visitSwitchCase(SwitchCase node) => astFactory.switchCase( | 3636 SwitchCase visitSwitchCase(SwitchCase node) => new SwitchCase( |
3660 _cloneNodeList(node.labels), | 3637 _cloneNodeList(node.labels), |
3661 _mapToken(node.keyword), | 3638 _mapToken(node.keyword), |
3662 _cloneNode(node.expression), | 3639 _cloneNode(node.expression), |
3663 _mapToken(node.colon), | 3640 _mapToken(node.colon), |
3664 _cloneNodeList(node.statements)); | 3641 _cloneNodeList(node.statements)); |
3665 | 3642 |
3666 @override | 3643 @override |
3667 SwitchDefault visitSwitchDefault(SwitchDefault node) => | 3644 SwitchDefault visitSwitchDefault(SwitchDefault node) => new SwitchDefault( |
3668 astFactory.switchDefault( | 3645 _cloneNodeList(node.labels), |
3669 _cloneNodeList(node.labels), | 3646 _mapToken(node.keyword), |
3670 _mapToken(node.keyword), | 3647 _mapToken(node.colon), |
3671 _mapToken(node.colon), | 3648 _cloneNodeList(node.statements)); |
3672 _cloneNodeList(node.statements)); | |
3673 | 3649 |
3674 @override | 3650 @override |
3675 SwitchStatement visitSwitchStatement(SwitchStatement node) => | 3651 SwitchStatement visitSwitchStatement(SwitchStatement node) => |
3676 astFactory.switchStatement( | 3652 new SwitchStatement( |
3677 _mapToken(node.switchKeyword), | 3653 _mapToken(node.switchKeyword), |
3678 _mapToken(node.leftParenthesis), | 3654 _mapToken(node.leftParenthesis), |
3679 _cloneNode(node.expression), | 3655 _cloneNode(node.expression), |
3680 _mapToken(node.rightParenthesis), | 3656 _mapToken(node.rightParenthesis), |
3681 _mapToken(node.leftBracket), | 3657 _mapToken(node.leftBracket), |
3682 _cloneNodeList(node.members), | 3658 _cloneNodeList(node.members), |
3683 _mapToken(node.rightBracket)); | 3659 _mapToken(node.rightBracket)); |
3684 | 3660 |
3685 @override | 3661 @override |
3686 AstNode visitSymbolLiteral(SymbolLiteral node) { | 3662 AstNode visitSymbolLiteral(SymbolLiteral node) { |
3687 SymbolLiteral copy = astFactory.symbolLiteral( | 3663 SymbolLiteral copy = new SymbolLiteral( |
3688 _mapToken(node.poundSign), _mapTokens(node.components)); | 3664 _mapToken(node.poundSign), _mapTokens(node.components)); |
3689 copy.propagatedType = node.propagatedType; | 3665 copy.propagatedType = node.propagatedType; |
3690 copy.staticType = node.staticType; | 3666 copy.staticType = node.staticType; |
3691 return copy; | 3667 return copy; |
3692 } | 3668 } |
3693 | 3669 |
3694 @override | 3670 @override |
3695 ThisExpression visitThisExpression(ThisExpression node) { | 3671 ThisExpression visitThisExpression(ThisExpression node) { |
3696 ThisExpression copy = | 3672 ThisExpression copy = new ThisExpression(_mapToken(node.thisKeyword)); |
3697 astFactory.thisExpression(_mapToken(node.thisKeyword)); | |
3698 copy.propagatedType = node.propagatedType; | 3673 copy.propagatedType = node.propagatedType; |
3699 copy.staticType = node.staticType; | 3674 copy.staticType = node.staticType; |
3700 return copy; | 3675 return copy; |
3701 } | 3676 } |
3702 | 3677 |
3703 @override | 3678 @override |
3704 ThrowExpression visitThrowExpression(ThrowExpression node) { | 3679 ThrowExpression visitThrowExpression(ThrowExpression node) { |
3705 ThrowExpression copy = astFactory.throwExpression( | 3680 ThrowExpression copy = new ThrowExpression( |
3706 _mapToken(node.throwKeyword), _cloneNode(node.expression)); | 3681 _mapToken(node.throwKeyword), _cloneNode(node.expression)); |
3707 copy.propagatedType = node.propagatedType; | 3682 copy.propagatedType = node.propagatedType; |
3708 copy.staticType = node.staticType; | 3683 copy.staticType = node.staticType; |
3709 return copy; | 3684 return copy; |
3710 } | 3685 } |
3711 | 3686 |
3712 @override | 3687 @override |
3713 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( | 3688 TopLevelVariableDeclaration visitTopLevelVariableDeclaration( |
3714 TopLevelVariableDeclaration node) => | 3689 TopLevelVariableDeclaration node) => |
3715 astFactory.topLevelVariableDeclaration( | 3690 new TopLevelVariableDeclaration( |
3716 _cloneNode(node.documentationComment), | 3691 _cloneNode(node.documentationComment), |
3717 _cloneNodeList(node.metadata), | 3692 _cloneNodeList(node.metadata), |
3718 _cloneNode(node.variables), | 3693 _cloneNode(node.variables), |
3719 _mapToken(node.semicolon)); | 3694 _mapToken(node.semicolon)); |
3720 | 3695 |
3721 @override | 3696 @override |
3722 TryStatement visitTryStatement(TryStatement node) => astFactory.tryStatement( | 3697 TryStatement visitTryStatement(TryStatement node) => new TryStatement( |
3723 _mapToken(node.tryKeyword), | 3698 _mapToken(node.tryKeyword), |
3724 _cloneNode(node.body), | 3699 _cloneNode(node.body), |
3725 _cloneNodeList(node.catchClauses), | 3700 _cloneNodeList(node.catchClauses), |
3726 _mapToken(node.finallyKeyword), | 3701 _mapToken(node.finallyKeyword), |
3727 _cloneNode(node.finallyBlock)); | 3702 _cloneNode(node.finallyBlock)); |
3728 | 3703 |
3729 @override | 3704 @override |
3730 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => | 3705 TypeArgumentList visitTypeArgumentList(TypeArgumentList node) => |
3731 astFactory.typeArgumentList(_mapToken(node.leftBracket), | 3706 new TypeArgumentList(_mapToken(node.leftBracket), |
3732 _cloneNodeList(node.arguments), _mapToken(node.rightBracket)); | 3707 _cloneNodeList(node.arguments), _mapToken(node.rightBracket)); |
3733 | 3708 |
3734 @override | 3709 @override |
3735 TypeName visitTypeName(TypeName node) { | 3710 TypeName visitTypeName(TypeName node) { |
3736 TypeName copy = astFactory.typeName( | 3711 TypeName copy = |
3737 _cloneNode(node.name), _cloneNode(node.typeArguments)); | 3712 new TypeName(_cloneNode(node.name), _cloneNode(node.typeArguments)); |
3738 copy.type = node.type; | 3713 copy.type = node.type; |
3739 return copy; | 3714 return copy; |
3740 } | 3715 } |
3741 | 3716 |
3742 @override | 3717 @override |
3743 TypeParameter visitTypeParameter(TypeParameter node) => | 3718 TypeParameter visitTypeParameter(TypeParameter node) => new TypeParameter( |
3744 astFactory.typeParameter( | 3719 _cloneNode(node.documentationComment), |
3745 _cloneNode(node.documentationComment), | 3720 _cloneNodeList(node.metadata), |
3746 _cloneNodeList(node.metadata), | 3721 _cloneNode(node.name), |
3747 _cloneNode(node.name), | 3722 _mapToken(node.extendsKeyword), |
3748 _mapToken(node.extendsKeyword), | 3723 _cloneNode(node.bound)); |
3749 _cloneNode(node.bound)); | |
3750 | 3724 |
3751 @override | 3725 @override |
3752 TypeParameterList visitTypeParameterList(TypeParameterList node) => | 3726 TypeParameterList visitTypeParameterList(TypeParameterList node) => |
3753 astFactory.typeParameterList(_mapToken(node.leftBracket), | 3727 new TypeParameterList(_mapToken(node.leftBracket), |
3754 _cloneNodeList(node.typeParameters), _mapToken(node.rightBracket)); | 3728 _cloneNodeList(node.typeParameters), _mapToken(node.rightBracket)); |
3755 | 3729 |
3756 @override | 3730 @override |
3757 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => | 3731 VariableDeclaration visitVariableDeclaration(VariableDeclaration node) => |
3758 astFactory.variableDeclaration(_cloneNode(node.name), | 3732 new VariableDeclaration(_cloneNode(node.name), _mapToken(node.equals), |
3759 _mapToken(node.equals), _cloneNode(node.initializer)); | 3733 _cloneNode(node.initializer)); |
3760 | 3734 |
3761 @override | 3735 @override |
3762 VariableDeclarationList visitVariableDeclarationList( | 3736 VariableDeclarationList visitVariableDeclarationList( |
3763 VariableDeclarationList node) => | 3737 VariableDeclarationList node) => |
3764 astFactory.variableDeclarationList( | 3738 new VariableDeclarationList( |
3765 null, | 3739 null, |
3766 _cloneNodeList(node.metadata), | 3740 _cloneNodeList(node.metadata), |
3767 _mapToken(node.keyword), | 3741 _mapToken(node.keyword), |
3768 _cloneNode(node.type), | 3742 _cloneNode(node.type), |
3769 _cloneNodeList(node.variables)); | 3743 _cloneNodeList(node.variables)); |
3770 | 3744 |
3771 @override | 3745 @override |
3772 VariableDeclarationStatement visitVariableDeclarationStatement( | 3746 VariableDeclarationStatement visitVariableDeclarationStatement( |
3773 VariableDeclarationStatement node) => | 3747 VariableDeclarationStatement node) => |
3774 astFactory.variableDeclarationStatement( | 3748 new VariableDeclarationStatement( |
3775 _cloneNode(node.variables), _mapToken(node.semicolon)); | 3749 _cloneNode(node.variables), _mapToken(node.semicolon)); |
3776 | 3750 |
3777 @override | 3751 @override |
3778 WhileStatement visitWhileStatement(WhileStatement node) => | 3752 WhileStatement visitWhileStatement(WhileStatement node) => new WhileStatement( |
3779 astFactory.whileStatement( | 3753 _mapToken(node.whileKeyword), |
3780 _mapToken(node.whileKeyword), | 3754 _mapToken(node.leftParenthesis), |
3781 _mapToken(node.leftParenthesis), | 3755 _cloneNode(node.condition), |
3782 _cloneNode(node.condition), | 3756 _mapToken(node.rightParenthesis), |
3783 _mapToken(node.rightParenthesis), | 3757 _cloneNode(node.body)); |
3784 _cloneNode(node.body)); | |
3785 | 3758 |
3786 @override | 3759 @override |
3787 WithClause visitWithClause(WithClause node) => astFactory.withClause( | 3760 WithClause visitWithClause(WithClause node) => new WithClause( |
3788 _mapToken(node.withKeyword), _cloneNodeList(node.mixinTypes)); | 3761 _mapToken(node.withKeyword), _cloneNodeList(node.mixinTypes)); |
3789 | 3762 |
3790 @override | 3763 @override |
3791 YieldStatement visitYieldStatement(YieldStatement node) => | 3764 YieldStatement visitYieldStatement(YieldStatement node) => new YieldStatement( |
3792 astFactory.yieldStatement( | 3765 _mapToken(node.yieldKeyword), |
3793 _mapToken(node.yieldKeyword), | 3766 _mapToken(node.star), |
3794 _mapToken(node.star), | 3767 _cloneNode(node.expression), |
3795 _cloneNode(node.expression), | 3768 _mapToken(node.semicolon)); |
3796 _mapToken(node.semicolon)); | |
3797 | 3769 |
3798 AstNode/*=E*/ _cloneNode/*<E extends AstNode>*/(AstNode/*=E*/ node) { | 3770 AstNode/*=E*/ _cloneNode/*<E extends AstNode>*/(AstNode/*=E*/ node) { |
3799 if (node == null) { | 3771 if (node == null) { |
3800 return null; | 3772 return null; |
3801 } | 3773 } |
3802 if (identical(node, _oldNode)) { | 3774 if (identical(node, _oldNode)) { |
3803 return _newNode as AstNode/*=E*/; | 3775 return _newNode as AstNode/*=E*/; |
3804 } | 3776 } |
3805 return node.accept(this) as AstNode/*=E*/; | 3777 return node.accept(this) as AstNode/*=E*/; |
3806 } | 3778 } |
(...skipping 5373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9180 if (node.star != null) { | 9152 if (node.star != null) { |
9181 sink.write("yield* "); | 9153 sink.write("yield* "); |
9182 } else { | 9154 } else { |
9183 sink.write("yield "); | 9155 sink.write("yield "); |
9184 } | 9156 } |
9185 safelyVisitNode(node.expression); | 9157 safelyVisitNode(node.expression); |
9186 sink.write(";"); | 9158 sink.write(";"); |
9187 return null; | 9159 return null; |
9188 } | 9160 } |
9189 } | 9161 } |
OLD | NEW |