aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2014-10-14 14:49:08 +0200
committerGuillaume Martres <smarter@ubuntu.com>2015-02-17 14:01:30 +0100
commit778072d5bd7763d7c5181e405db84e341be27ca3 (patch)
tree56b67b211b2c302ee8ae77343ebd70053675c908 /test
parent2e72811fb1cedb94c7967acf96c92172f010a20b (diff)
downloaddotty-778072d5bd7763d7c5181e405db84e341be27ca3.tar.gz
dotty-778072d5bd7763d7c5181e405db84e341be27ca3.tar.bz2
dotty-778072d5bd7763d7c5181e405db84e341be27ca3.zip
Add dotty repl & type stealer
Dotty requires a mangled bootclasspath to start. It means that `console` mode of sbt doesn't work for us. At least I wasn't able to make sbt fork in console, so instead I've added a Scala-repl into dotty itself :-) It would be good to make it use dotty one day when we have a backend :-)
Diffstat (limited to 'test')
-rw-r--r--test/test/DottyRepl.scala25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/test/DottyRepl.scala b/test/test/DottyRepl.scala
new file mode 100644
index 000000000..74f6ee248
--- /dev/null
+++ b/test/test/DottyRepl.scala
@@ -0,0 +1,25 @@
+package test
+import scala.tools.nsc.interpreter._
+import scala.tools.nsc.Settings
+
+/**
+ * Dotty requires a mangled bootclasspath to start. It means that `console` mode of sbt doesn't work for us.
+ * At least I(Dmitry) wasn't able to make sbt fork in console
+ */
+object DottyRepl {
+ def main(args: Array[String]): Unit = {
+ def repl = new ILoop {}
+
+ val settings = new Settings
+ settings.Yreplsync.value = true
+
+
+ //use when launching normally outside SBT
+ settings.usejavacp.value = true
+
+ //an alternative to 'usejavacp' setting, when launching from within SBT
+ //settings.embeddedDefaults[Repl.type]
+
+ repl.process(settings)
+ }
+}