implement hashcode when implementing equals.
git-svn-id: https://google-guice.googlecode.com/svn/trunk@1464 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/core/src/com/google/inject/internal/ProviderMethod.java b/core/src/com/google/inject/internal/ProviderMethod.java
index 53526fb..c732369 100644
--- a/core/src/com/google/inject/internal/ProviderMethod.java
+++ b/core/src/com/google/inject/internal/ProviderMethod.java
@@ -22,6 +22,7 @@
import com.google.inject.PrivateBinder;
import com.google.inject.Provider;
import com.google.inject.internal.util.ImmutableSet;
+import com.google.inject.internal.util.Objects;
import com.google.inject.internal.util.StackTraceElements;
import com.google.inject.spi.Dependency;
import com.google.inject.spi.ProviderWithDependencies;
@@ -127,4 +128,12 @@
return false;
}
}
+
+ @Override
+ public int hashCode() {
+ // Avoid calling hashCode on 'instance', which is a user-object
+ // that might not be expecting it.
+ // (We need to call equals, so we do. But we can avoid hashCode.)
+ return Objects.hashCode(method);
+ }
}