| Index: lib/compiler/implementation/dart_backend/backend.dart
|
| diff --git a/lib/compiler/implementation/dart_backend/backend.dart b/lib/compiler/implementation/dart_backend/backend.dart
|
| index e65c90bd669691f7233abee768bbdbf5e6ead6ee..d6549976e77cafbf6f9c663886f8d140036edfd0 100644
|
| --- a/lib/compiler/implementation/dart_backend/backend.dart
|
| +++ b/lib/compiler/implementation/dart_backend/backend.dart
|
| @@ -104,21 +104,10 @@ class DartBackend extends Backend {
|
| renamePlaceholders(compiler, collector, renames, imports);
|
|
|
| // Sort elements.
|
| - compareElements(e0, e1) {
|
| - compareBy(x, y, f) => f(x).compareTo(f(y));
|
| - int result = compareBy(e0, e1, (e) => e.getLibrary().uri.toString());
|
| - if (result != 0) return result;
|
| - return compareBy(e0, e1, (e) => e.position().charOffset);
|
| - }
|
| -
|
| - final sortedTopLevels = new List<Element>.from(topLevelElements);
|
| - sortedTopLevels.sort(compareElements);
|
| -
|
| + final sortedTopLevels = sortElements(topLevelElements);
|
| final sortedClassMembers = new Map<ClassElement, List<Element>>();
|
| classMembers.forEach((classElement, members) {
|
| - final sortedMembers = new List<Element>.from(members);
|
| - sortedMembers.sort(compareElements);
|
| - sortedClassMembers[classElement] = sortedMembers;
|
| + sortedClassMembers[classElement] = sortElements(members);
|
| });
|
|
|
| final unparser = new Unparser.withRenamer((Node node) => renames[node]);
|
| @@ -191,3 +180,16 @@ class ReferencedElementCollector extends AbstractVisitor {
|
| });
|
| }
|
| }
|
| +
|
| +List<Element> sortElements(Collection<Element> elements) {
|
| + compareElements(e0, e1) {
|
| + compareBy(x, y, f) => f(x).compareTo(f(y));
|
| + int result = compareBy(e0, e1, (e) => e.getLibrary().uri.toString());
|
| + if (result != 0) return result;
|
| + return compareBy(e0, e1, (e) => e.position().charOffset);
|
| + }
|
| +
|
| + final sorted = new List<Element>.from(elements);
|
| + sorted.sort(compareElements);
|
| + return sorted;
|
| +}
|
|
|