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

Side by Side Diff: pkg/kernel/lib/clone.dart

Issue 2610133002: Non-format-changing kernel offset changes (Closed)
Patch Set: Changed offset variable introduced in various methods in accessors.dart to a named parameter with d… Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/kernel/lib/ast.dart ('k') | pkg/kernel/lib/frontend/accessors.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 library kernel.clone; 4 library kernel.clone;
5 5
6 import 'ast.dart'; 6 import 'ast.dart';
7 import 'type_algebra.dart'; 7 import 'type_algebra.dart';
8 8
9 /// Visitor that return a clone of a tree, maintaining references to cloned 9 /// Visitor that return a clone of a tree, maintaining references to cloned
10 /// objects. 10 /// objects.
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 return new FunctionDeclaration(newVariable, clone(node.function)); 334 return new FunctionDeclaration(newVariable, clone(node.function));
335 } 335 }
336 336
337 // Members 337 // Members
338 visitConstructor(Constructor node) { 338 visitConstructor(Constructor node) {
339 return new Constructor(clone(node.function), 339 return new Constructor(clone(node.function),
340 name: node.name, 340 name: node.name,
341 isConst: node.isConst, 341 isConst: node.isConst,
342 isExternal: node.isExternal, 342 isExternal: node.isExternal,
343 initializers: node.initializers.map(clone).toList(), 343 initializers: node.initializers.map(clone).toList(),
344 transformerFlags: node.transformerFlags); 344 transformerFlags: node.transformerFlags)
345 ..fileEndOffset = node.fileEndOffset;
345 } 346 }
346 347
347 visitProcedure(Procedure node) { 348 visitProcedure(Procedure node) {
348 return new Procedure(node.name, node.kind, clone(node.function), 349 return new Procedure(node.name, node.kind, clone(node.function),
349 isAbstract: node.isAbstract, 350 isAbstract: node.isAbstract,
350 isStatic: node.isStatic, 351 isStatic: node.isStatic,
351 isExternal: node.isExternal, 352 isExternal: node.isExternal,
352 isConst: node.isConst, 353 isConst: node.isConst,
353 transformerFlags: node.transformerFlags, 354 transformerFlags: node.transformerFlags,
354 fileUri: node.fileUri); 355 fileUri: node.fileUri)..fileEndOffset = node.fileEndOffset;
355 } 356 }
356 357
357 visitField(Field node) { 358 visitField(Field node) {
358 return new Field(node.name, 359 return new Field(node.name,
359 type: visitType(node.type), 360 type: visitType(node.type),
360 initializer: cloneOptional(node.initializer), 361 initializer: cloneOptional(node.initializer),
361 isFinal: node.isFinal, 362 isFinal: node.isFinal,
362 isConst: node.isConst, 363 isConst: node.isConst,
363 isStatic: node.isStatic, 364 isStatic: node.isStatic,
364 hasImplicitGetter: node.hasImplicitGetter, 365 hasImplicitGetter: node.hasImplicitGetter,
365 hasImplicitSetter: node.hasImplicitSetter, 366 hasImplicitSetter: node.hasImplicitSetter,
366 transformerFlags: node.transformerFlags, 367 transformerFlags: node.transformerFlags,
367 fileUri: node.fileUri); 368 fileUri: node.fileUri)..fileEndOffset = node.fileEndOffset;
368 } 369 }
369 370
370 visitTypeParameter(TypeParameter node) { 371 visitTypeParameter(TypeParameter node) {
371 var newNode = new TypeParameter(node.name); 372 var newNode = new TypeParameter(node.name);
372 typeSubstitution[node] = new TypeParameterType(newNode); 373 typeSubstitution[node] = new TypeParameterType(newNode);
373 newNode.bound = visitType(node.bound); 374 newNode.bound = visitType(node.bound);
374 return newNode; 375 return newNode;
375 } 376 }
376 377
377 TreeNode cloneFunctionNodeBody(FunctionNode node) => cloneOptional(node.body); 378 TreeNode cloneFunctionNodeBody(FunctionNode node) => cloneOptional(node.body);
378 379
379 visitFunctionNode(FunctionNode node) { 380 visitFunctionNode(FunctionNode node) {
380 var typeParameters = node.typeParameters.map(clone).toList(); 381 var typeParameters = node.typeParameters.map(clone).toList();
381 var positional = node.positionalParameters.map(clone).toList(); 382 var positional = node.positionalParameters.map(clone).toList();
382 var named = node.namedParameters.map(clone).toList(); 383 var named = node.namedParameters.map(clone).toList();
383 return new FunctionNode(cloneFunctionNodeBody(node), 384 return new FunctionNode(cloneFunctionNodeBody(node),
384 typeParameters: typeParameters, 385 typeParameters: typeParameters,
385 positionalParameters: positional, 386 positionalParameters: positional,
386 namedParameters: named, 387 namedParameters: named,
387 requiredParameterCount: node.requiredParameterCount, 388 requiredParameterCount: node.requiredParameterCount,
388 returnType: visitType(node.returnType), 389 returnType: visitType(node.returnType),
389 asyncMarker: node.asyncMarker); 390 asyncMarker: node.asyncMarker)..fileEndOffset = node.fileEndOffset;
390 } 391 }
391 392
392 visitArguments(Arguments node) { 393 visitArguments(Arguments node) {
393 return new Arguments(node.positional.map(clone).toList(), 394 return new Arguments(node.positional.map(clone).toList(),
394 types: node.types.map(visitType).toList(), 395 types: node.types.map(visitType).toList(),
395 named: node.named.map(clone).toList()); 396 named: node.named.map(clone).toList());
396 } 397 }
397 398
398 visitNamedExpression(NamedExpression node) { 399 visitNamedExpression(NamedExpression node) {
399 return new NamedExpression(node.name, clone(node.value)); 400 return new NamedExpression(node.name, clone(node.value));
400 } 401 }
401 } 402 }
OLDNEW
« no previous file with comments | « pkg/kernel/lib/ast.dart ('k') | pkg/kernel/lib/frontend/accessors.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698