From 31c46e4ea03602997f87da356d1f65df12787f40 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 14 Jul 2015 20:50:52 +0200 Subject: [PATCH] add LibraryScopeBase.equals/hashCode (IDEA-CR-3681) --- .../openapi/module/impl/scopes/JdkScope.java | 16 ++-------------- .../module/impl/scopes/LibraryScopeBase.java | 13 +++++++++++++ 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/JdkScope.java b/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/JdkScope.java index 05864e5e4cdc..f45077f87fb5 100644 --- a/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/JdkScope.java +++ b/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/JdkScope.java @@ -21,14 +21,10 @@ import com.intellij.openapi.roots.JdkOrderEntry; import com.intellij.openapi.roots.OrderRootType; import com.intellij.openapi.vfs.VirtualFile; -import java.util.Arrays; - /** * @author max */ public class JdkScope extends LibraryScopeBase { - private final VirtualFile[] myClasses; - private final VirtualFile[] mySources; private final String myJdkName; public JdkScope(Project project, JdkOrderEntry entry) { @@ -40,17 +36,12 @@ public class JdkScope extends LibraryScopeBase { VirtualFile[] sources, String jdkName) { super(project, classes, sources); - myClasses = classes; - mySources = sources; myJdkName = jdkName; } @Override public int hashCode() { - int result = Arrays.hashCode(myClasses); - result = 31 * result + Arrays.hashCode(mySources); - result = 31 * result + myJdkName.hashCode(); - return result; + return 31 * super.hashCode() + myJdkName.hashCode(); } @Override @@ -58,9 +49,6 @@ public class JdkScope extends LibraryScopeBase { if (object == this) return true; if (object.getClass() != getClass()) return false; - final JdkScope that = (JdkScope)object; - return myJdkName.equals(that.myJdkName) && - Arrays.equals(myClasses, that.myClasses) && - Arrays.equals(mySources, that.mySources); + return myJdkName.equals(((JdkScope)object).myJdkName) && super.equals(object); } } diff --git a/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/LibraryScopeBase.java b/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/LibraryScopeBase.java index 6961f94e0df0..02b072037e23 100644 --- a/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/LibraryScopeBase.java +++ b/platform/indexing-impl/src/com/intellij/openapi/module/impl/scopes/LibraryScopeBase.java @@ -79,4 +79,17 @@ public abstract class LibraryScopeBase extends GlobalSearchScope { public boolean isSearchInLibraries() { return true; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof LibraryScopeBase)) return false; + + return myEntries.equals(((LibraryScopeBase)o).myEntries); + } + + @Override + public int hashCode() { + return myEntries.hashCode(); + } }