diff options
author | mihaylov <mihaylov@epfl.ch> | 2006-11-19 20:24:24 +0000 |
---|---|---|
committer | mihaylov <mihaylov@epfl.ch> | 2006-11-19 20:24:24 +0000 |
commit | 02a20e546d6d6d578bd449e96e8e8b3bd43f248e (patch) | |
tree | 611ca8c110640b8d22770548b324f3676a7e8f4e | |
parent | 5131de0a0b08f893f6558ceb7dd348cb87ba0ff4 (diff) | |
download | scala-02a20e546d6d6d578bd449e96e8e8b3bd43f248e.tar.gz scala-02a20e546d6d6d578bd449e96e8e8b3bd43f248e.tar.bz2 scala-02a20e546d6d6d578bd449e96e8e8b3bd43f248e.zip |
Minor portability fix in BoxedObjectArray
-rw-r--r-- | src/library/scala/compat/Platform.scala | 14 | ||||
-rw-r--r-- | src/library/scala/runtime/BoxedObjectArray.scala | 4 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/library/scala/compat/Platform.scala b/src/library/scala/compat/Platform.scala index 85eecb825a..028c9c8ab2 100644 --- a/src/library/scala/compat/Platform.scala +++ b/src/library/scala/compat/Platform.scala @@ -17,20 +17,20 @@ import Predef.Class object Platform { - type StackOverflowError = java.lang.StackOverflowError; + type StackOverflowError = java.lang.StackOverflowError def arraycopy(src: AnyRef, srcPos: Int, dest: AnyRef, destPos: Int, length: Int): Unit = System.arraycopy(src, srcPos, dest, destPos, length) /** create array of the same type as arrayInstance with the given length */ def createArray(elemClass: Class, length: Int): AnyRef = - java.lang.reflect.Array.newInstance(elemClass, length); + java.lang.reflect.Array.newInstance(elemClass, length) - def getClass(obj: AnyRef) = obj.getClass(); - def getClassName(obj: AnyRef) = obj.getClass().getName(); - def getName(cls: Class) = cls.getName(); - def getElementClass(obj: AnyRef) = obj.getClass().getComponentType(); - def getClassForName(name: String): Class = java.lang.Class.forName(name); + def getClass(obj: AnyRef) = obj.getClass() + def getClassName(obj: AnyRef) = obj.getClass().getName() + def getName(cls: Class) = cls.getName() + def getElementClass(obj: AnyRef) = obj.getClass().getComponentType() + def getClassForName(name: String): Class = java.lang.Class.forName(name) val EOL = System.getProperty("line.separator", "\n") diff --git a/src/library/scala/runtime/BoxedObjectArray.scala b/src/library/scala/runtime/BoxedObjectArray.scala index 2e42c1c4a4..e603db8ab8 100644 --- a/src/library/scala/runtime/BoxedObjectArray.scala +++ b/src/library/scala/runtime/BoxedObjectArray.scala @@ -13,6 +13,7 @@ package scala.runtime import Predef.Class +import compat.Platform.{createArray, getElementClass} [serializable] final class BoxedObjectArray(val value: Array[AnyRef]) extends BoxedArray { @@ -33,8 +34,7 @@ final class BoxedObjectArray(val value: Array[AnyRef]) extends BoxedArray { override def hashCode(): Int = value.hashCode() private def create(length: Int): Array[AnyRef] = { - val elemClass = value.getClass().getComponentType() - java.lang.reflect.Array.newInstance(elemClass, length).asInstanceOf[Array[AnyRef]] + createArray(getElementClass(value), length).asInstanceOf[Array[AnyRef]] } override def subArray(start: Int, end: Int): Array[AnyRef] = { |