Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/library/scala/reflect/ClassManifest.scala b/src/library/scala/reflect/ClassManifest.scala
- index 8adef64..8e5cb6b 100644
- --- a/src/library/scala/reflect/ClassManifest.scala
- +++ b/src/library/scala/reflect/ClassManifest.scala
- @@ -78,6 +78,15 @@ trait ClassManifest[T] extends OptManifest[T] {
- def arrayManifest: ClassManifest[Array[T]] =
- ClassManifest.classType[Array[T]](arrayClass[T](erasure))
- + def arrayApply(array: Array[T], index: Int): T =
- + array.asInstanceOf[Array[AnyRef]](index).asInstanceOf[T]
- +
- + def arrayUpdate(array: Array[T], index: Int, value: T): Unit =
- + array.asInstanceOf[Array[AnyRef]](index) = value.asInstanceOf[AnyRef]
- +
- + def arrayLength(array: Array[T]): Int =
- + array.asInstanceOf[Array[AnyRef]].length
- +
- def newArray(len: Int): Array[T] =
- java.lang.reflect.Array.newInstance(erasure, len).asInstanceOf[Array[T]]
- diff --git a/src/library/scala/reflect/Manifest.scala b/src/library/scala/reflect/Manifest.scala
- index 4ea6f73..657f636 100644
- --- a/src/library/scala/reflect/Manifest.scala
- +++ b/src/library/scala/reflect/Manifest.scala
- @@ -52,6 +52,9 @@ object Manifest {
- override def newArray(len: Int): Array[Byte] = new Array[Byte](len)
- override def newWrappedArray(len: Int): WrappedArray[Byte] = new WrappedArray.ofByte(new Array[Byte](len))
- override def newArrayBuilder(): ArrayBuilder[Byte] = new ArrayBuilder.ofByte()
- + override def arrayApply(array: Array[Byte], index: Int): Byte = array(index)
- + override def arrayUpdate(array: Array[Byte], index: Int, value: Byte): Unit = array(index) = value
- + override def arrayLength(array: Array[Byte]): Int = array.length
- }
- val Short = new (Manifest[Short] @serializable) {
- @@ -60,6 +63,9 @@ object Manifest {
- override def newArray(len: Int): Array[Short] = new Array[Short](len)
- override def newWrappedArray(len: Int): WrappedArray[Short] = new WrappedArray.ofShort(new Array[Short](len))
- override def newArrayBuilder(): ArrayBuilder[Short] = new ArrayBuilder.ofShort()
- + override def arrayApply(array: Array[Short], index: Int): Short = array(index)
- + override def arrayUpdate(array: Array[Short], index: Int, value: Short): Unit = array(index) = value
- + override def arrayLength(array: Array[Short]): Int = array.length
- }
- val Char = new (Manifest[Char] @serializable) {
- @@ -68,6 +74,9 @@ object Manifest {
- override def newArray(len: Int): Array[Char] = new Array[Char](len)
- override def newWrappedArray(len: Int): WrappedArray[Char] = new WrappedArray.ofChar(new Array[Char](len))
- override def newArrayBuilder(): ArrayBuilder[Char] = new ArrayBuilder.ofChar()
- + override def arrayApply(array: Array[Char], index: Int): Char = array(index)
- + override def arrayUpdate(array: Array[Char], index: Int, value: Char): Unit = array(index) = value
- + override def arrayLength(array: Array[Char]): Int = array.length
- }
- val Int = new (Manifest[Int] @serializable) {
- @@ -76,6 +85,9 @@ object Manifest {
- override def newArray(len: Int): Array[Int] = new Array[Int](len)
- override def newWrappedArray(len: Int): WrappedArray[Int] = new WrappedArray.ofInt(new Array[Int](len))
- override def newArrayBuilder(): ArrayBuilder[Int] = new ArrayBuilder.ofInt()
- + override def arrayApply(array: Array[Int], index: Int): Int = array(index)
- + override def arrayUpdate(array: Array[Int], index: Int, value: Int): Unit = array(index) = value
- + override def arrayLength(array: Array[Int]): Int = array.length
- }
- val Long = new (Manifest[Long] @serializable) {
- @@ -84,6 +96,9 @@ object Manifest {
- override def newArray(len: Int): Array[Long] = new Array[Long](len)
- override def newWrappedArray(len: Int): WrappedArray[Long] = new WrappedArray.ofLong(new Array[Long](len))
- override def newArrayBuilder(): ArrayBuilder[Long] = new ArrayBuilder.ofLong()
- + override def arrayApply(array: Array[Long], index: Int): Long = array(index)
- + override def arrayUpdate(array: Array[Long], index: Int, value: Long): Unit = array(index) = value
- + override def arrayLength(array: Array[Long]): Int = array.length
- }
- val Float = new (Manifest[Float] @serializable) {
- @@ -92,6 +107,9 @@ object Manifest {
- override def newArray(len: Int): Array[Float] = new Array[Float](len)
- override def newWrappedArray(len: Int): WrappedArray[Float] = new WrappedArray.ofFloat(new Array[Float](len))
- override def newArrayBuilder(): ArrayBuilder[Float] = new ArrayBuilder.ofFloat()
- + override def arrayApply(array: Array[Float], index: Int): Float = array(index)
- + override def arrayUpdate(array: Array[Float], index: Int, value: Float): Unit = array(index) = value
- + override def arrayLength(array: Array[Float]): Int = array.length
- }
- val Double = new (Manifest[Double] @serializable) {
- @@ -100,6 +118,9 @@ object Manifest {
- override def newArray(len: Int): Array[Double] = new Array[Double](len)
- override def newWrappedArray(len: Int): WrappedArray[Double] = new WrappedArray.ofDouble(new Array[Double](len))
- override def newArrayBuilder(): ArrayBuilder[Double] = new ArrayBuilder.ofDouble()
- + override def arrayApply(array: Array[Double], index: Int): Double = array(index)
- + override def arrayUpdate(array: Array[Double], index: Int, value: Double): Unit = array(index) = value
- + override def arrayLength(array: Array[Double]): Int = array.length
- }
- val Boolean = new (Manifest[Boolean] @serializable) {
- @@ -108,6 +129,9 @@ object Manifest {
- override def newArray(len: Int): Array[Boolean] = new Array[Boolean](len)
- override def newWrappedArray(len: Int): WrappedArray[Boolean] = new WrappedArray.ofBoolean(new Array[Boolean](len))
- override def newArrayBuilder(): ArrayBuilder[Boolean] = new ArrayBuilder.ofBoolean()
- + override def arrayApply(array: Array[Boolean], index: Int): Boolean = array(index)
- + override def arrayUpdate(array: Array[Boolean], index: Int, value: Boolean): Unit = array(index) = value
- + override def arrayLength(array: Array[Boolean]): Int = array.length
- }
- val Unit = new (Manifest[Unit] @serializable) {
- @@ -116,6 +140,9 @@ object Manifest {
- override def newArray(len: Int): Array[Unit] = new Array[Unit](len)
- override def newWrappedArray(len: Int): WrappedArray[Unit] = new WrappedArray.ofUnit(new Array[Unit](len))
- override def newArrayBuilder(): ArrayBuilder[Unit] = new ArrayBuilder.ofUnit()
- + override def arrayApply(array: Array[Unit], index: Int): Unit = array(index)
- + override def arrayUpdate(array: Array[Unit], index: Int, value: Unit): Unit = array(index) = value
- + override def arrayLength(array: Array[Unit]): Int = array.length
- }
- val Any: Manifest[Any] = new ClassTypeManifest[Any](None, classOf[java.lang.Object], List()) {
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement