diff options
-rw-r--r-- | src/library/scala/reflect/ClassManifest.scala | 1 | ||||
-rw-r--r-- | src/library/scala/reflect/Manifest.scala | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/library/scala/reflect/ClassManifest.scala b/src/library/scala/reflect/ClassManifest.scala index 58f3c89499..a026d162d1 100644 --- a/src/library/scala/reflect/ClassManifest.scala +++ b/src/library/scala/reflect/ClassManifest.scala @@ -82,6 +82,7 @@ trait ClassManifest[T] extends OptManifest[T] { case m: ClassManifest[_] => this.erasure == m.erasure case _ => false } + override def hashCode = this.erasure.hashCode protected def arrayClass[T](tp: Predef.Class[_]): Predef.Class[Array[T]] = java.lang.reflect.Array.newInstance(tp, 0).getClass.asInstanceOf[Predef.Class[Array[T]]] diff --git a/src/library/scala/reflect/Manifest.scala b/src/library/scala/reflect/Manifest.scala index 69842e1193..6ca64df67a 100644 --- a/src/library/scala/reflect/Manifest.scala +++ b/src/library/scala/reflect/Manifest.scala @@ -39,6 +39,7 @@ trait AnyValManifest[T] extends Manifest[T] { import Manifest.{ Any, AnyVal } override def <:<(that: ClassManifest[_]): Boolean = (that eq this) || (that eq Any) || (that eq AnyVal) override def equals(that: Any): Boolean = this eq that.asInstanceOf[AnyRef] + override def hashCode = System.identityHashCode(this) } /** <ps> @@ -137,6 +138,7 @@ object Manifest { override def toString = "Any" override def <:<(that: ClassManifest[_]): Boolean = (that eq this) override def equals(that: Any): Boolean = this eq that.asInstanceOf[AnyRef] + override def hashCode = System.identityHashCode(this) private def readResolve(): Any = Manifest.Any } @@ -144,6 +146,7 @@ object Manifest { override def toString = "Object" override def <:<(that: ClassManifest[_]): Boolean = (that eq this) || (that eq Any) override def equals(that: Any): Boolean = this eq that.asInstanceOf[AnyRef] + override def hashCode = System.identityHashCode(this) private def readResolve(): Any = Manifest.Object } @@ -151,6 +154,7 @@ object Manifest { override def toString = "AnyVal" override def <:<(that: ClassManifest[_]): Boolean = (that eq this) || (that eq Any) override def equals(that: Any): Boolean = this eq that.asInstanceOf[AnyRef] + override def hashCode = System.identityHashCode(this) private def readResolve(): Any = Manifest.AnyVal } @@ -159,6 +163,7 @@ object Manifest { override def <:<(that: ClassManifest[_]): Boolean = (that ne null) && (that ne Nothing) && !(that <:< AnyVal) override def equals(that: Any): Boolean = this eq that.asInstanceOf[AnyRef] + override def hashCode = System.identityHashCode(this) private def readResolve(): Any = Manifest.Null } @@ -166,6 +171,7 @@ object Manifest { override def toString = "Nothing" override def <:<(that: ClassManifest[_]): Boolean = (that ne null) override def equals(that: Any): Boolean = this eq that.asInstanceOf[AnyRef] + override def hashCode = System.identityHashCode(this) private def readResolve(): Any = Manifest.Nothing } |