diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyAccessorDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyAccessorDescriptorImpl.java index 45c7dd41dcd..2f91e4584d1 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyAccessorDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyAccessorDescriptorImpl.java @@ -23,7 +23,10 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.types.TypeSubstitutor; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescriptorNonRootImpl implements PropertyAccessorDescriptor { @@ -140,16 +143,14 @@ public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescript @NotNull protected Collection getOverriddenDescriptors(boolean isGetter) { - Collection overriddenProperties = getCorrespondingProperty().getOverriddenDescriptors(); - // LinkedHashSet for determinism - Set overriddenAccessors = new LinkedHashSet(); - for (PropertyDescriptor overriddenProperty : overriddenProperties) { + Collection result = new ArrayList(0); + for (PropertyDescriptor overriddenProperty : getCorrespondingProperty().getOverriddenDescriptors()) { PropertyAccessorDescriptor accessorDescriptor = isGetter ? overriddenProperty.getGetter() : overriddenProperty.getSetter(); if (accessorDescriptor != null) { - overriddenAccessors.add(accessorDescriptor); + result.add(accessorDescriptor); } } - return overriddenAccessors; + return result; } @Override diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ValueParameterDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ValueParameterDescriptorImpl.java index 9f12c4c762d..5c666ccd9e0 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ValueParameterDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ValueParameterDescriptorImpl.java @@ -28,7 +28,6 @@ import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.TypeSubstitutor; import java.util.Collection; -import java.util.Collections; public class ValueParameterDescriptorImpl extends VariableDescriptorImpl implements ValueParameterDescriptor { private final boolean declaresDefaultValue; @@ -123,14 +122,13 @@ public class ValueParameterDescriptorImpl extends VariableDescriptorImpl impleme @NotNull @Override public Collection getOverriddenDescriptors() { - Collection overriddenFunctions = getContainingDeclaration().getOverriddenDescriptors(); - if (overriddenFunctions.isEmpty()) return Collections.emptySet(); - - return KotlinPackage.toSet(KotlinPackage.map(overriddenFunctions, new Function1() { - @Override - public ValueParameterDescriptor invoke(CallableDescriptor descriptor) { - return descriptor.getValueParameters().get(getIndex()); - } - })); + return KotlinPackage.map( + getContainingDeclaration().getOverriddenDescriptors(), + new Function1() { + @Override + public ValueParameterDescriptor invoke(CallableDescriptor descriptor) { + return descriptor.getValueParameters().get(getIndex()); + } + }); } }