summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeoffrey Washburn <geoffrey.washburn@epfl.ch>2008-03-04 11:23:23 +0000
committerGeoffrey Washburn <geoffrey.washburn@epfl.ch>2008-03-04 11:23:23 +0000
commitb04e01b374040b7ed3e80979e4e0a2f619c4022a (patch)
tree36248711e0f38978b76c5e4234b211b98654fdcc /src
parentad49bc9daf830918bb9b7a205daa1eb5dfafe4da (diff)
downloadscala-b04e01b374040b7ed3e80979e4e0a2f619c4022a.tar.gz
scala-b04e01b374040b7ed3e80979e4e0a2f619c4022a.tar.bz2
scala-b04e01b374040b7ed3e80979e4e0a2f619c4022a.zip
Undid most of the valueOf optimizations as they...
Undid most of the valueOf optimizations as they do not work under Java 1.4. Perhaps once we have the library bifuricated better, we can provide separate versions of Predef for 1.4 and 1.5 and above.
Diffstat (limited to 'src')
-rw-r--r--src/library/scala/Console.scala20
-rw-r--r--src/library/scala/Predef.scala20
-rw-r--r--src/library/scala/mobile/Code.scala26
3 files changed, 48 insertions, 18 deletions
diff --git a/src/library/scala/Console.scala b/src/library/scala/Console.scala
index 0a118a84f7..fe29150caa 100644
--- a/src/library/scala/Console.scala
+++ b/src/library/scala/Console.scala
@@ -318,11 +318,21 @@ object Console {
while (iter.hasNext) {
res(i) = iter.next match {
case x: Boolean => java.lang.Boolean.valueOf(x)
- case x: Byte => java.lang.Byte.valueOf(x)
- case x: Short => java.lang.Short.valueOf(x)
- case x: Char => java.lang.Character.valueOf(x)
- case x: Int => java.lang.Integer.valueOf(x)
- case x: Long => java.lang.Long.valueOf(x)
+ /** Should use java.lang.Byte.valueOf(Byte), but only available
+ * in Java 1.5 and above. */
+ case x: Byte => new java.lang.Byte(x)
+ /** Should use java.lang.Short.valueOf(Short), but only available
+ * in Java 1.5 and above. */
+ case x: Short => new java.lang.Short(x)
+ /** Should use java.lang.Character.valueOf(Char), but only available
+ * in Java 1.5 and above. */
+ case x: Char => new java.lang.Character(x)
+ /** Should use java.lang.Integer.valueOf(Int), but only available
+ * in Java 1.5 and above. */
+ case x: Int => new java.lang.Integer(x)
+ /** Should use java.lang.Long.valueOf(Long), but only available
+ * in Java 1.5 and above. */
+ case x: Long => new java.lang.Long(x)
case x: Float => new java.lang.Float(x)
case x: Double => new java.lang.Double(x)
case x: Unit => "()"
diff --git a/src/library/scala/Predef.scala b/src/library/scala/Predef.scala
index 1f0171685c..94f69f11d8 100644
--- a/src/library/scala/Predef.scala
+++ b/src/library/scala/Predef.scala
@@ -301,11 +301,21 @@ object Predef {
implicit def float2double(x: Float): Double = x.toDouble
- implicit def byte2Byte(x: Byte) = java.lang.Byte.valueOf(x)
- implicit def short2Short(x: Short) = java.lang.Short.valueOf(x)
- implicit def char2Character(x: Char) = java.lang.Character.valueOf(x)
- implicit def int2Integer(x: Int) = java.lang.Integer.valueOf(x)
- implicit def long2Long(x: Long) = java.lang.Long.valueOf(x)
+ /** Should use java.lang.Byte.valueOf(Byte), but only available
+ * in Java 1.5 and above. */
+ implicit def byte2Byte(x: Byte) = new java.lang.Byte(x)
+ /** Should use java.lang.Short.valueOf(Short), but only available
+ * in Java 1.5 and above. */
+ implicit def short2Short(x: Short) = new java.lang.Short(x)
+ /** Should use java.lang.Character.valueOf(Char), but only available
+ * in Java 1.5 and above. */
+ implicit def char2Character(x: Char) = new java.lang.Character(x)
+ /** Should use java.lang.Integer.valueOf(Int), but only available
+ * in Java 1.5 and above. */
+ implicit def int2Integer(x: Int) = new java.lang.Integer(x)
+ /** Should use java.lang.Long.valueOf(Long), but only available
+ * in Java 1.5 and above. */
+ implicit def long2Long(x: Long) = new java.lang.Long(x)
implicit def float2Float(x: Float) = new java.lang.Float(x)
implicit def double2Double(x: Double) = new java.lang.Double(x)
implicit def boolean2Boolean(x: Boolean) = java.lang.Boolean.valueOf(x)
diff --git a/src/library/scala/mobile/Code.scala b/src/library/scala/mobile/Code.scala
index 031b2f0c97..822a4aaa6c 100644
--- a/src/library/scala/mobile/Code.scala
+++ b/src/library/scala/mobile/Code.scala
@@ -160,14 +160,24 @@ class Code(clazz: java.lang.Class[_]) {
////////////////////// private functions ///////////////////////
private def boxValue(value: Any) = value match {
- case x: Byte => (java.lang.Byte.valueOf(x), java.lang.Byte.TYPE)
- case x: Boolean => (java.lang.Boolean.valueOf(x), java.lang.Boolean.TYPE)
- case x: Char => (java.lang.Character.valueOf(x), java.lang.Character.TYPE)
- case x: Short => (java.lang.Short.valueOf(x), java.lang.Short.TYPE)
- case x: Int => (java.lang.Integer.valueOf(x), java.lang.Integer.TYPE)
- case x: Long => (java.lang.Long.valueOf(x), java.lang.Long.TYPE)
- case x: Float => (new java.lang.Float(x), java.lang.Float.TYPE)
- case x: Double => (new java.lang.Double(x), java.lang.Double.TYPE)
+ /** Should use java.lang.Byte.valueOf(Byte), but only available
+ * in Java 1.5 and above. */
+ case x: Byte => (new java.lang.Byte(x), java.lang.Byte.TYPE)
+ case x: Boolean => (java.lang.Boolean.valueOf(x), java.lang.Boolean.TYPE)
+ /** Should use java.lang.Character.valueOf(Char), but only available
+ * in Java 1.5 and above. */
+ case x: Char => (new java.lang.Character(x), java.lang.Character.TYPE)
+ /** Should use java.lang.Short.valueOf(Short), but only available
+ * in Java 1.5 and above. */
+ case x: Short => (new java.lang.Short(x), java.lang.Short.TYPE)
+ /** Should use java.lang.Integer.valueOf(Int), but only available
+ * in Java 1.5 and above. */
+ case x: Int => (new java.lang.Integer(x), java.lang.Integer.TYPE)
+ /** Should use java.lang.Long.valueOf(Long), but only available
+ * in Java 1.5 and above. */
+ case x: Long => (new java.lang.Long(x), java.lang.Long.TYPE)
+ case x: Float => (new java.lang.Float(x), java.lang.Float.TYPE)
+ case x: Double => (new java.lang.Double(x), java.lang.Double.TYPE)
case _ =>
val x = value.asInstanceOf[JObject]
(x, x.getClass())