diff --git a/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/ChainedScope.java b/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/ChainedScope.java index e2fc24549f3..5c2ea0734a8 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/ChainedScope.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/resolve/scopes/ChainedScope.java @@ -25,10 +25,7 @@ import org.jetbrains.jet.lang.resolve.name.LabelName; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.utils.Printer; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Set; +import java.util.*; import static org.jetbrains.jet.lang.resolve.scopes.JetScopeSelectorUtil.*; @@ -94,11 +91,12 @@ public class ChainedScope implements JetScope { @NotNull @Override public Collection getDeclarationsByLabel(@NotNull LabelName labelName) { + ArrayList result = new ArrayList(); for (JetScope jetScope : scopeChain) { - Collection declarationsByLabel = jetScope.getDeclarationsByLabel(labelName); - if (!declarationsByLabel.isEmpty()) return declarationsByLabel; // TODO : merge? + result.addAll(jetScope.getDeclarationsByLabel(labelName)); } - return Collections.emptyList(); + result.trimToSize(); + return result; } @NotNull