From 41237692142acaa57d6f8f8f9bb026a3f0d4213e Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Tue, 23 Jul 2013 11:32:01 -0400 Subject: [PATCH] inline implementation of Symbol.isTopLevelModule, which no longer exists in 2.11 --- main/actions/src/main/scala/sbt/compiler/Eval.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/main/actions/src/main/scala/sbt/compiler/Eval.scala b/main/actions/src/main/scala/sbt/compiler/Eval.scala index 1cc5e96dc..505897ff6 100644 --- a/main/actions/src/main/scala/sbt/compiler/Eval.scala +++ b/main/actions/src/main/scala/sbt/compiler/Eval.scala @@ -219,11 +219,14 @@ final class Eval(optionsNoncp: Seq[String], classpath: Seq[File], mkReporter: Se private[this] var vals = List[String]() def getVals(t: Tree): List[String] = { vals = Nil; traverse(t); vals } override def traverse(tree: Tree): Unit = tree match { - case ValDef(_, n, actualTpe, _) if tree.symbol.owner.isTopLevelModule && types.exists(_ <:< actualTpe.tpe) => + case ValDef(_, n, actualTpe, _) if isTopLevelModule(tree.symbol.owner) && types.exists(_ <:< actualTpe.tpe) => vals ::= nme.localToGetter(n).encoded case _ => super.traverse(tree) } } + // inlined implemented of Symbol.isTopLevelModule that was removed in e5b050814deb2e7e1d6d05511d3a6cb6b013b549 + private[this] def isTopLevelModule(s: Symbol): Boolean = s.hasFlag(reflect.internal.Flags.MODULE) && s.owner.isPackageClass + private[this] final class EvalIntermediate[T](val extra: T, val loader: ClassLoader => ClassLoader, val generated: Seq[File], val enclosingModule: String) private[this] def classExists(dir: File, name: String) = (new File(dir, name + ".class")).exists