| // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| library dart2js.js_emitter.sorter; |
| |
| import '../elements/entities.dart'; |
| |
| /// Sorting strategy for libraries, classes and members. |
| abstract class Sorter { |
| /// Returns a sorted list of [libraries]. |
| Iterable<LibraryEntity> sortLibraries(Iterable<LibraryEntity> libraries); |
| |
| /// Returns a sorted list of [classes]. |
| Iterable<ClassEntity> sortClasses(Iterable<ClassEntity> classes); |
| |
| /// Returns a sorted list of [members]. |
| Iterable<T> sortMembers<T extends MemberEntity>(Iterable<T> members); |
| |
| int compareLibrariesByLocation(LibraryEntity a, LibraryEntity b); |
| int compareClassesByLocation(ClassEntity a, ClassEntity b); |
| int compareMembersByLocation(MemberEntity a, MemberEntity b); |
| } |