Use List.sort instead of Collections.sort

This commit is contained in:
Alexander Udalov
2017-04-01 02:02:11 +03:00
parent a9f35ae898
commit 37f435da93
11 changed files with 23 additions and 35 deletions
@@ -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);
@@ -210,19 +210,12 @@ public class CodegenBinding {
}
List<KtFile> sortedAnswer = new ArrayList<KtFile>(answer);
Collections.sort(sortedAnswer, new Comparator<KtFile>() {
@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;
}
@@ -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<String> sortedKeys() {
List<String> sortedKeys = new ArrayList<String>(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;
@@ -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();
@@ -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;
}
@@ -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;
});
@@ -160,7 +160,8 @@ public class DiagnosticUtils {
@NotNull
public static List<Diagnostic> sortedDiagnostics(@NotNull Collection<Diagnostic> diagnostics) {
Comparator<Diagnostic> diagnosticComparator = (d1, d2) -> {
List<Diagnostic> 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<Diagnostic> result = Lists.newArrayList(diagnostics);
Collections.sort(result, diagnosticComparator);
});
return result;
}
@@ -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<Method> iterator = interestingMethods.iterator(); iterator.hasNext(); ) {
Method method = iterator.next();
try {
@@ -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)) {
@@ -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<ActualDiagnostic> actualDiagnostics =
CheckerTestUtil.getDiagnosticsIncludingSyntaxErrors(bindingContext, psiFile, false, null, null);
Collections.sort(actualDiagnostics, CheckerTestUtil.DIAGNOSTIC_COMPARATOR);
actualDiagnostics.sort(CheckerTestUtil.DIAGNOSTIC_COMPARATOR);
makeTestData(actualDiagnostics, diagnosedRanges);
@@ -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;
}