Replaced HashMap with LinkedHashMap in JavaClassMembersScope, JavaDescriptorResolver and JavaDescriptorResolverHelper (so the order of members is deterministic).
This commit is contained in:
+1
-1
@@ -84,7 +84,7 @@ public class JavaClassMembersScope extends JavaClassOrPackageScope {
|
|||||||
@Override
|
@Override
|
||||||
public Collection<DeclarationDescriptor> getAllDescriptors() {
|
public Collection<DeclarationDescriptor> getAllDescriptors() {
|
||||||
if (allDescriptors == null) {
|
if (allDescriptors == null) {
|
||||||
allDescriptors = Sets.newHashSet();
|
allDescriptors = Sets.newLinkedHashSet();
|
||||||
|
|
||||||
allDescriptors.addAll(semanticServices.getDescriptorResolver().resolveMethods(psiClass, descriptor));
|
allDescriptors.addAll(semanticServices.getDescriptorResolver().resolveMethods(psiClass, descriptor));
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1026,7 +1026,7 @@ public class JavaDescriptorResolver {
|
|||||||
|
|
||||||
ResolverScopeData scopeData = getResolverScopeData(owner, new PsiClassWrapper(psiClass));
|
ResolverScopeData scopeData = getResolverScopeData(owner, new PsiClassWrapper(psiClass));
|
||||||
|
|
||||||
Set<VariableDescriptor> descriptors = Sets.newHashSet();
|
Set<VariableDescriptor> descriptors = Sets.newLinkedHashSet();
|
||||||
Map<String, NamedMembers> membersForProperties = scopeData.namedMembersMap;
|
Map<String, NamedMembers> membersForProperties = scopeData.namedMembersMap;
|
||||||
for (Map.Entry<String, NamedMembers> entry : membersForProperties.entrySet()) {
|
for (Map.Entry<String, NamedMembers> entry : membersForProperties.entrySet()) {
|
||||||
NamedMembers namedMembers = entry.getValue();
|
NamedMembers namedMembers = entry.getValue();
|
||||||
@@ -1286,7 +1286,7 @@ public class JavaDescriptorResolver {
|
|||||||
|
|
||||||
final Set<FunctionDescriptor> functions = new HashSet<FunctionDescriptor>();
|
final Set<FunctionDescriptor> functions = new HashSet<FunctionDescriptor>();
|
||||||
|
|
||||||
Set<SimpleFunctionDescriptor> functionsFromCurrent = Sets.newHashSet();
|
Set<SimpleFunctionDescriptor> functionsFromCurrent = Sets.newLinkedHashSet();
|
||||||
for (PsiMethodWrapper method : namedMembers.methods) {
|
for (PsiMethodWrapper method : namedMembers.methods) {
|
||||||
FunctionDescriptorImpl function = resolveMethodToFunctionDescriptor(owner, psiClass,
|
FunctionDescriptorImpl function = resolveMethodToFunctionDescriptor(owner, psiClass,
|
||||||
method);
|
method);
|
||||||
|
|||||||
+2
-5
@@ -18,14 +18,11 @@ package org.jetbrains.jet.lang.resolve.java;
|
|||||||
|
|
||||||
import com.intellij.openapi.util.text.StringUtil;
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.psi.PsiField;
|
import com.intellij.psi.PsiField;
|
||||||
import com.intellij.psi.PsiMember;
|
|
||||||
import com.intellij.psi.PsiMethod;
|
import com.intellij.psi.PsiMethod;
|
||||||
import com.intellij.psi.PsiParameter;
|
import com.intellij.psi.PsiParameter;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -40,7 +37,7 @@ class JavaDescriptorResolverHelper {
|
|||||||
private final boolean staticMembers;
|
private final boolean staticMembers;
|
||||||
private final boolean kotlin;
|
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) {
|
private Builder(PsiClassWrapper psiClass, boolean staticMembers, boolean kotlin) {
|
||||||
this.psiClass = psiClass;
|
this.psiClass = psiClass;
|
||||||
|
|||||||
Reference in New Issue
Block a user