From d4115d48985d8d1aa76bc9a84c2f67ea8d631c60 Mon Sep 17 00:00:00 2001 From: Miles Sabin Date: Tue, 1 Jul 2008 09:26:46 +0000 Subject: Fixed (most of) the varargs warnings in the com... Fixed (most of) the varargs warnings in the compiler and libraries. Fixing the remaining ones in scala.tools.nsc.ObjectRunner will have to wait on a fix to #1003. --- src/compiler/scala/tools/ant/sabbus/Compiler.scala | 2 +- src/compiler/scala/tools/nsc/Global.scala | 4 ++-- src/compiler/scala/tools/nsc/Interpreter.scala | 6 +++--- src/compiler/scala/tools/nsc/plugins/Plugin.scala | 4 ++-- src/library/scala/Console.scala | 2 +- src/library/scala/mobile/Code.scala | 10 +++++----- src/library/scala/runtime/StringAdd.scala | 8 +++----- src/manual/scala/tools/docutil/EmitHtml.scala | 5 ++--- src/manual/scala/tools/docutil/EmitManPage.scala | 5 ++--- 9 files changed, 21 insertions(+), 25 deletions(-) diff --git a/src/compiler/scala/tools/ant/sabbus/Compiler.scala b/src/compiler/scala/tools/ant/sabbus/Compiler.scala index f8bc37a7fd..c725e813f8 100644 --- a/src/compiler/scala/tools/ant/sabbus/Compiler.scala +++ b/src/compiler/scala/tools/ant/sabbus/Compiler.scala @@ -28,7 +28,7 @@ class Compiler(classpath: Array[URL], val settings: Settings) { private def foreignInvoke(method: String, types: Array[Class[T] forSome { type T }] , args: Array[AnyRef]) = try { - foreignCompiler.getClass.getMethod(method, types).invoke(foreignCompiler, args) + foreignCompiler.getClass.getMethod(method, types : _*).invoke(foreignCompiler, args : _*) } catch { case e: InvocationTargetException => throw e.getCause diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala index fb346899cb..5b5bc45d9f 100644 --- a/src/compiler/scala/tools/nsc/Global.scala +++ b/src/compiler/scala/tools/nsc/Global.scala @@ -173,8 +173,8 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable } try { val clazz = Class.forName(settings.sourceReader.value) - val ccon = clazz.getConstructor(Array[Class[T] forSome { type T }](classOf[java.nio.charset.CharsetDecoder], classOf[Reporter])) - ccon.newInstance(Array[AnyRef] (charset.newDecoder(), reporter)).asInstanceOf[SourceReader]; + val ccon = clazz.getConstructor(classOf[java.nio.charset.CharsetDecoder], classOf[Reporter]) + ccon.newInstance(charset.newDecoder(), reporter).asInstanceOf[SourceReader]; //new SourceReader(charset.newDecoder()) } catch { case e => diff --git a/src/compiler/scala/tools/nsc/Interpreter.scala b/src/compiler/scala/tools/nsc/Interpreter.scala index de752737d8..d4bb362871 100644 --- a/src/compiler/scala/tools/nsc/Interpreter.scala +++ b/src/compiler/scala/tools/nsc/Interpreter.scala @@ -550,7 +550,7 @@ class Interpreter(val settings: Settings, out: PrintWriter) { var argsHolder: Array[Any] = null // this roundabout approach is to try and // make sure the value is boxed argsHolder = List(value).toArray - setterMethod.invoke(null, argsHolder.asInstanceOf[Array[AnyRef]]) + setterMethod.invoke(null, argsHolder.asInstanceOf[Array[AnyRef]] : _*) interpret("val " + name + " = " + binderName + ".value") } @@ -888,9 +888,9 @@ class Interpreter(val settings: Settings, out: PrintWriter) { val interpreterResultObject: Class[_] = Class.forName(resultObjectName, true, classLoader) val resultValMethod: java.lang.reflect.Method = - interpreterResultObject.getMethod("result", null) + interpreterResultObject.getMethod("result") try { - (resultValMethod.invoke(interpreterResultObject, null).toString(), + (resultValMethod.invoke(interpreterResultObject).toString(), true) } catch { case e => diff --git a/src/compiler/scala/tools/nsc/plugins/Plugin.scala b/src/compiler/scala/tools/nsc/plugins/Plugin.scala index 202e0ef26a..1fc3fffb1b 100644 --- a/src/compiler/scala/tools/nsc/plugins/Plugin.scala +++ b/src/compiler/scala/tools/nsc/plugins/Plugin.scala @@ -146,7 +146,7 @@ object Plugin { * the compiler it is to be used in. */ def instantiate(clazz: AnyClass, global: Global): Plugin = { - val constructor = clazz.getConstructor(Array(classOf[Global])) - constructor.newInstance(Array(global)).asInstanceOf[Plugin] + val constructor = clazz.getConstructor(classOf[Global]) + constructor.newInstance(global).asInstanceOf[Plugin] } } diff --git a/src/library/scala/Console.scala b/src/library/scala/Console.scala index cd8a247633..6136c25bc7 100644 --- a/src/library/scala/Console.scala +++ b/src/library/scala/Console.scala @@ -184,7 +184,7 @@ object Console { def format(text: String, args: Any*): Unit = if (text eq null) "null" else out.printf(text, args.asInstanceOf[scala.runtime.BoxedObjectArray]. - unbox(args.getClass).asInstanceOf[Array[Object]]) + unbox(args.getClass).asInstanceOf[Array[Object]] : _*) /** Read a full line from the terminal. Returns null if the end of the * input stream has been reached. diff --git a/src/library/scala/mobile/Code.scala b/src/library/scala/mobile/Code.scala index 0ff0092b23..180facb7eb 100644 --- a/src/library/scala/mobile/Code.scala +++ b/src/library/scala/mobile/Code.scala @@ -195,7 +195,7 @@ class Code(clazz: java.lang.Class[_]) { private def applyFun(methName: String, args: Array[JObject], argTypes: Array[Class[T] forSome { type T }]): JObject = { try { - val method = clazz.getMethod(methName, argTypes) + val method = clazz.getMethod(methName, argTypes : _*) var obj: JObject = null if (! Modifier.isStatic(method.getModifiers())) { if (instance eq null) { @@ -205,7 +205,7 @@ class Code(clazz: java.lang.Class[_]) { val cs = clazz.getConstructors() //Console.println("cs.length=" + cs.length); if (cs.length > 0) { - cs(0).newInstance(Array("")).asInstanceOf[AnyRef] + cs(0).newInstance("").asInstanceOf[AnyRef] } else { error("class " + clazz.getName() + " has no public constructor") null @@ -214,15 +214,15 @@ class Code(clazz: java.lang.Class[_]) { } obj = instance } - val result = method.invoke(obj, args) + val result = method.invoke(obj, args : _*) if (result eq null) ().asInstanceOf[JObject] else result } catch { case me: NoSuchMethodException => if (isConstructorName(methName)) { try { - val cstr = clazz.getConstructor(argTypes) - instance = cstr.newInstance(args).asInstanceOf[AnyRef] + val cstr = clazz.getConstructor(argTypes : _*) + instance = cstr.newInstance(args : _*).asInstanceOf[AnyRef] instance } catch { diff --git a/src/library/scala/runtime/StringAdd.scala b/src/library/scala/runtime/StringAdd.scala index b31ef93656..3ca1c2ebcc 100644 --- a/src/library/scala/runtime/StringAdd.scala +++ b/src/library/scala/runtime/StringAdd.scala @@ -17,8 +17,7 @@ import Predef._ object StringAdd { // Needed for the format hack. Can be removed once we drop 1.4 lazy val formatMethod: java.lang.reflect.Method = { - val paramTypes = Array[Class[T] forSome { type T }](classOf[String], classOf[Array[Object]]) - classOf[String].getDeclaredMethod("format", paramTypes) + classOf[String].getDeclaredMethod("format", classOf[String], classOf[Array[Object]]) } } final class StringAdd(self: Any) { @@ -32,10 +31,9 @@ final class StringAdd(self: Any) { */ def formatted(format: String): String = { // This should be: - // String.format(format, Array(self.asInstanceOf[Object])) + // String.format(format, self.asInstanceOf[Object]) // However, the line above does not compile on Java 1.4 because String.format exists only in 1.5 // Therefore, we do the following hack: - val args = Array(self.asInstanceOf[Object]) - StringAdd.formatMethod.invoke(null, Array[Object](format, args)).asInstanceOf[String] + StringAdd.formatMethod.invoke(null, format, self.asInstanceOf[Object]).asInstanceOf[String] } } diff --git a/src/manual/scala/tools/docutil/EmitHtml.scala b/src/manual/scala/tools/docutil/EmitHtml.scala index a16190804a..e5093c2296 100644 --- a/src/manual/scala/tools/docutil/EmitHtml.scala +++ b/src/manual/scala/tools/docutil/EmitHtml.scala @@ -342,12 +342,11 @@ object EmitHtml { System.err.println("usage: EmitHtml ") exit(1) } - type AnyClass = Class[_] try { val cl = this.getClass.getClassLoader() val clasz = cl.loadClass(args(0)) - val meth = clasz.getDeclaredMethod("manpage", Array[AnyClass]()) - val doc = meth.invoke(null, Array[Object]()).asInstanceOf[Document] + val meth = clasz.getDeclaredMethod("manpage") + val doc = meth.invoke(null).asInstanceOf[Document] emitDocument(doc) } catch { case ex: Exception => diff --git a/src/manual/scala/tools/docutil/EmitManPage.scala b/src/manual/scala/tools/docutil/EmitManPage.scala index c9108a891e..f76d6248de 100644 --- a/src/manual/scala/tools/docutil/EmitManPage.scala +++ b/src/manual/scala/tools/docutil/EmitManPage.scala @@ -166,9 +166,8 @@ object EmitManPage { try { val cl = this.getClass.getClassLoader() val clasz = cl.loadClass(args(0)) - type AnyClass = Class[_] - val meth = clasz.getDeclaredMethod("manpage", Array[AnyClass]()) - val doc = meth.invoke(null, Array[Object]()).asInstanceOf[Document] + val meth = clasz.getDeclaredMethod("manpage") + val doc = meth.invoke(null).asInstanceOf[Document] emitDocument(doc) } catch { case ex: Exception => -- cgit v1.2.3