Fix class path fix.

This commit is contained in:
Mark Harrah 2009-11-02 21:23:42 -05:00
parent 871b9bbcc2
commit 8e54e5ddde
1 changed files with 5 additions and 2 deletions

View File

@ -200,7 +200,7 @@ final class Analyzer(val global: Global, val callback: AnalysisCallback) extends
private val root = call[AnyRef](classPath, "root")()
def findClass(name: String): Option[AbstractFile] =
{
val entry = call[Option[AnyRef]](root, "find", classOf[String], classOf[Boolean])(name, boolean2Boolean(false))
val entry = call[AnyRef](root, "find", classOf[String], classOf[Boolean])(name, boolean2Boolean(false))
if (entry eq null)
None
else
@ -209,5 +209,8 @@ final class Analyzer(val global: Global, val callback: AnalysisCallback) extends
}
import scala.reflect.Manifest
private def call[T <: AnyRef](on: AnyRef, name: String, tpes: Class[_]*)(args: AnyRef*)(implicit mf: Manifest[T]): T =
mf.erasure.cast(on.getClass.getMethod(name, tpes : _*).invoke(on, args : _*)).asInstanceOf[T]
{
val result = on.getClass.getMethod(name, tpes : _*).invoke(on, args : _*)
mf.erasure.cast(result).asInstanceOf[T]
}
}