From 5d00e76b8ffefb3bdddbd50b1efd002357e252f7 Mon Sep 17 00:00:00 2001 From: David Helder Date: Mon, 23 Apr 2012 11:20:23 -0700 Subject: [split] Eval.scala: Allow @deprecated The Scala compiler propagates warnings through exceptions. So Eval failed if an Eval'ed file uses something deprecated. Disable warnings. RB_ID=63167 --- libraries/eval/Eval.scala | 3 +-- libraries/eval/test/EvalTest.scala | 6 ++++++ libraries/eval/test/resources/Deprecated.scala | 6 ++++++ 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 libraries/eval/test/resources/Deprecated.scala (limited to 'libraries') diff --git a/libraries/eval/Eval.scala b/libraries/eval/Eval.scala index d2188cb..7a45d20 100644 --- a/libraries/eval/Eval.scala +++ b/libraries/eval/Eval.scala @@ -418,8 +418,7 @@ class Eval(target: Option[File]) { val cache = new mutable.HashMap[String, Class[_]]() val settings = new Settings - settings.deprecation.value = true // enable detailed deprecation warnings - settings.unchecked.value = true // enable detailed unchecked warnings + settings.nowarnings.value = true // warnings are exceptions, so disable settings.outputDirs.setSingleOutput(target) val pathList = compilerPath ::: libPath diff --git a/libraries/eval/test/EvalTest.scala b/libraries/eval/test/EvalTest.scala index 24acdc9..6e86327 100644 --- a/libraries/eval/test/EvalTest.scala +++ b/libraries/eval/test/EvalTest.scala @@ -93,6 +93,12 @@ class EvalSpec extends SpecificationWithJUnit { (new Eval).apply[Int](getClass.getResourceAsStream("/OnePlusOne.scala")) mustEqual 2 } + "uses deprecated" in { + val deprecated = (new Eval).apply[() => String]( + TempFile.fromResourcePath("/Deprecated.scala")) + deprecated() mustEqual "hello" + } + "inPlace('expression')" in { // Old object API works Eval.compile("object Doubler { def apply(n: Int) = n * 2 }") diff --git a/libraries/eval/test/resources/Deprecated.scala b/libraries/eval/test/resources/Deprecated.scala new file mode 100644 index 0000000..979affb --- /dev/null +++ b/libraries/eval/test/resources/Deprecated.scala @@ -0,0 +1,6 @@ +new (() => String) { + @deprecated("don't use hello") + def hello() = "hello" + + def apply() = hello() +} -- cgit v1.2.3