| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
| 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. | |
| 4 | |
| 5 class Placeholder { | |
| 6 const Placeholder(); | |
| 7 abstract String rename(ConflictingRenamer renamer); | |
| 8 } | |
| 9 | |
| 10 class NullPlaceholder extends Placeholder { | |
| 11 String rename(ConflictingRenamer renamer) => ''; | |
| 12 String toString() => 'null_placeholder[]'; | |
| 13 } | |
| 14 | |
| 15 class PrivatePlaceholder extends Placeholder { | |
| 16 final LibraryElement library; | |
| 17 final Identifier node; | |
| 18 PrivatePlaceholder(this.library, this.node); | |
| 19 String rename(ConflictingRenamer renamer) => | |
| 20 renamer.renamePrivateIdentifier(library, node.source.slowToString()); | |
| 21 String toString() => 'private_placeholder[node($node), $library]'; | |
| 22 } | |
| 23 | |
| 24 class ElementPlaceholder extends Placeholder { | |
| 25 final Element element; | |
| 26 ElementPlaceholder(this.element); | |
| 27 String rename(ConflictingRenamer renamer) => renamer.renameElement(element); | |
| 28 String toString() => 'element_placeholder[$element]'; | |
| 29 } | |
| 30 | |
| 31 class UnresolvedPlaceholder extends Placeholder { | |
| 32 const UnresolvedPlaceholder(); | |
| 33 String rename(ConflictingRenamer renamer) => | |
| 34 renamer.generateUniqueName('unresolved'); | |
| 35 String toString() => 'unresolved_placeholder'; | |
| 36 } | |
| 37 | |
| 38 class LocalPlaceholder extends Placeholder { | |
| 39 final FunctionElement scope; | |
| 40 final String identifier; | |
| 41 LocalPlaceholder(this.scope, this.identifier); | |
| 42 | |
| 43 String rename(ConflictingRenamer renamer) => | |
| 44 renamer.renameLocalIdentifier(scope, identifier); | |
| 45 String toString() => | |
| 46 'local_placeholder[scope($scope), id($identifier)]'; | |
| 47 } | |
| OLD | NEW |