Use MemberComparator in DescriptorSerializer

This commit is contained in:
Pavel V. Talanov
2014-11-10 19:00:13 +03:00
parent dc134b3394
commit 77dd027d69
2 changed files with 5 additions and 15 deletions
@@ -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<DeclarationDescriptor> DESCRIPTOR_COMPARATOR = new Comparator<DeclarationDescriptor>() {
@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<TypeParameterDescriptor> typeParameters;
private final SerializerExtension extension;
@@ -451,7 +439,8 @@ public class DescriptorSerializer {
@NotNull
public static <T extends DeclarationDescriptor> List<T> sort(@NotNull Collection<T> descriptors) {
List<T> result = new ArrayList<T>(descriptors);
Collections.sort(result, DESCRIPTOR_COMPARATOR);
//NOTE: the exact comparator does matter here
Collections.sort(result, MemberComparator.INSTANCE);
return result;
}