From f3857cbb8907cdb70d99b86ca799c904f3eb5eb0 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 6 Aug 2015 04:27:59 +0300 Subject: [PATCH] Change overriddenDescriptors' type from Set to Collection So that the easiest way of constructing a HashSet in the implementation will be not the only possible way to implement getOverriddenDescriptors(). If there's not too many overridden descriptors, an implementation may decide to return a small list for example instead --- .../jetbrains/kotlin/resolve/OverrideResolver.java | 11 +++++------ .../kotlin/descriptors/CallableDescriptor.java | 6 ++---- .../kotlin/descriptors/CallableMemberDescriptor.java | 6 ++---- .../kotlin/descriptors/FunctionDescriptor.java | 4 ++-- .../descriptors/PropertyAccessorDescriptor.java | 4 ++-- .../kotlin/descriptors/PropertyDescriptor.java | 4 ++-- .../kotlin/descriptors/PropertyGetterDescriptor.java | 4 ++-- .../kotlin/descriptors/PropertySetterDescriptor.java | 4 ++-- .../kotlin/descriptors/ValueParameterDescriptor.java | 4 ++-- .../impl/AbstractReceiverParameterDescriptor.java | 4 ++-- .../descriptors/impl/ConstructorDescriptorImpl.java | 4 ++-- .../descriptors/impl/FunctionDescriptorImpl.java | 7 ++----- .../impl/PropertyAccessorDescriptorImpl.java | 9 +++------ .../descriptors/impl/PropertyDescriptorImpl.java | 2 +- .../impl/PropertyGetterDescriptorImpl.java | 6 +++--- .../impl/PropertySetterDescriptorImpl.java | 6 +++--- .../impl/ValueParameterDescriptorImpl.java | 6 +++--- .../descriptors/impl/VariableDescriptorImpl.java | 4 ++-- .../org/jetbrains/kotlin/resolve/DescriptorUtils.java | 2 +- .../org/jetbrains/kotlin/resolve/OverridingUtil.java | 2 +- .../kotlin/idea/refactoring/CallableRefactoring.kt | 2 +- .../kotlin/js/translate/utils/JsDescriptorUtils.java | 9 ++++----- 22 files changed, 49 insertions(+), 61 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverrideResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverrideResolver.java index c1f3e4d36f9..eec6cf2efa9 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverrideResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/OverrideResolver.java @@ -518,7 +518,7 @@ public class OverrideResolver { JetModifierList modifierList = member.getModifierList(); boolean hasOverrideNode = modifierList != null && modifierList.hasModifier(JetTokens.OVERRIDE_KEYWORD); - Set overriddenDescriptors = declared.getOverriddenDescriptors(); + Collection overriddenDescriptors = declared.getOverriddenDescriptors(); if (hasOverrideNode) { checkOverridesForMemberMarkedOverride(declared, true, new CheckOverrideReportStrategy() { @@ -580,7 +580,7 @@ public class OverrideResolver { boolean checkIfOverridesNothing, @NotNull CheckOverrideReportStrategy reportError ) { - Set overriddenDescriptors = declared.getOverriddenDescriptors(); + Collection overriddenDescriptors = declared.getOverriddenDescriptors(); for (CallableMemberDescriptor overridden : overriddenDescriptors) { if (overridden == null) continue; @@ -872,11 +872,10 @@ public class OverrideResolver { } @NotNull - public static Set getDirectlyOverriddenDeclarations(@NotNull D descriptor) { - Set result = Sets.newHashSet(); + public static Collection getDirectlyOverriddenDeclarations(@NotNull D descriptor) { + Set result = new LinkedHashSet(); //noinspection unchecked - Set overriddenDescriptors = (Set) descriptor.getOverriddenDescriptors(); - for (D overriddenDescriptor : overriddenDescriptors) { + for (D overriddenDescriptor : (Collection) descriptor.getOverriddenDescriptors()) { CallableMemberDescriptor.Kind kind = overriddenDescriptor.getKind(); if (kind == DECLARATION) { result.add(overriddenDescriptor); diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/CallableDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/CallableDescriptor.java index 0544e3f9d4e..41dadb70bd6 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/CallableDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/CallableDescriptor.java @@ -22,8 +22,8 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.TypeSubstitutor; +import java.util.Collection; import java.util.List; -import java.util.Set; public interface CallableDescriptor extends DeclarationDescriptorWithVisibility, DeclarationDescriptorNonRoot { @Nullable @@ -66,8 +66,6 @@ public interface CallableDescriptor extends DeclarationDescriptorWithVisibility, */ boolean hasSynthesizedParameterNames(); - // Workaround for KT-4609 Wildcard types (super/extends) shouldn't be loaded as nullable - @KotlinSignature("fun getOverriddenDescriptors(): Set") @NotNull - Set getOverriddenDescriptors(); + Collection getOverriddenDescriptors(); } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/CallableMemberDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/CallableMemberDescriptor.java index c47187977d1..0cc9e42e0d6 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/CallableMemberDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/CallableMemberDescriptor.java @@ -16,16 +16,14 @@ package org.jetbrains.kotlin.descriptors; -import jet.runtime.typeinfo.KotlinSignature; import org.jetbrains.annotations.NotNull; -import java.util.Set; +import java.util.Collection; public interface CallableMemberDescriptor extends CallableDescriptor, MemberDescriptor { - @KotlinSignature("fun getOverriddenDescriptors(): MutableSet") @NotNull @Override - Set getOverriddenDescriptors(); + Collection getOverriddenDescriptors(); @NotNull @Override diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/FunctionDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/FunctionDescriptor.java index 7c148711735..e256b2f93f3 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/FunctionDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/FunctionDescriptor.java @@ -19,7 +19,7 @@ package org.jetbrains.kotlin.descriptors; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.types.TypeSubstitutor; -import java.util.Set; +import java.util.Collection; public interface FunctionDescriptor extends CallableMemberDescriptor { @Override @@ -35,7 +35,7 @@ public interface FunctionDescriptor extends CallableMemberDescriptor { @Override @NotNull - Set getOverriddenDescriptors(); + Collection getOverriddenDescriptors(); @NotNull @Override diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyAccessorDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyAccessorDescriptor.java index e17863e7e37..12786105e17 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyAccessorDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyAccessorDescriptor.java @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.descriptors; import org.jetbrains.annotations.NotNull; -import java.util.Set; +import java.util.Collection; public interface PropertyAccessorDescriptor extends FunctionDescriptor { boolean hasBody(); @@ -31,7 +31,7 @@ public interface PropertyAccessorDescriptor extends FunctionDescriptor { @Override @NotNull - Set getOverriddenDescriptors(); + Collection getOverriddenDescriptors(); @NotNull PropertyDescriptor getCorrespondingProperty(); diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyDescriptor.java index 945fa080a79..b1de3ff905a 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyDescriptor.java @@ -20,8 +20,8 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.types.TypeSubstitutor; +import java.util.Collection; import java.util.List; -import java.util.Set; public interface PropertyDescriptor extends VariableDescriptor, CallableMemberDescriptor { @Nullable @@ -49,7 +49,7 @@ public interface PropertyDescriptor extends VariableDescriptor, CallableMemberDe @NotNull @Override - Set getOverriddenDescriptors(); + Collection getOverriddenDescriptors(); @Override PropertyDescriptor substitute(@NotNull TypeSubstitutor substitutor); diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyGetterDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyGetterDescriptor.java index 1f2f779e57d..50e5960fef5 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyGetterDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertyGetterDescriptor.java @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.descriptors; import org.jetbrains.annotations.NotNull; -import java.util.Set; +import java.util.Collection; public interface PropertyGetterDescriptor extends PropertyAccessorDescriptor { @NotNull @@ -27,5 +27,5 @@ public interface PropertyGetterDescriptor extends PropertyAccessorDescriptor { @Override @NotNull - Set getOverriddenDescriptors(); + Collection getOverriddenDescriptors(); } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertySetterDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertySetterDescriptor.java index 7fe3a23bd19..a7ba4f59c7d 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertySetterDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/PropertySetterDescriptor.java @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.descriptors; import org.jetbrains.annotations.NotNull; -import java.util.Set; +import java.util.Collection; public interface PropertySetterDescriptor extends PropertyAccessorDescriptor { @NotNull @@ -27,5 +27,5 @@ public interface PropertySetterDescriptor extends PropertyAccessorDescriptor { @Override @NotNull - Set getOverriddenDescriptors(); + Collection getOverriddenDescriptors(); } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/ValueParameterDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/ValueParameterDescriptor.java index b2cbbfc1d62..2893a7e988c 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/ValueParameterDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/ValueParameterDescriptor.java @@ -21,7 +21,7 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.types.JetType; -import java.util.Set; +import java.util.Collection; public interface ValueParameterDescriptor extends VariableDescriptor, ParameterDescriptor { @NotNull @@ -58,5 +58,5 @@ public interface ValueParameterDescriptor extends VariableDescriptor, ParameterD */ @NotNull @Override - Set getOverriddenDescriptors(); + Collection getOverriddenDescriptors(); } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractReceiverParameterDescriptor.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractReceiverParameterDescriptor.java index 2b9d78b72c2..6029ff0fc49 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractReceiverParameterDescriptor.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/AbstractReceiverParameterDescriptor.java @@ -26,9 +26,9 @@ import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.TypeSubstitutor; import org.jetbrains.kotlin.types.Variance; +import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Set; public abstract class AbstractReceiverParameterDescriptor extends DeclarationDescriptorImpl implements ReceiverParameterDescriptor { private static final Name RECEIVER_PARAMETER_NAME = Name.special(""); @@ -100,7 +100,7 @@ public abstract class AbstractReceiverParameterDescriptor extends DeclarationDes @NotNull @Override - public Set getOverriddenDescriptors() { + public Collection getOverriddenDescriptors() { return Collections.emptySet(); } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ConstructorDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ConstructorDescriptorImpl.java index 445d8a34b31..e0ab3e0f4d1 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ConstructorDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ConstructorDescriptorImpl.java @@ -22,9 +22,9 @@ import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.name.Name; +import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Set; import static org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor.NO_RECEIVER_PARAMETER; @@ -101,7 +101,7 @@ public class ConstructorDescriptorImpl extends FunctionDescriptorImpl implements @NotNull @Override - public Set getOverriddenDescriptors() { + public Collection getOverriddenDescriptors() { return Collections.emptySet(); } 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 641c1a59142..83bf9c9cb37 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/FunctionDescriptorImpl.java @@ -27,10 +27,7 @@ import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.TypeSubstitutor; import org.jetbrains.kotlin.types.Variance; -import java.util.ArrayList; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; +import java.util.*; public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRootImpl implements FunctionDescriptor { private List typeParameters; @@ -120,7 +117,7 @@ public abstract class FunctionDescriptorImpl extends DeclarationDescriptorNonRoo @NotNull @Override - public Set getOverriddenDescriptors() { + public Collection getOverriddenDescriptors() { return overriddenFunctions; } 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 f4c186a620f..45c7dd41dcd 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyAccessorDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyAccessorDescriptorImpl.java @@ -23,10 +23,7 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.types.TypeSubstitutor; -import java.util.Collections; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; +import java.util.*; public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescriptorNonRootImpl implements PropertyAccessorDescriptor { @@ -142,8 +139,8 @@ public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescript } @NotNull - protected Set getOverriddenDescriptors(boolean isGetter) { - Set overriddenProperties = getCorrespondingProperty().getOverriddenDescriptors(); + protected Collection getOverriddenDescriptors(boolean isGetter) { + Collection overriddenProperties = getCorrespondingProperty().getOverriddenDescriptors(); // LinkedHashSet for determinism Set overriddenAccessors = new LinkedHashSet(); for (PropertyDescriptor overriddenProperty : overriddenProperties) { diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyDescriptorImpl.java index 859767d77e4..c6a82ce6892 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyDescriptorImpl.java @@ -325,7 +325,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp @NotNull @Override - public Set getOverriddenDescriptors() { + public Collection getOverriddenDescriptors() { return overriddenProperties; } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyGetterDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyGetterDescriptorImpl.java index 51993df8c88..150b1ac7b24 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyGetterDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyGetterDescriptorImpl.java @@ -23,9 +23,9 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.types.JetType; +import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Set; public class PropertyGetterDescriptorImpl extends PropertyAccessorDescriptorImpl implements PropertyGetterDescriptor { private JetType returnType; @@ -57,8 +57,8 @@ public class PropertyGetterDescriptorImpl extends PropertyAccessorDescriptorImpl @NotNull @Override @SuppressWarnings("unchecked") - public Set getOverriddenDescriptors() { - return (Set) super.getOverriddenDescriptors(true); + public Collection getOverriddenDescriptors() { + return (Collection) super.getOverriddenDescriptors(true); } @NotNull diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertySetterDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertySetterDescriptorImpl.java index 916d26b3028..5e32f4ead8a 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertySetterDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertySetterDescriptorImpl.java @@ -23,9 +23,9 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.types.JetType; +import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Set; import static org.jetbrains.kotlin.resolve.descriptorUtil.DescriptorUtilPackage.getBuiltIns; @@ -73,8 +73,8 @@ public class PropertySetterDescriptorImpl extends PropertyAccessorDescriptorImpl @NotNull @Override @SuppressWarnings("unchecked") - public Set getOverriddenDescriptors() { - return (Set) super.getOverriddenDescriptors(false); + public Collection getOverriddenDescriptors() { + return (Collection) super.getOverriddenDescriptors(false); } @NotNull 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 92c37a58c7f..9f12c4c762d 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ValueParameterDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/ValueParameterDescriptorImpl.java @@ -27,8 +27,8 @@ import org.jetbrains.kotlin.resolve.constants.ConstantValue; import org.jetbrains.kotlin.types.JetType; import org.jetbrains.kotlin.types.TypeSubstitutor; +import java.util.Collection; import java.util.Collections; -import java.util.Set; public class ValueParameterDescriptorImpl extends VariableDescriptorImpl implements ValueParameterDescriptor { private final boolean declaresDefaultValue; @@ -122,8 +122,8 @@ public class ValueParameterDescriptorImpl extends VariableDescriptorImpl impleme @NotNull @Override - public Set getOverriddenDescriptors() { - Set overriddenFunctions = getContainingDeclaration().getOverriddenDescriptors(); + public Collection getOverriddenDescriptors() { + Collection overriddenFunctions = getContainingDeclaration().getOverriddenDescriptors(); if (overriddenFunctions.isEmpty()) return Collections.emptySet(); return KotlinPackage.toSet(KotlinPackage.map(overriddenFunctions, new Function1() { diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/VariableDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/VariableDescriptorImpl.java index e8a7b56714e..b12834dab15 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/VariableDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/VariableDescriptorImpl.java @@ -23,9 +23,9 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.types.JetType; +import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Set; public abstract class VariableDescriptorImpl extends DeclarationDescriptorNonRootImpl implements VariableDescriptor { protected JetType outType; @@ -77,7 +77,7 @@ public abstract class VariableDescriptorImpl extends DeclarationDescriptorNonRoo @NotNull @Override - public Set getOverriddenDescriptors() { + public Collection getOverriddenDescriptors() { return Collections.emptySet(); } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java index aed392cd670..1c207b82059 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java @@ -443,7 +443,7 @@ public class DescriptorUtils { @NotNull public static D unwrapFakeOverride(@NotNull D descriptor) { while (descriptor.getKind() == CallableMemberDescriptor.Kind.FAKE_OVERRIDE) { - Set overridden = descriptor.getOverriddenDescriptors(); + Collection overridden = descriptor.getOverriddenDescriptors(); if (overridden.isEmpty()) { throw new IllegalStateException("Fake override should have at least one overridden descriptor: " + descriptor); } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/OverridingUtil.java b/core/descriptors/src/org/jetbrains/kotlin/resolve/OverridingUtil.java index f8b9ee6d296..db553cdfdfb 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/OverridingUtil.java +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/OverridingUtil.java @@ -447,7 +447,7 @@ public class OverridingUtil { @Nullable private static Visibility computeVisibilityToInherit(@NotNull CallableMemberDescriptor memberDescriptor) { - Set overriddenDescriptors = memberDescriptor.getOverriddenDescriptors(); + Collection overriddenDescriptors = memberDescriptor.getOverriddenDescriptors(); Visibility maxVisibility = findMaxVisibility(overriddenDescriptors); if (maxVisibility == null) { return null; diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt index bc87f06ac86..20be3310dc4 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/CallableRefactoring.kt @@ -59,7 +59,7 @@ public abstract class CallableRefactoring( return false } - private fun getClosestModifiableDescriptors(): Set { + private fun getClosestModifiableDescriptors(): Collection { return when (kind) { DECLARATION -> { Collections.singleton(callableDescriptor) diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/JsDescriptorUtils.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/JsDescriptorUtils.java index 3862c2f8213..366527ef31a 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/JsDescriptorUtils.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/JsDescriptorUtils.java @@ -135,14 +135,13 @@ public final class JsDescriptorUtils { @Nullable public static FunctionDescriptor getOverriddenDescriptor(@NotNull FunctionDescriptor functionDescriptor) { - Set overriddenDescriptors = functionDescriptor.getOverriddenDescriptors(); + Collection overriddenDescriptors = functionDescriptor.getOverriddenDescriptors(); if (overriddenDescriptors.isEmpty()) { return null; } - else { - //TODO: for now translator can't deal with multiple inheritance good enough - return overriddenDescriptors.iterator().next(); - } + + //TODO: for now translator can't deal with multiple inheritance good enough + return overriddenDescriptors.iterator().next(); } private static boolean isDefaultAccessor(@Nullable PropertyAccessorDescriptor accessorDescriptor) {