From 77dd027d690c0fe48abccdea04bfeab871c7c6de Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 10 Nov 2014 19:00:13 +0300 Subject: [PATCH] Use MemberComparator in DescriptorSerializer --- .../DeserializedScopeValidationVisitor.kt | 3 ++- .../serialization/DescriptorSerializer.java | 17 +++-------------- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/DeserializedScopeValidationVisitor.kt b/compiler/tests/org/jetbrains/jet/jvm/compiler/DeserializedScopeValidationVisitor.kt index b9327bb0d02..86c287a6fa0 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/DeserializedScopeValidationVisitor.kt +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/DeserializedScopeValidationVisitor.kt @@ -28,6 +28,7 @@ import org.jetbrains.jet.test.util.DescriptorValidator import org.jetbrains.jet.test.util.DescriptorValidator.ValidationVisitor import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor import org.jetbrains.jet.lang.descriptors.ClassDescriptor +import org.jetbrains.jet.lang.resolve.MemberComparator class DeserializedScopeValidationVisitor : DescriptorValidator.ValidationVisitor() { override fun validateScope(scope: JetScope, collector: DescriptorValidator.DiagnosticCollector) { @@ -60,6 +61,6 @@ private fun checkSorted(descriptors: Collection, declarat UsefulTestCase.assertOrderedEquals( "Members of $declaration should be sorted by serialization.", descriptors, - descriptors.sortBy(DescriptorSerializer.DESCRIPTOR_COMPARATOR) + descriptors.sortBy(MemberComparator.INSTANCE) ) } diff --git a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/DescriptorSerializer.java b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/DescriptorSerializer.java index d137c6874ef..57abaf50c50 100644 --- a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/DescriptorSerializer.java +++ b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/DescriptorSerializer.java @@ -20,9 +20,9 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.annotations.Annotated; import org.jetbrains.jet.lang.resolve.DescriptorFactory; +import org.jetbrains.jet.lang.resolve.MemberComparator; import org.jetbrains.jet.lang.types.*; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; -import org.jetbrains.jet.renderer.DescriptorRenderer; import java.util.*; @@ -30,18 +30,6 @@ import static org.jetbrains.jet.lang.resolve.DescriptorUtils.*; public class DescriptorSerializer { - private static final DescriptorRenderer RENDERER = DescriptorRenderer.STARTS_FROM_NAME; - public static final Comparator DESCRIPTOR_COMPARATOR = new Comparator() { - @Override - public int compare(@NotNull DeclarationDescriptor o1, @NotNull DeclarationDescriptor o2) { - int names = o1.getName().compareTo(o2.getName()); - if (names != 0) return names; - - String o1String = RENDERER.render(o1); - String o2String = RENDERER.render(o2); - return o1String.compareTo(o2String); - } - }; private final NameTable nameTable; private final Interner typeParameters; private final SerializerExtension extension; @@ -451,7 +439,8 @@ public class DescriptorSerializer { @NotNull public static List sort(@NotNull Collection descriptors) { List result = new ArrayList(descriptors); - Collections.sort(result, DESCRIPTOR_COMPARATOR); + //NOTE: the exact comparator does matter here + Collections.sort(result, MemberComparator.INSTANCE); return result; }