aboutsummaryrefslogtreecommitdiff
path: root/libraries
diff options
context:
space:
mode:
authorDavid Helder <david@twitter.com>2012-04-23 11:20:23 -0700
committerChristopher Vogt <oss.nsp@cvogt.org>2016-11-07 02:08:38 -0500
commit5d00e76b8ffefb3bdddbd50b1efd002357e252f7 (patch)
treed70b0efec3faddb690446223e50030dd92c1c3ae /libraries
parente43b4e0f8146b6befe17f000141422badd4d5b43 (diff)
downloadcbt-5d00e76b8ffefb3bdddbd50b1efd002357e252f7.tar.gz
cbt-5d00e76b8ffefb3bdddbd50b1efd002357e252f7.tar.bz2
cbt-5d00e76b8ffefb3bdddbd50b1efd002357e252f7.zip
[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
Diffstat (limited to 'libraries')
-rw-r--r--libraries/eval/Eval.scala3
-rw-r--r--libraries/eval/test/EvalTest.scala6
-rw-r--r--libraries/eval/test/resources/Deprecated.scala6
3 files changed, 13 insertions, 2 deletions
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()
+}