aboutsummaryrefslogtreecommitdiff
path: root/libraries/eval/Eval.scala
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/eval/Eval.scala')
-rw-r--r--libraries/eval/Eval.scala14
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.
*/