| Index: pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
|
| diff --git a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
|
| index 6802220b33442ced27b5f152a150d57d94d6e228..c75d0ff1ee32ee02e70eab49983d1b2dfc039e81 100644
|
| --- a/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
|
| +++ b/pkg/compiler/lib/src/kernel/kernel_backend_strategy.dart
|
| @@ -94,7 +94,6 @@ class KernelSsaBuilder implements SsaBuilder {
|
| KernelSsaGraphBuilder builder = new KernelSsaGraphBuilder(
|
| work.element,
|
| work.element.enclosingClass,
|
| - _elementMap.getMemberNode(work.element),
|
| _compiler,
|
| _elementMap,
|
| new KernelToTypeInferenceMapImpl(closedWorld),
|
| @@ -204,10 +203,8 @@ class KernelSorter implements Sorter {
|
| return utils.compareLibrariesUris(a.canonicalUri, b.canonicalUri);
|
| }
|
|
|
| - int _compareNodes(
|
| - Entity entity1, ir.TreeNode node1, Entity entity2, ir.TreeNode node2) {
|
| - ir.Location location1 = node1.location;
|
| - ir.Location location2 = node2.location;
|
| + int _compareLocations(Entity entity1, ir.Location location1, Entity entity2,
|
| + ir.Location location2) {
|
| int r = utils.compareSourceUris(
|
| Uri.parse(location1.file), Uri.parse(location2.file));
|
| if (r != 0) return r;
|
| @@ -223,22 +220,26 @@ class KernelSorter implements Sorter {
|
| @override
|
| Iterable<MemberEntity> sortMembers(Iterable<MemberEntity> members) {
|
| return members.toList()
|
| - ..sort((MemberEntity a, MemberEntity b) {
|
| - int r = _compareLibraries(a.library, b.library);
|
| + ..sort((MemberEntity member1, MemberEntity member2) {
|
| + int r = _compareLibraries(member1.library, member2.library);
|
| if (r != 0) return r;
|
| - return _compareNodes(
|
| - a, elementMap.getMemberNode(a), b, elementMap.getMemberNode(b));
|
| + MemberDefinition definition1 = elementMap.getMemberDefinition(member1);
|
| + MemberDefinition definition2 = elementMap.getMemberDefinition(member2);
|
| + return _compareLocations(
|
| + member1, definition1.location, member2, definition2.location);
|
| });
|
| }
|
|
|
| @override
|
| Iterable<ClassEntity> sortClasses(Iterable<ClassEntity> classes) {
|
| return classes.toList()
|
| - ..sort((ClassEntity a, ClassEntity b) {
|
| - int r = _compareLibraries(a.library, b.library);
|
| + ..sort((ClassEntity cls1, ClassEntity cls2) {
|
| + int r = _compareLibraries(cls1.library, cls2.library);
|
| if (r != 0) return r;
|
| - return _compareNodes(
|
| - a, elementMap.getClassNode(a), b, elementMap.getClassNode(b));
|
| + ClassDefinition definition1 = elementMap.getClassDefinition(cls1);
|
| + ClassDefinition definition2 = elementMap.getClassDefinition(cls2);
|
| + return _compareLocations(
|
| + cls1, definition1.location, cls2, definition2.location);
|
| });
|
| }
|
|
|
|
|