diff options
author | Jeremy Cloud <jeremycloud@twitter.com> | 2010-10-15 10:06:59 -0700 |
---|---|---|
committer | Christopher Vogt <oss.nsp@cvogt.org> | 2016-11-07 02:08:37 -0500 |
commit | 61d68d953103e5d3cb5047a1cb7d2df515411b46 (patch) | |
tree | 6b7bb126e16a2b375356775bcdf849302f3e3e47 /libraries/eval/Eval.scala | |
parent | 42d267437746ebcb81145a3010484d0c32bc4266 (diff) | |
download | cbt-61d68d953103e5d3cb5047a1cb7d2df515411b46.tar.gz cbt-61d68d953103e5d3cb5047a1cb7d2df515411b46.tar.bz2 cbt-61d68d953103e5d3cb5047a1cb7d2df515411b46.zip |
randomizing evaled class name to avoid conflicts
Diffstat (limited to 'libraries/eval/Eval.scala')
-rw-r--r-- | libraries/eval/Eval.scala | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libraries/eval/Eval.scala b/libraries/eval/Eval.scala index e606b7c..e181155 100644 --- a/libraries/eval/Eval.scala +++ b/libraries/eval/Eval.scala @@ -1,12 +1,13 @@ package com.twitter.util -import scala.tools.nsc.{Global, Settings} -import scala.tools.nsc.reporters.ConsoleReporter -import scala.runtime._ import java.io.{File, FileWriter} import java.net.{URL, URLClassLoader} -import scala.io.Source import java.util.jar._ +import java.util.Random +import scala.io.Source +import scala.runtime._ +import scala.tools.nsc.reporters.ConsoleReporter +import scala.tools.nsc.{Global, Settings} /** * Eval is a utility function to evaluate a file and return its results. @@ -65,12 +66,13 @@ import java.util.jar._ object Eval { private val compilerPath = jarPathOfClass("scala.tools.nsc.Interpreter") private val libPath = jarPathOfClass("scala.ScalaObject") + private val random = new Random() /** * Eval[Int]("1 + 1") // => 2 */ def apply[T](stringToEval: String): T = { - val className = "Evaluator" + val className = "Evaluator" + random.nextInt().abs val targetDir = new File(System.getProperty("java.io.tmpdir")) val wrappedFile = wrapInClass(stringToEval, className, targetDir) compile(wrappedFile, targetDir) |