From 8e5e309440c970e02d6c1b71f36b2a4f0274f8be Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Wed, 5 Sep 2012 17:48:27 +0400 Subject: [PATCH] preserve order while collect overrides --- .../jet/lang/resolve/java/JavaDescriptorResolver.java | 2 +- .../jetbrains/jet/lang/resolve/OverrideResolver.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index 664573e9ba6..f293f803a8f 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -1394,7 +1394,7 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes } private Set getFunctionsFromSupertypes(ResolverScopeData scopeData, Name methodName) { - Set r = new HashSet(); + Set r = Sets.newLinkedHashSet(); for (JetType supertype : getSupertypes(scopeData)) { for (FunctionDescriptor function : supertype.getMemberScope().getFunctions(methodName)) { r.add((SimpleFunctionDescriptor) function); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java index ffa17f104f9..3a43e91b5ea 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java @@ -407,7 +407,7 @@ public class OverrideResolver { Map> overriddenDeclarationsByDirectParent = collectOverriddenDeclarations(directOverridden); List allOverriddenDeclarations = ContainerUtil.flatten(overriddenDeclarationsByDirectParent.values()); - Set allFilteredOverriddenDeclarations = OverridingUtil.filterOverrides(Sets.newHashSet(allOverriddenDeclarations)); + Set allFilteredOverriddenDeclarations = OverridingUtil.filterOverrides(Sets.newLinkedHashSet(allOverriddenDeclarations)); Set relevantDirectlyOverridden = getRelevantDirectlyOverridden(overriddenDeclarationsByDirectParent, allFilteredOverriddenDeclarations); @@ -479,7 +479,7 @@ public class OverrideResolver { are overridden by some other function and corresponding directly overridden descriptor is not relevant. */ - Map> relevantOverriddenByParent = Maps.newHashMap(overriddenByParent); + Map> relevantOverriddenByParent = Maps.newLinkedHashMap(overriddenByParent); for (Map.Entry> entry : overriddenByParent.entrySet()) { CallableMemberDescriptor directlyOverridden = entry.getKey(); @@ -508,11 +508,11 @@ public class OverrideResolver { private static Map> collectOverriddenDeclarations( @NotNull Collection directOverriddenDescriptors ) { - Map> overriddenDeclarationsByDirectParent = Maps.newHashMap(); + Map> overriddenDeclarationsByDirectParent = Maps.newLinkedHashMap(); for (CallableMemberDescriptor descriptor : directOverriddenDescriptors) { Collection overriddenDeclarations = OverridingUtil.getOverriddenDeclarations(descriptor); - Set filteredOverrides = OverridingUtil.filterOverrides(Sets.newHashSet(overriddenDeclarations)); - Set overridden = Sets.newHashSet(); + Set filteredOverrides = OverridingUtil.filterOverrides(Sets.newLinkedHashSet(overriddenDeclarations)); + Set overridden = Sets.newLinkedHashSet(); for (CallableMemberDescriptor memberDescriptor : filteredOverrides) { overridden.add(memberDescriptor); }