Replaced HashMap with LinkedHashMap in JavaClassMembersScope, JavaDescriptorResolver and JavaDescriptorResolverHelper (so the order of members is deterministic).

This commit is contained in:
Evgeny Gerashchenko
2012-03-01 19:18:15 +04:00
parent 608787f639
commit 16f4ec70e9
3 changed files with 5 additions and 8 deletions
@@ -84,7 +84,7 @@ public class JavaClassMembersScope extends JavaClassOrPackageScope {
@Override
public Collection<DeclarationDescriptor> getAllDescriptors() {
if (allDescriptors == null) {
allDescriptors = Sets.newHashSet();
allDescriptors = Sets.newLinkedHashSet();
allDescriptors.addAll(semanticServices.getDescriptorResolver().resolveMethods(psiClass, descriptor));
@@ -1026,7 +1026,7 @@ public class JavaDescriptorResolver {
ResolverScopeData scopeData = getResolverScopeData(owner, new PsiClassWrapper(psiClass));
Set<VariableDescriptor> descriptors = Sets.newHashSet();
Set<VariableDescriptor> descriptors = Sets.newLinkedHashSet();
Map<String, NamedMembers> membersForProperties = scopeData.namedMembersMap;
for (Map.Entry<String, NamedMembers> entry : membersForProperties.entrySet()) {
NamedMembers namedMembers = entry.getValue();
@@ -1286,7 +1286,7 @@ public class JavaDescriptorResolver {
final Set<FunctionDescriptor> functions = new HashSet<FunctionDescriptor>();
Set<SimpleFunctionDescriptor> functionsFromCurrent = Sets.newHashSet();
Set<SimpleFunctionDescriptor> functionsFromCurrent = Sets.newLinkedHashSet();
for (PsiMethodWrapper method : namedMembers.methods) {
FunctionDescriptorImpl function = resolveMethodToFunctionDescriptor(owner, psiClass,
method);
@@ -18,14 +18,11 @@ package org.jetbrains.jet.lang.resolve.java;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiField;
import com.intellij.psi.PsiMember;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiParameter;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.LinkedHashMap;
import java.util.Map;
/**
@@ -40,7 +37,7 @@ class JavaDescriptorResolverHelper {
private final boolean staticMembers;
private final boolean kotlin;
private Map<String, NamedMembers> namedMembersMap = new HashMap<String, NamedMembers>();
private Map<String, NamedMembers> namedMembersMap = new LinkedHashMap<String, NamedMembers>();
private Builder(PsiClassWrapper psiClass, boolean staticMembers, boolean kotlin) {
this.psiClass = psiClass;