aboutsummaryrefslogtreecommitdiff
path: root/libraries/eval/Eval.scala
diff options
context:
space:
mode:
authormarius a. eriksen <marius@twitter.com>2010-11-19 14:13:38 -0800
committerChristopher Vogt <oss.nsp@cvogt.org>2016-11-07 02:08:37 -0500
commited06f0fcc0539646416dac922e34f4fcc4595487 (patch)
tree7f6b27b20281e5a2e198e0f8452f22a69d36f8bb /libraries/eval/Eval.scala
parent54fe2f15640ba71f01f3bd6637270ce4b7ac3420 (diff)
downloadcbt-ed06f0fcc0539646416dac922e34f4fcc4595487.tar.gz
cbt-ed06f0fcc0539646416dac922e34f4fcc4595487.tar.bz2
cbt-ed06f0fcc0539646416dac922e34f4fcc4595487.zip
- add support for evaluating from streams
- use test resources when testing, not paths relative to project root
Diffstat (limited to 'libraries/eval/Eval.scala')
-rw-r--r--libraries/eval/Eval.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/libraries/eval/Eval.scala b/libraries/eval/Eval.scala
index 93e09f9..8ca6f89 100644
--- a/libraries/eval/Eval.scala
+++ b/libraries/eval/Eval.scala
@@ -1,6 +1,6 @@
package com.twitter.util
-import java.io.{File, FileWriter}
+import java.io.{File, FileWriter, InputStream}
import java.math.BigInteger
import java.net.{URL, URLClassLoader}
import java.security.MessageDigest
@@ -100,6 +100,12 @@ object Eval {
apply(stringToEval)
}
+ /**
+ * Eval[Int](getClass.getResourceAsStream("/Foo.scala"))
+ */
+ def apply[T](stream: InputStream): T =
+ apply(scala.io.Source.fromInputStream(stream).mkString)
+
private def ifUncompiled(targetDir: File, className: String)(f: File => Unit) {
targetDir.mkdirs()
targetDir.deleteOnExit()