From 85760547888139d65a56cca09c00a63dcf2bfb4f Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 24 May 2017 13:01:30 +0300 Subject: [PATCH] Use SmartList instead of SmartSet for overridden descriptors SmartSet was used because it was the only lightweight collection available in core, but now there is org.jetbrains.kotlin.utils.SmartList --- .../descriptors/impl/FunctionDescriptorImpl.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java index 593f6c0b7f3..603811a87d2 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java @@ -25,8 +25,7 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationsKt; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.resolve.DescriptorFactory; import org.jetbrains.kotlin.types.*; -import kotlin.collections.CollectionsKt; -import org.jetbrains.kotlin.utils.SmartSet; +import org.jetbrains.kotlin.utils.SmartList; import java.util.*; @@ -54,7 +53,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo private boolean hasStableParameterNames = true; private boolean hasSynthesizedParameterNames = false; private Collection overriddenFunctions = null; - private volatile Function0> lazyOverriddenFunctionsTask = null; + private volatile Function0> lazyOverriddenFunctionsTask = null; private final FunctionDescriptor original; private final Kind kind; @Nullable @@ -192,7 +191,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo } private void performOverriddenLazyCalculationIfNeeded() { - Function0> overriddenTask = lazyOverriddenFunctionsTask; + Function0> overriddenTask = lazyOverriddenFunctionsTask; if (overriddenTask != null) { overriddenFunctions = overriddenTask.invoke(); // Here it's important that this assignment is strictly after previous one @@ -692,10 +691,10 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo } } else { - substitutedDescriptor.lazyOverriddenFunctionsTask = new Function0>() { + substitutedDescriptor.lazyOverriddenFunctionsTask = new Function0>() { @Override - public Set invoke() { - SmartSet result = SmartSet.create(); + public Collection invoke() { + Collection result = new SmartList(); for (FunctionDescriptor overriddenFunction : getOverriddenDescriptors()) { result.add(overriddenFunction.substitute(substitutor)); }