From 4b8f0f3f941d5b3970fa24dfd9a34508d6974345 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Wed, 17 Jul 2013 14:58:53 -0400 Subject: [PATCH] Use IMain.bindValue to bind repl values. This does a better job of getting the type to use for a bound value. --- .../src/main/scala/xsbt/ConsoleInterface.scala | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/compile/interface/src/main/scala/xsbt/ConsoleInterface.scala b/compile/interface/src/main/scala/xsbt/ConsoleInterface.scala index 8b6160a0a..7aa637237 100644 --- a/compile/interface/src/main/scala/xsbt/ConsoleInterface.scala +++ b/compile/interface/src/main/scala/xsbt/ConsoleInterface.scala @@ -40,9 +40,21 @@ class ConsoleInterface } else super.createInterpreter() - - for( (id, value) <- bindNames zip bindValues) - interpreter.beQuietDuring(interpreter.bind(id, value.asInstanceOf[AnyRef].getClass.getName, value)) + + def bind(values: Seq[(String,Any)]) + { + // for 2.8 compatibility + final class Compat { + def bindValue(id: String, value: Any) = + interpreter.bind(id, value.asInstanceOf[AnyRef].getClass.getName, value) + } + implicit def compat(a: AnyRef): Compat = new Compat + + for( (id, value) <- values ) + interpreter.beQuietDuring(interpreter.bindValue(id, value)) + } + + bind(bindNames zip bindValues) if(!initialCommands.isEmpty) interpreter.interpret(initialCommands)