From 8e54e5ddde292665dc3c39d55239ab95d8a7f39e Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Mon, 2 Nov 2009 21:23:42 -0500 Subject: [PATCH] Fix class path fix. --- compile/interface/Analyzer.scala | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/compile/interface/Analyzer.scala b/compile/interface/Analyzer.scala index 62126169b..7ea4c6a18 100644 --- a/compile/interface/Analyzer.scala +++ b/compile/interface/Analyzer.scala @@ -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] + } } \ No newline at end of file