diff options
Diffstat (limited to 'libraries/eval/Eval.scala')
-rw-r--r-- | libraries/eval/Eval.scala | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libraries/eval/Eval.scala b/libraries/eval/Eval.scala index ebbf1da..9b205b3 100644 --- a/libraries/eval/Eval.scala +++ b/libraries/eval/Eval.scala @@ -96,6 +96,14 @@ class Eval { apply(Source.fromInputStream(stream).mkString) } + def toSource(file: File): String = { + toSource(scala.io.Source.fromFile(file).mkString) + } + + def toSource(code: String): String = { + compiler.sourceForString(code) + } + /** * Compile an entire source file into the virtual classloader. */ @@ -355,7 +363,7 @@ class Eval { * Compile scala code. It can be found using the above class loader. */ def apply(code: String) { - val processedCode = preprocessors.foldLeft(code) { case (c: String, p: Preprocessor) => p(c) } + val processedCode = sourceForString(code) if (Debug.enabled) Debug.printWithLineNumbers(processedCode) @@ -369,6 +377,10 @@ class Eval { } } + def sourceForString(code: String) = { + preprocessors.foldLeft(code) { case (c: String, p: Preprocessor) => p(c) } + } + /** * Compile a new class, load it, and return it. Thread-safe. */ |