From 37f435da9372c7d008ec8f8be3392e1708d2c9fe Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Sat, 1 Apr 2017 02:02:11 +0300 Subject: [PATCH] Use List.sort instead of Collections.sort --- .../org/jetbrains/kotlin/codegen/FrameMap.java | 3 +-- .../kotlin/codegen/binding/CodegenBinding.java | 17 +++++------------ .../messages/GroupingMessageCollector.java | 7 +++++-- .../diagnostics/DefaultErrorMessagesJvm.java | 3 +-- .../SignaturesPropagationData.java | 8 ++------ .../kotlin/checkers/CheckerTestUtil.java | 2 +- .../kotlin/diagnostics/DiagnosticUtils.java | 7 +++---- .../calls/inference/ConstraintsUtil.java | 2 +- .../util/RecursiveDescriptorComparator.java | 2 +- .../kotlin/checkers/CheckerTestUtilTest.java | 3 +-- .../tests/generator/SimpleTestClassModel.java | 4 ++-- 11 files changed, 23 insertions(+), 35 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/FrameMap.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/FrameMap.java index 651668282ed..f75c8315fd1 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/FrameMap.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/FrameMap.java @@ -24,7 +24,6 @@ import org.jetbrains.kotlin.descriptors.DeclarationDescriptor; import org.jetbrains.org.objectweb.asm.Type; import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -115,7 +114,7 @@ public class FrameMap { descriptors.add(Trinity.create(descriptor, varIndex, varSize)); } - Collections.sort(descriptors, Comparator.comparingInt(left -> left.second)); + descriptors.sort(Comparator.comparingInt(left -> left.second)); sb.append("size=").append(myMaxIndex); diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenBinding.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenBinding.java index 6fb69139246..d6c432ee77b 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenBinding.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/binding/CodegenBinding.java @@ -210,19 +210,12 @@ public class CodegenBinding { } List sortedAnswer = new ArrayList(answer); - Collections.sort(sortedAnswer, new Comparator() { - @NotNull - private String path(KtFile file) { - VirtualFile virtualFile = file.getVirtualFile(); - assert virtualFile != null : "VirtualFile is null for JetFile: " + file.getName(); - return virtualFile.getPath(); - } - @Override - public int compare(@NotNull KtFile first, @NotNull KtFile second) { - return path(first).compareTo(path(second)); - } - }); + sortedAnswer.sort(Comparator.comparing((KtFile file) -> { + VirtualFile virtualFile = file.getVirtualFile(); + assert virtualFile != null : "VirtualFile is null for JetFile: " + file.getName(); + return virtualFile.getPath(); + })); return sortedAnswer; } diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/GroupingMessageCollector.java b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/GroupingMessageCollector.java index 68793435f4d..99befeddcb7 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/GroupingMessageCollector.java +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/messages/GroupingMessageCollector.java @@ -20,7 +20,10 @@ import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Multimap; import org.jetbrains.annotations.NotNull; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; public class GroupingMessageCollector implements MessageCollector { @@ -81,7 +84,7 @@ public class GroupingMessageCollector implements MessageCollector { private Collection sortedKeys() { List sortedKeys = new ArrayList(groupedMessages.keySet()); // ensure that messages with no location i.e. perf, incomplete hierarchy are always reported first - Collections.sort(sortedKeys, (o1, o2) -> { + sortedKeys.sort((o1, o2) -> { if (o1 == o2) return 0; if (o1 == null) return -1; if (o2 == null) return 1; diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java index f8b387f1e0f..d5d98786aaa 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/diagnostics/DefaultErrorMessagesJvm.java @@ -22,7 +22,6 @@ import org.jetbrains.kotlin.diagnostics.rendering.*; import org.jetbrains.kotlin.resolve.MemberComparator; import java.util.ArrayList; -import java.util.Collections; import java.util.List; public class DefaultErrorMessagesJvm implements DefaultErrorMessages.Extension { @@ -36,7 +35,7 @@ public class DefaultErrorMessagesJvm implements DefaultErrorMessages.Extension { renderedDescriptors.add(descriptor); } } - Collections.sort(renderedDescriptors, MemberComparator.INSTANCE); + renderedDescriptors.sort(MemberComparator.INSTANCE); RenderingContext.Impl renderingContext = new RenderingContext.Impl(renderedDescriptors); StringBuilder sb = new StringBuilder(); diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/kotlinSignature/SignaturesPropagationData.java b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/kotlinSignature/SignaturesPropagationData.java index f79714877c5..ec3638cf7a5 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/kotlinSignature/SignaturesPropagationData.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/resolve/jvm/kotlinSignature/SignaturesPropagationData.java @@ -27,7 +27,6 @@ import org.jetbrains.kotlin.descriptors.impl.ValueParameterDescriptorImpl; import org.jetbrains.kotlin.incremental.components.NoLookupLocation; import org.jetbrains.kotlin.load.java.descriptors.JavaMethodDescriptor; import org.jetbrains.kotlin.load.java.structure.JavaMethod; -import org.jetbrains.kotlin.name.FqNameUnsafe; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilsKt; @@ -215,11 +214,8 @@ public class SignaturesPropagationData { } // sorting for diagnostic stability - Collections.sort(superFunctions, (fun1, fun2) -> { - FqNameUnsafe fqName1 = getFqName(fun1.getContainingDeclaration()); - FqNameUnsafe fqName2 = getFqName(fun2.getContainingDeclaration()); - return fqName1.asString().compareTo(fqName2.asString()); - }); + superFunctions.sort(Comparator.comparing(fun -> getFqName(fun.getContainingDeclaration()).asString())); + return superFunctions; } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/checkers/CheckerTestUtil.java b/compiler/frontend/src/org/jetbrains/kotlin/checkers/CheckerTestUtil.java index 0640cdf6a49..4771dfd737a 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/checkers/CheckerTestUtil.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/checkers/CheckerTestUtil.java @@ -604,7 +604,7 @@ public class CheckerTestUtil { diagnosticDescriptors.add( new DiagnosticDescriptor(range.getStartOffset(), range.getEndOffset(), diagnosticsGroupedByRanges.get(range))); } - Collections.sort(diagnosticDescriptors, (d1, d2) -> { + diagnosticDescriptors.sort((d1, d2) -> { // Start early -- go first; start at the same offset, the one who end later is the outer, i.e. goes first return (d1.start != d2.start) ? d1.start - d2.start : d2.end - d1.end; }); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java index 94bdc7f0b3f..35df5a61af1 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/DiagnosticUtils.java @@ -160,7 +160,8 @@ public class DiagnosticUtils { @NotNull public static List sortedDiagnostics(@NotNull Collection diagnostics) { - Comparator diagnosticComparator = (d1, d2) -> { + List result = Lists.newArrayList(diagnostics); + result.sort((d1, d2) -> { String path1 = d1.getPsiFile().getViewProvider().getVirtualFile().getPath(); String path2 = d2.getPsiFile().getViewProvider().getVirtualFile().getPath(); if (!path1.equals(path2)) return path1.compareTo(path2); @@ -173,9 +174,7 @@ public class DiagnosticUtils { } return d1.getFactory().getName().compareTo(d2.getFactory().getName()); - }; - List result = Lists.newArrayList(diagnostics); - Collections.sort(result, diagnosticComparator); + }); return result; } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintsUtil.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintsUtil.java index d3f3d75b7d3..2848813025a 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintsUtil.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintsUtil.java @@ -123,7 +123,7 @@ public class ConstraintsUtil { interestingMethods.add(method); } } - Collections.sort(interestingMethods, Comparator.comparing(Method::getName)); + interestingMethods.sort(Comparator.comparing(Method::getName)); for (Iterator iterator = interestingMethods.iterator(); iterator.hasNext(); ) { Method method = iterator.next(); try { diff --git a/compiler/tests-common/org/jetbrains/kotlin/test/util/RecursiveDescriptorComparator.java b/compiler/tests-common/org/jetbrains/kotlin/test/util/RecursiveDescriptorComparator.java index d655c82af6f..916d9eca587 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/test/util/RecursiveDescriptorComparator.java +++ b/compiler/tests-common/org/jetbrains/kotlin/test/util/RecursiveDescriptorComparator.java @@ -222,7 +222,7 @@ public class RecursiveDescriptorComparator { subDescriptors.addAll(DescriptorUtils.getAllDescriptors(memberScope)); subDescriptors.addAll(extraSubDescriptors); - Collections.sort(subDescriptors, MemberComparator.INSTANCE); + subDescriptors.sort(MemberComparator.INSTANCE); for (DeclarationDescriptor subDescriptor : subDescriptors) { if (!shouldSkip(subDescriptor)) { diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.java b/compiler/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.java index 2cd98c4ac36..7ee97813994 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.java @@ -31,7 +31,6 @@ import org.jetbrains.kotlin.test.KotlinTestUtils; import org.jetbrains.kotlin.test.KotlinTestWithEnvironment; import java.io.File; -import java.util.Collections; import java.util.List; public class CheckerTestUtilTest extends KotlinTestWithEnvironment { @@ -155,7 +154,7 @@ public class CheckerTestUtilTest extends KotlinTestWithEnvironment { List actualDiagnostics = CheckerTestUtil.getDiagnosticsIncludingSyntaxErrors(bindingContext, psiFile, false, null, null); - Collections.sort(actualDiagnostics, CheckerTestUtil.DIAGNOSTIC_COMPARATOR); + actualDiagnostics.sort(CheckerTestUtil.DIAGNOSTIC_COMPARATOR); makeTestData(actualDiagnostics, diagnosedRanges); diff --git a/generators/src/org/jetbrains/kotlin/generators/tests/generator/SimpleTestClassModel.java b/generators/src/org/jetbrains/kotlin/generators/tests/generator/SimpleTestClassModel.java index 075b08610c3..231701d1b26 100644 --- a/generators/src/org/jetbrains/kotlin/generators/tests/generator/SimpleTestClassModel.java +++ b/generators/src/org/jetbrains/kotlin/generators/tests/generator/SimpleTestClassModel.java @@ -96,7 +96,7 @@ public class SimpleTestClassModel implements TestClassModel { } } } - Collections.sort(children, BY_NAME); + children.sort(BY_NAME); innerTestClasses = children; } return innerTestClasses; @@ -161,7 +161,7 @@ public class SimpleTestClassModel implements TestClassModel { } } } - Collections.sort(result, BY_NAME); + result.sort(BY_NAME); testMethods = result; }