| OLD | NEW |
| 1 #!/usr/bin/env dart | 1 #!/usr/bin/env dart |
| 2 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 2 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 3 // for details. All rights reserved. Use of this source code is governed by a | 3 // for details. All rights reserved. Use of this source code is governed by a |
| 4 // BSD-style license that can be found in the LICENSE file. | 4 // BSD-style license that can be found in the LICENSE file. |
| 5 | 5 |
| 6 /// Command line tool to merge the SDK libraries and our patch files. | 6 /// Command line tool to merge the SDK libraries and our patch files. |
| 7 /// This is currently designed as an offline tool, but we could automate it. | 7 /// This is currently designed as an offline tool, but we could automate it. |
| 8 | 8 |
| 9 import 'dart:io'; | 9 import 'dart:io'; |
| 10 import 'dart:math' as math; | 10 import 'dart:math' as math; |
| (...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 } else { | 342 } else { |
| 343 mergeDeclarations.add(node); | 343 mergeDeclarations.add(node); |
| 344 } | 344 } |
| 345 } | 345 } |
| 346 | 346 |
| 347 @override | 347 @override |
| 348 visitFunctionBody(node) {} // skip method bodies | 348 visitFunctionBody(node) {} // skip method bodies |
| 349 } | 349 } |
| 350 | 350 |
| 351 String _qualifiedName(Declaration node) { | 351 String _qualifiedName(Declaration node) { |
| 352 var result = ""; |
| 353 |
| 352 var parent = node.parent; | 354 var parent = node.parent; |
| 353 var className = ''; | |
| 354 if (parent is ClassDeclaration) { | 355 if (parent is ClassDeclaration) { |
| 355 className = parent.name.name + '.'; | 356 result = "${parent.name.name}."; |
| 356 } | 357 } |
| 358 |
| 357 var name = (node as dynamic).name; | 359 var name = (node as dynamic).name; |
| 358 return className + (name != null ? name.name : ''); | 360 if (name != null) result += name.name; |
| 361 |
| 362 // Make sure setters and getters don't collide. |
| 363 if ((node is FunctionDeclaration || node is MethodDeclaration) && |
| 364 (node as dynamic).isSetter) { |
| 365 result += "="; |
| 366 } |
| 367 |
| 368 return result; |
| 359 } | 369 } |
| 360 | 370 |
| 361 bool _isPatch(AnnotatedNode node) => node.metadata.any(_isPatchAnnotation); | 371 bool _isPatch(AnnotatedNode node) => node.metadata.any(_isPatchAnnotation); |
| 362 | 372 |
| 363 bool _isPatchAnnotation(Annotation m) => | 373 bool _isPatchAnnotation(Annotation m) => |
| 364 m.name.name == 'patch' && m.constructorName == null && m.arguments == null; | 374 m.name.name == 'patch' && m.constructorName == null && m.arguments == null; |
| 365 | 375 |
| 366 /// Editable string buffer. | 376 /// Editable string buffer. |
| 367 /// | 377 /// |
| 368 /// Applies a series of edits (insertions, removals, replacements) using | 378 /// Applies a series of edits (insertions, removals, replacements) using |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 454 if (diff != 0) return diff; | 464 if (diff != 0) return diff; |
| 455 return end - other.end; | 465 return end - other.end; |
| 456 } | 466 } |
| 457 } | 467 } |
| 458 | 468 |
| 459 List<SdkLibrary> _getSdkLibraries(String contents) { | 469 List<SdkLibrary> _getSdkLibraries(String contents) { |
| 460 var libraryBuilder = new SdkLibrariesReader_LibraryBuilder(true); | 470 var libraryBuilder = new SdkLibrariesReader_LibraryBuilder(true); |
| 461 parseCompilationUnit(contents).accept(libraryBuilder); | 471 parseCompilationUnit(contents).accept(libraryBuilder); |
| 462 return libraryBuilder.librariesMap.sdkLibraries; | 472 return libraryBuilder.librariesMap.sdkLibraries; |
| 463 } | 473 } |
| OLD | NEW |